Некоторые особенности работы с настройками прав доступа пользователей в типовых конфигурациях на управляемом приложении

Разработчики в управляемых приложениях применили новый механизм настройки прав доступа, о которых и пойдет речь. Будут перечислены все те грабли, которые собрал автор, чтобы вы о них знали.

Разработчики в управляемых приложениях применили новый механизм настройки прав доступа, о которых и пойдет речь. Будут перечислены все те грабли, которые собрал автор, чтобы вы о них знали.

Наверняка, уже все знают, что из себя представляет новая система, поэтому предистория вкрадце: Как было раньше( в обычном приложении): Есть документ. Есть Роли - ПолныеПрава, ДокументНетДоступа, ДокументТолькоЧтение, ДокументЧтениеИРедактирование. В конфигураторе(аналогичный механизм в реж предприятия) вы выставляете пользователям эти роли и у них появляются соответствующие права доступа на документ. Все просто и скучно и даже зевать хочется. С введением управляемого приложения разработчики решили усложнить(читается как расширить) настройки прав доступа. Теперь: Вводная та же. Чтобы дать пользователю какие-то права на документ - сначала вам необходимо создать элемент справочника Профили групп доступа. Это некий агрегирующий(суммирующий значения) объект, который объединяет роли в группы ролей. Теоритически таких профилей можно создать сколько угодно много с различным набором ролей( N*(n-1), где N - количество ролей), но на практике количество профилей определяется количеством должностных обязанностей пользователей в организации и их гораздо меньше, чем ролей. Создаем профили Бесправный(с ролью ДокументНетДоступа), Аудитор(с ролью ДокументТолькоЧтение), Бухгалтер(с ролью ДокументЧтениеИРедактирование).

Чтобы "привязать" эти профили к пользователям - нужно создать элементы справочника ГруппыДоступа. В типовых они создаются автоматически, когда вы отмечаете галочками профили для пользователя. Этот справочник соединяет профиль и пользователя(или нескольких пользователей). При записи этого элемента справочника система автоматически добавляет роли (из профиля) в роли пользователя. Поэтому не стоит напрямую редактировать роли в конфигураторе, как раньше - при редактировании прав в Предприятии все роли в конфигураторе будут обновлены на роли из профилей пользователя. Кроме того, будет наблюдаться явное противоречение между набором профилей с ролями и ролями, установленными в конфигураторе. Как хранятся роли в Профиле групп доступа, спросите вы. Ведь роли - это объекты МД, это не ссылочные типы. Отвечаю - для этого(и не только) разработчики создали служебный справочник ИдентификаторыОбъектовМетаданных, в котором хранится( в иерархии!) имена, синонимы, значения пустых ссылок всех объектов МД. Если вы хотите создать Профиль программно и добавить в него роль, то код примерно будет таким:

РодительРоли = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоНаименованию("Роли");//ничего страшного искать по наименованию, 

//справочник - служебный и непосредственного редактрования в нем нет

ИдентификаторМоейРоли = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоРеквизиту("Имя","МояРоль",РодительРоли);

Если ЗначениеЗаполнено(ИдентификаторМоейРоли) Тогда

НайденныйИдентификаторМоейРоли = МойПрофиль.Роли.Найти(ИдентификаторМоейРоли );

Если НайденныйИдентификаторМоейРоли= неопределено тогда

НовСтрока = МойПрофиль.Роли.Добавить();

НовСтрока.Роль = ИдентификаторМоейРоли;

КонецЕсли;

