Warum kann ich nicht aktualisieren, werden diese benutzerdefinierten Felder in Salesforce?

Grüße,
Nun, ich bin verwirrt. Ich wurde beauftragt mit der Aktualisierung ein PHP-Skript, dass verwendet die BulkAPI an einem einfachen Beispiel: einige Daten in der Entität "Verkaufschance".

Dies ist alles gut, außer, dass die Bulk-API ist wieder dieser Fehler für einige klar definierte benutzerdefinierte Felder:

InvalidBatch : Field name not found : cv__Acknowledged__c

Und ähnliches.

Dachte ich, schließlich fand ich das problem, wenn ich vor der WSDL-version war ich mit war ziemlich alt (Partner-WSDL). Also ich umgehend regeneriert die WSDL. Nur problem? Enterprise, Partner, etc....alle von Ihnen...nicht diese Felder. Sie kommen alle aus der Gemeinsamen Basis-Paket und beginnen Sie mit cv_

Ich sogar versucht, Sie zu finden in dem Objekt-explorer in der Workbench, sowie die schema-explorer in Force.com IDE.

So, bitte...Leih mir deine Erfahrung. Wie kann ich update diese Werte?

Vielen Dank im Voraus!

Clif

Screenshots um zu beweisen, ich habe den richtigen Zugriff:
Warum kann ich nicht aktualisieren, werden diese benutzerdefinierten Felder in Salesforce?
Warum kann ich nicht aktualisieren, werden diese benutzerdefinierten Felder in Salesforce?
Warum kann ich nicht aktualisieren, werden diese benutzerdefinierten Felder in Salesforce?

EDIT -- Hier ist mein code:

require_once 'soapclient/SforcePartnerClient.php';
        require_once 'BulkApiClient.php';

        $mySforceConnection = new SforcePartnerClient();
        $mySoapClient = $mySforceConnection->createConnection(APP.'plugins'.DS.'salesforce_bulk_api_client'.DS.'vendors'.DS.'soapclient'.DS.'partner.wsdl.xml');

        $mylogin = $mySforceConnection->login('[email protected]', 'redactedSessionredactedPassword');

        $myBulkApiConnection = new BulkApiClient($mylogin->serverUrl, $mylogin->sessionId);

        $job = new JobInfo();
        $job->setObject('Opportunity');
        $job->setOpertion('upsert');
        $job->setContentType('CSV');
        $job->setConcurrencyMode('Parallel');
        $job->setExternalIdFieldName('Id');
        $job = $myBulkApiConnection->createJob($job);

        $batch = $myBulkApiConnection->createBatch($job, $insert);

        $myBulkApiConnection->updateJobState($job->getId(), 'Closed');

        $times = 1;
        while($batch->getState() == 'Queued' || $batch->getState() == 'InProgress')
        {
            $batch = $myBulkApiConnection->getBatchInfo($job->getId(), $batch->getId());
            sleep(pow(1.5, $times++));
        }

        $batchResults = $myBulkApiConnection->getBatchResults($job->getId(), $batch->getId());

        echo "Number of records processed: " . $batch->getNumberRecordsProcessed() . "\n";
        echo "Number of records failed: " . $batch->getNumberRecordsFailed() . "\n";
        echo "stateMessage: " . $batch->getStateMessage() . "\n";

        if($batch->getNumberRecordsFailed() > 0 || $batch->getNumberRecordsFailed() == $batch->getNumberRecordsProcessed())
        {
            echo "Failures detected. Batch results:\n".$batchResults."\nEnd batch.\n";
        }

Und schließlich ein Beispiel für die CSV-Daten gesendet:

"Id","AccountId","Amount","CampaignId","CloseDate","Name","OwnerId","RecordTypeId","StageName","Type","cv__Acknowledged__c","cv__Payment_Type__c","ER_Acknowledgment_Type__c"
"#N/A","0018000000nH16fAAC","100.00","70180000000nktJ","2010-10-29","Gary Smith $100.00 Single Donation 10/29/2010","00580000001jWnq","01280000000F7c7AAC","Received","Individual Gift","Not Acknowledged","Credit Card","Email"
"#N/A","0018000000nH1JtAAK","30.00","70180000000nktJ","2010-12-20","Lisa Smith $30.00 Single Donation 12/20/2010","00580000001jWnq","01280000000F7c7AAC","Received","Individual Gift","Not Acknowledged","Credit Card","Email"
  • Sie sollten überprüfen, den Field level security Einstellungen auf den Feldern.
  • Sie sollten in der Lage sein, zu aktualisieren Feld bei der Partner-WSDL (fallback generic sObject, ohne sich auf was auch immer explizit aufgeführt wird Sie in Enterprise). Haben Sie versucht, die Arbeit mit normalen (nicht-Massengut) webservices-API? Egal, ob die Felder stammen aus Paket oder sind selbst gemacht: wenn Eclipse und Data Loader erlauben, Sie an Ihnen zu arbeiten, dann sind Sie sichtbar in der normalen API. Vielleicht gibt es einen bug in der bulk-API?
  • Das schema explorer in Eclipse nicht zeigen Sie. Ich fühle mich wie ich bin etwas fehlt, verzögert.
  • Entweder die Felder sind standardmäßig ausgeblendet field level security für Ihr Profil, oder du suchst in einer anderen Anmeldung.
  • Mein Profil ist Systemadministrator ALT. Ein benutzerdefiniertes Profil, das scheint zu sein, ein 100% - Klon des System-Administrators. Ich habe screenshots Hinzugefügt um zu zeigen, dass mein Profil hat alle Zugang notwendig, um die Möglichkeit (sowohl Feld-Ebene und Objekt-Ebene). Irgendwelche anderen Ideen? Bin ich etwas fehlt?
InformationsquelleAutor clifgriffin | 2010-12-21
Schreibe einen Kommentar