Create Purchase Order Line Through Code AX X++ D365 Finance & Operations
public void createPurchLine(ItemId _ItemId, InventDimId _InventDimId, Qty _qty SalesId _salesId)
{
PurchLine purchLine;
InventTable inventTable;
InventDim inventDim;
InventLocation inventLocation;
InventItemBarcode inventBarCode;
PurchTable purchTable = PurchTable::find(_purchId);
try
{
inventTable.clear();
select inventBarCode
where inventBarCode.itemId == _ItemId &&
inventBarCode.inventDimId == _InventDim;
inventLocation = InventLocation::find(purchTable.InventLocationId);
inventDim.clear();
inventDim = inventBarCode.inventDim();
inventDim.InventLocationId = purchTable.InventLocationId;
inventDim.InventSiteId = purchTable.InventSiteId;
inventDim = InventDim::findOrCreate(inventDim);
purchLine.clear();
purchLine.initFromPurchTable(purchTable);
purchLine.PurchId = _purchId;
purchLine.ItemId = inventTable.ItemId;
purchLine.itemIdChanged();
//Initializing the sales line from inventory
purchLine.initFromInventTable(inventTable);
purchLine.InventDimId = inventDim.inventDimId;
purchLine.LineNumber = PurchLine::lastLineNum(_purchId) + 1;
purchLine.BarCode = inventBarCode.itemBarCode;
purchLine.CurrencyCode = purchTable.CurrencyCode;
if (purchTable.PurchaseType == PurchaseType::Purch)
{
purchLine.PurchQty = abs(_qty);
}
else
{
purchLine.PurchQty = -abs(_qty);
}
purchLine.ShippingDateRequested = purchTable.ShippingDateRequested;
purchLine.VariantId = inventBarCode.RetailVariantId;
purchLine.createLine(NoYes::Yes, // Validate
NoYes::Yes, // initFromPurchTable
NoYes::Yes, // initFromInventTable
NoYes::Yes, // calcInventQty
NoYes::Yes, // searchMarkup
NoYes::Yes); //
}
catch(Exception::Error)
{
Error("@SYS305921");
}
}
{
PurchLine purchLine;
InventTable inventTable;
InventDim inventDim;
InventLocation inventLocation;
InventItemBarcode inventBarCode;
PurchTable purchTable = PurchTable::find(_purchId);
try
{
inventTable.clear();
select inventBarCode
where inventBarCode.itemId == _ItemId &&
inventBarCode.inventDimId == _InventDim;
inventLocation = InventLocation::find(purchTable.InventLocationId);
inventDim.clear();
inventDim = inventBarCode.inventDim();
inventDim.InventLocationId = purchTable.InventLocationId;
inventDim.InventSiteId = purchTable.InventSiteId;
inventDim = InventDim::findOrCreate(inventDim);
purchLine.clear();
purchLine.initFromPurchTable(purchTable);
purchLine.PurchId = _purchId;
purchLine.ItemId = inventTable.ItemId;
purchLine.itemIdChanged();
//Initializing the sales line from inventory
purchLine.initFromInventTable(inventTable);
purchLine.InventDimId = inventDim.inventDimId;
purchLine.LineNumber = PurchLine::lastLineNum(_purchId) + 1;
purchLine.BarCode = inventBarCode.itemBarCode;
purchLine.CurrencyCode = purchTable.CurrencyCode;
if (purchTable.PurchaseType == PurchaseType::Purch)
{
purchLine.PurchQty = abs(_qty);
}
else
{
purchLine.PurchQty = -abs(_qty);
}
purchLine.ShippingDateRequested = purchTable.ShippingDateRequested;
purchLine.VariantId = inventBarCode.RetailVariantId;
purchLine.createLine(NoYes::Yes, // Validate
NoYes::Yes, // initFromPurchTable
NoYes::Yes, // initFromInventTable
NoYes::Yes, // calcInventQty
NoYes::Yes, // searchMarkup
NoYes::Yes); //
}
catch(Exception::Error)
{
Error("@SYS305921");
}
}
Comments
Post a Comment