保存时,salesforce中的查找字段为空

保存时,salesforce中的查找字段为空,salesforce,apex-code,lookup,visualforce,Salesforce,Apex Code,Lookup,Visualforce,我对标准查找字段有问题。 当我试图保存它时,当我使用自动完成或仅键入名称时,它的值为null,但当我通过单击查找图标使用查找弹出窗口时,它会起作用 这是代码的一部分。(并非全部,但即使是这个简单的控制器和页面也无法工作…) 控制器: public with sharing class UnresolvedItemsController { public list<TaskItem> myUnresolvedTaskItems {get;set;} public class Tas

我对标准查找字段有问题。 当我试图保存它时,当我使用自动完成或仅键入名称时,它的值为null,但当我通过单击查找图标使用查找弹出窗口时,它会起作用

这是代码的一部分。(并非全部,但即使是这个简单的控制器和页面也无法工作…) 控制器:

public with sharing class UnresolvedItemsController {

public list<TaskItem> myUnresolvedTaskItems {get;set;}

public class TaskItem {
    public string taskId {get;set;}
    public string subject {get;set;}
    public datetime createdDate {get;set;}
    public DummyObject__c dumObj {get;set;}
}


public UnresolvedItemsController(ApexPages.Standardcontroller controller) {
    if (myUnresolvedTaskItems==null) {
        myUnresolvedTaskItems = new list<TaskItem>();
        list<Task> myUnresolvedTasks = [select id,subject,createdDate,Description from Task Where Status='Not Started' and isDeleted=false and isClosed=false and isArchived=false and OwnerId=:UserInfo.getUserId() and subject like 'Unresolved Email:%' limit 10];
        TaskItem tmp = new TaskItem();
        for (task myT:myUnresolvedTasks) {
            myUnresolvedTaskItems.add(getInfoFromTask(myT));
        }
    }   
}

public TaskItem getInfoFromTask(Task myTask) {
    TaskItem returnTaskItem = new TaskItem();
    returnTaskItem.subject = myTask.Subject.replace('Unresolved Email: ','');
    returnTaskItem.createdDate = myTask.createdDate;
    returnTaskItem.taskId = myTask.Id;
    returnTaskItem.dumObj = new DummyObject__c();
    return returnTaskItem;
}

public pagereference save() {
    system.debug('1-----'+myUnresolvedTaskItems);
    return null;
}
}
public与共享类unsolvedItemsController{
公共列表MyUnsolvedTaskItems{get;set;}
公共类任务项{
公共字符串taskId{get;set;}
公共字符串主题{get;set;}
公共日期时间createdDate{get;set;}
公共DummyObject_uu_uc dumObj{get;set;}
}
公共UnsolvedItemsController(ApexPages.Standardcontroller){
如果(MyUnsolvedTaskItems==null){
MyUnsolvedTaskItems=新列表();
list MyUnsolvedTasks=[选择id、主题、createdDate、来自任务的描述,其中状态为='Not Started',isDeleted=false,isClosed=false,isArchived=false,OwnerId=:UserInfo.getUserId()和类似“未解析电子邮件:%”的主题限制为10];
TaskItem tmp=新TaskItem();
对于(任务myT:MyUnsolvedTasks){
添加(getInfoFromTask(myT));
}
}   
}
公共任务项getInfoFromTask(任务myTask){
TaskItem returnTaskItem=新建TaskItem();
returnTaskItem.subject=myTask.subject.replace('未解析电子邮件:','');
returnTaskItem.createdDate=myTask.createdDate;
returnTaskItem.taskId=myTask.Id;
returnTaskItem.dumObj=新的DummyObject__c();
返回任务项;
}
公共页面引用保存(){
system.debug('1-----'+MyUnsolvedTaskItems);
返回null;
}
}
视图:


日期
{!ti.createdDate}
分配给salesforce.com对象
dummyObject是一个具有两个查找字段的对象。(联系人到联系人、客户到客户等)


我并不是真的在保存它。但是当你调试系统时,它不应该是空的。调试它…

我终于发现了问题所在。 这是一个已知的问题,我认为是一个非常严重的错误。 为联系人使用inputfield时,如果firstname字段或lastname字段中有空格,则会出错

知识文章编号:000123565

<apex:page standardcontroller="Task" extensions="UnresolvedItemsController">
<apex:form >
    <apex:pageblock >
        <apex:pageblockbuttons >
            <apex:commandbutton action="{!Save}" value="{!$Label.Save}" />
            <apex:commandbutton action="{!Cancel}" value="{!$Label.Cancel}" />
        </apex:pageblockbuttons>

        <apex:pageblocktable value="{!myUnresolvedTaskItems}" var="ti">
            <apex:column >
                <apex:facet name="header">Subject</apex:facet>
                <a href="/{!ti.taskId}">{!ti.subject}</a>
            </apex:column>
            <apex:column >
                <apex:facet name="header">Date</apex:facet>
                {!ti.createdDate}
            </apex:column>
            <apex:column >
                <apex:facet name="header">Assign to salesforce.com objects</apex:facet>
                <apex:inputfield value="{!ti.dumObj.Contact__c}" />
            </apex:column>

        </apex:pageblocktable>
    </apex:pageblock>
</apex:form>
</apex:page>