繁体   English   中英

SuiteScript 2.0:根据选定的帐户行将搜索结果动态添加到自定义列列表

[英]SuiteScript 2.0: Dynamically add search results to custom column list based on selected Account line

希望您能提供帮助。

我正在尝试将保存的搜索结果添加到我使用用户事件脚本“即时”创建的自定义列列表中。 我曾经成功使用 SuiteScript 1.0,但现在过渡到 2.0,这似乎是不可能的。

为了演示我的代码,我首先构建了一个 UE 脚本,使用“serverWidget”模块创建了一个自定义列列表:

            if (recordType === 'journalentry') {
            log.debug('works')
            var objLineSublist = getForm.getSublist({id: 'line'});

            // Add several custom fields to the form
            var entityField = objLineSublist.addField({
                id: 'custpage_entity',
                type: serverWidget.FieldType.SELECT,
                label: 'Entity'
            });
        }

我的 UE 脚本运行良好。

我现在创建一个客户端脚本; 首先检查帐户类型是 A/R 还是 A/P,根据选择的这些,自定义列表 (custpage_entity) 将填充来自已保存搜索的客户或供应商数据。 由于这是一个客户端脚本,我无法访问 serverWidget 模块的属性来捕获子列表字段(与我在 UE 脚本中使用它的方式相同)。 我注意到我可以使用“currentRecord.getField”object,但遗憾的是没有用。 这是我的代码:

                var customEntity = currentRecord.getField({fieldId: 'custpage_entity'});
            log.debug('customEntity', customEntity);

            if (getAcctType === 'AcctRec' || getAcctType === 'AcctPay') {

                var recordType = '';
                if (getAcctType === 'AcctRec')
                    recordType = 'customer'
                else recordType = 'vendor';
                log.debug('getAcctType', getAcctType + ' | ' + recordType);

                // Insert a blank option.
                customEntity.insertSelectOption({ value: 'test', text: 'test' })

                //Execute saved search
                var getCustomerResults = getEntityListFromSearch(recordType);

                getCustomerResults.run().each(function(result){
                    // .run().each has a limit of 4,000 results
                    customEntity.insertSelectOption({
                        value: result.getValue({name: 'internalid'}),
                        text: result.getValue({name: 'entityid'})
                    })
                    return true;
                });

            }

如果你能帮助我做错了什么,那将是最有帮助的:我应该注意。 我需要它来处理客户端脚本中“帐户”列字段的 FIELDCHANGE。

您需要在服务器端(UE 脚本)的下拉列表中或客户端脚本的 pageInit 事件中插入您的选项(但这仅在没有您的 fieldChange 的情况下才有效)

我建议在 UE 脚本中创建两个不同的下拉菜单,并为供应商和客户插入一个选项,并添加 CSS class 以隐藏它们。 在 fieldChange 事件中,根据使用 CSS 的用户选择显示正确的下拉列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM