I want to register the saleslines inventory i dont have idea like how to do that with code,
I have tried with this code but the Document status of order is not getting Picking list.
Please help me that how can i register my saleslines so that the DocumentStatus of particular salesorder must be PickingList. (And yes all i am doing this is with SysOperation)
Thanks in Advance.
private WMSPickingRouteID generatePickingFromSalesLines(SalesTable _salesTable, container _salesLineReferences)
{
SalesFormLetter salesFormLetter;
WMSPickingRouteID pickingRouteID;
SalesParmLine salesParmLine;
salesFormLetter = SalesFormLetter::construct(DocumentStatus::PickingList);
salesFormLetter.salesTable(_salesTable);
salesFormLetter.initParmSalesTable(salesFormLetter.salesTable());
salesFormLetter.transDate(DateTimeUtil::getSystemDate(DateTimeUtil::getUserPreferredTimeZone()));
salesFormLetter.specQty(SalesUpdate::All);
salesFormLetter.proforma(salesFormLetter.salesParmUpdate().Proforma);
salesFormLetter.printFormLetter(salesFormLetter.printFormLetter());
salesFormLetter.printCODLabel(NoYes::No);
salesFormLetter.printShippingLabel(NoYes::No);
salesFormLetter.usePrintManagement(false);
salesFormLetter.creditRemaining(salesFormLetter.creditRemaining());
salesFormLetter.createParmUpdateFromParmUpdateRecord(
SalesFormletterParmData::initSalesParmUpdateFormletter(
salesFormLetter.documentStatus(),
salesFormLetter.pack(),
true,
false,
false
)
);
salesFormLetter.initParameters(salesFormLetter.salesParmUpdate(), Printout::Current);
salesFormLetter.initLinesQuery();
//Delete unwanted records in SalesParmLine
while select forupdate SalesParmLine
where SalesParmLine.ParmId == salesFormLetter.parmId()
{
if (conFind(_salesLineReferences, SalesParmLine.InventTransId) == 0)
{
SalesParmLine.delete();
}
}
salesFormLetter.run();
FormletterOutputContract outputContract = salesFormLetter.getOutputContract();
WMSPickingRoute wmsPickingRoute = outputContract.parmJournal();
return wmsPickingRoute.pickingRouteID;
}