Jsforce:使用Picklist值创建记录 - INVALID_CROSS_REFERENCE_KEY

时间:2018-04-21 00:45:56

标签: javascript salesforce

我正在使用jsforce在Salesforce中创建新对象。我将构建一个集成,但我只是在构建其余部分之前进行一些快速测试。这是我的测试代码。

const jsforce = require('jsforce');
const moment = require('moment');
const conn = new jsforce.Connection({
  loginUrl: 'https://***.salesforce.com',
});

const create = {
  IsoCode: 'AED',
  ConversionRate: 1.1,
  StartDate: moment().add(1, 'y'),
};

conn.login('username', 'password', (err, res) => {
  if (err) throw err;
  conn.sobject('DatedConversionRate').create(create, (err, ret) => {
    if (err) throw err;
    console.log(ret);
  });
});

当我尝试创建对象时,会抛出此错误。

INVALID_CROSS_REFERENCE_KEY: You cannot edit an unused currency

我查看了DatedConversionRate.IsoCode选项列表中的内容,并找到了此记录。

[
  { 
    active: true,
    defaultValue: false,
    label: 'AED - UAE Dirham',
    validFor: null,
    value: 'AED',
  },
  ...
]

所以我认为将'AED'设置为IsoCode会有效。

有没有人知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

DatedConversionRate Object目前不支持create

唯一允许的操作是

  • delete()
  • describeSObjects()
  • getDeleted()
  • getUpdated()
  • query()
  • retrieve()
  • update()