2014-08-28 95 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