КонецЕсли;

 Но если мы добавили новую роль в конфигурации, то как она попадет в справочник? Хороший вопрос. У справочника ИдентификаторыОбъектовМетаданных есть метод, позволяющий обновлять его данные. это: Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанныеСправочника(ИСТИНА,ЛОЖЬ,ЛОЖЬ);//ЕстьИзменения, ЕстьУдаленные, ТолькоПроверка  Процедуру следует запускать каждый раз, когда вы вносите изменения в метаданные, особенно когда изменяете роли, объекты, связанные с новыми ролями. Отлично. Роль добавили, идентификаторы обновили. Но обратная связь не работает - вы в режиме предприятия назначили пользователю профиль( с созданием группы доступа), а роль у пользователя в конфигураторе не добавилась! Что делать? За синхронизацию ролей/профилей отвечает константа ПараметрыРаботыПользователей. Если роли не обновляются в конфигураторе, следует обновить ее значение: Константы.ПараметрыРаботыПользователей.СоздатьМенеджерЗначения().ОбновитьОбщиеПараметры(); Хорошо, скажите вы. А как быть, если я хочу создать группы доступа программно? Да не вопрос. Единственное ограничение - не допускаются дубли связок Профиль-Пользоваль в группах доступа. Примерный код будет таким:

//МойПрофиль - профиль, который мы хотим добавить пользователю МойПользователь

Если МойПрофиль = Справочники.ПрофилиГруппДоступа.Администратор Тогда // если мы хотим пользователю дать роль Администратора, 

//то нельзя создавать новую группу доступа, надо редактировать предопределенную Администраторы

ГруппаДоступаАдм = Справочники.ГруппыДоступа.Администраторы;

Если ГруппаДоступаАдм.Пользователи.Найти(МойПользователь) = неопределено Тогда

ГруппаДоступаАдмОб= ГруппаДоступаАдм.ПолучитьОбъект();

НовСтрока = ГруппаДоступаАдмОб.Пользователи.Добавить();

НовСтрока.Пользователь = МойПользователь;

ГруппаДоступаАдмОб.Записать();

КонецЕсли;

Иначе // все прочие профили, кроме Администратора

Запрос = новый Запрос;

Запрос.Текст = "ВЫБРАТЬ

|ГруппыДоступа.Ссылка

|ИЗ

|Справочник.ГруппыДоступа КАК ГруппыДоступа

|ГДЕ

|ГруппыДоступа.Профиль = &Профиль

|И (ГруппыДоступа.Пользователь = &Пользователь

|ИЛИ ГруппыДоступа.Пользователи.Пользователь = &Пользователь)

|И НЕ ГруппыДоступа.ПометкаУдаления ";

Запрос.УстановитьПараметр("Профиль",МойПрофиль);   

Запрос.УстановитьПараметр("Пользователь",МойПользователь);

Выборка = Запрос.Выполнить().Выбрать();

Если НЕ Выборка.Следующий() тогда //нет такого профиля, надо создать

МояГруппаДоступаОб = справочники.ГруппыДоступа.СоздатьЭлемент();

МояГруппаДоступаОб.Наименование = Строка(МойПрофиль);

МояГруппаДоступаОб.Пользователь = мойПользователь;

Нов = МояГруппаДоступаОб.Пользователи.Добавить();

Нов.Пользователь = МойПользователь;

МояГруппаДоступаОб.Профиль = МойПрофиль;

МояГруппаДоступаОб.Записать();

КонецЕсли; //Нет такого профиля

КонецЕсли;//профиль Администратор

После выполнения этого кода, если все, что нужно обновлено - типовая конфигурация добавит пользователю роли. Раз уж пошли по программному пути, вот код, который добавляет пользователя в справочник Пользователи и ПользователяИБ в ПользователиИнформационнойБазы:

ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();

ПользовательИБ.имя = "Иванов";

ПользовательИБ.ПолноеИмя = "Иванов Иван Иванович";

ПользовательИБ.АутентификацияСтандартная = ИСТИНА;

ПользовательИБ.Пароль = "";

ПользовательИБ.записать();

Пользователь = Справочники.Пользователи.НайтиПоРеквизиту("ИдентификаторПользователяИБ",ПользовательИБ.УникальныйИдентификатор));

если Пользователь.Наименование = "" Тогда

//создаем пользователя 

