2015-07-20 156 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 
}); 
相关问题