Create Sales Line Through Code AX X++ D365 Finance & Operations
public void createSalesLine(ItemId _ItemId, InventDimId _InventDimId, Qty _qty SalesId _salesId)
{
SalesLine salesLine;
InventTable inventTable;
InventDim inventDim;
InventLocation inventLocation;
InventItemBarcode inventBarCode;
SalesTable salesTable = SalesTable::find(_salesId);
CustTable custTable;
try
{
inventTable.clear();
select * from inventTable
where inventTable.itemId == _ItemId;
select inventBarCode
where inventBarCode.itemId == _ItemId &&
inventBarCode.inventDimId == _InventDim
inventLocation = InventLocation::find(salesTable.InventLocationId);
inventDim = inventBarCode.inventDim();
inventDim.InventLocationId = salesTable.InventLocationId;
inventDim.InventSiteId = salesTable.InventSiteId;
inventDim = InventDim::findOrCreate(inventDim);
salesLine.clear();
salesLine.initFromSalesTable(salesTable);
salesLine.SalesId = _salesId;
salesLine.ItemId = inventTable.ItemId;
salesLine.itemIdChanged();
//Initializing the sales line from inventory
salesLine.initFromInventTable(inventTable);
salesLine.InventDimId = inventDim.inventDimId;
salesLine.LineNum = SalesLine::lastLineNum(_salesId) + 1;
salesLine.BarCode = inventBarCode.itemBarCode;
salesLine.BarCodeType = inventBarCode.barcodeSetupId;
salesLine.SalesCategory = _tmpRetailProductsToAdd.Category;
salesLine.CurrencyCode = salesTable.CurrencyCode;
if (salesTable.SalesType == SalesType::Sales)
{
salesLine.SalesQty = abs(qty);
}
else
{
salesLine.SalesQty = -abs(qty);
}
salesLine.ShippingDateRequested = salesTable.ShippingDateRequested;
salesLine.RetailVariantId = inventBarCode.RetailVariantId;
salesLine.createLine(NoYes::Yes, // Validate
NoYes::Yes, // initFromSalesTable
NoYes::Yes, // initFromInventTable
NoYes::Yes, // calcInventQty
NoYes::Yes, // searchMarkup
NoYes::Yes); //
}
catch(Exception::Error)
{
Error("@SYS305921");
}
}
{
SalesLine salesLine;
InventTable inventTable;
InventDim inventDim;
InventLocation inventLocation;
InventItemBarcode inventBarCode;
SalesTable salesTable = SalesTable::find(_salesId);
CustTable custTable;
try
{
inventTable.clear();
select * from inventTable
where inventTable.itemId == _ItemId;
select inventBarCode
where inventBarCode.itemId == _ItemId &&
inventBarCode.inventDimId == _InventDim
inventLocation = InventLocation::find(salesTable.InventLocationId);
inventDim = inventBarCode.inventDim();
inventDim.InventLocationId = salesTable.InventLocationId;
inventDim.InventSiteId = salesTable.InventSiteId;
inventDim = InventDim::findOrCreate(inventDim);
salesLine.clear();
salesLine.initFromSalesTable(salesTable);
salesLine.SalesId = _salesId;
salesLine.ItemId = inventTable.ItemId;
salesLine.itemIdChanged();
//Initializing the sales line from inventory
salesLine.initFromInventTable(inventTable);
salesLine.InventDimId = inventDim.inventDimId;
salesLine.LineNum = SalesLine::lastLineNum(_salesId) + 1;
salesLine.BarCode = inventBarCode.itemBarCode;
salesLine.BarCodeType = inventBarCode.barcodeSetupId;
salesLine.SalesCategory = _tmpRetailProductsToAdd.Category;
salesLine.CurrencyCode = salesTable.CurrencyCode;
if (salesTable.SalesType == SalesType::Sales)
{
salesLine.SalesQty = abs(qty);
}
else
{
salesLine.SalesQty = -abs(qty);
}
salesLine.ShippingDateRequested = salesTable.ShippingDateRequested;
salesLine.RetailVariantId = inventBarCode.RetailVariantId;
salesLine.createLine(NoYes::Yes, // Validate
NoYes::Yes, // initFromSalesTable
NoYes::Yes, // initFromInventTable
NoYes::Yes, // calcInventQty
NoYes::Yes, // searchMarkup
NoYes::Yes); //
}
catch(Exception::Error)
{
Error("@SYS305921");
}
}
Comments
Post a Comment