1

作成したカスタム オブジェクトが 2 つありますが、セールスフォース リストとレポートの制限により、長いテキストエリアに 255 文字を超える文字を表示できません。

Sales_Trip__c
- Name - string
- Date_From - date
- Date_To - date
- Salesman - lookup User


Sales_Trip_Visit__c
- Sales_Trip - master-detail
- Account - master-detail
- Notes - Long Textarea
- Date - date

だから私は Sales_Trip_Visit__c.Date で並べ替えられたテーブルに sales_trip_visit__c を表示する新しい visualforce ページを作成しようとしています

私は Sales_Trip__c 標準コントローラーを使用してページを動作させていますが、それは訪問を順不同で返します。

私が言えることから、ページ内でそれを行うことはできないので、日付順に並べられた訪問のリストを返すメソッドを持つ Sales_Trip__c 標準コントローラーの拡張機能を作成しようとしています。

これは私がこれまでに持っているものであり、私は何か正しいことをしていないと思います.

public class mySalesTripControllerExtension {

private final Sales_Trip__c satr;

public mySalesTripControllerExtension(ApexPages.StandardController stdController) {
    this.satr = (Sales_Trip__c)stdController.getRecord();
}

public List<Sales_Trip_Visits__c> getVisitList() {
    con = new List<Sales_Trip_Visits__c>();
    con = [SELECT Date, Account.Name, Notes FROM Sales_Trip_Visits__c WHERE Sales_Trip__c.id = :this.satr.id ORDER BY Date]
    return con;
}
}

次のエラーが表示されますが、完全に間違っていると思います。

    Error: Compile Error: sObject type 'Sales_Trip_Visits__c' is not supported. If you are attempting to use a custom object, be sure to append the '__c' after the entity name. Please reference your WSDL or the describe call for the appropriate names. at line 18 column 15

助けてくれてありがとう、これが私の改訂されたコードになりました。そして、私が使用している命名規則を維持しました。これは、カスタムオブジェクトの複製であり、同じフィールド/同じ関係で、名前が異なるだけです(元にはリッチテキストエリアがありました。_2には長いテキストエリアがあります

public class mySalesTripControllerExtension {

    private final Sales_Trip__c satr;

    // The extension constructor initializes the private member
    // variable acct by using the getRecord method from the standard
    // controller.
    public mySalesTripControllerExtension(ApexPages.StandardController stdController) {
        this.satr = (Sales_Trip__c)stdController.getRecord();
    }

    public List<Sales_Trip_Visit_2__c> getVisitList() {
        Sales_Trip_Visit_2__c con = [SELECT Date__c, Account__r.Name, Notes__c FROM Sales_Trip_Visit_2__c WHERE  Sales_Trip__r.Id = :satr.id ORDER BY Date__c];
        return con;
    }
}

現在のエラー。

Error: Compile Error: Return value must be of type: LIST<Sales_Trip_Visit_2__c> at line 16 column 9 
4

1 に答える 1

0

まず第一に、ページ上で並べ替えを行うことができますが、それにはいくつかの JavaScript を使用する必要があります。より良いアプローチは、コントローラー側で並べ替えを行うことです。コメントで言及したエラーを除いて、全体的に正しく作成しています。ここに変更されたコードがあります

public List<Sales_Trip_Visits__c> getVisitList() {
   Sales_Trip_Visits__c con = [SELECT Date__c, Account__r.Name, Notes__c FROM Sales_Trip_Visits__c WHERE  Id = :satr.id ORDER BY Date__c]
   return con;
}
于 2013-07-25T07:36:42.080 に答える