• ruparupa
  • NEWBIE
  • 215 Points
  • Member since 2014

  • Chatter
    Feed
  • 0
    Best Answers
  • 1
    Likes Received
  • 1
    Likes Given
  • 22
    Questions
  • 35
    Replies
お世話になっております。

PDFを作成し、メモ&添付ファイルに保存し、メモ&添付ファイルに保存したPDFを表示するページを作成しました。
しかし、テストクラスが上手くいかず、悩んでおります。
下記のコードですと、エラー「TestMethod として定義されたメソッドは、getContent コールをサポートしていません。」と出てしまいます。
自分でも調べてみたのですが、いまいち分からず、どのようなテストメソッドを書くと良いのかご教授いただけますと幸いです。
どうぞ宜しくお願い致します。

AccountPdf.page(PDFページ)
<apex:page standardController="Account" extensions="AccountPdf" renderAs="pdf">
    <body>{!acc.Name}</body>
</apex:page>
AccountPdf.cls(PDFページのコントローラ)
public with sharing class AccountPdf{

    public Account acc { get; set; }
    
    // コンストラクタ
    public AccountPdf(ApexPages.StandardController controller) {

        // パラメータを取得
        ID accd = ApexPages.currentPage().getParameters().get('Id');

        // パラメータ'Id'から取引先を取得
        acc = [SELECT Id, Name
                    FROM Account
                    WHERE Id = :accd
                    LIMIT 1
                ];
        
    }

}

AccountPdfAppended.page(カスタムボタンで/apex/AccountPdfAppended?id=【取引先ID】の様に最初に呼び込むページ)
<apex:page standardController="Account" extensions="AccountPdfAppended">
    <script>
        window.sfdcPage.appendToOnloadQueue(function() { reloadAndClose(); });
        function reloadAndClose() {
            doAction();
        }
    </script>
    <apex:form >
        <apex:actionfunction name="doAction" action="{!doAction}" />
    </apex:form>
    PDFを作成しています...<BR/>
</apex:page>
AccountPdfAppended.cls
public with sharing class AccountPdfAppended{

    private Account acc{get;set;} 

    // コンストラクタ
    public AccountPdfAppended(ApexPages.StandardController controller) {

        // パラメータを取得
        ID accId = ApexPages.currentPage().getParameters().get('Id');

        // パラメータ'Id'から商談を取得
        acc = [SELECT Id, Name
                    FROM Account
                    WHERE Id = :accId
                    LIMIT 1
                ];

    }

    // 戻り呼び出し
    public Pagereference doAction() {

        // PDF作成
        PageReference pageRefPdf = Page.AccountPdf;
        pageRefPdf.getParameters().put('Id', acc.Id);

        // メモ&添付ファイルに保存
        Attachment attachment = new Attachment();
        attachment.Name = 'AccountPDF(' + String.valueOf(Date.today()) +  ').pdf';
        attachment.Body = pageRefPdf.getContent();
        attachment.ParentId = acc.Id;
        insert attachment;
        
        // PDF表示
        PageReference pageRef = new Pagereference('/servlet/servlet.FileDownload?file=' + attachment.Id);
        return pageRef;

    }
    
}

TestAccountPdfAppended.cls(テストクラス)
@isTest
public class TestAccountPdfAppended {

    static testMethod void testSuccess01() {

        // レコード作成
        Account acc = new Account(Name='testName');
        insert acc;
        
        Apexpages.currentPage().getParameters().put('Id', acc.Id);
        AccountPdfAppended c = new AccountPdfAppended(new ApexPages.StandardController(acc));

        c.doAction(); // ←エラー

    }

}
お世話になっております。

Apexのスケジュールで、毎月1回、それぞれ別の日に動くようにしたいと思っています。
現在考えている実装方法は、
レコードでApexスケジュールを動かしたい日(例えば「2016/1/1」、「2016/2/2」、、など)をデータとして保持させ、
Apexスケジュールとしては毎日動かして、動いた日が保持させたデータの日であれば処理を実行、そうでなければ何もしないというような
実装をしようかと考えているのですが、、他にもっとスマートなやり方はありますでしょうか。
ご知恵を拝借したく、宜しくお願い致します。
お世話になっております。
下記のようなカスタムボタンの挙動について質問させてください。

