If I do the following, LineAmount, Name and price gets reseted to 0 after I use the createLine
if(_salesOrderLineContract.ItemName())
{
salesLineName = _salesOrderLineContract.ItemName();
}
salesLine.SalesPrice = _salesOrderLineContract.SalesPrice();
salesLine.SalesQty = _salesOrderLineContract.SalesQty();
salesLine.LineAmount = salesLine.calcLineAmount();
So I update the salesLine back again:
&& salesLineLocal.LineNum == _salesLine.LineNum;
{
salesLineLocal.Name = _salesOrderLineContract.ItemName();
}
salesLineLocal.LineAmount = salesLineLocal.calcLineAmount();
salesLineLocal.update();
is there another way? I think it's happening because of the the third parameter in createLine _initFromItemOrCategory
Does this mean I need to call salesLine.initLineFromItemOrCategory() before setting prices? then set the parameter as false in the createLine? but would i miss anything from standard behaviour if i do this?
I mean like this:
salesLine.ItemId = _salesOrderLineContract.ItemId();
salesLine.initLineFromItemOrCategory();
if(_salesOrderLineContract.ItemName())
salesLineName = _salesOrderLineContract.ItemName();
}
salesLine.SalesPrice = _salesOrderLineContract.SalesPrice();
salesLine.SalesQty = _salesOrderLineContract.SalesQty();
salesLine.LineAmount = salesLine.calcLineAmount();
Question not related: Do i need to call SalesLine.ItemIdChanged() as well when creating sales order by code? if yes why?

Report
All responses (
Answers (