Я пытаюсь добавить значение в настраиваемое поле с помощью фреймворка QBO Кейта Палмера. Я добавил пользовательское поле Test Field
в настройках QuickBooks и теперь каждый счет имеет CustomField
свойство со следующими свойствами:
DefinitionId
,
Name
,
Type
Каждый из вышеперечисленных типов является массивами.
Тем не менее, я не могу установить значение настраиваемого поля.
Следующий код не работает.
// Add a custom field to the invoice (YOU NEED TO DEFINE THIS IN THE QBO PREFERENCES FIRST!!!)
$CustomField = new QuickBooks_IPP_Object_CustomField();
$CustomField->setName('Test Field');
$CustomField->setType('StringType');
$CustomField->setStringValue('Test value here');
$Invoice->addCustomField($CustomField);
ОБНОВИТЬ:
То, что работало для меня, было следующим:
$custom_field = new QuickBooks_IPP_Object_CustomField();
$custom_field->setDefinitionId('1');
$custom_field->setName('Status');
$custom_field->setType('StringType');
$custom_field->setStringValue('Test value here');
$invoice->setCustomField($custom_field);
И в моей учетной записи quickbooks я вручную установил для первого настраиваемого поля значение «Статус».
На уровне обслуживания данных вы можете извлекать или обновлять настраиваемые поля QuickBooks Online, которые уже были настроены на уровне продукта. Вы не можете их создать. Примечание: не забудьте использовать DefinitionId (уникальный идентификатор для настраиваемых полей для обновления)
https://developer.intuit.com/docs/0100_accounting/0300_developer_guides/custom_fields
Других решений пока нет …