创建新发票时,如何传递发票的其他数据。
invoiceAdditionalData.DataExtName.SetValue("PO/SA#");
invoiceAdditionalData.DataExtValue.SetValue("a unique number for this invoice");
invoiceAdditionalData.OwnerID.SetValue("0");
invoiceAdditionalData.ORListTxn.ListDataExt.ListDataExtType.SetValue(ENListDataExtType.ldetCustomer);
invoiceAdditionalData.ORListTxn.ListDataExt.ListObjRef.FullName.SetValue(invoiceAdd.CustomerRef.FullName.GetValue());
上述代码始终会更改客户的其他数据,因此所有现有发票都会获得新值。如何告知QBFC这些附加数据是用于发票而不是用于客户。 编辑:工作版
IDataExtAdd invoiceAdditionalData = requestMsgSet.AppendDataExtAddRq();
invoiceAdditionalData.DataExtName.SetValue("PO/SA#");
invoiceAdditionalData.DataExtValue.SetValue("the id");
invoiceAdditionalData.OwnerID.SetValue("0");
invoiceAdd.defMacro.SetValue("TxnID:" + invoiceNo);
invoiceAdditionalData.ORListTxnWithMacro.TxnDataExtWithMacro.TxnDataExtType.SetValue(ENTxnDataExtType.tdetInvoice);
invoiceAdditionalData.ORListTxnWithMacro.TxnDataExtWithMacro.TxnID.SetValueUseMacro("TxnID:" + invoiceNo);
答案 0 :(得分:1)
在最后两行中,您告诉它更新客户,而不是发票。而不是ListDataExt,使用TxnDataExtWithMacro(对于DataExtAdd - 您不需要宏)或TxnDataExt(对于DataExtMod)。将tdetInvoice指定为第4行中的类型,并在第5行中为其指定发票的TxnID。