Как показано в комментариях к коду ниже, я хочу использовать переменную «someCustomField» в операторе account.someCustomField, но сообщение об ошибке говорит мне, что «someCustomField» не существует, несмотря на его значение в журналах js, как и ожидалось, как «somefield__c».

Ошибка: sforce.Xml {код ошибки: "sf:INVALID_FIELD", строка ошибки: "INVALID_FIELD: нет такого столбца "someCustomField" в ....}

Есть ли способ использовать переменную js для поля sforce.Sobject?

var someCustomField = data.value; //data.value in my case is "somefield__c"
console.log(someCustomField); //  as-expected this returns "somefield__c"


//create an account
var account = new sforce.SObject("Account");
account.Name = "myName";
account.Phone = "2837484894";
account.someCustomField = "abcdefg"; // this line doesnt work, unfortunately. The error message tells me "someCustomField" doesnt exist. Is there any way to use a variable for a sforce.Sobject's field? I dont want to hardcode fields and I want to pass the field from a variable.
result = sforce.connection.create([account]);

//update that account
account.id = result[0].id;
account.Phone = "12398238";
result = sforce.connection.update([account]);

if (result[0].getBoolean("success")) {
  log("account with id " + result[0].id + " updated");
} else {
  log("failed to update account " + result[0]);
}
1
Peter Noges 21 Фев 2020 в 09:19

1 ответ

Лучший ответ

Конечно -

account[someCustomField] = "abcdefg"
1
eaeaoo 26 Фев 2020 в 16:30