簡體   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