我正在升级 MS Dynamics SL (6.5sp1) 安装,并且想知道是否有一种简单的方法可以查看屏幕自定义中涉及的 BSL/VBA 代码。
或者至少是一种能够发现具有自定义功能的每个表单的方法。
我正在升级 MS Dynamics SL (6.5sp1) 安装,并且想知道是否有一种简单的方法可以查看屏幕自定义中涉及的 BSL/VBA 代码。
或者至少是一种能够发现具有自定义功能的每个表单的方法。
要发现具有自定义(按类型)的每个表单,可以查看数据库。SQL 看起来像这样(我将确切的语句留在了客户的站点上,并正在从内存中重新创建它):
SELECT DISTINCT s.Module, s.Name
FROM CustomVBA c
INNER JOIN Screen s ON c.ScreenId = s.Number
WHERE c.Sequence = 300
Union
SELECT DISTINCT s.Module, s.Name
FROM Custom2 c
INNER JOIN Screen s ON c.ScreenId = s.Number
WHERE c.Sequence = 300
“Sequence=300”意味着这将返回对“所有用户”进行修改的屏幕编号和名称(500 将用于特定用户,100 将用于第三方附加组件)
现在,CustomVBA 表是 VBA 自定义的存储位置,而 Custom2 表是 BSL 自定义的存储位置。
或者,可以查看 EXPORT 列表,尽管它显示了所有序列的变化。
现在,我们有了一个不同的表单列表,我们可以从 Solomon 中将这些更改导出为每次修改的单个 CST 文件(并且这些 CST 文件确实在记事本或任何其他文本编辑器中打开)。在这些文件的顶部将是修改操作的控件列表(下面是一个二进制编码的字符串,详细说明了代码修改)。通过自定义创建的任何控件都将附加“Created=True”属性。
现在我们知道哪些屏幕已被修改,哪些控件是全新创建的(以及哪些控件已关闭、移动或 CST 列出的数据未列出),我们现在可以比较 6.5 和 7.0 之间的更改FP1 并确保迁移接受了所有自定义并且它们都按预期运行。