NetSuite Workflow Action Script TypeError: Не удается найти функцию, запущенную в стандартной записи объекта - PullRequest
0 голосов
/ 10 ноября 2019

Попытка получить значение из пользовательской записи и установить его в поле нового элемента Сборка с номером партии / ведомости материалов. На полпути получим эту ошибку при запуске поиска для получения значения. Фильтры поиска сравнивают 2 значения в записи элемента с идентичными значениями в списке пользовательской записи. Предыдущие строки выполняются без ошибок. Любое предложение о том, как его решить. Спасибо.

               /**
               * @NApiVersion 2.x
               * @NScriptType WorkflowActionScript
               * @NModuleScope SameAccount
               */
               define(['N/record', 'N/runtime', 'N/search'],
               /**
               * @param {search} search
               */
               function(search) {
               /**
               * Function to be executed when field is changed.
               *
               * @param {Object} scriptContext
               * @param {Record} scriptContext.currentRecord - Current form record
               * @param {string} scriptContext.sublistId - Sublist name
               * @param {string} scriptContext.fieldId - Field name
               * @param {number} scriptContext.lineNum - Line number. Will be undefined if not a 
               sublist or matrix field
               * @param {number} scriptContext.columnNum - Line number. Will be undefined if not a 
               matrix field
               *
               * @since 2015.2
               */
               function onAction(scriptContext) {
                  var rec = scriptContext.newRecord;

               //Get the Item's Division value
               var itemDivision = rec.getValue('class');
               log.debug({
               title: "Get Item Division",
               details: itemDivision
               });

               //Get the Item's Business Function value
               var itemBusinessFunction = rec.getValue('custitem_swr_business_function');
               log.debug({
               title: "Get Item Business Function",
               details: itemBusinessFunction
               });

               if(itemDivision !== '' && itemDivision !== null){

               //Look up Item Approver Function using Item's Division and Item's Business Function
               var results = search.create({
                type: 'customrecord_swr_next_approver',
                filters: [
                    {
                        name: 'class',
                        operator: 'is', 
                        values: [itemDivision]
                    }, {
                        name: 'custrecord_swr_business_function',
                        operator: 'is',
                        values: [itemBusinessFunction]
                    }]
                })

               .run()
               .getRange({start: 0, end: 1});

                var itemApproverFunction = (results.length > 0) ? results[0].id : '';

                log.debug({
                title: "Get Approver Function",
                details: itemApproverFunction
                });

                //Apply acquired Item Number in transaction
                rec.setValue(itemApproverFunction);
                   }
                }
                return {
                onAction: onAction
                };

                });

1 Ответ

1 голос
/ 10 ноября 2019

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

define(['N/record', 'N/runtime', 'N/search'],

function(search) {

налагает псевдоним модуля N/record на search, а не на другие зависимости вообще.

Вместо этого вам понадобится что-то вроде:

define(['N/record', 'N/runtime', 'N/search'],

function(record, runtime, search) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...