Приветствую читающего!
Для одного из наших клиентов требовалось доработать типовую конфигурацию с целью расширения функционала работы с розничными "конечными" покупателями. По-скольку продажа она повсюду продажа (контроль взаиморасчетов, оформление оплат и проч.) решили не изменять типовую конфигурацию, а все разработки вести во внешней обработке, которая будет служить интерфейсом для пользователей-продажников. Дополнительные данные, требующие хранения в БД, решили сохранять с помощью механизма свойств и категорий.
Для того, чтобы незаметно для пользователей подставлять в качестве интерфейса нашу внешнюю обработку, для всех пользователей был модифицирован ярлычок запуска 1С Предприятия:
"C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /S[servername]\[dbname] /EXECUTE c:\desktop.epf
как Вы поняли, этот ярлычок подключает к базе dbname на сервере servername и сразу запускает внешнюю обработку c:\desktop.epf, в которой мы и реализуем весь наш дополнительный функционал. Аутентификация Windows и режим рабочего стола главной формы обработки позволяют сделать подключение быстрым и удобным.
Но тут возникает новая проблема. В некоторых типовых конфигурациях набор ролей ограничен и не позволяет достичь желаемого. Например, не нашлось роли, которая бы позволяла работать с торговыми документами, но не получать доступ к справочнику "Сотрудники", а ведь в нём видны оклады. Пусть даже мы и не дали в интерфейсе своей обработки доступ к этом справочнику, но существование во всех интерфейсах пункта меню "Переключить интерфейс" оставляет серьёзную брешь в системе распределения доступа к данным. Ну а пользователи рано или поздно находят те пункты меню, о которых мы им не рассказываем :)
Сотрудник подсказал мне как обойти этот момент: в обработчике "При открытии" нашей формы с интерфейсом можно написать
Для Каждого Элемент Из ГлавныйИнтерфейс Цикл
Элемент.Переключаемый = Ложь;
Элемент.Видимость = Ложь;
КонецЦикла;
этот кусочек кода делает невидимыми все лишние пункты меню (включая пункт "Переключить интерфейс").
Таким образом, и конфигурация осталась на полной поддержке 1С (т.е. простота обновления сохранена), и у пользователей нет искушения открыть ненужные для них данные.