I want to set the total in a delivery document, so I have this code:
if (EventEnum == SAPbouiCOM.BoEventTypes.et_LOST_FOCUS && pVal.ItemUID.Equals("Rental") && pVal.FormTypeEx.Equals("140")) { form = SBO_Application.Forms.Item(pVal.FormUID); form.DataSources.DBDataSources.Add("OITM"); SAPbouiCOM.Matrix matrix = (SAPbouiCOM.Matrix)form.Items.Item("38").Specific; SAPbobsCOM.Recordset rs = (SAPbobsCOM.Recordset)SBO_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); int daysQtt = int.Parse(((SAPbouiCOM.EditText)form.Items.Item("Rental").Specific).String); for (int i = 1; i < matrix.RowCount; i++) { String s1 = ((SAPbouiCOM.EditText)matrix.Columns.Item("1").Cells.Item(i).Specific).Value; String unitPrice = ((SAPbouiCOM.EditText)matrix.Columns.Item("14").Cells.Item(i).Specific).Value; float preco = parsePrice(unitPrice); string sSQL = "SELECT U_rentable FROM OITM WHERE ItemCode = '" + s1 + "'"; rs.DoQuery(sSQL); rs.MoveFirst(); SAPbobsCOM.Field f = rs.Fields.Item(0); double finalPrice = 0; if (f.Value.Equals("2") || f.Value.Equals("Y")) { finalPrice = daysQtt * preco; //Fails in the next line ((SAPbouiCOM.EditText)matrix.Columns.Item("21").Cells.Item(i).Specific).String = daysQtt.ToString(); } } }
I don't understand why I can't change the value because in the sales order I'm able to...
Is there any kind of restriction or something?
Thanks in advance