1.カスタムオブジェクト(Cobj__c)にテキスト型のカスタム項目(ID__c)を作成
2.カスタムオブジェクトに詳細ページボタンのJS実行カスタムボタンを作成し、OnClickソースで下記のようにする
alert('ID::'+'{!Cobj__c.ID}');
alert('ID__c::'+'{!Cobj__c.ID__c}');
3.カスタム項目(ID__c)がNullの状態で作成したカスタムボタンをクリックすると下記のようにalertされる
「ID::<データのID(15桁のID)>」
「ID__c::<データのID(15桁のID)>」
4.カスタム項目(ID__c)に適当な値(test)を入力し、カスタムボタンをクリックすると下記のようにalertされる
「ID::test」
「ID__c::test」

カスタム項目のAPI名に「ID__c」とつけるのもちょっとどうなのかなという気もしなくはないのですが、
上記の動作はおかしくないでしょうか。
どこか上記ソースなどに問題がありますでしょうか。
または、カスタム項目(ID__c)に適当な値が入力されていてもデータのIDを取得する方法はありますでしょうか。

どうぞ宜しくお願い致します。

お世話になっております。

開発者コンソールで、下記URLのようなコードカバー率のチェックを行いたく思っているのですが、
[Code Coverage (コードカバー率)] メニューに「none」しか表示されません。
https://help.salesforce.com/HTViewHelpDoc?id=code_dev_console_tests_coverage.htm&language=ja

開発者コンソールでなく標準のページのApexソースのページを見るとコードカバー率が表示されますし、
テスト自体も成功はしているのですが、
[Code Coverage (コードカバー率)] メニューに「none」しか表示されず、
カバーされている箇所が青くなっていることを確認できません。

以前はコードカバー率の確認(赤、青)は普通に確認できたのですが、、
何か考えられる問題点などございましたらご教授いただけると幸いです。

どうぞ宜しくお願い致します。

お世話になっております。

参照項目を他の項目の値によって制御したいのですが、可能でしょうか。
イメージとしては、
・数式項目の戻り値を参照関係にする
・項目自動更新で参照関係の値を更新する
なのですが、両方設定できません。

参照項目を他の項目の値によって制御する方法などご存知の方がいらっしゃいましたら
ご教授の程、どうぞ宜しくお願い致します。
お世話になっております。

ざっくりした質問で申し訳ないのですが、
捺印に関わる機能があったような気がするのですが、
思い出せず、検索してもヒットしません。

捺印に関する機能についての公式のページや機能名、実装方法など教えていただけますと幸いです。
どうぞ宜しくお願い致します。
いつもお世話になっております。

apex:inputFieldタグで出力した「選択リスト (複数選択)」型の項目のonchangeイベントで
変更した値を取得したいのですが、どのように実装すればよいでしょうか。

テキスト項目ですと、onchangeイベントで変更した値を取得できるのですが、
選択リスト (複数選択)項目ではどのようにしたら良いのかわかりませんでした。

【再現手順】
1.取引先に、選択リスト (複数選択)項目「MultiPicklistField」を作成する
2.下記ページを作成する
<apex:page standardController="Account" showHeader="true" sidebar="false" recordSetVar="Accounts" id="page">
<apex:form>
  <apex:pageBlock mode="edit" id="block">
    <apex:pageBlockSection title="ApexTable" columns="1">
      <apex:pageBlockTable value="{!Accounts}" var="item">
        <apex:column headerValue="{!$ObjectType.Account.Fields.Name.Label}">
          <apex:inputField value="{!item.Name}" onchange="alert(event.target.value);"/>
        </apex:column>
        <apex:column headerValue="{!$ObjectType.Account.Fields.MultiPicklistField__c.Label}">
          <apex:inputField value="{!item.MultiPicklistField__c}" onchange="alert(event.target.value);"/>
        </apex:column>
      </apex:pageBlockTable>
    </apex:pageBlockSection>
  </apex:pageBlock>
