将固定货运费插入x ++ Dynamics 365 fin&ops中的销售订单行

问题描述 投票:0回答:1

我是X ++开发的新手,我想针对销售订单行而不是销售订单抬头插入运费。我已经使用了SalesOrderLineChargeEntity,但是它没有保存记录,而是抛出了错误。

private void addCharges()
{
    SalesOrderLineChargeV2Entity chargeEntity;

    boolean isNew;
    str saleschargecode = 'Freight';
    str saleschargecodedesc = 'Freight Charges';

    if(saleschargecode != '')
    {
        select forupdate chargeEntity  where chargeEntity.SalesOrderNumber=='22676' && chargeEntity.SalesChargeCode == saleschargecode && chargeEntity.ChargeLineNumber == 1;

        if(!chargeEntity)
        {
            isNew = true;
            chargeEntity.clear();
        }
        chargeEntity.ChargeCategory = MarkupCategory::Fixed;
        chargeEntity.SalesChargeCode = saleschargecode;
        chargeEntity.ChargeDescription=saleschargecodedesc;
        chargeEntity.ChargeAccountingCurrencyCode = _ecomIntSalesOrderImportStaging.currency_id;
        chargeEntity.ChargePercentage=0;
        chargeEntity.ExternalChargeAmount=0;
        chargeEntity.FixedChargeAmount= 230;
        chargeEntity.ChargeLineNumber=1;


        chargeEntity.SalesOrderNumber='22676';

        chargeEntity.SalesTaxGroupCode='AvaTax';
        chargeEntity.WillInvoiceProcessingKeepCharge=NoYes::No;
        chargeEntity.IsIntercompanyCharge = NoYes::No;

        if(isNew)
        chargeEntity.insert();
        else
        chargeEntity.update();
    }
}

这是我用于插入销售行货运费的代码,但是它在图片中提到了错误。enter image description here

需要帮助。

谢谢,桑迪

x++ dynamics-ax7
1个回答
0
投票

我可以通过分配要显示运费的销售线的InventoryLotId来解决问题,我在下面的代码更改中进行了更改:

select firstonly salesOrderLine
                where salesOrderLine.SalesOrderNumber == '22676';
chargeEntity.SalesOrderLineInventoryLotId = salesOrderLine.InventoryLotId;
© www.soinside.com 2019 - 2024. All rights reserved.