QBO3在ImportForm中插入新的contact方法(任务)

时间:2016-01-29 15:17:50

标签: xml

在Importform模板中,如何设置映射以区分插入contactmethod记录与更新现有记录?

1 个答案:

答案 0 :(得分:0)

在QBO3中,ContactMethod可用于跟踪与联系人关联的电话号码,电子邮件地址,网站或社交网络链接。

使用案例1 :使用电话号码创建新联系人:

Contact/Save?FirstName=John&LastName=Doe&Phone=888.555.1212

用例2 :更新了联系人,更改了电话号码:

Contact/Save?ID=X&Phone=888.555.2323

请注意,在这种情况下,您要用新的电话号码替换电话号码;你没有添加额外的'电话号码。

使用案例3 :添加额外的电话号码

Contact/Save?ID=X&Methods_0_ContactValue=888.555.2323

用例4 :使用任务(ImportForm)设置Title.TitleHeldBy的电话号码

这假设您有一个绑定到标题记录的任务,并且作为任务的一部分,您希望从Title.TitleHeldBy字段设置链接到的联系人的电话号码。

为命名如下的任务创建一个问题:

Title_TitleHeldBy_Phone

将依次致电:

ImportForm/Save?ID=X&Title_TitleHeldBy_Phone=Y

用例5 :使用任务(ImportForm)为TitleHeldBy联系人添加额外的电话号码

为命名如下的任务创建一个问题:

Title_TitleHeldBy_Methods_0_ContactValue

将依次致电:

ImportForm/Save?ID=X&Title_TitleHeldBy_Methods_ContactValue=Y

如何运作

在致电联系人/保存时,联系人会将任何电话或电子邮件参数映射到主要' ContactMethod与MethodType匹配'电话'或者'电子邮件'。这可以处理我们遇到的90%的用例:您只想更新联系人的电话号码。

请注意'电话'和'电子邮件'是配置值。您可以在Design>中添加其他此类方法类型。配置>模块> ContactMethod> MethodTypes。例如,如果您添加名为' LinkedInProfile'的新MethodType,则可以调用:

Contact/Save?ID=X&LinkedInProfile=Y

如果一个不存在则会插入一个LinkedInProfile ContactMethod,如果它已经存在则会更新它。

保存Title.TitleHeldBy联系人电话号码的ImportForm示例的工作方式类似:

  • ImportForm/Save会识别与其父表相匹配的任何字段(在此示例中为'标题'),将所有此类字段传递给Title/Save
  • Title/Save将识别任何外键字段,例如TitleHeldBy,并将所有此类字段传递给相应的{Class}/Save方法(在本例中为Contact/Save,因为TitleHeldBy是外键,联系方式)。
  • 因此,在用例4中,ImportForm/Save使用所有Title *字段调用Title/Save,而这些字段又调用Contact/Save所有TitleHeldBy字段。