</apex:form>
</apex:page>
3.ページにて動作確認
①テキスト項目(取引先名)を変更し、テキスト項目以外の箇所をクリックする
 →変更した値がアラートされる
②複数選択リストの項目(MultiPicklistField)を変更する
 →何も起こらない(★ここでテキスト項目と同様に、変更した値を取得したい★)

どうぞ宜しくお願い致します。
いつもお世話になっております。

VisualForceのテーブルの列幅をマウスドラッグで調整できるように実装したいのですが、可能でしょうか?
jQueryなど使用する必要があるのでしょうか。

ご存知の方がいらっしゃいましたらどうぞご教授宜しくお願い致します。
お世話になっております。

Apexでレポートで使用しているオブジェクトの情報を取得したいと考えているのですが、
そのようなことは可能でしょうか?

レポートのオブジェクトは下記で、
https://developer.salesforce.com/docs/atlas.ja-jp.192.0.api.meta/api/sforce_api_objects_report.htm

レポートの表示項目や検索項目は下記のReportMetadata クラスで取得すれば良いと考えているのですが、
https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_class_reports_reportmetadata.htm

レポートで使用しているオブジェクトはどのように取得すれば良いでしょうか。
ReportType クラスから辿れたりしないのかな、と思ったのですがわかりませんでした。
https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_class_reports_reporttype.htm

どうぞよろしくお願い致します。
お世話になっております。

下記のトリガで、ケースにデータローダで複数データを作成したとき、
18行目のリストにSOQLで取得した値を設定する箇所で
「System.QueryException: List has more than 1 row for assignment to SObject」というエラーになってしまいます。
ケースを1件のみ作成だとエラーにはなりません。
上記エラーはリストに格納すれば問題ない認識だったのですが、どこか問題がありますでしょうか。

よろしくお願いいたします。
 
trigger caseTrigger on Case (before insert) {
    if(Trigger.isInsert && Trigger.isBefore){
      
      /***** 変数宣言 *****/
      Map<Integer, Case> iCaseMap    = new Map<Integer, Case>(); // ケースのMap
      List<Account> accList = new List<Account>();  // 取引先リスト
      Integer i = 1;

      /***** ケースのMapを作成 *****/
      for(Case c : Trigger.new){
        iCaseMap.put(i, c);
        i++;
      }
      
      if(!iCaseMap.isEmpty()){

          /***** 取引先リストを作成 *****/
          accList = [SELECT Id, Name FROM Account
                            WHERE Name=:iCaseMap.values().Type
                            ORDER BY Phone ASC LIMIT 1];
          System.debug('★accList:'+accList);
      }                      
    }
}

 
お世話になっております。

プロパティのテストクラスの書き方がわからなく、ご教授願いたく思っております。
public with sharing class TestController {
    public List<SelectOption> objects {
        get {
            if (objects != null) return objects;
            objects = new List<SelectOption>();
            Map<String, Schema.SObjectType> all = Schema.getGlobalDescribe();
            for (String key: all.keySet()) {
                Schema.DescribeSObjectResult sr = all.get(key).getDescribe();
                if (sr.isAccessible() && sr.isUpdateable())
                    objects.add(new SelectOption(key, sr.getLabel()));
            }
            return objects;
        }
        set;
    }
}
<apex:page controller="TestController" >
<apex:form >
  <apex:selectList id="objects"  multiselect="false" >
    <apex:selectOptions id="selectObj" value="{!objects}" />
  </apex:selectList>
</apex:form>
</apex:page>
上記TestControllerのようなクラスのテストクラスはどのように記述すればよいのでしょうか?
下記のように書きますと、1行しかカバーされません。
@isTest
private class TestTestController{
    static testMethod void test01 () {
        TestController c = new TestController();
        c.objects = new List<SelectOption>();
    }
}
初歩的な質問かもしれませんが、色々試してみてもわからなく、質問させていただきました。
どうぞよろしくお願いいたします。
お世話になっております。

Apexで、文末が特定文字のときに置換したいのですが、
どのように実装すれば良いでしょうか。

