NetSuite Advanced PDF/HTML - 来自基于发票货币的自定义记录的源字段
NetSuite Advanced PDF/HTML - Source fields from Custom Record based on Currency on Invoice
我已经创建了自定义货币记录,并为系统中的每种货币创建了一条记录(无法保存具有相同货币的新记录)。对于发票,我需要根据发票上的货币从该自定义记录中获取字段。
例如,如果我的发票是美元,那么我需要从自定义货币记录中提取 "Bank Account #" 字段,其中 "Currency Name" 字段是 "USD"。我假设我需要进行搜索然后提取该值,但我不知道 freemarker 的语法。
使用 Suitescript,我会:
var currencyRecord;
var currency = nlapiGetFieldValue('currency');
var filters = new Array();
var columns = new Array();
filters[0] = new nlobjSearchFilter('custrecord_nco_currency_name', null, 'is', currency);
columns[0] = new nlobjSearchColumn('custrecord_bank_acct_num');
columns[1] = new nlobjSearchColumn('custrecord_nco_currency_name');
var currencyRecord = nlapiSearchRecord('customrecord_nco_currency_symbol', null, filters, columns);
我认为您无法使用 Freemarker 运行 进行搜索。据我了解,数据需要保存在记录中或向下一级。您可能需要做的是创建一个类型为 List/Record>>(您的自定义货币记录)的自定义正文字段,并将货币字段设置为源,然后修改过滤器设置,以便根据以下条件自动填充该字段货币。
您可以使用 'PRINT' 类型的 beforeload UserEvent。将自定义字段添加到 未存储 的事务或记录的主体,以便您可以使用 beforeload 脚本根据您的逻辑用数据填充该字段。
您填充字段的数据可以是文本或 JSON,这取决于您需要的复杂程度。
我已经创建了自定义货币记录,并为系统中的每种货币创建了一条记录(无法保存具有相同货币的新记录)。对于发票,我需要根据发票上的货币从该自定义记录中获取字段。
例如,如果我的发票是美元,那么我需要从自定义货币记录中提取 "Bank Account #" 字段,其中 "Currency Name" 字段是 "USD"。我假设我需要进行搜索然后提取该值,但我不知道 freemarker 的语法。
使用 Suitescript,我会:
var currencyRecord;
var currency = nlapiGetFieldValue('currency');
var filters = new Array();
var columns = new Array();
filters[0] = new nlobjSearchFilter('custrecord_nco_currency_name', null, 'is', currency);
columns[0] = new nlobjSearchColumn('custrecord_bank_acct_num');
columns[1] = new nlobjSearchColumn('custrecord_nco_currency_name');
var currencyRecord = nlapiSearchRecord('customrecord_nco_currency_symbol', null, filters, columns);
我认为您无法使用 Freemarker 运行 进行搜索。据我了解,数据需要保存在记录中或向下一级。您可能需要做的是创建一个类型为 List/Record>>(您的自定义货币记录)的自定义正文字段,并将货币字段设置为源,然后修改过滤器设置,以便根据以下条件自动填充该字段货币。
您可以使用 'PRINT' 类型的 beforeload UserEvent。将自定义字段添加到 未存储 的事务或记录的主体,以便您可以使用 beforeload 脚本根据您的逻辑用数据填充该字段。 您填充字段的数据可以是文本或 JSON,这取决于您需要的复杂程度。