Acumatica Web API 应用折扣

Acumatica Web API Apply Discounts

我正在尝试找到一种从网络服务 API 获取折扣代码的方法,即是否有一个函数调用可以告诉我要应用哪个折扣代码?

我正在尝试检索折扣代码,但它们可以按项目或按项目价格 Class 和客户等,这使得代码比预期的要长。

希望 API 中有一个 "GetBestDiscount" 设施可以帮助我?

谢谢, G

没有这样的 API,但是您可以使用销售订单输入屏幕 API 创建一个临时销售订单,向其添加一行并在不保存的情况下检索设置的价格或折扣命令。这将是最准确的信息,因为折扣和价格还可能取决于日期、数量以及同时订购的其他产品。

此时,对于任何网络服务调用,Acumatica 折扣引擎已停用。因此,输入没有任何折扣的订单行将不会填充折扣代码。

但是,在 Acumatica 大学有一个 GetSalesPrice.zip 定制包,专门用于为客户检索商品价格(附加到 I200 基于屏幕的 Web 服务 5.3 和 I210 基于合同的 Web服务 5.3 来源)。

基于屏幕的示例调用 API:

Content getSalesPriceSchema = context.GetSchema();
var commands = new Command[]
{
    new Value
    {
        Value = customer,
        LinkedCommand =getSalesPriceSchema.RequiredInputParameters.Customer
    },
    new Value
    {
        Value = inventoryID,
        LinkedCommand =getSalesPriceSchema.RequiredInputParameters.InventoryID
    },
    getSalesPriceSchema.OutputPrice.Price
};
Content price = context.Submit(commands)[0];

基于合同的示例调用 API:

GetSalesPriceInquiry priceToBeGet = new GetSalesPriceInquiry
{
    Customer = new StringValue { Value = customer },
    InventoryID = new StringValue { Value = inventoryID }
};
GetSalesPriceInquiry stockItemPrice = (GetSalesPriceInquiry)soapClient.Put(priceToBeGet);

我尝试通过 API 订单输入屏幕创建一个临时销售订单行,但没有将其保存为 Gabriel 建议。 我可以毫无问题地检索设定价格,但没有返回折扣百分比和折扣代码。 返回的折扣百分比为零,折扣代码为空。

我猜这是因为 Acumatica 折扣引擎对于任何 Web 服务调用都已停用。

对于任何 Web 服务调用停用 Acumatica 折扣引擎的任何原因?