Невозможно обновить поле пользовательской даты через 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())
Другие вопросы по тегам