replaceメソッドを使えば良いのかなと思ったのですが、
置換する特定文字が文末にあるというのはどのように判断すれば良いのでしょうか。
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_string.htm#apex_System_String_replace

どうぞよろしくお願いいたします。
お世話になっております。

Schema.DisplayTypeのgetType メソッドで取得できるデータ型について分からなかったので質問させて頂きます。
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_enum_Schema_DisplayType.htm

次のデータ型をカスタム項目では作成できないのでしょうか?作成方法がわかりませんでした。
・anytype
・base64
・Combobox
・DataCategoryGroupReference
・ID
・Integer
・Reference
・Time

または、上記型の標準項目がありましたら教えていただきたいです。

どうぞよろしくお願いいたします。
お世話になっております。

レポートの検索機能と似たような機能を実装したいと考えております。
User-added image

User-added image
上記画像のように、項目によって検索条件のセレクトボックスで「次の文字列と一致する」などを指定するイメージです。

上記画像のように、項目のデータ型によって検索条件のセレクトボックスの選択値が変わっているようです。
項目「年間売り上げ」(Double型)のときは「次の文字列と一致する」、「次の文字列と一致しない」、「<」、「>」、「<=」、「>=」の6項目、
項目「姓」(String型)のときは上記6項目と「次の文字列を含む」、「次の文字列を含まない」、「次の文字列で始まる」の計9項目、など。

項目のデータ型はDescribeFieldResultメソッドのgetType()で取得できると思うのですが、
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_fields_describe.htm#apex_Schema_DescribeFieldResult_getType
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_enum_Schema_DisplayType.htm
項目のデータ型によって検索条件のセレクトボックスの選択値を変えるには、
項目のデータ型ごとに検索条件のセレクトボックスの選択値に何があるかを調べて(上記画像のようにデータ型ごとにレポートで試して)、
セレクトボックスの値を設定する処理を地道に書いていくしかないでしょうか。

データ型ごとの検索条件の選択値を取得するようなメソッド、または
データ型ごとの検索条件の選択値の一覧の表などございますでしょうか?
自分でも探してみたのですが、見当たりませんでした。

ご存知のこと、お気づきの点など(そんなのないと思いますよ、などでも。。)ございましたらご教授頂けますと幸いです。
どうぞよろしくお願いいたします。
お世話になっております。

<apex:dataTable>タグ内で特定のカラムに同じセレクトボックスを表示し、
そのセレクトボックスで選択された値を取得したいと考えております。

値の取得方法として、JavaScriptでテーブル内のカラムを順に読み込み、
カラム内の値をカンマなどでつなげてApexにhiddenで返そうと考えたのですが、
JavaScriptで<apex:dataTable>タグ内のセレクトボックスの選択値の取得方法がわかりませんでした。
 
public with sharing class testController {
    String[] countries = new String[]{};
            
    public PageReference test() {
        return null;
    }
            
    public List<SelectOption> getItems() {
        List<SelectOption> options = new List<SelectOption>();
        options.add(new SelectOption('US','US'));
        options.add(new SelectOption('CANADA','Canada'));
        options.add(new SelectOption('MEXICO','Mexico'));
        return options;
    }
            
    public String[] getCountries() {
        return countries;
    }
            
    public void setCountries(String[] countries) {
        this.countries = countries;
    }

    List<Account> accounts;

    public List<Account> getAccounts() {
        if(accounts == null) accounts = [select name, owner.name from account limit 5];
        return accounts;
    }
}
<apex:page controller="testController" >
<apex:form >
    <apex:dataTable value="{!accounts}" var="account" id="theTable" rowClasses="odd,even" styleClass="tableClass">
        <apex:column >
            <apex:outputText value="{!account.name}"/>
        </apex:column>
        <apex:column >
            <apex:selectList value="{!countries}" multiselect="false" size="1">
                <apex:selectOptions value="{!items}"/>
            </apex:selectList>
        </apex:column>
    </apex:dataTable>
    <apex:commandButton value="Test" action="{!test}" rerender="out" status="status" onclick="testScript(); "/>

