for each r in input.Item_Details { b = ifnull(r.S_No,0) - 1; r.S_No=b; if(r.S_No < row.S_No) { b = b + 1; r.S_No=b; } } input.Gross_Total = ifnull(input.Gross_Total,0.0) - ifnull(row.Sub_Total,0.0); input.Total_Quantity = ifnull(input.Total_Quantity,0.0) - ifnull(row.Qty,0.0); if(input.Gross_Total == 0) { input.Gross_Total = 0; input.Total_Quantity = null; input.Discount = null; input.Discount_Amount = 0; input.Discount_Amount = null; hide Discount_Amount; input.Discount_Percentage = null; hide Discount_Percentage; input.Final_Gross_Total = 0; input.Total_Taxes = null; input.Grand_Total = null; input.Gross_with_Discount = null; input.Gross_Value_Tax = null; input.Gross_Total_with_Discount = null; input.Packing_Forwarding = null; input.PF_Total_with_tax = null; input.PF_Tax_value = null; } for each rec in input.Despatch_Schedule { if(rec.Part_No == row.Part_No) { rec.Part_No=null; rec.Quantity=null; rec.Delivery_Date=null; } } itemlist = List(); qtyList = List(); dateList = List(); remarksList = List(); fullQtyList = List(); for each rec in input.Despatch_Schedule { if(rec.Part_No != null) { itemlist.add(rec.Part_No); qtyList.add(rec.Quantity); dateList.add(rec.Delivery_Date); remarksList.add(rec.Remarks); fullQtyList.add(rec.Full_Quantity); } } input.Despatch_Schedule.clear(); i = 0; s_no = 0; for each items in itemlist { s_no = s_no + 1; row1 = Sales_Order.Despatch_Schedule(); row1.S_No=s_no; row1.Part_No=items; row1.Quantity=qtyList.get(i); row1.Delivery_Date=dateList.get(i); row1.Remarks=remarksList.get(i); row1.Full_Quantity=fullQtyList.get(i); input.Despatch_Schedule.insert(row1); i = i + 1; } //Grand total adjustment input.Grand_Total = ifnull(input.Grand_Total,0.0) - ifnull(row.Total_Amount,0.0);