【问题标题】:NetSuite Web Services API - How to “partially” fulfil a sales order 2NetSuite Web 服务 API - 如何“部分”履行销售订单 2
【发布时间】:2021-04-09 15:58:10
【问题描述】:

我正在尝试部分履行 netsuite(Web 服务 API)中的订单。这是我在阅读 NetSuiteWebServicesRecordsGuide_2_5_0.pdf 后想到的最简单的代码。无论我做什么,订单总是得到完全履行。这是我想出的最简单的代码,

尝试完成订单中三项中的第一项:

            var ifi = new ItemFulfillmentItem()
            {
                orderLine = 1,  //  For the fist item in the list
                orderLineSpecified = true,
                quantity = 1.0,
                quantitySpecified = true
            };
            var itemFulfillment = new ItemFulfillment() { 
                createdFrom = new RecordRef() { internalId = MySalesOrderInternalId.internalId, type = RecordType.salesOrder, typeSpecified = true },
                itemList = new ItemFulfillmentItemList(){ item = new ItemFulfillmentItem[] { ifi } , replaceAll = false}
            };
            var result = _service.add(itemFulfillment);

【问题讨论】:

    标签: c# netsuite


    【解决方案1】:

    所有行都必须存在,并且当您仅包含一些 NetSuite 时,会将其他行包含在履行中的全部数量。包括您不想要的行,数量为 0,itemIsFulfilled 为 false。

    【讨论】:

      【解决方案2】:

      在回答指出数量必须为 0 并且 itemIsFulfilled 必须设置为 false 之后,它使用 SOAP 对我有用,并且它能够容纳部分履行的项目行。下面是对我有用的 XML。此外,如果您只履行特定数量的数量,itemIsFulfilled 仍将设置为 false,但数量必须是您将履行的数量。

      <add xsi:type='platformMsgs:AddRequest'>
                  <record xsi:type='tranSales:ItemFulfillment'>
                      <createdFrom xsi:type='platformCore:RecordRef' internalId='22603' type='salesOrder'/>
                      <itemList replaceAll='false' xsi:type='tranSales:ItemFulfillmentItemList'>
                          <item xsi:type='tranSales:ItemFulfillmentItem'>
                              <quantity xsi:type='xsd:double'>1</quantity>
                              <item xsi:type='platformCore:RecordRef' internalId='251'/>
                              <orderLine xsi:type='xsd:long'>1</orderLine>
                              <itemIsFulfilled xsi:type='xsd:boolean'>true</itemIsFulfilled>
                          </item>
                          <item xsi:type='tranSales:ItemFulfillmentItem'>
                              <quantity xsi:type='xsd:double'>0</quantity>
                              <item xsi:type='platformCore:RecordRef' internalId='47'/>
                              <orderLine xsi:type='xsd:long'>2</orderLine>
                              <itemIsFulfilled xsi:type='xsd:boolean'>false</itemIsFulfilled>
                          </item>
                      </itemList>
                  </record>
              </add>

      【讨论】:

        猜你喜欢
        • 2012-07-02
        • 1970-01-01
        • 1970-01-01
        • 2021-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多