<script type="text/javascript">
    function testScript () {
        var test = document.getElementById("{!$Component.theTable}");
        for (var i = 0; i < test.rows.length; i++) {
            alert(test.rows[i].cells[1].innerHTML);
            //ここでセレクトボックスで選択された値を取得したい
        }
    }
</script>

</apex:form>
</apex:page>

上記のようなコードで、JavaScript内で<apex:dataTable>タグ内のセレクトボックスで選択された値を
取得するにはどのようにすればよいでしょうか。

もしくはJavaScriptを使わずに実装できる方法などございますでしょうか。

ご存知のこと、お気づきの点などございましたら、ご教授頂けましたら幸いです。
どうぞよろしくお願いいたします。
お世話になっております。

リードの項目一覧を取得したく、下記のように実装したのですが、
「System.SObjectException: Field Lead.HasOptedOutOfEmail is inaccessible in this context」というエラーが出てしまいます。
エラー内容からして、「HasOptedOutOfEmail」の項目に(権限がなくて?)アクセスできないのかと考えているのですが、
アクセスできない項目を除いて項目一覧を取得する方法はございますでしょうか。
ご存知の方がいらっしゃいましたらご教授をよろしくお願いいたします。
public List<SelectOption> fields = new List<SelectOption>();
for (Schema.SObjectField field: getSObjectFields('Lead')) {
    Schema.DescribeFieldResult fr = field.getDescribe();
    fields.add(new SelectOption(fr.getName(), fr.getLabel()));
}

public List<Schema.SObjectField> getSObjectFields (String objectName) {
    Schema.DescribeSObjectResult sr = Schema.getGlobalDescribe().get(objectName).getDescribe();
    return sr.fields.getMap().values();
 }

 
お世話になっております。

Apexでユーザインタフェースの設定値を取得することはできますでしょうか。
例えば、ユーザインタフェースの「折りたたみ可能なセクションを有効化」のチェックが
TrueかFalseかという情報をApexで取得できますでしょうか。

ご存知の方がいらっしゃいましたらご教授頂けますと幸いです。
どうぞ宜しくお願い致します。
お世話になっております。

拡張一括印刷をApexなどで実装することは可能でしょうか?
差し込み印刷テンプレートを読み込んで、データをはめこんで、ファイル出力、という感じ、でしょうか・・・?
・差し込み印刷テンプレート呼び出し
・ファイル出力
  →エクセルはできることはしっているのですが、Wordなども可能なのでしょうか?
    そもそも、複数のファイル出力するにはどうしたら良いのでしょう。。
など、できるでしょうか。。

どうぞ宜しくお願い致します。
お世話になっております。

SOQLでオブジェクトのListをバインド変数として使いたいのですが、可能でしょうか。

参考サイト
http://blog.flect.co.jp/salesforce/2011/11/soql-a233.html

上記サイトにて、
// Listの場合
List<String> nameList = new List<String>();
nameList.add('佐藤');
nameList.add('木村');
 
List<Contact> ctcList
  = [Select Id From Contact Where LastName IN :nameList];
とありますが、
// List<Contact>の場合
List<Contact> conList = new List<Contact>();
conList = [Select Id,AccountId From Contact];
 
List<Account> accList
  = [Select Id From Account Where Id = :conList.AccountId ];  //←コンパイルエラー
上記のように、List<Contact>をバインド変数として使うイメージです。
※for文内でSOQLを使わない形で実装したいです。

ご存知の方がいらっしゃいましたら、ご教授をどうぞ宜しくお願い致します。
お世話になっております。

ルックアップ検索をすると、「最近参照した○○(オブジェクト名)」の一覧が表示されますが、
「最近参照した」データだけでなく、オブジェクトのレコード全件から検索することはできないのでしょうか。

下記サイトより、ルックアップのオートコンプリートを無効化すればできるのかと思ったのですが、できませんでした。
https://help.salesforce.com/apex/HTViewHelpDoc?id=search_enhanced_lookup_enable_autocomplete.htm&language=ja#search_enhanced_lookup_enable_autocomplete

ご存じの方がいらっしゃいましたら、ご教授を宜しくお願い致します。
お世話になっております。

