繁体   English   中英

Netsuite:如何调试工作流操作脚本

[英]Netsuite: How to debug workflow action script

我是Suitescript(基于Netsuite定制的Javascript)的新手。 我有一个工作流程操作脚本,想通过Netsuite中的Scritp Debugger对其进行调试,但是即使调用了自定义操作,我也无法在Debugger中看到我的工作流程操作脚本。

我使用Eclipse IDE,并将文件上传到Netsuite。 这是我的代码,只是在创建员工工资报表时仅向员工添加了费用报表信息注释。 返回类型有问题。

function UpdateEmployeeWithExpenseReport()
{
   var stFrequentCriteria = nlapiGetContext().getSetting('SCRIPT',
        'custscript_oradata_freq_trav_limit');  // get value of the script parameter
   var intFrequentCriteria = parseInt(stFrequentCriteria); //the limit of frequency
   var recExpenseReport = nlapiGetNewRecord();
   var stEntity = recExpenseReport.getFieldValue('entity');  
   var today = new Date();
   var aMonthAgo = nlapiAddDays(today, -30); 
   // filter just the main lines of expenses
   var arrSearchFilters =  [
        new nlobjSearchFilter('employee', null, 'is', stEntity),
        new nlobjSearchFilter('trandate', null, 'within', aMonthAgo, today),
        new nlobjSearchFilter('mainline', null, 'is', 'T') ];                                                   
   var arrSearchColumns = [ new nlobjSearchColumn('internalid', null, 'count') ]; // Note: count is not a field, it just counts internal id based on  Empolyee expenses reports
   var arrSearchResults = nlapiSearchRecord('expensereport', null,
        arrSearchFilters, arrSearchColumns);
   var stCount = arrSearchResults[0].getValue(arrSearchColumns[0]); //                                                                  
   var count = parseInt(stCount);
   var stFrequentTraveler = '';
   if (count >= intFrequentCriteria)
   {
      stFrequentTraveler = 'Frequent';
   }
   else 
   {
    stFrequentTraveler = 'Infrequent';
   }

   var stAmount = recExpenseReport.getFieldValue('amount');
   var intExpenseLines = recExpenseReport.getLineItemCount('expense');
   var stNotes = '';
   stNotes += stFrequentTraveler + 'Traveler' + '\n';
   stNotes += 'Last Expense Report' + '\n';
   stNotes += '--Expense Report Total= ' + stAmount + '\n';
   stNotes += '--Expense Lines = ' + intExpenseLines;

   var recEmployee = nlapiLoadRecord('employee', stEntity); // 1 internal name of record, 2.internal id for the  record

   recEmployee.setFieldValue('comments', stNotes);
   nlapiLogExecution('tDEBUG', 'stEntity', stEntity);
   stEntity = recEmployee.getFieldValue('entityid');

为了使您的脚本显示在Netsuite脚本调试器中,您需要在脚本部署记录上将“状态”设置为“正在测试”。

暂无
暂无

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

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