Как включить ссылку на таблицу в надстройку Invantive Excel

Я делаю финансовый отчет в Excel, используя данные из Exact Online с помощью надстройки Invantive Control Excel. В Точном Онлайн у меня есть классификация для Главных книг. В моем файле Excel я хотел бы сопоставить эти классификации в моем графике отчетности. Поэтому я составил таблицу с отображением классификаций Exact Online и классификаций отчетности. Используя надстройку Invantive Control Excel, я ввел следующий SQL-запрос:

    select periods_year_reportingyear_attr
,      reportingperiod_attr
,      division_code
,      division_hid
,      division_name
,      periods_year_years_balance_code_attr
,      periods_year_years_balance_description
,      '=I_EOL_GL_ACTCLN_CODE($C{E,.,.,^+2,.}, $C{E,.,.,^+5,.})' verdichting_code
,      '=I_EOL_GL_ACTCLN_DESCRIPTION($C{E,.,.,^+2,.}, $C{E,.,.,^+5,.})' verdichting_naam
,      '=i_eol_bal_year_open($C{E,.,.,^+2,.} , $C{E,.,.,^,.}, $C{E,.,.,^+5,.}) + if($C{E,.,.,^+1,.} = 1, 0, i_eol_bal_pder($C{E,.,.,^+2,.},$C{E,.,.,^,.},1,$C{E,.,.,^+1,.}-1,$C{E,.,.,^+5,.}))' startsaldo
,      balance
,      '=i_eol_bal_year_open($C{E,.,.,^+2,.} , $C{E,.,.,^,.}, $C{E,.,.,^+5,.}) + i_eol_bal_pder($C{E,.,.,^+2,.},$C{E,.,.,^,.},1,$C{E,.,.,^+1,.},$C{E,.,.,^+5,.})' eindsaldo
,      periods_year_years_balance_balancetype_attr
,      '=INDEX(tab_reporting[Reporting],MATCH(NUMBERVALUE(I_EOL_GL_ACTCLN_CODE($C{E,.,.,^+2,.}, $C{E,.,.,^+5,.})),tab_reporting[GL Class - Code],0))' reporting
from   balancelinesperperiod 
order 
by     periods_year_reportingyear_attr
,      reportingperiod_attr
,      division_hid
,      periods_year_years_balance_code_attr

В котором tab_reporting - это имя таблицы с отображением классификаций отчетности и Exact Online. Эта таблица находится на другой вкладке в Excel. Когда я просматриваю данные, я вижу эти результаты: Который, мне кажется, хорошо.

Одна вещь, которую я не понимаю, - это то, что в позиции 14 есть 4 поля. Одна формула создает 4 разных поля данных вместо одного.

Я мог бы отправить файл Excel по запросу. Проблема в том, что я получаю это сообщение об ошибке:

itgensdf031: Кан вельден ван блок 'Balans (bal)' niet verversen. Не удается обновить поля полностью. Поле '});TAB_REPORTING[GL CLASS - CODE];0))''имеет формулу, которая будет потеряна при удалении поля, поскольку оно больше не встречается в SQL.

Перенесите все соответствующие настройки полей, которые необходимо сохранить, и они будут потеряны при удалении этого поля. Наймите консультанта, если вы не знаете, как это сделать.

Тип: Invantive.Data. блок, логическое allowLoadFromCache) в Invantive.Producer.Control.SyncToDatabaseForm.syncBackGroundWorker_DoWork(отправитель объекта, DoWorkEventArgs e) в System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
в System.ComponentModel.BackgroundWorker.WorkerThreadStart(аргумент объекта) в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(аргументы IntPtr md, Object[], сервер объекта, объект []& outArgs) в System.Runtime.em.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink) в System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem. ThreadPoolCallBack(Object o) в System. Threading.QueueUserWorkIt., Обратный вызов ContextCallback, Состояние объекта, Boolean preserveSyncCtx) в System. Threading.ExecutionContext.Run(Обратный вызов ExecutionContext executeContext, Обратный вызов ContextCallback, Состояние объекта, Boolean preserveSyncCtx) в System. Threading.QueueUserWorkItemCreadback.orkItemCread. ToT. Threading. ThreadPoolWorkQueue.Dispatch () в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() на Invantive.Producer.Control.Utility.RefreshFields(ModelCache modelCache, iea_blocks_v блок, булева allowLoadFromCache) в File173: линии 4362 на Invantive.Producer.Control.SyncToDatabaseForm.syncBackGroundWorker_DoWork(отправитель объекта, DoWorkEventArgs е) в File174: линия 299 Тип: Invantive Исключение System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
в System.ComponentModel.BackgroundWorker.WorkerThreadStart(аргумент объекта) в System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(аргументы IntPtr md, Object[], сервер объекта, объект []& outArgs) в System.Runtime.em.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink) в System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem. ThreadPoolCallBack(Object o) в System. Threading.QueueUserWorkIt., Обратный вызов ContextCallback, Состояние объекта, Boolean preserveSyncCtx) в System. Threading.ExecutionContext.Run(Обратный вызов ExecutionContext executeContext, Обратный вызов ContextCallback, Состояние объекта, Boolean preserveSyncCtx) в System. Threading.QueueUserWorkItemCreadback.orkItemCread. ToT. Threading. ThreadPoolWorkQueue.Dispatch () в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Invantive Control for Excel (стабильный-20161021-2025-ge3e5e61 Prod, L162135034)

1 ответ

Решение

Кажется, что вы где-то через ошибку создали несколько полей в позиции 14. Это повреждение хранилища.

Я рекомендую сначала удалить поля в позиции 14:

  • сняв галочку с их свойствами
  • удалить часть из SQL, которая определяет поля в позиции 14 (сохранить ее где-нибудь),
  • и затем нажмите Обновить на вкладке полей.

Убедитесь, что поля в позиции 14 пропали.

Повторно добавьте часть из SQL, которая определяет поля в позиции 14.

Это должно работать снова.

Другие вопросы по тегам