ルックアップ検索をすると、「最近参照した○○(オブジェクト名)」の一覧が表示されますが、
「最近参照した」データだけでなく、オブジェクトのレコード全件から検索することはできないのでしょうか。

下記サイトより、ルックアップのオートコンプリートを無効化すればできるのかと思ったのですが、できませんでした。
https://help.salesforce.com/apex/HTViewHelpDoc?id=search_enhanced_lookup_enable_autocomplete.htm&language=ja#search_enhanced_lookup_enable_autocomplete

ご存じの方がいらっしゃいましたら、ご教授を宜しくお願い致します。
お世話になっております。

PDFを作成し、メモ&添付ファイルに保存し、メモ&添付ファイルに保存したPDFを表示するページを作成しました。
しかし、テストクラスが上手くいかず、悩んでおります。
下記のコードですと、エラー「TestMethod として定義されたメソッドは、getContent コールをサポートしていません。」と出てしまいます。
自分でも調べてみたのですが、いまいち分からず、どのようなテストメソッドを書くと良いのかご教授いただけますと幸いです。
どうぞ宜しくお願い致します。

AccountPdf.page(PDFページ)
<apex:page standardController="Account" extensions="AccountPdf" renderAs="pdf">
    <body>{!acc.Name}</body>
</apex:page>
AccountPdf.cls(PDFページのコントローラ)
public with sharing class AccountPdf{

    public Account acc { get; set; }
    
    // コンストラクタ
    public AccountPdf(ApexPages.StandardController controller) {

        // パラメータを取得
        ID accd = ApexPages.currentPage().getParameters().get('Id');

        // パラメータ'Id'から取引先を取得
        acc = [SELECT Id, Name
                    FROM Account
                    WHERE Id = :accd
                    LIMIT 1
                ];
        
    }

}

AccountPdfAppended.page(カスタムボタンで/apex/AccountPdfAppended?id=【取引先ID】の様に最初に呼び込むページ)
<apex:page standardController="Account" extensions="AccountPdfAppended">
    <script>
        window.sfdcPage.appendToOnloadQueue(function() { reloadAndClose(); });
        function reloadAndClose() {
            doAction();
        }
    </script>
    <apex:form >
        <apex:actionfunction name="doAction" action="{!doAction}" />
    </apex:form>
    PDFを作成しています...<BR/>
</apex:page>
AccountPdfAppended.cls
public with sharing class AccountPdfAppended{

    private Account acc{get;set;} 

    // コンストラクタ
    public AccountPdfAppended(ApexPages.StandardController controller) {

        // パラメータを取得
        ID accId = ApexPages.currentPage().getParameters().get('Id');

        // パラメータ'Id'から商談を取得
        acc = [SELECT Id, Name
                    FROM Account
                    WHERE Id = :accId
                    LIMIT 1
                ];

    }

    // 戻り呼び出し
    public Pagereference doAction() {

        // PDF作成
        PageReference pageRefPdf = Page.AccountPdf;
        pageRefPdf.getParameters().put('Id', acc.Id);

        // メモ&添付ファイルに保存
        Attachment attachment = new Attachment();
        attachment.Name = 'AccountPDF(' + String.valueOf(Date.today()) +  ').pdf';
        attachment.Body = pageRefPdf.getContent();
        attachment.ParentId = acc.Id;
        insert attachment;
        
        // PDF表示
        PageReference pageRef = new Pagereference('/servlet/servlet.FileDownload?file=' + attachment.Id);
        return pageRef;

    }
    
}

TestAccountPdfAppended.cls(テストクラス)
@isTest
public class TestAccountPdfAppended {

    static testMethod void testSuccess01() {

        // レコード作成
        Account acc = new Account(Name='testName');
        insert acc;
        
        Apexpages.currentPage().getParameters().put('Id', acc.Id);
        AccountPdfAppended c = new AccountPdfAppended(new ApexPages.StandardController(acc));

        c.doAction(); // ←エラー

    }

}
お世話になっております。

