1с программирование помощь с расширением
Добрый день. Есть расширение, в его модуле прописана процедура
Необходимо чтобы эта процедура возникала только у пользователей, у которых есть доступ к этому расширению. Сейчас она возникает у всех.
Есть вариант решения через проверку пользователей
Вопрос такой, может есть вариант решения лучше, не через этот костыль?
&После("ПриНачалеРаботыСистемы")
Процедура РасчетСроковИТС_ПриНачалеРаботыСистемы() Экспорт
Если 1 = РасчетСроковИТС.РасчетСроковИТС() Тогда
Предупреждение("Присутствуют клиенты у которых заканчивается срок договора! По ним будет сформирован отчёт!");
ОтчетФорма = ПолучитьФорму("Отчет.ОтчетПоСрокамИТС.Форма");
ОтчетФорма.СкомпоноватьРезультат();
ОтчетФорма.Открыть();
КонецЕсли;
КонецПроцедуры
ПоказатьНеобходимо чтобы эта процедура возникала только у пользователей, у которых есть доступ к этому расширению. Сейчас она возникает у всех.
Есть вариант решения через проверку пользователей
ТекущийПользователь=ПользователиИнформационнойБазы.ТекущийПользователь().Имя;
Если ТекущийПользователь = "Петунина_Е" ИЛИ ТекущийПользователь = "НазаровДО" тогда
//Какой то код
КонецЕсли;
Вопрос такой, может есть вариант решения лучше, не через этот костыль?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) И потом на каждом проекте сидишь и гадаешь, каким же "инновационным" образом проверяют роли...
Кто-то создал доп. реквизит, кто-то обычный реквизит, кто-то доп. сведение, кто-то группу пользователей, кто-то отдельный регистр, кто-то додумался использовать роли исполнителей. Особо одаренные могли создать константу с ХранилищемЗначений и хранить там таблицу нужных пользователей... И все эти варианты будут работать.
Как и указали выше, лучше реализовывать через роли.
Кто-то создал доп. реквизит, кто-то обычный реквизит, кто-то доп. сведение, кто-то группу пользователей, кто-то отдельный регистр, кто-то додумался использовать роли исполнителей. Особо одаренные могли создать константу с ХранилищемЗначений и хранить там таблицу нужных пользователей... И все эти варианты будут работать.
Как и указали выше, лучше реализовывать через роли.
РольДоступна("РасчетСроковИТС_ОсновнаяРоль")
(5)
Такой подход ведет к сильному ветвлению прав в будущем. Сегодня у тебя один профиль на всех менеджеров, завтра половина менеджеров говорит, что в гробу они видали вывод отчетов при запуске программы и ты копируешь профиль без одной роли, потом появляется новый функционал, который нужен только четверти менеджеров и количество профилей становится четыре, а потом вообще появляются профили под конкретных людей с уникальным набором ролей-настроек.
Для хранения функциональных настроек пользователей использование подсистемы дополнительных реквизитов или своего регистра сведений на мой взгляд более удобно.
лучше реализовывать через роли
Такой подход ведет к сильному ветвлению прав в будущем. Сегодня у тебя один профиль на всех менеджеров, завтра половина менеджеров говорит, что в гробу они видали вывод отчетов при запуске программы и ты копируешь профиль без одной роли, потом появляется новый функционал, который нужен только четверти менеджеров и количество профилей становится четыре, а потом вообще появляются профили под конкретных людей с уникальным набором ролей-настроек.
Для хранения функциональных настроек пользователей использование подсистемы дополнительных реквизитов или своего регистра сведений на мой взгляд более удобно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот