在 QuickBooks 中更新记录

目录

 概述

intuit.quickbooks.update() 任务用于通过指定记录的唯一编号,从 QuickBooks 帐户中任何支持的模块更新记录。例如,您可从 quiockbooks 中的客户模块更新具有给定记录编号的客户记录。若要将 Zoho Creator 与 QuickBooks 连接在一起,请从设置 - 连接页面创建新连接。 

 支持的模块

  • 客户
  • 供货商
  • 产品
  • 发货单
  • 客户
  • 员工
  • 部门

 语法

<quickbooksResponse> = intuit.quickbooks.update(<quickbooksConnectionName>, <quickbooksModuleName>,<quickbooksCompanyId> , <recordId>, <syncToken>, <paramValues>.);

其中,
<quickbooksResponse> 是作为响应由 Quickbooks 返回的映射变量。它包含已提取记录的详细信息。
<quickbooksConnectionName> 指的是用于将 Zoho Creator 与 Quickbooks 连接在一起的连接名称。设置 - 连接页面创建新连接。
<quickbooksModuleName> 指的是要从中提取记录的 Quick Books 模块的模块名称。
<quickbooksCompanyId> 指的是 Quickbooks 为每个帐户生成的唯一编号。您可在 Quickbooks 帐户您的公司 -> 帐户和设置 -> 账单和订购 -> 公司 Id 下面找到。
<recordId> 是 Quickbooks 中的记录编号,系统将基于该编号来提取记录。
<synToken> 是唯一记录编号的版本号。
<paramValues> 是保存待更新属性的键值对的映射变量
请参阅 Quickbooks API 指南以了解为每个模块指定的属性。

 示例

下面是一个示例脚本,说明如何从 Quickbooks 客户模块更新具有给定记录编号的记录。您可以通过将此脚本添加到所需的表单动作块,从 Zoho Creator 表单执行此脚本。

//获取具有指定条件的记录
searchResponse = intuit.quickbooks.searchRecords("Zoho", "1241802285", "SELECT * FROM Customer where DisplayName ='Henry'");

queryResponse = ((getResponse).get("QueryResponse")).toMap();
queryResponseList = queryResponse.get("Customer").toJSONList();
for each x in queryResponseList
{
y = x.toMap();
id = y.get("Id");
synToken = y.get("SyncToken");
//按编号获取记录
getIdResponse = intuit.quickbooks.getRecordById("Zoho", "Customer", "1241802285", id);

//更新
param = map();
param.put("FamilyName", "HenryPaul");
updateResponse = intuit.quickbooks.update("Zoho", "Customer", "1241802285", id, synToken, param);
info updateResponse;
}

备注

  • 您可通过单击显示在脚本构建器右上角的自由流程脚本链接(或)使用脚本构建器中的拖放功能将脚本直接添加到编辑器区域。

 响应格式

Quickbooks 返回的响应将为下面给出的格式。

{
“Customer":"{" ShipAddr":"{" Line3":"123 street",
"Long":"-122.0960826",
"Line2":"Building 1",
"Line1":"Intuit",
"Lat":"37.4306346",
"Id":"7"
}","PreferredDeliveryMethod":"Email",
"BalanceWithJobs":0,
"DisplayName":"Henry",
"FullyQualifiedName":"Henry",
"BillWithParent":false,
"Job":false,
"Active":true,
"MetaData":"{"CreateTime":"2014-08-01T02:29:29-07:00",
"LastUpdatedTime":"2014-08-07T04:10:06-07:00"
}","Taxable":false,
"BillAddr":"{"Long":"-77.02225539999999",
"Line1":"450 7th StreetnWashington DC",
"Lat":"38.8958239",
"Id":"6"
}","domain":"QBO",
"SyncToken":"3",
"PrintOnCheckName":"Hudson",
"CurrencyRef":"{"name":"Indian Rupee",
"value":"INR"
}","Id":"5",
"FamilyName":"HenryPaul",
"Balance":0,
"sparse":false
}","time":"2014-08-07T04:10:06.520-07:00"
}

如果为了某种原因,执行失败,则响应将为以下格式:
ERROR RESPONSE - For Invalid Parameter Name

{
"Error":"[{
"Detail":"Property Name:Can not instanti specified is unsupported or invalid",
"Message":"Request has invalid or unsupported property",
"code":"2010"
}]"
}

 使用脚本构建器

若要使用脚本构建器中的拖放功能添加脚本,

  1. 从仪表板页面选择表单
  2. 设置 - 工作流选择所需的表单动作
  3. 单击页面右上角的脚本构建器
  4. 调用函数拖放到编辑器框中。 
  5. 选择集成任务。 
  6. 在“服务”中选择 Quickbooks
  7. 在“函数”中选择 Update Record
  8. 选择“连接名称”以便与 Quickbooks 连接。单击 +创建 以创建新连接或从设置 - 连接页面创建新连接。 
  9. 选择所需的模块名称。
  10. 指定您的 Quickbooks 帐户的唯一公司编号。请参阅 CompanyId  以了解更多信息。
  11. 指定要从 Quickbooks 提取的记录编号。
  12. 指定 SyncToken,它是唯一记录编号的版本号。
  13. 指定包含待更新属性的键值对的映射变量。
  14. 指定响应变量,它将用于保存 Quickbooks 返回的响应。
  15. 单击完成以插入调用函数任务。


响应变量将包含由 Quickbooks 以列表格式返回的响应。