2014-08-28 96 views
1

是否有任何关于清理NetSuite中未使用脚本的建议?我们有一个实现,其中包含第三方的脚本和捆绑包,然后包含我们由多个开发人员编写,更改,重写,抛弃等无数脚本(尤其是restlets和工作流)。许多脚本都是在错误日志中发布的,或者没有任何调试日志语句,这是我可以考虑确定何时以及脚本运行多少次的唯一方式。清理Netsuite脚本

我正在寻找一种方法来确定 - 每个脚本和/或部署运行的时间和频率(希望不需要进入每个脚本并添加日志信息),因此我们可以在新版本之前进行清理已实施。

谢谢!

回答

1

在版本14.2(即将推出)中,有一个脚本队列监视工具,它应该告诉您脚本何时运行,正在使用哪个队列等(SuiteCloud Plus客户)。有关更多详细信息,请参阅14.2的发行说明。

+0

我发现了一些初步信息[here](http://www.netsuite.com/portal/landing/2013-2/platform.shtml)。它看起来像我所需要的。 – flysher 2014-09-23 20:42:11

0

我能找到的最好方法是进行脚本部署搜索。您可以对条件进行部署=是/否,状态为/ noneOf Released/Scheduled,以及执行日志:去年之内的日期。

我只根据你提到的内容给出示例条件。 Yes/No和Anyof/Noneof取决于您是否想要查看那些处于非活动状态(清除它们)或活动状态的活动。执行日志条件只有在脚本出错(不需要nlapiLogExecution()调用)或脚本中存在logExecution调用时才有效。

你至少可以从你所了解的脚本中找出一点点来解决这个问题。您可以通过执行工作流程搜索为Workflows做类似的事情。

+0

我正要尝试这种方法,但我们的升级很快,监测工具可能会完成这项工作。如果它们不是最大的,那么现在这个脚本和部署记录就会暴露出来的方法应该可以帮助我清理混乱。 – flysher 2014-09-23 20:48:09

0

您可以使用保存的搜索取消部署脚本。例如,我想取消部署一年前创建的脚本。

var start = function(request, response) 
{ 
    var filters = new Array(); 
    var columns = new Array(); 
    filters[0] = new nlobjSearchFilter('formuladate', null, 'before', 'lastfiscalyear'); 
    columns[0] = new nlobjSearchColumn('internalid'); 
    var search = nlapiSearchRecord('scriptdeployment', null, filters, columns); 
    for(var i in search) 
     { 
      var rec = nlapiLoadRecord('scriptdeployment', search[i].getValue('internalid')); 
      rec.setFieldValue('isdeployed', 'F'); 
      nlapiSubmitRecord(rec, true); 
     } 
} 
+0

如果我已经过了一年的部署脚本并仍在使用中,该怎么办?你假设所有过去一年的部署脚本都已经过时了。 – Rockstar 2015-05-21 12:24:25

+0

@Rockstar:你说得对。我们可以为最后修改日期添加少量过滤器,并检查它是否处于活动状态。谢谢你的帮助 – 2015-05-21 14:28:58