0

標準のルックアップフィールドに問題があります。保存しようとすると、オートコンプリートを使用するか、名前を入力するだけで値が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;
}
}

意見:

<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>

ダミーオブジェクトは、いくつかのルックアップフィールドを持つオブジェクトです。(Contact_ cからContact、Account _cからAccountなど...)

私は実際にそれを保存していません。ただし、system.debugit...の場合はnullにしないでください。

4

1 に答える 1

1

私は最終的に問題が何であるかを発見しました。これは既知の問題であり、非常に重大なバグであると私は考えています。連絡先に入力フィールドを使用する場合、名フィールドまたは姓フィールドにスペースがあると問題が発生します。

ナレッジ記事番号: 000123565

于 2013-02-20T07:18:08.830 に答える