2016-04-25 144 views
0

我在添加到地址表單中的自定義字段中設置文本值時遇到問題。腳本通過地址簿訪問自定義地址字段

function fieldChanged_form(type, name) { 
    if (name == 'custentity_bsi_agycampus') { 

     var lnSeq = nlapiFindLineItemValue('addressbook', 'defaultbilling', 'T'); 

     if (lnSeq > 0) { 
      console.log("selected line " + lnSeq); 
      nlapiSelectLineItem('addressbook', lnSeq); 
      var agency_campus = nlapiGetFieldText('custentity_bsi_agycampus'); 
      nlapiSetCurrentLineItemValue('addressbook', 
        'custrecord_bsi_agy_div_bur_sd', agency_campus, true, true); 
      console.log('agency' + ',' + agency_campus); 
     } 

     nlapiCommitLineItem('addressbook'); 
     console.log('after commit: ' 
       + nlapiGetCurrentLineItemValue('addressbook', 
         'custrecord_bsi_agy_div_bur_sd')); 
    } 
} 

這個腳本(適用於自定義代碼選項卡下的客戶表)將不會設置custrecord_bsi_agy_div_bur_sd從custentity_bsi_agycampus文本值(在客戶表單的自定義字段)。但是,如果我將custrecord_bsi_agy_div_bur_sd更改爲addr1(地址表單中的默認字段),它就像我想的那樣工作。

這使我懷疑我是否能夠通過「通訊錄」訪問我的自定義字段中的地址格式如你可以爲所有其他地址字段。有沒有人知道這個問題的答案,或有我如何解決這個問題的想法?

+0

您試圖設置的文本的價值是什麼,作爲custrecord_bsi_agy_div_bur_sd的值?它可能只接受數字數據嗎? – TonyH

+0

custrecord_bsi_agy_div_bur_sd是一個自由格式的文本字段。它會接受字符串。 – Gus

回答

1

我相信你需要爲子記錄地址有效。在此之後玩一些圖案:

// {nlobjSubrecord} Get one of the addresses off the sublist 
var subrecord = {}; 

nlapiSelectLineItem('addressbook', 1); 
subrecord = nlapiEditCurrentLineItemSubrecord('addressbook', 'addressbookaddress'); 

// Set the data on the subrecord 
subrecord.setFieldValue('attention', 'Some Guy'); 
subrecord.setFieldValue('addr1', '1234 5th St'); 
subrecord.setFieldValue('addr2', 'Apt 234'); 
subrecord.setFieldValue('addrphone', '5558675309'); 
subrecord.setFieldValue('city', 'Scottsdale'); 
subrecord.setFieldValue('state', 'AZ'); 
subrecord.setFieldValue('country', 'US'); 
subrecord.setFieldValue('zip', '85260'); 

// Commit the subrecord to its parent before submitting the parent itself 
subrecord.commit(); 
+0

是的,自2014.2以來我相信你必須按照Eric的方式來做 – TMann

+0

我在幫助文檔中看到類似的內容,但首先你必須加載特定的記錄。我正在努力使這項工作成爲新客戶。該記錄尚未創建,目前還沒有內部編號。如何訪問像這樣的新記錄中的地址簿字段?我上面粘貼的代碼用於將文本複製到新客戶的地址簿字段中,例如companyname和addr1。我不明白爲什麼它會在這些領域,而不是我的自定義領域。 – Gus

+0

這個答案中的代碼應該工作得很好,無論記錄是新的還是現有的。您可以選擇現有的地址簿行或新的地址簿行,然後根據需要編輯或創建新的地址行,包括在自定義字段中設置值。 – erictgrubaugh