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.

Другие вопросы по тегам