Apexのスケジュールで、毎月1回、それぞれ別の日に動くようにしたいと思っています。
現在考えている実装方法は、
レコードでApexスケジュールを動かしたい日(例えば「2016/1/1」、「2016/2/2」、、など)をデータとして保持させ、
Apexスケジュールとしては毎日動かして、動いた日が保持させたデータの日であれば処理を実行、そうでなければ何もしないというような
実装をしようかと考えているのですが、、他にもっとスマートなやり方はありますでしょうか。
ご知恵を拝借したく、宜しくお願い致します。
お世話になっております。
下記のようなカスタムボタンの挙動について質問させてください。

1.カスタムオブジェクト(Cobj__c)にテキスト型のカスタム項目(ID__c)を作成
2.カスタムオブジェクトに詳細ページボタンのJS実行カスタムボタンを作成し、OnClickソースで下記のようにする
alert('ID::'+'{!Cobj__c.ID}');
alert('ID__c::'+'{!Cobj__c.ID__c}');
3.カスタム項目(ID__c)がNullの状態で作成したカスタムボタンをクリックすると下記のようにalertされる
「ID::<データのID(15桁のID)>」
「ID__c::<データのID(15桁のID)>」
4.カスタム項目(ID__c)に適当な値(test)を入力し、カスタムボタンをクリックすると下記のようにalertされる
「ID::test」
「ID__c::test」

カスタム項目のAPI名に「ID__c」とつけるのもちょっとどうなのかなという気もしなくはないのですが、
上記の動作はおかしくないでしょうか。
どこか上記ソースなどに問題がありますでしょうか。
または、カスタム項目(ID__c)に適当な値が入力されていてもデータのIDを取得する方法はありますでしょうか。

どうぞ宜しくお願い致します。

お世話になっております。

開発者コンソールで、下記URLのようなコードカバー率のチェックを行いたく思っているのですが、
[Code Coverage (コードカバー率)] メニューに「none」しか表示されません。
https://help.salesforce.com/HTViewHelpDoc?id=code_dev_console_tests_coverage.htm&language=ja

開発者コンソールでなく標準のページのApexソースのページを見るとコードカバー率が表示されますし、
テスト自体も成功はしているのですが、
[Code Coverage (コードカバー率)] メニューに「none」しか表示されず、
カバーされている箇所が青くなっていることを確認できません。

以前はコードカバー率の確認(赤、青)は普通に確認できたのですが、、
何か考えられる問題点などございましたらご教授いただけると幸いです。

どうぞ宜しくお願い致します。

お世話になっております。

参照項目を他の項目の値によって制御したいのですが、可能でしょうか。
イメージとしては、
・数式項目の戻り値を参照関係にする
・項目自動更新で参照関係の値を更新する
なのですが、両方設定できません。

参照項目を他の項目の値によって制御する方法などご存知の方がいらっしゃいましたら
ご教授の程、どうぞ宜しくお願い致します。
いつもお世話になっております。

apex:inputFieldタグで出力した「選択リスト (複数選択)」型の項目のonchangeイベントで
変更した値を取得したいのですが、どのように実装すればよいでしょうか。

テキスト項目ですと、onchangeイベントで変更した値を取得できるのですが、
選択リスト (複数選択)項目ではどのようにしたら良いのかわかりませんでした。

【再現手順】
1.取引先に、選択リスト (複数選択)項目「MultiPicklistField」を作成する
2.下記ページを作成する
<apex:page standardController="Account" showHeader="true" sidebar="false" recordSetVar="Accounts" id="page">
<apex:form>
  <apex:pageBlock mode="edit" id="block">
    <apex:pageBlockSection title="ApexTable" columns="1">
      <apex:pageBlockTable value="{!Accounts}" var="item">
        <apex:column headerValue="{!$ObjectType.Account.Fields.Name.Label}">
          <apex:inputField value="{!item.Name}" onchange="alert(event.target.value);"/>
        </apex:column>
        <apex:column headerValue="{!$ObjectType.Account.Fields.MultiPicklistField__c.Label}">
          <apex:inputField value="{!item.MultiPicklistField__c}" onchange="alert(event.target.value);"/>
        </apex:column>
      </apex:pageBlockTable>
    </apex:pageBlockSection>
  </apex:pageBlock>
