2015-07-20 269 views
2
var curRate = nlapiCreateRecord("customrecord_currency_exchange_rates",{recordmode: 'dynamic'}); 
     serverDt = "09/25/2013 06:00:01 am" 
     var timezone = compConf.getFieldText('timezone'); 
     curRate.setDateTimeValue('custrecord_effective_date' ,serverDt ,timezone); 


     nlapiSubmitRecord(curRate); 

您好,我嘗試設置日期/時間類型的custrecord_effective_date字段。但執行後它會在下面給出一個錯誤。 如何設置此字段?如何在netsuite中使用suitescript設置日期/時間字段

感謝您的幫助。

INVALID_FLD_VALUE您輸入的字段值無效2013年9月25日上午6時00分01秒的以下字段:custrecord_effective_date

+0

它是什麼樣的字段'custrecord_effective_date'? – Rockstar

+0

它是一種日期/時間字段 –

回答

0

的代碼看起來不錯 是否有在日期字段的任何限制,這樣你可以過去不設定日期? 另外你的serverDt和Netsuite的幫助一樣。它乾淨地複製?如果您剪切該字符串並直接輸入,會發生什麼情況?

最後你確定你有一個日期時間字段,而不是日期字段。如果我將你的代碼應用到日期字段,我會得到相同的錯誤。

+0

感謝您的回答。我找到了解決方案。但我還有一個關於設置日期字段的問題。你是怎樣做的 ? –

1

嗨發表問題後感謝您的答案我檢查了記錄類型的形式,當我檢查字段'custrecord_effective_date'我注意到日期格式必須是'DD/MM/YYYY HH:MM:SS'當我改變它的工作。

2

如果你看一下NetSuite的WSDL文件,你會發現日期時間聲明:

<xs:simpleType name="dateTime" id="dateTime"> 
<xs:documentation 
    source="http://www.w3.org/TR/xmlschema-2/#dateTime"/> 

轉到URL,並期待在源:

3.2.7日期時間

[定義:] dateTime值可以被看作具有整數值年,月,日,小時和分鐘屬性,小數值第二個屬性和布爾timezoneed屬性的對象。每個這樣的對象也有一個十進制值方法或計算屬性timeOnTimeline,其值始終爲十進制數;該值以秒尺寸,數字0是0001-01-01T00:00:00 ...

所以,你要尋找的格式爲:

2013-09-25T06:00:01 

我只是把一個DateTime NetSuite的它的工作。

+0

看起來像這個答案是關於SuiteTalk。問題是關於SuiteScript。 – cja

1

儘管這是一篇舊文章,原始問題是關於SuiteScript 1.0的,但我在這個頁面遇到了與日期/時間字段相同的INVALID_FLD_VALUE錯誤,但是在SuiteScript 2.0中,並且由於解決方案最終不同於我想分享給未來的讀者。

在SuiteScript 2.0中,設置日期/時間字段只需要JavaScript日期對象。以下是提交用戶事件上下文之前的示例。

context.newRecord.setValue({ 
    fieldId : 'custrecord_myfield', 
    value : new Date() 
}); 
0

對現有ans的補充很少。 錯誤類型 -

type: "error.SuiteScriptError", 
name: "INVALID_FLD_VALUE", 
message: "You have entered an Invalid Field Value 2017-07-13T08:21:12.411Z for the following field: custrecord_lastrundate", 

的值需要被設置爲一個Java腳本日期()對象。即使簡單的js日期相同的字符串也會拋出錯誤。如果你正在使用時間,那麼下面的代碼將完美工作。下一天添加示例。

var now = moment(); 
now.add(1,'days') 
fetchRecord.setValue({ 
    fieldId : 'custrecord_lastrundate' , 
    value : new Date(now), 
    ignoreFieldChange : true 
}); 
相關問題