实现采购收货// Developed on 28 Dec 2015 by Muhammad Anas Khan // Blog: dynamicsaxinsight.wordpress.com // LinkedIn: pk.linkedin.com/in/muhammadanaskhan // Description: Ability to post product receipt static void makPurchPackingSlipPost(Args _args) { PurchFormLetter purchFormLetter; PurchFormletterParmData purchFormLetterParmData; PurchParmUpdate purchParmUpdate; PurchParmTable purchParmTable; PurchParmLine purchParmLine; PurchTable purchTable; PurchLine purchLine; PurchId purchId; Num packingSlipId; purchId 0000-000187; packingSlipId MAK3101; purchTable PurchTable::find(purchId); ttsBegin; // Create PurchParamUpdate table purchFormLetterParmData PurchFormletterParmData::newData( DocumentStatus::PackingSlip, VersioningUpdateType::Initial); purchFormLetterParmData.parmOnlyCreateParmUpdate(true); purchFormLetterParmData.createData(false); purchParmUpdate purchFormLetterParmData.parmParmUpdate(); // Set PurchParmTable table purchParmTable.clear(); purchParmTable.TransDate SystemDateGet(); purchParmTable.Ordering DocumentStatus::PackingSlip; purchParmTable.ParmJobStatus ParmJobStatus::Waiting; purchParmTable.Num packingSlipId; purchParmTable.PurchId purchTable.PurchId; purchParmTable.PurchName purchTable.PurchName; purchParmTable.DeliveryName purchTable.DeliveryName; purchParmTable.DeliveryPostalAddress purchTable.DeliveryPostalAddress; purchParmTable.OrderAccount purchTable.OrderAccount; purchParmTable.CurrencyCode purchTable.CurrencyCode; purchParmTable.InvoiceAccount purchTable.InvoiceAccount; purchParmTable.ParmId purchParmUpdate.ParmId; purchParmTable.insert(); // Set PurchParmLine table while select purchLine where purchLine.PurchId purchTable.purchId { purchParmLine.InitFromPurchLine(purchLine); purchParmLine.ReceiveNow PurchLine.PurchQty; purchParmLine.ParmId purchParmTable.ParmId; purchParmLine.TableRefId purchParmTable.TableRefId; purchParmLine.setQty(DocumentStatus::PackingSlip, false, true); purchParmLine.setLineAmount(); purchParmLine.insert(); } purchFormLetter PurchFormLetter::construct(DocumentStatus::PackingSlip); purchFormLetter.transDate(systemDateGet()); purchFormLetter.proforma(false); purchFormLetter.specQty(PurchUpdate::All); purchFormLetter.purchTable(purchTable); // This is the ID we hard code as the product receipt ID, if we do the posting via UI // user would have the option to manually enter this value purchFormLetter.parmParmTableNum(purchParmTable.ParmId); purchFormLetter.parmId(purchParmTable.ParmId); purchFormLetter.purchParmUpdate(purchFormLetterParmData.parmParmUpdate()); purchFormLetter.run(); ttsCommit; }或者全部收货purchFormLetter PurchFormLetter::construct(DocumentStatus::PackingSlip); purchFormLetter.transDate(systemDateGet()); purchFormLetter.proforma(false); purchFormLetter.specQty(PurchUpdate::All); purchFormLetter.purchTable(purchTable);
阅读完成 · 觉得有帮助?