У меня есть сценарий SSP, который пытается создать счет для существующего клиента с оплатой, определяемой тем, за что он подал заявку.Я настроил элементы оплаты за неинвентарные позиции, и у меня есть запрос, который успешно получает внутренний идентификатор нужного элемента.Затем скрипт пытается создать счет-фактуру, и при этом я пытаюсь добавить существующий элемент, используя найденный мной внутренний идентификатор.Проблема в том, что я не могу понять, как это связано, браузер схемы показывает поле с именем itemlist, имеющее тип InvoiceItemlist, которое состоит из invoiceItems.
Я понимаю, что это означает, что яРабота с подсписком, но нет типа подсписка invoiceitem, поэтому я предполагаю, что я работаю с элементами.Итак, я пробовал разные способы создания новой записи подсписка, но большинство примеров, которые я могу найти, - это как создать новую запись подсписка, где я просто хочу создать экземпляр одного из существующих элементов.Я включил фрагмент кода с моей текущей попыткой, которая не работает.
var recNewInvoice = nlapiCreateRecord('invoice', {recordmode:'dynamic'});
recNewInvoice.setFieldValue('customform', '104');
recNewInvoice.setFieldValue('entity', stCustId);
// Add Item to invoice
_AddItem(recNewInvoice, stFeeId);
if (stDiscountId) {
_AddItem(recNewInvoice, stDiscountId);
}
try {
objDataResponse.Invoice.Id = nlapiSubmitRecord(recNewInvoice, true, true);
}
catch (ex) {
throw nlapiCreateError('WRITE_FAILED','nlapiSubmitRecord for invoice failed.' + ex.message);
}
// further down I define the function
function _AddItem(recInvoice, ItemID){
recInvoice.selectNewLineItem('item');
recInvoice.setCurrentLineItemValue('item','item',ItemID);
recInvoice.setCurrentLineItemValue('item','quantity',1);
recInvoice.commitLineItem('item', false);
};
Я использую функцию для _AddItem, потому что я могу добавлять скидку, а также плату иЯ считаю, что они обрабатываются одинаково.Когда я запускаю код с контрольным примером, который возвращает действительный stFeeId, я получаю следующую ошибку в журнале выполнения SSP:
nlapiSubmitRecord для неоплаченного счета. Пожалуйста, выберите элемент для добавления
* editдобавлена ошибка
* edit: я обновил часть кода, чтобы показать изменения, которые я сделал, основываясь на разных ресурсах, которые я нашел.Исходная ошибка не генерируется, но я получаю эту новую ошибку:
nlapiSubmitRecord для счета-фактуры не удалось. Элементы, которые вы запросили в записи, были удалены с момента получения формы