Как найти идентификатор строки в функции beforeSubmit в NetSuite? - PullRequest
0 голосов
/ 18 марта 2019

Существует настраиваемое поле строки транзакции, которое называется "custcol_so_line_id". Его значение должно совпадать с идентификатором строки подсписка.

Код выглядит следующим образом:

function beforeSubmit(context) {

    var rec = context.newRecord;

    var lineItemID = rec.getSublistValue({
        sublistId: 'item',
        fieldId: 'id',
        line: 1
    });

    rec.setSublistValue({
        sublistId: 'item',
        fieldId: 'custcol_so_line_id',
        value: lineItemID
    });
}

return {
    beforeSubmit: beforeSubmit
}

После нажатия кнопки Сохранить в Записи продаж. Запись о продажах должна отображаться SO_12345 в настраиваемом поле строки "cuscol_so_line_id". Но это не так и показывает ошибку следующим образом: load: Missing a required argument: id для кода var salesRec = record.load({...

Если я изменю точку входа на "afterSubmit", то появится SO_12345 .

Не можем ли мы обновить запись до ее отправки? Как найти идентификатор для строки в beforeSubmit функции?

Ответы [ 3 ]

1 голос
/ 18 марта 2019

То, что вы пытаетесь получить с помощью salesRec, совпадает с тем, что вы уже имеете с rec.Однако вы не можете загрузить salesRec, так как он не был записан в базу данных в тот момент, когда beforeSubmit запущен.Вместо этого вам нужно внести изменения в rec.

function beforeSubmit(context) {

    var rec = context.newRecord;

    rec.setSublistValue({
        sublistId: 'item',
        fieldId: 'custcol_so_line_id',
        value: 'SO_12345',
        line: 1
    });
}

return {
    beforeSubmit: beforeSubmit
}
1 голос
/ 18 марта 2019

В функции «Перед отправкой» вы не получите идентификатор записи. Это вызывает ошибку, которую вы упомянули.

После отправки вы получаете идентификатор записи, так как он ПОСЛЕ сохранения записи.

0 голосов
/ 19 марта 2019

Я обнаружил, что URL-адрес выглядит так: (domain).netsuite.com/app/accounting/transactions/salesord.nl?whence=, внутри которого нет идентификатора записи продаж.

Означает ли это, что идентификатор записи не генерируется?Если да, то идентификатор строки, возможно, еще не определен, поскольку ее префикс будет RECORD-ID_LINE-INDEX , например, 2100627_2, который 2100627 является идентификатором записи, а 2 является индексом строки.

...