1

我正在使用来自 Exact Online 的数据使用 Invantive Control Excel 插件在 Excel 中制作财务报告。在 Exact Online 中,我有一个总帐分类。在我的 Excel 文件中,我想在我的报告计划中匹配这些分类。因此,我制作了一个表格,其中包含精确在线分类和报告分类的映射。使用 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 是一个表的名称,具有报表分类和精确在线的去映射。此表位于 Excel 中的不同选项卡上。当我查看数据时,我会看到以下结果: 在此处输入图像描述 哪个,对我来说看起来不错。

我不明白的一件事是,位置 14 上似乎有 4 个字段。一个公式似乎创建了 4 个不同的数据字段而不是一个。

在此处输入图像描述

我可以根据要求发送 Excel 文件。问题是我最终得到了这个错误消息:

itgensdf031: Kan velden van blok 'Balans (bal)' niet verversen。无法完全刷新字段。字段 '});TAB_REPORTING[GL CLASS - CODE];0))'' 有一个公式,当字段被删除时会丢失,因为它不再出现在 SQL 中。

迁移您需要保留的所有相关字段设置,并且在删除此字段时会丢失。如果您不知道如何做到这一点,请聘请顾问。

类型:Invantive.Data.ValidationException 的 Invantive.Data.ValidationException..ctor(String messageCode, String messageText, String kindRequest, String localStackTrace, String nk, Exception innerException) 在 Invantive.Producer.Control.Utility.RefreshFields(ModelCache modelCache, iea_blocks_v块,布尔 allowLoadFromCache) 在 Invantive.Producer.Control.SyncToDatabaseForm.syncBackGroundWorker_DoWork(Object sender, DoWorkEventArgs e) 在 System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
在 System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument) 在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) 在 System.Runtime.Remoting.Messaging .StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink) 在 System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack(Object o) 在 System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state) 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext , ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System。Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 在 System.Threading.ThreadPoolWorkQueue.Dispatch() 在 System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() 在 Invantive.Producer.Control.Utility.RefreshFields(ModelCache modelCache,iea_blocks_v 块, Boolean allowLoadFromCache) in File173:line 4362 at Invantive.Producer.Control.SyncToDatabaseForm.syncBackGroundWorker_DoWork(Object sender, DoWorkEventArgs e) in File174:line 299 Type: Invantive.Data.ValidationException at Invantive.Data.ValidationException..ctor(String messageCode,系统中的 Invantive.Producer.Control.SyncToDatabaseForm.syncBackGroundWorker_DoWork(Object sender, DoWorkEventArgs e) 中的字符串 messageText、字符串 kindRequest、字符串 localStackTrace、字符串 nk、异常 innerException)。ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
在 System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument) 在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) 在 System.Runtime.Remoting.Messaging .StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink) 在 System.Runtime.Remoting.Proxies.AgileAsyncWorkerItem.ThreadPoolCallBack(Object o) 在 System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state) 在 System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext , ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System。Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 在 System.Threading.ThreadPoolWorkQueue.Dispatch() 在 System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Excel 的 Invantive 控制(stable-20161021-2025-ge3e5e61 Prod,L162135034)

4

1 回答 1

0

似乎您已经通过某处的错误管理在位置 14 处创建多个字段。这是存储库的损坏。

我建议首先通过以下方式删除位置 14 的字段:

  • 取消选中它们的属性
  • 从定义位置 14 的字段的 SQL 中删除部分(将其保存在某处),
  • 然后在字段选项卡中按刷新。

检查位置 14 的字段是否已消失。

从定义位置 14 的字段的 SQL 中重新添加部分。

它应该再次工作。

于 2017-03-27T16:47:18.933 回答