insert PO Charges in d365fo x++
insert PO Charges in d365fo x++
Code:
public void insertPOCharges(VendPurchOrderJour _vendPurchOrderJour)
{
PurchLineAllVersions PurchLineAllVersions;
MarkupTransHistory MarkupTransHistory;
MarkupTrans MarkupTrans;
MarkupTable MarkupTable;
PURCHLINE PURCHLINE;
PurchTableVersion PurchTableVersion;
select PurchTableVersion where PurchTableVersion.RecId == _vendPurchOrderJour.PurchTableVersion;
utcdatetime dateTime = PurchTableVersion.VersionDateTime;
if (PurchTableVersion.IsArchived)
{
while
select ValidTimeState(dateTime) sum(Value), MarkupCode
from MarkupTransHistory
join PURCHLINE
where MarkupTransHistory.TRANSRECID == PURCHLINE.RECID
&& MarkupTransHistory.TransTableId == PURCHLINE.TableId
join PurchLineAllVersions
where PurchLineAllVersions.INVENTTRANSID == PURCHLINE.INVENTTRANSID
&& PurchLineAllVersions.PurchTableVersionRecId == _vendPurchOrderJour.PurchTableVersion
join Txt
from MarkupTable
group by MarkupTransHistory.MarkupCode, MarkupTable.Txt
where MarkupTransHistory.ModuleType == MarkupTable.ModuleType
&& MarkupTransHistory.MarkupCode == MarkupTable.MarkupCode
&& MarkupTable.VendType == MarkupType::CustVend
{
PurchaseOrderChargesTmp.ChargeCode = MarkupTable.Txt;
PurchaseOrderChargesTmp.Amount = MarkupTransHistory.VALUE;
PurchaseOrderChargesTmp.insert();
}
}
else
{
while
select PurchLineAllVersions
where PurchLineAllVersions.PurchTableVersionRecId == _vendPurchOrderJour.PurchTableVersion
join sum(Value), MarkupCode
from MarkupTrans
where MarkupTrans.TRANSRECID == PurchLineAllVersions.RECID
&& MarkupTrans.TransTableId == tablenum(PurchLine)
join Txt
from MarkupTable
group by MarkupTrans.MarkupCode, MarkupTable.Txt
where MarkupTrans.ModuleType == MarkupTable.ModuleType
&& MarkupTrans.MarkupCode == MarkupTable.MarkupCode
&& MarkupTable.VendType == MarkupType::CustVend
{
PurchaseOrderChargesTmp.ChargeCode = MarkupTable.Txt;
PurchaseOrderChargesTmp.Amount = MarkupTrans.VALUE;
PurchaseOrderChargesTmp.insert();
}
}
}
Comments
Post a Comment