2014-03-31 27 views
0

對於我們在NetSuite中的員工記錄,我們有一個名爲「員工編號」的自定義字段,編號爲custentity1。我創建了一個自動創建新員工記錄並填充各個字段的工作流程,但我遇到困難的是員工編號字段。我想要做的就是獲取所有員工記錄中最大的員工編號,併爲其添加一個新員工記錄。爲所有記錄獲得最大價值

員工編號字段是一個自由格式的文本字段,所以我知道我將不得不使用TO_NUMBER,但任何時候我嘗試和參考{custentity1}我不斷收到一個錯誤說,現場沒有找到。

更新:我爲我們的員工記錄創建了一個名爲「員工號」的新自定義字段。 ID爲custentity_employeenumber。我還創建了以下內容的JavaScript文件:

function getMaxEmployeeNumber(){ 
    var empNumber = nlobjSearchColumn('custentity_employeenumber', null, 'max'); 
    return empNumber; 
} 

但是,如何獲取此文件以處理我的記錄?

回答

0

您如何查找工作流中的最後一名員工?

我知道這是可以在JS來完成:

  • 搜索員工 - 回報最高1000

  • 對於員工人數給我的最後一個的custentity1 - nlapiLookupfield( '員工',員工[employees.length], 'custentity1')

  • 添加+1並保存新的記錄

1

NetSuite確實有一個自動編號機制,它的本地功能是我們大多數客戶用於確切目的的。這個功能沒有被使用的特殊原因嗎?此功能可在設置>公司>自動生成的數字

我不工作流程的工作很多,所以我不知道這是否相同的功能是可能有,但這裏是我怎麼會在SuiteScript解決這個問題:

  1. 創建一個執行上的用戶活動腳本之前提交創建事件客戶記錄
  2. 創建具有custentity1一個搜索欄與max

    new nlobjSearchColumn('custentity1', null, 'max');

  3. 摘要類型客戶搜索
  4. 運行此搜索會給你1個結果,這是最大的客戶編號。然後你可以加1。

您可以在用戶界面中創建一個類似的保存搜索來查看結果集的外觀。

如果該字段是數字而不是文本,這隻會真正起作用。如果您知道它始終是一個數字,我會建議將該字段更改爲一個整數字段。這可能會清除現有數據,所以首先您可以將所有客戶及其編號導出到Excel中,然後在更改字段後執行CSV導入。

+0

我喜歡你的方法......不幸的是,我們確實創建了一個自由形式的文本字段(爲什麼我們這樣做我不知道) - 我必須權衡出口/導入用戶是否正確或者直接創建一個設置正確的新字段。 – CodeMoto

+0

作出的決定:將創建一個新字段,即適當的整數字段字段,將僱員編號複製到這個新字段並使用您的文章查看我需要做的事情。 – CodeMoto

+0

呃...我不知道如何讓這一切工作。我用以下方法創建了一個JavaScript文件: – CodeMoto

0

如果你使用這個搜索欄

nlobjSearchColumn( 'custentity1',NULL, '最大');

您也可以按遞減值排序,以便第一個結果總是最大值。類似於

nlobjSearchColumn('custentity1',null,'max')。setSort(true);