【问题标题】:How to insert Adjustment record with Contract API如何使用 Contract API 插入调整记录
【发布时间】:2019-01-01 11:15:03
【问题描述】:

我正在尝试使用以下代码通过 SOAP API 插入调整记录。

Dim NewAdjustment As Adjustment = New Adjustment With {
    .ExternalRef = New StringValue With {.Value = "TEST1234"},
    .Description = New StringValue With {.Value = "1234TEST"},
    .[Date] = New DateTimeValue With {.Value = "12/20/2018"},
    .Details = {New AdjustmentDetail With {
        .BranchID = New StringValue With {.Value = "PRODWHOLE"},
        .InventoryID = New StringValue With {.Value = "18r.5"},
        .WarehouseID = New StringValue With {.Value = "RETAIL"},
        .Qty = New DecimalValue With {.Value = 100}
        }}
}

Dim InsertAdjustment As Adjustment = CType(soapClient.Put(NewAdjustment), Adjustment)

我收到一个错误 px.data.pcexception: Error: 'Branch' cannot be empty。错误:“后期”不能为空。插入“收据”记录时出错,至少引发了一个错误。

我猜我需要填写这些值,但我不知道该怎么做。我在表格中看到了它们,但在 API 接口中没有看到。我是 Acumatica 的新手,所以我猜这只是我缺少的东西。

提前致谢。

【问题讨论】:

  • 您尝试将合约 API 请求发送到哪个屏幕?
  • 我不确定我是否理解这个问题。使用合约 API,我不应该影响业务对象而不是屏幕吗?在这种情况下,我试图复制 IN303000 上的逻辑。在转换过程中,我们使用它来保持库存与旧系统同步。

标签: acumatica


【解决方案1】:

我从未见过将 Date 属性用作 [Date],但这并不意味着它不起作用。过帐期间默认基于日期属性的值。确保 2018 年 12 月的发布期在您使用 API 登录的公司上开放。当会计部门没有及时打开期间时,我不时看到这个错误。

BranchID 根据soapClient 的登录参数默认。需要注意的一件事是,您的 API 登录用户需要对正在使用的 BranchID 具有权限,否则您肯定会收到有关 Branch 无效的错误。

根据贵公司使用的库存成本计算方法,库存调整可能需要根据库存收据进行处理。这可能很难弄清楚该怎么做,特别是如果您在新的实施中从未收到过该物品的任何东西,并且您想增加库存水平。对于业务案例中的积极调整,您可能需要考虑创建库存收据而不是调整。该实体与调整非常相似。对于负调整,您可能需要考虑使用同样非常相似的库存问题。

如果您决定使用调整,则必须在库存收据中搜索适当的收据编号,以便在填充交易详细信息时使用。插入的每一行对应一个。

【讨论】:

  • 登录中的BranchID是我的问题。事实证明,约会的事情有点误导。对于它的价值,设置日期确实有效。另外,感谢有关交易的信息。负责转换的人希望它作为库存交易完成(同样,这只是一个临时解决方案,几个月后就会消失)。
猜你喜欢
  • 2017-07-04
  • 2021-09-19
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 2011-03-22
  • 2022-09-25
  • 2012-04-15
相关资源
最近更新 更多