代码之家  ›  专栏  ›  技术社区  ›  Stephen Wrighton

发现动态SL(Solomon)定制

  •  1
  • Stephen Wrighton  · 技术社区  · 15 年前

    我正在升级MS Dynamics SL(6.5SP1)安装,我想知道是否有一种简单的方法可以查看屏幕自定义中涉及的BSL/VBA代码。

    或者至少是一种能够发现每个具有定制的表单的方法。

    1 回复  |  直到 11 年前
        1
  •  1
  •   Stephen Wrighton    15 年前

    要发现每个具有自定义设置的表单(按类型),可以查看数据库。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自定义设置的地方。

    或者,您可以查看导出列表,尽管它显示所有序列中的更改。

    现在,我们有了一个不同的表单列表,我们可以从Solomon中将这些更改导出为每次修改的单个CST文件(并且这些CST文件确实在记事本或任何其他文本编辑器中打开)。在这些文件的顶部是修改操作的控件列表(下面是一个二进制编码字符串,详细描述了代码修改)。通过自定义创建的任何控件都将附加“created=true”属性。

    现在,我们知道哪些屏幕已被修改,哪些控件是全新创建的(以及哪些控件已关闭或移动,或者哪些控件不是CST列出的数据),我们现在可以比较6.5和7.0fp1之间的更改,并确保迁移接受所有自定义,并且它们都按预期运行。