【Salesforce】DML not allowed on Folder

【Salesforce】DML not allowed on Folder

Salesforceでテストクラスを作成し、保存をする際にエラーが出ました。

DML not allowed on Folder

DMLではFolderにアクセスすることはできないそうです。

テストの場合でもFolderは存在するそうなので、わざわざ作成する必要はないんですね。

フォルダがない場合の処理は追加した方が良いかもしれませんけどね。

List<Folder> folderList;
String folderId;
Document document;

// 保存先のフォルダを取得する
folderList = [Select Id From Folder Where DeveloperName = 'DevName'];
// 保存先のフォルダが存在する場合、フォルダのIdを取得する               
folderId = UserInfo.getUserId();
if(folderList.size() > 0){
    
    folderId = folderList[0].Id;
}
 
// ドキュメントを作成する
document = new Document();
document.Name = 'DocName';
document.FolderId = folderId;
insert document;

フォルダが存在しない場合は個人フォルダに保存するようにしました。

メッセージを出した方が分かりやすいでしょうか。

No comments.

コメントを残す

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