Embora técnica e funcionalmente correta, a abordagem que você esboça é um pouco lenta e pesada nas APIs e no seu CPU. É melhor recuperar apenas os saldos somados do Exact Online e deixá-los fazer o trabalho pesado.
Exemplo:
Escolha as empresas certas para solicitar dados:
use
select DIVISIONCLASSES_DIVISIONCLASSNAME_DIVISIONCLASSNAMES_ADMINISTRATION_CODE_ATTR
from AllAdministrationClassifications
where DIVISIONCLASSES_DIVISIONCLASSNAME_NUMBER_ATTR = 2
and CODE_ATTR = '123123' -- PUT HERE YOUR CLIENT CODE
A instrução use
, diferente do SQL Server, permite que você especifique várias partições (que são empresas do Exact Online).
E, em seguida, buscar os resultados por conta contábil, período e divisão:
select BALANCE
, PERIODS_YEAR_YEARS_BALANCE_CODE_ATTR
, DIVISION_HID
, PERIODS_YEAR_REPORTINGYEAR_ATTR
, REPORTINGPERIOD_ATTR
from BalanceLinesPerPeriod
Na minha configuração, leva 10 segundos para recuperar os valores consolidados em 10 grandes empresas.
Existem algumas variantes de tabela disponíveis, como com unidade de custo / centro de custo e saldos de abertura / fechamento do ano.