Javascript 如何使用jsforce模块在salesforce对象中添加customFields。。?使用元数据

Javascript 如何使用jsforce模块在salesforce对象中添加customFields。。?使用元数据,javascript,node.js,salesforce,Javascript,Node.js,Salesforce,})) 我无法在此处创建自定义字段。只创建了一个对象,并且没有使用jsforce创建自定义字段的文档。我尝试了一种方法,即在成功创建自定义对象后,我用自定义字段更新元数据,但失败了。在customObject中创建customFields的方法是什么。将字段数组添加到自定义对象元数据定义中。我也经历了一段艰难的时光。我通过在Salesforce setup->create->objects(点击管理)中创建字段,然后读取通过以下方式生成的元数据来解决此问题: // creating metada

}))


我无法在此处创建自定义字段。只创建了一个对象,并且没有使用jsforce创建自定义字段的文档。我尝试了一种方法,即在成功创建自定义对象后,我用自定义字段更新元数据,但失败了。在customObject中创建customFields的方法是什么。

将字段数组添加到自定义对象元数据定义中。我也经历了一段艰难的时光。我通过在Salesforce setup->create->objects(点击管理)中创建字段,然后读取通过以下方式生成的元数据来解决此问题:

// creating metadata
var metadata = {

  fullName: 'SampleObject__c', 
  label: 'Sample Object',
  label: 'Sample Object',
  pluralLabel: 'Sample Object',
  nameField: {
    type: 'Text',
    label: 'Sample Object'
  },
  deploymentStatus: 'Deployed',
  sharingModel: 'ReadWrite'
};

conn.metadata.create('CustomObject', metadata, function(err, results) {
  if (err) { 
    console.err(err); 
  }
  else{
    console.log('success ? : ' + result.success);
    console.log('fullName : ' + result.fullName);
  }
将下面的对象数组放入元数据变量中,它应该可以工作

conn.metadata.read(type, [fullName1, fullName2, ..], callback)     

我在尝试创建CustomField时收到以下错误

fields: [ { fullName: 'A_Value__c',
           externalId: 'false',
                label: 'A Value 2',
           precision: '18',
            required: 'false',
               scale: '0',
       trackTrending: 'false',
                type: 'Number',
              unique: 'false' },
         {  fullName: 'A3_Value__c',
          externalId: 'false',
               label: 'A Value 3',
           precision: '18',
            required: 'false',
               scale: '0',
       trackTrending: 'false',
                type: 'Number',
              unique: 'false' } ],
因此,传递以下元数据以创建Lead对象的自定义字段:

{
  "errors":
      {"message":"Must specify the name in the CustomObject.CustomField format (e.g. Account.MyNewCustomField), Name:SampleObject__c, Delimiter:.","statusCode":"FIELD_INTEGRITY_EXCEPTION"},
       "fullName":"SampleObject__c",
       "success":false
}
但请确保您已经创建了Test_对象自定义对象。也可以同时创建自定义对象和自定义字段。我试过了,效果很好。要创建自定义对象,请执行以下操作:

var conn = new jsforce.Connection({ accessToken: '{!$Api.Session_Id}' });
var metadata = {
    fullName: 'TestObject1__c.SampleField__c',
    length: '75', 
    type: 'Text',
    label: 'Sample Field'
};
connection.metadata.create('CustomField', metadata , function(err, result){
    if (err) { 
        console.error(err); 
    } else {
        console.log(result);
    }

});
var conn=newjsforce.Connection({accessToken:'{!$Api.Session_Id}});
变量元数据=[{
全名:“TestObject1\uuuC”,
标签:“测试对象1”,
pluralLabel:“测试对象1”,
名称字段:{
键入:“文本”,
标签:“测试对象名称”
},
deploymentStatus:“已部署”,
共享模型:“读写”
}];
创建('CustomObject',元数据,函数(错误,结果){
如果(错误){
控制台错误(err);
}
对于(var i=0;i
我有一个简单的解决方案。只需按照以下步骤操作:

var conn = new jsforce.Connection({ accessToken: '{!$Api.Session_Id}' });
var metadata = [{
    fullName: 'TestObject1__c',
    label: 'Test Object 1',
    pluralLabel: 'Test Object 1',
    nameField: {
        type: 'Text',
        label: 'Test Object Name'
    },
    deploymentStatus: 'Deployed',
    sharingModel: 'ReadWrite'
}];

    conn.metadata.create('CustomObject', metadata, function(err, results) {
        if (err) { 
            console.error(err); 
        }

        for (var i=0; i < results.length; i++) {
            var result = results[i];
            console.log('success ? : ' + result.success);
            console.log('fullName : ' + result.fullName);
        }
    });
var conn=newjsforce.Connection({accessToken:'{!$Api.Session_Id}});
变量元数据=[{
全名:“TestObject1\uuuC”,
标签:“测试对象1”,
pluralLabel:“测试对象1”,
名称字段:{
键入:“文本”,
标签:“测试对象名称”
},
文件:{
“全名”:“devcqe7组织测试c”,
“说明”:“此字段记录培训课程的分区。”,
“externalId”:“false”,
“标签”:“组织部门”,
“必需”:“false”,
“跟踪趋势”:“错误”,
“类型”:“选择列表”,
“值集”:{
“受限”:“真实”,
“valueSetName”:“devcqe7\uuuuuSQx\uDivision”
}
},
deploymentStatus:“已部署”,
共享模型:“读写”
}];
upsert('CustomObject',元数据,函数(err,results){
如果(错误){
console.err(err);
}
对于(var i=0;i
你把这个修好了吗?我现在也在同一条船上,我很想继续这个项目的下一阶段。谢谢
var conn = new jsforce.Connection({ accessToken: '{!$Api.Session_Id}' });
var metadata = [{
    fullName: 'TestObject1__c',
    label: 'Test Object 1',
    pluralLabel: 'Test Object 1',
    nameField: {
        type: 'Text',
        label: 'Test Object Name'
    },
    deploymentStatus: 'Deployed',
    sharingModel: 'ReadWrite'
}];

    conn.metadata.create('CustomObject', metadata, function(err, results) {
        if (err) { 
            console.error(err); 
        }

        for (var i=0; i < results.length; i++) {
            var result = results[i];
            console.log('success ? : ' + result.success);
            console.log('fullName : ' + result.fullName);
        }
    });
var conn = new jsforce.Connection({ accessToken: '{!$Api.Session_Id}' });

    var metadata = [{
        fullName: 'TestObject1__c',
        label: 'Test Object 1',
        pluralLabel: 'Test Object 1',
        nameField: {
            type: 'Text',
            label: 'Test Object Name'
        },
        filds : {
           "fullName": "devcqe7__Org_test__c",
            "description": "This field records division for training session.",
            "externalId": "false",
            "label": "Org. Division",
            "required": "false",
            "trackTrending": "false",
            "type": "Picklist",
            "valueSet": {
                "restricted": "true",
                "valueSetName": "devcqe7__SQX_Division"
            }
        },
        deploymentStatus: 'Deployed',
        sharingModel: 'ReadWrite'
    }];

    conn.metadata.upsert('CustomObject', metadata, function(err, results) {
        if (err) { 
            console.err(err); 
        }

        for (var i=0; i < results.length; i++) {
            var result = results[i];
            console.log('success ? : ' + result.success);
            console.log('fullName : ' + result.fullName);
        }
    });