NetSuite: автоматическое заполнение позиции в счете поставщика - PullRequest
0 голосов
/ 17 мая 2018

Кто-нибудь здесь сталкивался с ошибкой при автоматическом заполнении позиции в счете продавца?
Я пытался автоматически заполнить базу позиций на моих полях критериев.
Поле A = номер партии (партия состоит из элементов) - эти элементы будут использоваться только для пометки.
Поле B = раскрывающийся список категории элементов (состоит из элементов 1, 2, 3 в каждой категории) - основной используемый элемент.

например,
Выбрано «Партия 1» = Элемент образца 1, Элемент образца 2, Элемент образца 3
Выбрал «Категория 1» = Item1, Item2, Item3
Позиция будет:
Item1 - образец Item 1
Item1 - Образец Item 2
Item1 - Образец Item 3
Item2 - образец Item 1
Item2 - Образец Item 2
Item2 - Образец Item 3
Item3 - образец Item 1
Item3 - Образец Item 2
Item3 - Образец Item 3

Вот мой пример кода ниже:

var batchsearch = searchthisbatch(FieldA)
var categorysearch = searchthiscategory(FieldB)
var batchline = batchsearch.length;
var categoryline = categorysearch.length;
for (var bc=0; bc<batchline ; bc++){
    for (var cl=0; cl<categoryline ;cl++){
        var bcode = batchsearch[bc].getId()
        var clitem = categorysearch[cl].getValue('custrecord_categorylist');
        nlapiSelectNewLineItem('item');
        nlapiSetCurrentLineItemValue('item', 'item', clitem);
        nlapiSetCurrentLineItemValue('item', 'custcol_branchcode', bcode);
        nlapiSetCurrentLineItemValue('item','location',11);
        nlapiCommitLineItem('item');
    }
}

Код просто отлично работает, кроме nlapiCommitLineItem('item'); Кто-нибудь знает другой код для фиксации позиции?

Надеемся на ваше внимание и помощь в этом.
Заранее спасибо.

<- Новичок здесь .. Извините ->

1 Ответ

0 голосов
/ 17 мая 2018

Если это клиентский скрипт, вам нужно добавить два параметра к вызовам nlapSetCurrentLineItemValue.Добавление ,true, true сделает звонки синхронными.В противном случае происходит то, что эти вызовы все еще выполняются, когда ваш код достигает значения nlapiCommitLineItem

. Вы, вероятно, также обнаружите, что вам нужно добавить задержку после переключения строки.Это немного сводит с ума, так как количество времени определяется методом проб и ошибок, и эта функция также не является синхронной и не имеет обратного вызова.

...