[Salesforce]Only variable references are allowed in dynamic SOQL/SOSL

エラー:Only variable references are allowed in dynamic SOQL/SOSL

・エラーが起きるケース

        List<String> accountIdList = new List<String>();
        for(Account account : accountList){
            accountIdList.add(account.Id);
        }

        String query = '';
        query = '';
        query += ' SELECT Id '; 
        query += ' , Name ';
        query += ' , Account__c ';
        query += ' , Account__r.Id ';
        query += ' From Test__c ';
        query += ' WHERE Account__r.Id IN : \'' + accountIdList + '\'';
        system.debug('query:'+query);

        List<Test__c> testLsit = Database.query(query);

・エラーが起きないケース

        List<String> accountIdList = new List<String>();
        for(Account account : accountList){
            accountIdList.add(account.Id);
        }

        String query = '';
        query = '';
        query += ' SELECT Id '; 
        query += ' , Name ';
        query += ' , Account__c ';
        query += ' , Account__r.Id ';
        query += ' From Test__c ';
        query += ' WHERE Account__r.Id IN : accountIdList ';
        system.debug('query:'+query);

        List<Test__c> testLsit = Database.query(query);

[Python]Pythonインストールと動作確認

Pythonインストールと動作確認

・インストール

Windowsの場合、以下のURLにて、インストーラをダウンロードします。

https://www.python.org/downloads/windows/

・ダウンロードしたインストーラをPCにインストールします。

 ※インストール時、注意事項として、以下のように箇所にチェックいれて、「Install Now」押下します。

・インストール後に、PCの中に「test.py」ファイル作成して、その中に、以下のコードを入力して、保存します。

print("Hello world!")

保存場所は、例えば、C:\Python\test.py

・Python Versionを確認します。

Windowsの場合、コマンドプロンプトを起動して、まずPythonを確認します。

C:\Users\p445-PC>python --version
Python 3.11.1

・作成した、test.pyを実行します。

test.pyが保存されているDirectoryに移動します。

C:\>cd Python

test.py実行します。

C:\Python>python test.py
Hello world!

[Salesforce]Apexテストクラスのエラー「TestMethod として定義されたメソッドは、getContent コールをサポートしていません。」対応

Apexテストクラスのエラー「TestMethod として定義されたメソッドは、getContent コールをサポートしていません。」対応

attachmentFile.Body = Test.isRunningTest() ? Blob.valueof('testString') : pr.getContent();

[Salesforce]Apex StandardControllerテストクラス

Apex StandardControllerテストクラス

@isTest
private class Test_testController {

    static testmethod void test1() {
        
        Account acc = new Account(
            Name='テスト'
        );
        insert acc;

        Test.startTest();
        
        ApexPages.StandardController sc = new ApexPages.StandardController(acc);
        testController testSC = new testController(sc);

        PageReference pageRef = Page.testPage;
        pageRef.getParameters().put('id', String.valueOf(acc.Id));
        Test.setCurrentPage(pageRef);

        testSC.testMethod();

        Test.stopTest();
    }
}

[Salesforce]項目一括作成

項目一括作成

シナリオとして、取引先のカスタム項目をカスタムオブジェクトに一括コピーする。

手順

・組織のソースファイルを持ったvscodeのターミナルに下記コードを入力して実行する。実装すると、ソースファイルがメタデータに変換され、メタデータのフォルダとその下にファイルが新たに作成される。

sfdx force:source:convert

・作成したメタデータのコードをコピーして、作成したいカスタム項目のコードを追加する。

・ターミナルに下記コードを入力したら実行してメタデータをソースファイルに再変換する。

sfdx force:mdapi:convert -r メタデータフォルダパス

例えば、

sfdx force:mdapi:convert -r metadataPackage_1234567890123

・対象のファイルをデプロイすると、環境にカスタム項目が一括で作成される。

ただ、別途項目レベルセキュリティの設定が必要である。