ПользовательОб = Справочники.Пользователи.СоздатьЭлемент();

ОписаниеПользователяИБ = Пользователи.НовоеОписаниеПользователяИБ();

ЗаполнитьЗначенияСвойств(ОписаниеПользователяИБ,ПользовательИБ);

ОписаниеПользователяИБ.УникальныйИдентификатор =  ПользовательИБ.УникальныйИдентификатор;

ПользовательОб.Наименование = ОписаниеПользователяИБ.ПолноеИмя; 

ОписаниеПользователяИБ.Вставить("Действие","Записать");

ПользовательОб.ДополнительныеСвойства.Вставить("ОписаниеПользователяИБ",ОписаниеПользователяИБ);

ПользовательОб.записать();

 КонецЕсли;

Если вы добавляете не программно, то добавлять нужно из режима Предприятия - тогда пользователь ИБ у вас сам создатся.  И если раньше, в обычном приложении, достаточно будет добавить польз в конфигураторе - и при заходе в Предприятие, этот польз сам создавался в спр Пользователи, то с управляемым приложением такой фокус не прокатит - система не даст зайти под пользователем ИБ, которого нет в справочнике Пользователи. Пока вроде все. Если будет что-то еще, буду дополнять.

Начать дискуссию

Высокий кредитный рейтинг — не обязательное условие одобрения кредита

С высоким персональным кредитным рейтингом (ПКР) не всегда одобрят кредит.

👎 Освобожденных от НДС упрощенцев не освободили от счетов-фактур. Прогноз налогового инженера

Если доход за предыдущий год не превышает 60 млн рублей, в текущем году при УСН будет освобождение от НДС по статье 145 НК.

Медицина

Закупка медоборудования в условиях санкционного давления: пошаговая инструкция 

Начиная с 2022 года Российский бизнес испытывает жесткое санкционное давление, которое не обошло стороной  медицину. Несмотря на это, отечественная экономика не впала в рецессию, а наоборот получила мощный стимул для развития, но проблем у бизнесменов добавилось.

Закупка медоборудования в условиях санкционного давления: пошаговая инструкция 

Курсы повышения
квалификации

18
Официальное удостоверение с занесением в госреестр Рособрнадзора

С 24 июля начнут принимать заявки на отсрочку от службы в армии

IT-специалисты с 24 июля по 6 августа могут подать заявление об отсрочке на портале Госуслуги.

Первичные документы

Порядок перехода на ЭПД в 2024 году

Сегодня электронные перевозочные документы (ЭПД) уже используются наравне с бумажными, а Минтранс планирует в ближайшие годы перевести в «цифру» до 90% документооборота в сфере логистики. Многие компании, в том числе лидеры рынка, предпочли не ждать, когда ЭПД станут обязательными, и перейти на новый стандарт по собственной инициативе. Нужно ли следовать их примеру? Как перейти с бумажных перевозочных документов на электронные? Какие решения может предложить Айтиком? Рассказываем в статье. 

Порядок перехода на ЭПД в 2024 году

Агрегаторы компенсируют ущерб таксистам и курьерам

Цифровые платформы занятости будут обязаны отчислять в компенсационный фонд минимум 3 млн рублей. Из этих средств будут выплачивать деньги курьерам и таксистам, если их права будут нарушены агрегаторами.

Опытом делятся эксперты-практики, без воды

❗ На мелкие налоговые долги не будут высылать требования

Требование на сумму менее 500 рублей формировать не будут.

Менеджер маркетплейса на договоре ГПХ отсудила у него 1,3 млн за вынужденный простой

Суд восстановил незаконно уволенную сотрудницу маркетплейса и взыскал с площадки более 1,3 млн рублей за вынужденный простой.

Все новые правила ведения КУДиР и составления декларации на УСН уже в обновленном курсе «Клерка»

