Я создал RESTlet , что упрощает создание нового счета-фактуры через простую веб-страницу с несколькими входами и раскрывающимися списками.Я отправляю дату в виде DM-YYYY строки, используя json с именем invoiceInfo, строка даты является значением trandate.
В сценарии (Suitescript 2.0) , к которому я подключаюсь,Я разделяю трендат, затем создаю объект Date (я использую новый номер не из-за моей глупости, он работает только так) .Затем я форматирую дату в желаемый формат Netsuite, используя format.format
.После этого я устанавливаю значение trandate, используя отформатированную дату.
var splitedDate = invoiceInfo.trandate.split("-");
var dateObj = new Date(new Number(splitedDate[0]).valueOf(), (new Number(splitedDate[1]).valueOf()) - 1, new Number(splitedDate[2]).valueOf(), 0, 0, 0, 0);
var ffDate = format.format({
value: dateObj,
type: format.Type.DATE
});
invoiceRecord.setValue({
fieldId: "trandate",
value: ffDate,
ignoreFieldChange: true
});
При отправке счета (динамический режим установлен как true) Я получаю сообщение об ошибке в строке номер 83, что является этой строкой
invoiceRecord.setValue ({fieldId: "trandate", значение: ffDate, ignoreFieldChange: true});
И получилошибка как это:
{
"type": "error.SuiteScriptError",
"name": "INVALID_FLD_VALUE",
"message": "Invalid date value (must be D/M/YYYY)",
"stack": ["anonymous(N/serverRecordService)", "<anonymous>(/SuiteScripts/Filip/_wystawianie_faktury_api.js:83)
[...]
Когда я проверяю это с log.debug, я получаю это:
"invoiceInfo.trandate" is (например) "2019-03-15"
" dateObj "это" 2019-03-15T07: 00: 00.000Z "
" ffDate "это" 15/3/2019 "
Iперепробовал много вариантов, например: - пропуская жестко закодированную строку даты "15/3/2019" я получаю ту же ошибку;-Я попробовал setText вместо setValue и получил другую ошибку;-Я попытался изменить формат даты в @HomeIcon -> Установить настройки, а затем дал желаемый формат в жестком коде, и он все еще не работает;
Спасибо за помощь
PS Я вроде новыйпри написании вопросов в стеке.Я старался изо всех сил!