【发布时间】:2013-07-25 07:05:21
【问题描述】:
我创建了 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
所以我正在尝试创建一个新的 visualforce 页面,该页面在按 Sales_Trip_Visit__c.Date 排序的表中显示 sales_trip_visit__c
我的页面使用 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
【问题讨论】:
-
您需要在 SOQL 中添加一个变量:像这样的字符 WHERE Sales_Trip__c.id = :this.satr.id
-
感谢您,我现在收到以下错误
-
嗯..你肯定忘了过去的错误
-
我用新错误编辑了问题上的错误。错误:编译错误:不支持 sObject 类型“Sales_Trip_Visits_2__c”。如果您尝试使用自定义对象,请务必在实体名称后附加“__c”。请参考您的 WSDL 或相应名称的描述调用。在第 18 行第 15 列
-
我知道我可以使用 Sales_Trip__c.Sales_Trip_Visit__r 进行访问,但无法对返回的列表进行排序。
标签: salesforce soql