MPInterfaceCreatePurchaseDocumentFromPurchaseProcess Method |
The object will be created, but not stored. Please call bImportPurchaseProcessDocument(clsImportPurchaseProcessDocument, clsImportBaseeImportMode) for the import.
Namespace: MARIInterface
public clsImportPurchaseProcessDocument CreatePurchaseDocumentFromPurchaseProcess( int PurchaseProcessID, DateTime FilterPositionsByDate, clsImportSalesContractDocumenteDocTypes PurchaseDocumentType, clsImportSalesContractDocumenteFilterBalanceMode PositionFilterMode, int BaseDocumentID )
private int CreatePurchaseOrder(int lPOProcessID, DateTime dtDocumentDate) { Log($"CreatePurchaseOrder(lPOProcessID={lPOProcessID},{dtDocumentDate.ToShortDateString()})"); clsImportPurchaseProcessDocument oNewPODoc; DateTime dtFilterPos = new DateTime(2016, 7, 1); clsImportSalesContractDocument.eDocTypes nDocType = clsImportSalesContractDocument.eDocTypes.PurchaseOrder; clsImportSalesContractDocument.eFilterBalanceMode nFilterBalance = clsImportSalesContractDocument.eFilterBalanceMode.NoFilterByQty; //The interface will now open the purchase process and creates a new PO document based on the BalaceMode oNewPODoc = oMPInterface.CreatePurchaseDocumentFromPurchaseProcess(lPOProcessID, dtFilterPos, nDocType, nFilterBalance,/*BaseDoc*/ 0); //add the external information oNewPODoc.DocumentDate = dtDocumentDate; oNewPODoc.PostingDate = dtDocumentDate; oNewPODoc.DocDueDate = new DateTime(2016, 8, 1); //delivery date for the print out //change del date in the positiosn foreach (clsImportPurchaseProcessDocumentPositions oPos in oNewPODoc.Positions) { oPos.DeliveryDate = new DateTime(2016, 8, 1); } //Create SBO document out of the MARIProject document oNewPODoc.TransferERP = true; if (oMPInterface.bImportPurchaseProcessDocument(oNewPODoc, clsImportBase.eImportMode.ValidateAndImport)) { Log($"CreatePurchaseOrder MPDocID={oNewPODoc.DocumentID}, SBO DocEntry={oNewPODoc.DocEntry}"); return oNewPODoc.DocumentID; } else { LogFail("CreatePurchaseOrder: " + oMPInterface.oErrors.PrintErrors()); } return 0; }
private int CreatePODocumentForPOProcess(int lPOProcessID, int lPurchaseOrderDocID, DateTime dtDocumentDate) { Log($"CreatePODocumentForPOProcess({lPOProcessID}, {lPurchaseOrderDocID}, {dtDocumentDate.ToShortDateString()})"); clsImportPurchaseProcessDocument oNewPODoc; DateTime dtFilterPos = new DateTime(2016, 7, 1); clsImportSalesContractDocument.eDocTypes nDocType = clsImportSalesContractDocument.eDocTypes.AP_Invoice; clsImportSalesContractDocument.eFilterBalanceMode nFilterBalance = clsImportSalesContractDocument.eFilterBalanceMode.QuantityByBaseDocument; //The interface will now open the purchase process and creats a new PO document based on the BalaceMode oNewPODoc = oMPInterface.CreatePurchaseDocumentFromPurchaseProcess(lPOProcessID, dtFilterPos, nDocType, nFilterBalance, lPurchaseOrderDocID); //add the external information oNewPODoc.REFNumber = "123456"; // external AP Invoice number oNewPODoc.DocumentDate = dtDocumentDate; oNewPODoc.PostingDate = dtDocumentDate; oNewPODoc.JournalRemark = "Journal Remark"; //Create SBO document out of the MARIProject document oNewPODoc.TransferERP = true; //example to add a new text line. Adding other position types needs a reference to the sales contract position. clsImportPurchaseProcessDocumentPositions oNewPos = new clsImportPurchaseProcessDocumentPositions(); oNewPos.PositionType = clsImportSalesContractDocumentPositions.ePosTypes.Text; oNewPos.MPPositionType = clsImportProjectContractPosition.eContractPositionType.TextPosition; oNewPos.AccountingInfo = "My text"; oNewPODoc.AddPosition(oNewPos); if (oMPInterface.bImportPurchaseProcessDocument(oNewPODoc, clsImportBase.eImportMode.ValidateAndImport)) { Log($"bImportPurchaseProcessDocument: MPDocID={oNewPODoc.DocumentID}, SBO DocEntry={oNewPODoc.DocEntry}"); return oNewPODoc.DocumentID; } else { LogFail("bImportPurchaseProcessDocument: " + oMPInterface.oErrors.PrintErrors()); } return 0; }