if(Item_Details == null)
{
alert "First Add Data in Item Details";
}
i = 0;
for each rec_sn in input.Delivery_Schedule
{
i = i + 1;
row.S_No=i;
}
//----------------------------------test code for same part number with different spec
item_list1 = List();
deliv_list1 = List();
finalist = List();
item_list = List();
spec_list = List();
for each an_item in input.Item_Details
{
if(an_item.Part_No != null)
{
item_list1.add(ifnull(an_item.Part_Description.concat("-"),"").concat(ifnull(an_item.Specification,"")));
spec_list.add(an_item.Specification);
}
else
{
alert "First Add Data in Item Details";
}
}
for each deliv in input.Delivery_Schedule
{
if(deliv.Part_No != null && deliv.Full_Quantity == true)
{
deliv_list1.add(deliv.Part_No.concat("-").concat(ifnull(deliv.Specification,"")));
}
}
item_list1.removeAll(deliv_list1);
for each itemlistrec in item_list1
{
//finalist.add(itemlistrec.getprefix("-"));
item_list.add(itemlistrec.getprefix("-"));
}
//----------------------------------------test code end here-----------------------------------------------------
//For Delivery Schedule
clear row.Part_No;
/*item_list = List();
deliv_list = List();
for each an_item in input.Item_Details
{
item_list.add(an_item.Part_Description);
}
for each deliv in input.Delivery_Schedule
{
if(deliv.Part_No != null && deliv.Full_Quantity == true)
{
deliv_list.add(deliv.Part_No);
}
}
item_list.removeAll(deliv_list);*/
row.Part_No:ui.add(item_list.sort(true));
if(item_list.size() > 0)
{
row.Part_No=item_list.get(0);
//Setting Quantity
for each itemdetrec in input.Item_Details
{
if(itemdetrec.Ordered_Qty < 1)
{
alert "Please enter quantity for all the item(s) in Item Details Subform";
row.Quantity=null;
}
else
{
dsqtytot = 0;
for each delschrec in input.Delivery_Schedule
{
if(itemdetrec.S_No == delschrec.S_No && itemdetrec.Part_No == delschrec.Part_No && itemdetrec.Specification == delschrec.Specification && delschrec.Full_Quantity == false)
{
row.Specification=delschrec.Specification;
}
//calculate the quantity and comapare with item details qty
if(delschrec.Part_No == itemdetrec.Part_No && delschrec.S_No == itemdetrec.S_No)
{
//if(delschrec.Part_No == itemdetrec.Part_No && delschrec.Specification == itemdetrec.Specification)
dsqtytot = dsqtytot + ifnull(delschrec.Quantity,0.0);
}
//qty,spec
if(itemdetrec.Part_No == row.Part_No && itemdetrec.S_No == row.S_No)
{
row.Quantity=if(dsqtytot > 0,itemdetrec.Ordered_Qty - dsqtytot,itemdetrec.Ordered_Qty);
row.Quantity=itemdetrec.Ordered_Qty;
row.Specification=itemdetrec.Specification;
row.Full_Quantity=true;
}
//itemdetails partno qty splitting in delvy sch with different date
if(itemdetrec.Part_No == row.Part_No && itemdetrec.Specification == row.Specification && row.Full_Quantity == false)
{
row.Specification=itemdetrec.Specification;
row.Quantity=if(dsqtytot > 0,itemdetrec.Ordered_Qty - dsqtytot,itemdetrec.Ordered_Qty);
}
}
}
}
}
if(!isNull(input.Incoterms))
{
if(input.Incoterms_same_for_all_items == "Yes")
{
row.Incoterms=input.Incoterms;
}
else
{
row.Incoterms=null;
}
}
if(!isNull(input.Incoterms_Location1))
{
if(input.Incoterms_Location_same_for_all_items == "Yes")
{
row.Incoterms_Location=input.Incoterms_Location1;
}
else
{
row.Incoterms_Location=null;
}
}
if(!isNull(input.Delivery_Date))
{
if(input.Delivery_Date_same_for_all_items == "Yes")
{
row.Delivery_Date=input.Delivery_Date;
}
else
{
row.Delivery_Date=null;
}
}
//old code for ERP Issue no. 13 & 32 is commented. start below
/*i = 0;
for each rec_sn in input.Delivery_Schedule
{
i = i + 1;
row.S_No=i;
}
//10-07-2019/For Delivery Schedule
clear row.Part_No;
item_list = List();
deliv_list = List();
for each an_item in input.Item_Details
{
item_list.add(an_item.Part_Description);
}
for each deliv in input.Delivery_Schedule
{
if(deliv.Part_No != null && deliv.Full_Quantity == true)
{
deliv_list.add(deliv.Part_No);
}
}
item_list.removeAll(deliv_list);
row.Part_No:ui.add(item_list.sort(true));
if(item_list.size() > 0)
{
row.Part_No=item_list.get(0);
//Setting Quantity
for each rec in input.Item_Details
{
if(rec.Ordered_Qty < 1)
{
alert "Please enter quantity for all the item(s) in Item Details Subform";
row.Quantity=null;
}
else
{
tot = 0.0;
for each rec1 in input.Delivery_Schedule
{
if(rec1.Part_No == rec.Part_Description)
{
tot = tot + ifnull(rec1.Quantity,0.0);
}
}
if(rec.Part_Description == row.Part_No)
{
row.Quantity=if(tot > 0,rec.Ordered_Qty - tot,rec.Ordered_Qty);
row.Full_Quantity=true;
}
}
}
}
if(!isNull(input.Incoterms))
{
if(input.Incoterms_same_for_all_items == "Yes")
{
row.Incoterms=input.Incoterms;
}
else
{
row.Incoterms=null;
}
}
if(!isNull(input.Incoterms_Location1))
{
if(input.Incoterms_Location_same_for_all_items == "Yes")
{
row.Incoterms_Location=input.Incoterms_Location1;
}
else
{
row.Incoterms_Location=null;
}
}
if(!isNull(input.Delivery_Date))
{
if(input.Delivery_Date_same_for_all_items == "Yes")
{
row.Delivery_Date=input.Delivery_Date;
}
else
{
row.Delivery_Date=null;
}
}*/
//old code end above
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter