1

每当我们发布软件的新版本时,我都需要向 Opportunity 对象中的自定义 Picklist 添加一个选项。

let metadta = [{
      "fullName": "Opportunity.Custom_Picklist__c",
      "label": "Custom Opportunity Picklist",
      "valueSet": {
            "restricted": "true",
            "valueSetDefinition": {
            "sorted": "false",
            "value": [
                        {
                              "fullName": "Option1",
                              "default": "false",
                              "Label": "Option 1"
                        },
                        {
                              "fullName": "Option2",
                              "default": "false",
                              "label": "Option 2"
                        }
                  ]
            }
      }
}];
conn.metadata.update('CustomField', metadata, function(err, results) {
      if(err) console.log(error);
      if(results) console.log(results);      
});

我已经尝试了我能想到的所有变化来更新它,无论我做什么,我都会收到这个错误:

{
  "name": "soapenv:Client",
  "errorCode": "soapenv:Client"
}

我正在使用来自https://jsforce.github.io/document/#metadata-api的文档

4

1 回答 1

1

要将字段添加到您的选择列表,您需要create元数据。具体来说,您要添加的字段。查看CustomValue文档以准确了解CustomValue. 您还可以使用 jsforceupdate以类似的方式将字段更新为非活动状态。

这是一个简短的示例:

const metadata = [{
  fullName: "Opportunity.Custom_Picklist__c.SomeOption",
  default: "false",
  label: "Some New Option"
}];
conn.metadata.create('CustomValue', metadata, function(err, results) {
      if(err) console.log(err);
      if(results) console.log(results);      
});
于 2020-12-08T15:39:47.533 回答