4

更新: 正しい ID を渡すだけで、期待どおりに機能しています。DUH!~

たとえば、ケースのコメント セクションのようなカスタム オブジェクトが Salesforce にあります。新しいコメントを追加すると、そのエントリの日付/タイム スタンプが表示されます。新しいケース コメントが作成されたときに、以前のケース コメントの日付/タイム スタンプを更新したかったのです。

私はこのようなUPDATEをしたかった:

$updateFields = array(
                'Id'=>$comment_id, // This is the Id for each comment
                'End_Date__c'=>$record_last_modified_date
            );

function sfUpdateLastCommentDate($sfConnection, $updateFields) {
    try {        
        $sObjectCustom = new SObject();
        $sObjectCustom->type = 'Case_Custom__c';

        $sObjectCustom->fields = $updateFields;
        $createResponse = $sfConnection->update(array($sObjectCustom));              
    } catch(Exception $e) {
        $error_msg  = SALESFORCE_ERROR." \n";
        $error_msg .= $e->faultstring;
        $error_msg .= $sfConnection->getLastRequest();
        $error_msg .= SALESFORCE_MESSAGE_BUFFER_NEWLINE;

        // Send error message
        mail(ERROR_TO_EMAIL, ERROR_EMAIL_SUBJECT, $error_msg, ERROR_EMAIL_HEADER_WITH_CC);
        exit;
    }
}

UPSERT も試しましたが、次のエラーが表示されます。

Missing argument 2 for SforcePartnerClient::upsert()

どんな助けでも素晴らしいでしょう

4

1 に答える 1

1

当然、間違ったIDを渡していたことがわかりました。commentId を渡す必要がありましたが、recordId を渡していました

于 2010-03-12T20:34:08.223 に答える