Полу-расширение
Пришлось работать в необычной конфигурации. Я решил делать доработки с помощью расширения — для меня это уже стандарт, чтобы минимизировать вмешательства в типовой код.
Добавил форму в расширение, добавил свой код:
&НаСервере Процедура дор_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) ТекГруппа = Элементы.Дополнительно; Элемент = Элементы.Добавить("дор_МастерПрава", Тип("ПолеФормы"), ТекГруппа); Элемент.Вид = ВидПоляФормы.ПолеФлажка; Элемент.Заголовок = "Мастер-права."; Элемент.ПутьКДанным = "Объект.дор_МастерПрава"; КонецПроцедуры
Потом решил добавить в расширение модуль, чтобы доработать права доступа. И тут меня ждал сюрприз — модуль не компилировался, выдавал ошибку.
Не сразу, но я все же посмотрел режим совместимости конфигурации:
Оказывается, для интерфейса 8.2 максимальный режим совместимости — 8.3.8, а расширения модулей появились только в 8.3.9.1818.
Тогда я принял решения формы дорабатывать через расширения, а модули — по старинке, обычной правкой.
И тут меня ждал сюрприз — функция, которая контролировала права доступа, была в модуле без исходных текстов. Это, конечно, свинство.
Примерное содержимое этой функции было понятно, но эта функция вызывалась из 5 мест, поэтому вместо того, чтобы внести изменения в функцию, мне пришлось сделать 5 изменений ее вызовов, перенаправив их на другой модуль.
Вот с такими сложностями иногда приходится сталкиваться, дорабатывая отраслевые конфигурации.
В этой доработке были еще проблемы, сразу опишу их для понимания:
- Отраслевая защищена ключом, тестовый ключ не дается, поэтому разрабатывать приходится на сервере у заказчика. Хорошо, что лицензий хватает, а то пришлось бы в не рабочее время это делать.
- Я попробовал выгрузить базу в dt, она выгрузилась, но в файловую базу не загрузилась. Поэтому пришлось попросить администратора сделать SQL-копию базы. Я сразу не просил, потому что на сервере была выключена отладка. Пришлось еще просить и отладку включить. Благо, включили нормально.
Свежие комментарии