在nlapiSearchRecord列中使用公式

史蒂夫·里德

在脚本中使用即席nlapiSearchRecord时,例如:

        var filters = new Array();
        var columns = new Array();
                filters[0] = new nlobjSearchFilter('isinactive', null, 'is', 'F' );
                filters[1] = new nlobjSearchFilter('vendorcost', null, 'greaterthan', 0);
                filters[2] = new nlobjSearchFilter('internalid', 'vendor', 'anyof', vendorid );
                columns[0] = new nlobjSearchColumn('itemid');
                columns[1] = new nlobjSearchColumn('entityid', 'vendor');
                columns[2] = new nlobjSearchColumn('vendorcode');
                columns[3] = new nlobjSearchColumn('formulanumeric'); 
                    columns[3].setFormula('{vendorcost}');
                columns[4] = new nlobjSearchColumn('vendorpricecurrency');
                columns[5] = new nlobjSearchColumn('isinactive');
                columns[6] = new nlobjSearchColumn('vendor');
                columns[7] = new nlobjSearchColumn('averagecost');
                columns[8] = new nlobjSearchColumn('lastpurchaseprice');
                columns[9] = new nlobjSearchColumn('custitem_costrepl');
                var searchresults = nlapiSearchRecord('item', null, filters, columns );

如何在第3列中检索公式的值?

我已经尝试过searchresults.getValue(column[3]))searchresults.getValue(3))但是都失败了。

这样做的原因是,我们的某些vendorcost值是4或5个小数位,但是普通搜索返回的最高十进制精度是3。

prasun

您忽略了searchResults是一个数组的事实

并且有多种方法:

选项#1 //始终有效

searchresults[INDEX].getValue(searchresults[INDEX].getAllColumns()[3]);

Option#2 //始终有效-与您尝试过的相同,但是您错过了数组

searchresults[i].getValue(columns[3]);

选项#3 //仅当您有一个数字公式时使用

searchresults[INDEX].getValue('formulanumeric');

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章