【发布时间】:2015-09-20 15:11:01
【问题描述】:
我正在尝试使用 Web 服务 C# 创建 Netsuite 发票:
Invoice nsInvoice = new Invoice();
//trainid
nsInvoice.tranId = invoice.Code;
//createdDate
nsInvoice.tranDate = invoice.Date;
nsInvoice.tranDateSpecified = true;
//createdFrom
//nsVendorBill.entity = NSPurchaseOrder.getRef(nsPurchaseOrder.internalId);
nsInvoice.entity = NSVendor.getRef(nsSaleOrder2.entity.internalId);
从销售订单行复制所有行:
var invoiceItems = new List<InvoiceItem>();
//copy from purchase order
foreach (SalesOrderItem poitem in nsSaleOrder.itemList.item)
{
var invoiceItem = new InvoiceItem();
invoiceItem.item = poitem.item;
invoiceItem.orderLine = poitem.line;
invoiceItem.orderLineSpecified = true;
invoiceItem.isTaxable = false;
invoiceItem.isTaxableSpecified = true;
invoiceItem.quantity = 0;
invoiceItem.quantitySpecified = true;
invoiceItem.tax1Amt = 0;
invoiceItem.tax1AmtSpecified = true;
invoiceItems.Add(invoiceItem);
}
并检查要添加到发票的哪一行(数量>0):
//update quantity
foreach (var invoiceItem in invoiceItems)
{
if (invoiceItem.item.internalId == itemID)
{
invoiceItem.isTaxable = true;
invoiceItem.quantity = line.Quantity;
invoiceItem.tax1Amt = line.Tax;
//custom pricelevel
RecordRef plRef = new RecordRef();
plRef.type = RecordType.priceLevel;
plRef.typeSpecified = true;
plRef.internalId = "-1";
invoiceItem.price = plRef;
invoiceItem.rate = "" + line.UnitPrice;
}
}
但是即使数量为零的所有行都列在发票中。
有没有办法取消选中零数量的行?
【问题讨论】:
-
这个
line变量来自哪里? -
对不起。行是我的数据。