</apex:form>
</apex:page>
3.ページにて動作確認
①テキスト項目(取引先名)を変更し、テキスト項目以外の箇所をクリックする
 →変更した値がアラートされる
②複数選択リストの項目(MultiPicklistField)を変更する
 →何も起こらない(★ここでテキスト項目と同様に、変更した値を取得したい★)

どうぞ宜しくお願い致します。
いつもお世話になっております。

VisualForceのテーブルの列幅をマウスドラッグで調整できるように実装したいのですが、可能でしょうか?
jQueryなど使用する必要があるのでしょうか。

ご存知の方がいらっしゃいましたらどうぞご教授宜しくお願い致します。
お世話になっております。

下記のトリガで、ケースにデータローダで複数データを作成したとき、
18行目のリストにSOQLで取得した値を設定する箇所で
「System.QueryException: List has more than 1 row for assignment to SObject」というエラーになってしまいます。
ケースを1件のみ作成だとエラーにはなりません。
上記エラーはリストに格納すれば問題ない認識だったのですが、どこか問題がありますでしょうか。

よろしくお願いいたします。
 
trigger caseTrigger on Case (before insert) {
    if(Trigger.isInsert && Trigger.isBefore){
      
      /***** 変数宣言 *****/
      Map<Integer, Case> iCaseMap    = new Map<Integer, Case>(); // ケースのMap
      List<Account> accList = new List<Account>();  // 取引先リスト
      Integer i = 1;

      /***** ケースのMapを作成 *****/
      for(Case c : Trigger.new){
        iCaseMap.put(i, c);
        i++;
      }
      
      if(!iCaseMap.isEmpty()){

          /***** 取引先リストを作成 *****/
          accList = [SELECT Id, Name FROM Account
                            WHERE Name=:iCaseMap.values().Type
                            ORDER BY Phone ASC LIMIT 1];
          System.debug('★accList:'+accList);
      }                      
    }
}

 
お世話になっております。

プロパティのテストクラスの書き方がわからなく、ご教授願いたく思っております。
public with sharing class TestController {
    public List<SelectOption> objects {
        get {
            if (objects != null) return objects;
            objects = new List<SelectOption>();
            Map<String, Schema.SObjectType> all = Schema.getGlobalDescribe();
            for (String key: all.keySet()) {
                Schema.DescribeSObjectResult sr = all.get(key).getDescribe();
                if (sr.isAccessible() && sr.isUpdateable())
                    objects.add(new SelectOption(key, sr.getLabel()));
            }
            return objects;
        }
        set;
    }
}
<apex:page controller="TestController" >
<apex:form >
  <apex:selectList id="objects"  multiselect="false" >
    <apex:selectOptions id="selectObj" value="{!objects}" />
  </apex:selectList>
</apex:form>
</apex:page>
上記TestControllerのようなクラスのテストクラスはどのように記述すればよいのでしょうか?
下記のように書きますと、1行しかカバーされません。
@isTest
private class TestTestController{
    static testMethod void test01 () {
        TestController c = new TestController();
        c.objects = new List<SelectOption>();
    }
}
初歩的な質問かもしれませんが、色々試してみてもわからなく、質問させていただきました。
どうぞよろしくお願いいたします。
お世話になっております。

Apexで、文末が特定文字のときに置換したいのですが、
どのように実装すれば良いでしょうか。

replaceメソッドを使えば良いのかなと思ったのですが、
置換する特定文字が文末にあるというのはどのように判断すれば良いのでしょうか。
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_methods_system_string.htm#apex_System_String_replace

どうぞよろしくお願いいたします。
お世話になっております。

リードの取引開始処理をApex(Trigger)で実装したいと思っております。

Leadオブジェクトの「IsConverted(取引開始済フラグ)」を「true」にし、
新しいAccountを作成(もしくは既存のAccountを更新)し、
新しく作成したAccountのIDを
LeadのConvertedAccountId(取引開始済みの取引先ID)に設定する、
というように実装すれば良いのでしょうか?

ご存じの方がいらっしゃいましたらご教授頂きたいです。
どうぞ宜しくお願い致します。