[英]Associate invoice to a Sales Order
我无法在发票上设置“创建自”以通过 SOAP web 服务引用销售订单记录。 我已经尝试直接设置此字段,也可以通过 Initialize API (使用销售订单初始化发票记录,然后将 CreatedFrom 字段从初始化发票复制到正在创建的发票)。
我没有收到任何错误,但尚未在创建的发票记录上设置 Created From 字段。
我正在尝试的代码如下所示:
// initialize invoice from sales order
var initializeRecord = new InitializeRecord()
{
type = InitializeType.invoice,
reference = new InitializeRef() { internalId = "sales-order-internal-id", type = InitializeRefType.salesOrder, typeSpecified = true }
};
var result = Utility.Do(async () => await connector.NetSuiteClient.initializeAsync(initializeRecord));
SuiteTalk.Invoice initializedInvoice = result.record;
// create a invoice and copy over the "createdFrom" field
var invoice = new SuiteTalk.Invoice();
invoice.createdFrom = initializedInvoice.createdFrom;
/* set other fields on the invoice and add some line items
....
...
..
*/
// finally create the invoice
var result = Utility.Do(async () => await connector.NetSuiteClient.addAsync(invoice));
创建时如何将此发票关联到销售订单?
您将不得不做的——尽管很痛苦——是使用 netsuite 从initializeRecord
调用中提供给您的转换后的记录,然后对其进行修改。 这很痛苦,因为您在填写记录时必须取消设置几个字段。
问题是在 header 级别和行级别上都有createdFrom
关联,需要填写销售订单到发票关联才能采用。
以下是我必须在发票中取消设置的行字段列表:
行级:
quantityRemaining
quantityAvailable
quantityFulfilled
quantityOrdered
quantityOnHand
costEstimate
taxRate1
以下是标题级字段:
subTotal
total
totalCostEstimate
estGrossProfit
estGrossProfitPercent
discountTotal
giftCertApplied
shippingTax1Rate
谢谢2ps 。 就我而言,这段代码就足够了
Invoice invoice = (Invoice)initializeResponse.record;
invoice.totalCostEstimateSpecified = false;
invoice.estGrossProfitPercentSpecified = false;
invoice.discountTotalSpecified = false;
invoice.totalSpecified = false;
foreach (var item in invoice.itemList?.item)
{
item.quantityRemainingSpecified = false;
item.costEstimateSpecified = false;
}
var writeResponse = svc2.add(invoice);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.