2015-05-12 78 views
0

我在自定義記錄上有一個字段。該字段的名稱是reference_code。如何爲netsuite字段創建自定義選擇列表?

我想用我自己的動態列表來填充「reference_code」,這個動態列表會以下拉菜單的形式呈現給用戶。

我該怎麼做?我將我的領域定義爲自由文本。我是否需要隱藏它,然後在加載表單之前將其顯示爲下拉菜單?

我想這可能做一些事情:

nlapiInsertSelectOption('custrecord_rulereferencecode', code, code, false) 

但我需要的字段轉換爲選擇?

回答

0

我通過創建兩個領域解決了這個。一個在RecordType中創建並存儲信息。我把它設置爲隱藏。下一個字段,用戶事件中添加了自定義下拉菜單。然後,我爲自定義動態選擇列表處理數據,並將其添加到我添加的用戶事件字段中。

然後在我的更改事件中,我將記錄類型字段設置爲在我的動態添加字段中選擇的值。

Userevent

function userEventBeforeLoad(type, form, request){ 
    if(type == "edit"){ 
    form.addField('custpage_referencecode','select','Reference Code',null, null) 
    } 
} 

在我的客戶端腳本:

function clientFieldChanged(type, name, linenum){ 

if(name == 'custpage_referencecode'){ 
    //obtain the upper case value 
    var codetext = nlapiGetFieldValue(name) 

    //make sure it hasn't been set 
    if (codetext != nlapiGetFieldValue('custrecord_rulereferencecode')) 
    { 
     nlapiSetFieldValue('custrecord_rulereferencecode', codetext); 
    } 
} 

return true 

}

+0

我不能完全理解你想什麼來實現或如何填充您的動態列表,但我想,如果這對你的作品,然後去了。在不相關的說明中,Field Changed事件處理程序具有void返回類型,因此不需要返回true。 – erictgrubaugh

2

通常情況下,而不是創建字段作爲自由文本,你會先用你所有的下拉選項創建自定義列表定製>列表/記錄/字段>列表>新)。

然後,您將創建您的字段作爲列表/記錄字段,並選擇新的自定義列表作爲「列表/記錄類型」,如下所示。

enter image description here

1

這可以通過給源到您的下拉菜單來完成。源字段接受列表的內部標識。這個內部ID可以是內置的(由netSuite提供)或由用戶創建的自定義列表。例如:我有一個內部id爲'23'的自定義列表,裏面有一些列表項,可以通過下面的語法在下拉菜單中填充這些列表項。

var start = function(request, response) { var form = nlapiCreateForm('Custom Form'); form.addField('custpage_selectfield', 'select', 'select a color', '23');//here 23 is the internal id of my list respnose.writePage(form); }

Here's the form或者你可以生成你自己的領域的動態使用addSelectOption()函數。

var start = function(request, response) { var form = nlapiCreateForm('Custom Form'); var myselectfield = form.addField('custpage_selectfield', 'select', 'select a color'); myselectfield.addSelectOption('1', 'Red');//Here 1, 2 and 3 are the id's myselectfield.addSelectOption('2', 'Green');//which are returned when the myselectfield.addSelectOption('3', 'Blue');//form is submitted respnose.writePage(form); }

Here's the Form

相關問題