Открытие настроек Dynamics SL (Соломон)
-
13-09-2019 - |
Вопрос
Я нахожусь в процессе обновления установки 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
"Последовательность = 300" означает, что это вернет номер экрана и имя, где есть изменение для "Всех пользователей" (500 будет для конкретного пользователя и 100 будет для сторонних дополнений).
Теперь в таблице CustomVBA хранятся настройки VBA, в то время как в таблице Custom2 хранятся настройки BSL.
В качестве альтернативы можно просмотреть список ЭКСПОРТА, хотя там отображаются изменения во всех последовательностях.
Теперь, когда у нас есть отдельный список форм, мы можем экспортировать эти изменения из Solomon в виде отдельного файла CST для каждой модификации (и эти файлы CST открываются в notepad или любом другом текстовом редакторе).В верхней части этих файлов будет список элементов управления, которыми управляет модификация (под ним находится строка в двоичном кодировании с подробным описанием изменений кода).Любые элементы управления, созданные с помощью настроек, будут иметь привязанное к ним свойство "Created=True".
И теперь, когда мы знаем, какие экраны были изменены, и какие элементы управления созданы совершенно новыми (а также какие из них отключены, или перемещены, или что-то другое, поскольку CST перечисляет эти данные), теперь мы можем сравнить изменения между 6.5 и 7.0FP1 и убедиться, что миграция приняла все настройки и что все они функционируют должным образом.