在Importform模板中,如何设置映射以区分插入contactmethod记录与更新现有记录?
答案 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是外键,联系方式)。ImportForm/Save
使用所有Title *字段调用Title/Save
,而这些字段又调用Contact/Save
所有TitleHeldBy字段。