对于账簿数量较大的集体用户来说,参数设置中的批量同步功能是一项非常实用的功能,它可以很方便的一次性批量更新多个组织多个账簿的参数,减少配置成本。
但是,不是所有参数界面的参数字段都出厂就支持批量同步功能,部分字段,比如【总账管理参数】中的【利润分配科目】和【本年利润科目】就未支持,为了让这类字段也支持批量同步功能,需要在BOS设计器或协同开发平台中配置元数据。具体办法如下:
一, 打开设计器,找到需要修改的参数界面的元数据,选中要处理的参数,这里以【利润分配科目】为例,该字段的功能控制属性设置面板如下图所示,默认是灰色的不允许修改。这是因为系统在202107版本后控制了参数设置中的字段均不允许修改功能控制。其中的【允许批量修改】属性,就是实现批量同步的,必须想办法勾选上这一项。
二, 为了绕开上面的修改限制,可以扩展一个元数据,然后编辑其XML节点内容来实现。首先,需要勾选或取消勾选【必录】属性,然后保存。这样,保存后,扩展元数据的XML内容中就有了该字段的节点。然后,打开XML编辑界面,方法如下图:
三, 我们将代表【允许批量修复】的XML添加进去,同时把代表必录的内容去掉,如下图所示,保存。
需要注意的是,这里点保存,有可能遇到报错:“T_BAS_METADATALOG的FOBJECTTYPEID不允许为NULL”时,可临时修改字段属性,设置完成后再恢复:
相关脚本如下:
SELECT * FROM T_BAS_METADATALOG --临时修改字段属性 DROP INDEX IDX_METADATALOG_OBJTYPEID ON T_BAS_METADATALOG ALTER TABLE T_BAS_METADATALOG ALTER COLUMN FOBJECTTYPEID NVARCHAR(50) NULL --设置完成后再恢复 DELETE FROM T_BAS_METADATALOG WHERE FOBJECTTYPEID IS NULL ALTER TABLE T_BAS_METADATALOG ALTER COLUMN FOBJECTTYPEID NVARCHAR(50) NOT NULL CREATE INDEX IDX_METADATALOG_OBJTYPEID ON T_BAS_METADATALOG(FOBJECTTYPEID)
四, 重新双击打开图形编辑界面,检查一下【功能控制】中的【允许批量修复】是否已勾选,同时,注意先前的【必录】属性是否保持和未修改前一致。
五, 确认无误后,就可以回到星空系统的操作界面,在参数设置中为【总账】指定一个合适的【利润分配科目】后,保存。
六, 然后点【批量同步】,这时,就可以在列表中找到这个属性了。
推荐阅读