我们在Exact Online中有几千家公司,其中一定比例运行自己的会计并拥有自己的许可证。但是,每天都有一组公司支付给Exact付款,因此他们的公司被封锁了。
对于所有公司,我们运行Invantive Data Replicator将所有Exact Online公司复制到SQL Server数据仓库中,以进行分析报告和持续监控。
在SystemDivisions
表格中,此类被屏蔽公司的state
仍为1(有效)。它不会更改为2(存档)或0(即将推出)。过去也没有任何结束日期。
但是,当通过Invantive SQL的查询使用XML或REST API时,或者在这样一个被阻止的公司上直接使用Python时,会出现很多模糊错误消息。
目前我们必须每天打开每个复制过程中出错的公司,并检查Exact是否导致错误以及出于什么原因。
似乎无法检索被屏蔽公司列表。
有替代方案吗?
答案 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;原因可能没有被阻止。其余的是。