从 Exact Online 插入联系人时,Freshdesk 出现错误 invalid_value

Error invalid_value on Freshdesk when inserting contact persons from Exact Online

在 Freshdesk 测试环境中,以下 SQL 语句将与销售订单相关的所有联系人从 Exact Online 复制到 Freshdesk:

insert into contacts@freshdesk
( name
, address
, phone
, email
)
select delivery_account_name
,      fulladdress
,      account_phone
,      account_email
from   freshdesktickets@inmemorystorage

以下SQL用于在Exact Online基础上准备Freshdesk工单:

create table FreshdeskTickets@inmemorystorage
as
select dlvl.delivery_account_name
,      acad.fulladdress,acad.account_phone
,      acad.account_email
from   ExactonlineXML..DeliveryLines@eolnl dlvl
join   fulladdress@inmemorystorage acad
on     acad.id_attr = dlvl.delivery_deliveryaddress_id_attr
where  dlvl.deliverydate_attr = '2016-10-07'
group 
by     dlvl.delivery_account_name
,      acad.fulladdress
,      acad.account_phone
,      acad.account_email

这运行没有问题。当我在客户的 Freshdesk 环境中执行此 SQL 语句时,我收到代码为 itgenoda001 的错误(见图):验证失败。所有消息:invalid_value:exact_koppeling:它应该是这些值之一:'Ja,Nee'

显然有不同版本的 Freshdesk 在使用。我怎样才能调整我的查询以便在两个版本上都能正常工作?

您收到此错误消息的原因是您的第二个 Freshdesk 安装有一个名为 exact_koppeling 的自定义字段,它在您的测试安装中缺失。

没有简单的方法可以避免这种情况。您也必须将自定义字段添加到您的测试安装中,或者您必须维护同一语句的两个版本。

我想您需要像这样的 insert 语句,以便它在您的第二次安装中运行:

insert
into contacts@freshdesk
( name
, address
, phone
, email
, exact_koppeling
)
select delivery_account_name
,      fulladdress
,      account_phone
,      account_email
,      'Ja' -- Or 'Nee'
from   freshdesktickets@inmemorystorage