获取已阻止的精确在线部门列表

时间:2018-04-30 08:36:17

标签: exact-online invantive-sql

我们在Exact Online中有几千家公司,其中一定比例运行自己的会计并拥有自己的许可证。但是,每天都有一组公司支付给Exact付款,因此他们的公司被封锁了。

对于所有公司,我们运行Invantive Data Replicator将所有Exact Online公司复制到SQL Server数据仓库中,以进行分析报告和持续监控。

SystemDivisions表格中,此类被屏蔽公司的state仍为1(有效)。它不会更改为2(存档)或0(即将推出)。过去也没有任何结束日期。

但是,当通过Invantive SQL的查询使用XML或REST API时,或者在这样一个被阻止的公司上直接使用Python时,会出现很多模糊错误消息。

目前我们必须每天打开每个复制过程中出错的公司,并检查Exact是否导致错误以及出于什么原因。

似乎无法检索被屏蔽公司列表。

有替代方案吗?

1 个答案:

答案 0 :(得分:2)

虽然不支持和不支持,但您可以使用本机请求访问Exact Online中的有限数量的屏幕。据传,这对所有屏幕都不可能。

然而,你很幸运。可以使用以下查询请求公司的阻止状态:

insert into NativePlatformScalarRequests(url, orig_system_group)
select /*+ ods(false) */ 'https://start.exactonline.nl/docs/SysAccessBlocked.aspx?_Division_=' || code
,      'BLOCK-DIV-CHECK-' || code
from   systemdivisions

create or replace table currentlyblockeddivisions@inmemorystorage
as
select blockingstatus
,      divisioncode
from   ( select regexp_replace(result, '.*<table class="WizardSectionHeader" style="width:100%;"><tr><th colspan="2">([^<]*)</th>.*', '$1', 1, 0, 'n') blockingstatus
         ,      replace(orig_system_group, 'BLOCK-DIV-CHECK-', '') divisioncode
         from   NativePlatformScalarRequests
         where  orig_system_group like 'BLOCK-DIV-CHECK-%'
       )
where  blockingstatus not like '%: Onbekend%'

请注意带有&#39; .nl&#39;的超链接。在不同的国家/地区运行时需要更换。同样适用于搜索荷兰语和Onbekend&#39; (&#39;未知&#39;英文)。

此查询运行数千个HTTP请求,每个请求都要求屏幕显示公司的阻止状态。但是,当公司未被屏蔽时,屏幕会报告“未知”的原因。

这些公司的未知&#39;原因可能没有被阻止。其余的是。