1

ZKSForceライブラリを使用してデータをCLOUDデータベースにアップロードしています。

セールスフォースでは、親テーブルと子テーブルの両方を1回の呼び出しでアップロードするオプションがあります。 セールスフォース-作成

この機能はZkSForceで許可されています。子オブジェクト参照を親テーブルに渡す方法。

4

1 に答える 1

2

はい、ZKSforceでの作成は、基盤となるSOAP APIとまったく同じように機能し、作成するZKSObjectの配列を渡します。

// pass an array of ZKSObject's to create in salesforce, returns a matching array of ZKSaveResults
- (NSArray *)create:(NSArray *)objects;

リンクしたドキュメントで、相互に関連するレコードを作成する場合は、親レコードに外部IDフィールドを宣言する必要があり、子レコードはそれを使用して宣言する必要があります。親。たとえば、関連する連絡先を持つアカウントを挿入し、externalIdであるアカウントにaccMaster__cフィールドがある場合は、そうします。

ZKSObject *acc = [[ZKSObject alloc] initWithType:@"Account"];
[acc setFieldValue:@"New Account" field:@"Name"];
[acc setFieldValue:@"ACC_1234" field:@"accMaster__C"];

ZKSObject *contact = [[ZKSObject alloc] initWithType:@"Contact"];
[contact setFieldValue:@"Simon" field:@"FirstName"];
[contact setFieldValue:@"Fell" field:@"LastName"];

// per the externalId docs, create a account structure that just contains the externalId value we want to resolve the account relationship for
ZKSObject *accRel = [[ZKSObject alloc] initWithType:@"Account"];
[accRel setFieldValue:@"ACC_1234" field:@"accMaster__C"];
[contact setFieldValue:accRel field:@"Account"];

NSArray *res = [sforce create:[NSArray arrayWithObjects:acc, contact, nil]];
NSLog(@"results are %@", res);

これを実行してブラウザで新しい連絡先レコードを開くと、親アカウントの関係が作成したばかりの新しいアカウントレコードに設定されていることがわかります。

ここに画像の説明を入力してください

親レコードに自然なexternalIdフィールドがない場合は、1つ作成して、クライアントからのGUIDを新しく挿入されたレコードのexternalId値として使用することで、レコードを相互に関連付けることができます。外部システムにexternalIds->salesforceマッピングを維持させることなく呼び出しを作成します。

于 2012-10-16T15:22:58.690 に答える