Невозможно обновить поле пользовательской даты через SalesForce API (JSforce)
Я использую библиотеку JSforce из приложения Node.js для обновления настраиваемого поля даты в объекте Opportunity, но поле не обновляется. Ответ указывает, что обновление прошло успешно, и поле SystemModstamp обновлено для объекта, однако поле остается пустым.
Это вызов JSforce, который я использую:
conn.sobject("Opportunity").update({
Id: opportunityId,
Contract_Cancelled_Date__c: new Date("2018-09-13")
}, function(err, ret) {
if (err) {
console.log(err);
} else {
console.log(ret);
}
});
Я пытался преобразовать дату в строку: (new Date("2018-09-13")).toIsoString()
, Я также попытался передать строковую константу: "2018-09-13T00:00:00.000Z"
, Все результаты одинаковы.
Я могу обновить другие нестандартные поля без проблем, и я могу обновить ненастроенные поля даты CloseDate
успешно.
2 ответа
У меня была аналогичная проблема (я использовал bulkApi). Мне удалось решить проблему с помощью следующего "ГГГГ-ММ-ДД". Попробуйте использовать что-нибудь вродеmoment(date).format('YYYY-MM-DD')
.
Надеюсь, это поможет тебе.
Вы можете использовать встроенные классы, предоставляемые jsforce
Например
const { SfDate } = require('jsforce');
// use toDateLiteral when the field is just Date type
const dateLiteral = SfDate.toDateLiteral( new Date() )
// use toDateTimeLiteral when the field is just Date/Time type
const dateLiteral = SfDate.toDateTimeLiteral(new Date())