让参数设置中本身不支持批量同步的参数字段支持批量同步原创
金蝶云社区-战斗的凯文
战斗的凯文
9人赞赏了该文章 167次浏览 未经作者许可,禁止转载编辑于2023年12月26日 11:09:55

        对于账簿数量较大的集体用户来说,参数设置中的批量同步功能是一项非常实用的功能,它可以很方便的一次性批量更新多个组织多个账簿的参数,减少配置成本。

image.png

        但是,不是所有参数界面的参数字段都出厂就支持批量同步功能,部分字段,比如【总账管理参数】中的【利润分配科目】和【本年利润科目】就未支持,为了让这类字段也支持批量同步功能,需要在BOS设计器或协同开发平台中配置元数据。具体办法如下:

        一,     打开设计器,找到需要修改的参数界面的元数据,选中要处理的参数,这里以【利润分配科目】为例,该字段的功能控制属性设置面板如下图所示,默认是灰色的不允许修改。这是因为系统在202107版本后控制了参数设置中的字段均不允许修改功能控制。其中的【允许批量修改】属性,就是实现批量同步的,必须想办法勾选上这一项。

image.png

        二,     为了绕开上面的修改限制,可以扩展一个元数据,然后编辑其XML节点内容来实现。首先,需要勾选或取消勾选【必录】属性,然后保存。这样,保存后,扩展元数据的XML内容中就有了该字段的节点。然后,打开XML编辑界面,方法如下图:

image.png

        三,     我们将代表【允许批量修复】的XML添加进去,同时把代表必录的内容去掉,如下图所示,保存。

image.png

        需要注意的是,这里点保存,有可能遇到报错:“T_BAS_METADATALOG的FOBJECTTYPEID不允许为NULL”时,可临时修改字段属性,设置完成后再恢复:

image.png

        相关脚本如下:

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)

        四,     重新双击打开图形编辑界面,检查一下【功能控制】中的【允许批量修复】是否已勾选,同时,注意先前的【必录】属性是否保持和未修改前一致。

image.png

        五,     确认无误后,就可以回到星空系统的操作界面,在参数设置中为【总账】指定一个合适的【利润分配科目】后,保存。

image.png

        六,     然后点【批量同步】,这时,就可以在列表中找到这个属性了。

image.png

    

赞 9