【Salesforce】MISSING_ARGUMENT, Id not specified in an update call: []

【Salesforce】MISSING_ARGUMENT, Id not specified in an update call: []

SalesforceでUpdateをする際に、エラーが発生しました。

MISSING_ARGUMENT, Id not specified in an update call: []

処理のイメージです。

//取引先を作成する
Account acc = new Account(name = 'acc');
insert acc;

// 取引先をコピーする
Account copyAcc = acc.clone(false, true);
update copyAcc;

エラーの内容としては「UpdateするのにIdが指定されてませんよ」というものですね。

上のソースを見るとすぐに分かると思いますが、cloneを呼び出した際の第一引数がfalseになっています。

修正したソースコードです。

//取引先を作成する
Account acc = new Account(name = 'acc');
insert acc;

// 取引先をコピーする
Account copyAcc = acc.clone(true, true);
update copyAcc;

「clone(true, true)」の形式であれば、片方の値を修正してももう片方の値は変更されません。

元の値を保持するものと、画面で修正を行うものを分けて使用していました。

変更前、変更後というイメージですね。

No comments.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です