发现 Dynamics SL (Solomon) 定制
我正在升级 MS Dynamics SL (6.5sp1) 安装,想知道是否有一种简单的方法来检查屏幕自定义中涉及的 BSL/VBA 代码。
或者至少是一种能够发现每个具有自定义功能的表单的方法。
I'm in the midst of upgrading a MS Dynamics SL (6.5sp1) installation, and was wondering if there was an easy way to review the BSL/VBA code involved in screen customizations.
Or at least a way to be able to discover each and every form that has customizations.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
要发现每个具有自定义项(按类型)的表单,可以查看数据库。 SQL 看起来像这样(我在客户端站点留下了确切的语句,并从内存中重新创建它):
“Sequence=300”意味着这将返回屏幕编号和名称,其中对“所有用户”进行了修改(500 将用于特定用户,100 将用于第三方加载项)
现在,CustomVBA 表是存储 VBA 自定义项的位置,而 Custom2 表是存储 BSL 自定义项的位置。
或者,可以查看导出列表,尽管它显示所有序列中的更改。
现在,我们有了一个不同的表单列表,我们可以从 Solomon 内部导出这些更改,作为每个修改的单个 CST 文件(并且这些 CST 文件确实可以在记事本或任何其他文本编辑器中打开)。这些文件的顶部将是修改操作的控件列表(下面是详细说明代码修改的二进制编码字符串)。通过自定义创建的任何控件都将附加“Created=True”属性。
现在我们知道哪些屏幕已被修改,哪些控件是全新创建的(以及哪些屏幕被关闭、移动或没有按照 CST 列出的数据),我们现在可以比较 6.5 和 7.0 之间的变化FP1 并确保迁移接受所有自定义并且它们都按预期运行。
To discover each and every form that has customizations (by type), one can look at the database. The SQL would look something like this (I left the exact statement at the client's site and am recreating this from memory):
The "Sequence=300" means that this will return the screen number and name where there is a modification for "All Users" (500 will be for a specific user and 100 will be for third party add-ons)
Now, the CustomVBA table is where the VBA customizations are stored, while the Custom2 table is where the BSL customizations is stored.
Alternatively, one can look at the EXPORT list, though that displays changes in all sequences.
Now, that we have a distinct list of the forms, we can export those changes from within Solomon, as a single CST file per modification (and those CST files do open in notepad or any other text editor). At the top of these files will be a list of controls which the modification manipulates (beneath that is a binary-encoded string detailing the code modifications). Any controls that are created via the customizations will have the "Created=True" property attached to them.
And now that we know what screens have been modified, and which controls are created brand new (as well as which ones are turned off, or moved or what not as the CST lists that data) we can now compare the changes between 6.5 and 7.0FP1 and ensure that the migration accepted all of the customizations and that they are all functioning as expected.