D365变更公司代码(DataAreaId)

目标需要改下面的数据:从TPSL改为TPXY

需要改的表数据

CompanyInfo(到数据库后台会发现,数据库中没有CompanyInfo表,因为CompanyInfo继承自DirPartyTable,所以数据只需要到DirPartyTable中变更即可,找到DirPartyTable的行中Name列值为Company accounts data的行把DataArea列改为目的值TPXY,)

和DataArea表的ID和Name改为目的值。

因为还有业务数据的DataAreaId字段,所以也要更新这些字段的值,具体方式如下:

运行如下SQL命令

SELECT 'UPDATE ' + SCHEMA_NAME(t.schema_id) + '.' + t.name + ' SET DATAAREAID = TPXY WHERE DATAAREAID = TPSL;'
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name ='DATAAREAID'
ORDER BY SCHEMA_NAME(t.schema_id), t.name;

得到如下消息:

将消息全部拷贝出来,在notepad++上处理成如下格式:

主要是给TPXY和TPSL加上‘’,然后再SQL Server上分批执行语句。

之后在AX中把用户的启动公司改为:TPXY。如果启动公司仍然为TPSL系统会自动创建TPSL账套信息。

我觉得SQL语句改动一下也可以直接达到效果,奈何SQL基本功还不够。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值