Изменения 2024 года только вступили в силу, а мы уже записали уроки по тому, как с ними работать. Научитесь правильно заполнять КУДиР и декларацию на УСН в соответствии с требованиями налоговой в 2024 году на курсе «Главный бухгалтер на УСН». Вы освоите профессию с нуля, систематизируете и актуализируете свои знания.

Иллюстрация: Вера Ревина/Клерк.ру

15 курсов бухгалтера для ИП: обучение с нуля

Вести бухгалтерию индивидуального предпринимателя не так сложно, как может показаться на первый взгляд. Существуют специальные курсы, на которых начинающие предприниматели и будущие бухгалтеры научатся выбирать систему налогообложения и минимизировать риски. А также работать с кассой, платить зарплату, автоматически формировать и сдавать отчетность. 

15 курсов бухгалтера для ИП: обучение с нуля
НДФЛ

Необлагаемый лимит для НДФЛ с депозитных процентов будет несгораемым для длинных вкладов

НДФЛ с процентов от долгосрочных вкладов будут считать по-новому.

Возмещение расходов на предупредительные меры: что и как можно вернуть

До 31 июля можно подать в СФР заявление и вернуть расходы на предупредительные меры: путевки на лечение сотрудников, медосмотры и многое другое. Разбираемся, какие расходы можно вернуть и какие документы для этого понадобятся. 

Возмещение расходов на предупредительные меры: что и как можно вернуть
Общество

В Таиланд можно отправиться без визы на 60 дней

Временный режим безвизового въезда в Таиланд стал постоянным.

Импортозамещение: решение 1C:ERP — альтернатива SAP в России

Импортозамещение стало ключевым направлением экономической политики России из-за глобальных изменений на мировой арене. Компании стремятся найти надежные и функциональные аналоги иностранным системам управления бизнес-процессами. Одна из таких систем — 1C:ERP, которая предлагает равноценную альтернативу широко известному SAP. 

Импортозамещение: решение 1C:ERP — альтернатива SAP в России

Стандартные налоговые вычеты на детей вырастут в два раза

На второго ребенка родители смогут получить стандартный налоговый вычет по НДФЛ в размере 2,8 тысяч рублей, а на третьего и последующего — 6 тысяч.

Криптовалюта

Лучшие криптообменники Екатеринбурга

Сегодня многие ищут способы купить криптовалюту* в Екатеринбурге, и сделать это можно с помощью крипто-бирж, P2P-сервисов и крипто-обменников. Для тех, у кого в приоритете — анонимность, предпочтительным является последний вариант. Так, криптовалютные обменники не требуют от клиентов никакой другой информации, кроме номеров крипто-кошельков и ников Telegram (для обратной связи с оператором)!

Лучшие криптообменники Екатеринбурга

За бесплатную раздачу продуктов питания могут отменить НДС и налог на прибыль

Депутаты собираются освободить компании от НДС и налога на прибыль за товары, которые отправили на благотворительность.

УСН

Работать на УСН по-простому больше не получится: будут счета-фактуры, книга продаж, декларация НДС

ИП на УСН с доходом в 2024 году более 60 млн рублей автоматически становится плательщиком НДС с первых дней 2025 года. И даже если выбрать ставку 5% без права на вычет, придется оформлять счета-фактуры, формировать книгу продаж и сдавать декларацию по НДС.

Как учитывать расходы на обучение сотрудников для налога на прибыль

Если организация отправляет сотрудников на обучение, то, при соблюдении определенных условий, эти расходы можно учитывать при расчете налога на прибыль. Рассказываем, как это сделать.

Как учитывать расходы на обучение сотрудников для налога на прибыль

Интересные материалы

ЕФС-1 с Разделом 2 за первое полугодие 2024: как сдать отчет

Отчетность по «травматизму» подается в составе единой формы ЕФС-1. Рассказываем, как сдать отчет за полугодие 2024 года.

ЕФС-1 с Разделом 2 за первое полугодие 2024: как сдать отчет