qbfc передает дополнительные данные при создании счета
При создании нового счета, как я могу передать дополнительные данные для счета.
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);
1 ответ
Решение
В последних двух строках вы указываете обновить клиента, а не счет. Вместо ListDataExt используйте TxnDataExtWithMacro (для DataExtAdd - вам не нужен макрос) или TxnDataExt (для DataExtMod). Укажите tdetInvoice в качестве типа в строке 4 и присвойте ему TxnID счета-фактуры в строке 5.