Программно добавить роль пользователю 1с
Т.е. когда система запускается, надо в зависимости от условий присвоить ему роль, либо роль 1, либо роль 2 - у второго человек точно также, но наоборот, можно другими путями, но там долго и лениво. а вот роль можно поменять? пробовал добавить, но он не активный, хотя в списке ролей у текущего пользователя данная роль есть, но если читать права на какой-то объект - то прав нет :(
задача чтобы чел коннектился по удаленке или через веб и имел ограничения по правам доступа, а через терминал полные так чтоли?
Только делать это придется где-то в привилегированном модуле, т.к. подобные закидоны (добавление ролей) доступно только пользователям - администраторам.
так если одну пользователю может проще права определить заранее? если есть условие при запуске, то в РЛС можно передать параметр который сможет определить правила. читай РЛС.
роль-то добавить можно, но вот действовать она начнет только после перезахода.
в (0) вообще какой-то маразм, если честно
(2) нет, просто есть два человека и они друг друга заменяют, кто первый зашел у того более полные права - а уж там они договорятся, кто будет первым заходить, зато когда в отпуск первый уйдет, не надо будет пароль узнавать первого и второй сможет работать спокойно. :)
(8) честно гон. права должны быть определенными а не так. проще тогда проверять кто в отпуске или нет и при запуске давать права или на то или на это. и все с помощью рлс тогда не прогадаешь. и не будешь мучатся
(9) это понятно, что лучше каждому и свои права, но жизнь есть жизнь и диктует свои условия более сложные :)
решение:
1. Сделать параметр сеанса, в который присваивать истина или ложь для помощника администратора (если второй заходит истина, если первый ложь).
2. Сделать константу, которая при первом входе главного администратора (кто первый успел (один из двух) присвоить Истина. При выходе - ложь - на тот случай если много откроют сеансов и можно было в следующий раз зайти как главный администратор.
3. Использовать привилегированный режим, через который можно узнать список активных пользователей относящиеся к одной роли.
4. На форме с помощью параметра сеанса отслеживать интерфейс - простой или сложный отображать для данного пользователя.
и всё - намного легче.
(12) в документации написано: роль добавить можно, но требуется перезапуск. Пользователи это не поймут двойного запуска :)
В данной статье я хочу рассмотреть базовый функционал подсистемы "Управление доступом", а именно управление профилями доступа для актуальной на текущий момент библиотеки стандартных подсистем (БСП). На момент написания публикации - версия БСП 3.1.5.208. Тестирование практических примеров осуществляется для Платформе 1с 8.3.19.1264.
Публикация будет полезна всем программистам - разработчикам, а так же желающим познакомиться с основным функционалом подсистемы "Управление доступом" в любой современной типовой конфигурации (работающей на БСП).
Материал статьи разбит на несколько частей с практическими примерами, в которых рассматривается проверка доступности ролей, включение или выключение профилей пользователю, программное создание или обновление профилей базы и прочие интересные моменты использования функционала БСП "управление доступом". Примеры публикации актуальны для серверных и файловых баз.
Перейдем к первой части - проверка наличия ролей и программное добавление профилей пользователю:
Часть 1. Проверка наличия роли и программное добавление профиля пользователю.
Самый базовый метод - проверка, что у пользователя есть роль через Профиль группы доступа, в котором он состоит:
Данный код будет возвращать Истину, если у пользователя "ТестПользователь" есть роль "ДобавлениеИзменениеКурсовВалют", которая добавлена через профиль группы доступа пользователя:
Рис.1 Профиль пользователя с ролью "Добавление и изменение курсов валют".
Поскольку наш только созданный тестовый пользователь ТестПользователь не имеет право на вход в базу данных попробуем добавить профиль "Пользователь" пользователю ТестПользователь следующим кодом:
Смотрим, профиль добавился:
Рис.2 Добавленный профиль "Пользователь" процедурой ВключитьПрофильПользователю.
Теперь, мы можем зайти в базу данным пользователем:
Рис.3 Зашли тестовым пользователем в базу, при назначенном профиле "Пользователь".
Так же, я могу добавить профиль "Администратор" с ролями "Полные права" и "Администратор системы", т.е. программно с помощью БСП в любой типовой конфигурации я могу "раздавать" полные права.
Отключение любого профиля у пользователя осуществляется вот таким кодом:
Так, с базовым включением/выключением профиля мы разобрались, теперь перейдем ко второй части статьи - программное создание профиля доступа с помощью библиотеки стандартных подсистем.
Часть 2. Программное обновление и создание профиля доступа на БСП.
Данную часть статьи я разобью на два подраздела, в которых проведу некоторые эксперименты для обновления или создания нового профиля доступа.
Подраздел 2.1 Программное обновление поставляемого профиля доступа.
Для подготовки профиля доступа, мы воспользуемся типовым программным конструктором, который предлагается в библиотеке стандартных подсистем. Выглядит это вот так:
Воспользуемся вот этой функцией обновления профиля (находится в менеджере справочника ПрофилиГруппДоступа):
Типовая функция выглядит вот так (скопирую код в статью, т.к. далее, я буду вносить в эту функцию доработки):
Во-первых, для эксперимента - сделаем эту функцию Экспортной, чтобы мы могли напрямую обращаться к ней через модуль менеджера справочника.
Во-вторых, как заявлено, данная функция может обновлять только поставляемые профили, если я ищу профиль по гуиду - выходит ошибка - профиль не найден в поставке.
Поэтому, я доработал данную функцию (мне показалась, что по условиям она сыроватой на этом релизе), теперь позволяет вносить исправления и в поставляемые профили и создавать новые по типовому конструктору профиля в БСП.
Выглядит эта функция вот так:
С помощью этой функции вносим изменения про поставляемый профиль менеджера (используя гуид профиля и конструктор выше). Результат выглядит вот так:
Рис.4.Профиль отличается от поставляемого
Теперь, перейдем к созданию своего профиля.
Подраздел 2.2 Программное создание профиля доступа.
Здесь, все тоже самое, только гуид мы создаем самостоятельно. Конструктор и код исполнения вот такой:
Получаем программный профиль с ролями:
Рис.5.Программный профиль с ролями
На этом закончим второй раздел и перейдем к выводам и заключению.
Выводы и заключение
В данной статье, я решил поэкспериментировать с программным созданием профилей в рамках системы БСП, используя конструктор профиля и функцию создания/обновления. В начале статьи рассмотрены примеры добавление профилей пользователям, а во второй части статьи - создание и обновление профилей.
Есть еще одна идейка - написать статью и поставить эксперименты с программными настройками видов доступа в профиле.
Надеюсь, что вам понравился данный материал и он будет вам полезен. Спасибо за внимание!
Другие мои материалы по подсистемам БСП
Также прошу ознакомиться с другими моими статьями по интересному функционалу типовых конфигураций в рамках библиотеки стандартных подсистем и по разделам:
Часто встречаю вопросы касаемые программного создания и настройки прав пользователей.
В этот статье я приведу примеры для Обычного и Управляемого приложений, которые программно создают пользователя в конфигураторе и в режиме Предприятие (справочник пользователи) и установку Групп пользователей.
Обработки были написаны под УТ, но, при необходимости, вы можете их легко доработать под другие конфигурации.
Управляемое приложение:
В конфигурациях на управляемом интерфейсе (Такси) изменили подход к ведению пользователей. Если вы добавляете не программно, то добавлять нужно из режима Предприятия - тогда пользователь ИБ у вас сам создатся. И если раньше, в обычном приложении, достаточно будет добавить польз в конфигураторе - и при заходе в Предприятие, этот польз сам создавался в спр Пользователи, то с управляемым приложением такой фокус не прокатит - система не даст зайти под пользователем ИБ, которого нет в справочнике Пользователи.
! В типовых конфигурациях для работы с пользователями активно используется БСП !
В общем модуле Пользователи используется программный интерфейс процедур и функций НовоеОписаниеПользователяИБ, ПрочитатьПользователяИБ, ЗаписатьПользователяИБ иУдалитьПользователяИБ.
Код создания нового пользователя с использованием БСП:
Обычное приложение:
В обычном все проще:
Похожие FAQ
1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое Автоматическая установка ширины колонки табличного документа. 0
Процедура, которая " примерно" делает автоширину колонок (навроде, как если бы выделить все колонки и дважды щелкнуть мышкой по границе заголовка колонки). Привожу текст, работает неахти, но лучше чем ничего: Процедура РасчетШириныКолонок(Табличный База 1С при запуске уходит в дамп и вылетает 1
В последнее время частенько обращаются пользователи у которых после замены или ремонта компьютера 1С не запускается, а точнее при открытии уходит в dump и вылетает. Как правило, решение одно: Отключить аппаратное ускорение видеокарты В Window Ввод документа на основании - Программно 11
НовДок = Документы.ПеречислениеНДФЛвБюджет.СоздатьДокумент(); //Заполнить - вызывает ОбработкаЗаполнения(Основание) в документе ПеречислениеНДФЛвБюджет НовДок.Заполнить(ЭлементыФормы.ДокументСписок.ТекущаяСтрока); НовДок.ПолучитьФорму().Открыть() Вывод колонтитулов программно ВерхнийКолонтитул, НижнийКолонтитул 6
Колонтитул является специальным текстом, выводимым вверху или внизу каждой страницы при выводе документа на печать. В тексте колонтитула можно использовать следующие управляющие конструкции: > ( >) - при печати в данном месте будет выведен номер ст Посмотреть все результаты поиска похожих
Еще в этой же категории
Ограничение доступа на уровне записей RLS 6
Когда требуется более тонкая настройка доступа, на помощь приходит механизм RLS - Record Level Security. Конфигурации системы «1С:Предприятие» 8 изначально позиционировалась как программа для многофирменного учета, и один из первых возникающих воп Право на изменение и право на редактирование - в чем отличие? 6
В чем собственно отличие? Кратко: Изменение - определяет возможность/невозможность вообще изменить объект. Редактирование - несет интерактивный смысл. Подробнее: Интерактивные и основные права Все права, поддерживаемые системой 1С:Предпри Отключение Пользователей встроенными в платформу функциями 5
Нужно создать ярлыки(в любой папке щелкните правой клавишей мыши - Создать - Ярлык) с командами: Отключение или Завершение работы пользователей: Для Файлового варианта: " C: Program Files 1cv81 bin 1cv8.exe" ENTERPRISE /F путь к базе /N и Сравнение ролей доступа 5
Порядок простых действий для казалось бы сложной операции по сравнению ролей в 1С 8. 1) Открываете Роль1 в ее панели выбираете подменю Действия - Вывести список- сохраняете в Новый1.mxl 2) Открываете Роль2 в ее панели выбираете подменю Действия - В Использование RLS 3
Начиная с платформы 8.0 системы 1С Предприятие, существует возможность ограничивать права доступа пользователей на уровне записей. Для этого используется механизм RLS (Record Level Security). Такая «тонкая» настройка может быть полезна для ограничени Посмотреть все в категории Пользователь, роль доступа, интерфейс
Часто встречаю вопросы касаемые программного создания и настройки прав пользователей.
В этот статье я приведу примеры для Обычного и Управляемого приложений, которые программно создают пользователя в конфигураторе и в режиме Предприятие (справочник пользователи) и установку Групп пользователей.
Обработки были написаны под УТ, но, при необходимости, вы можете их легко доработать под другие конфигурации.
Управляемое приложение:
В конфигурациях на управляемом интерфейсе (Такси) изменили подход к ведению пользователей. Если вы добавляете не программно, то добавлять нужно из режима Предприятия - тогда пользователь ИБ у вас сам создатся. И если раньше, в обычном приложении, достаточно будет добавить польз в конфигураторе - и при заходе в Предприятие, этот польз сам создавался в спр Пользователи, то с управляемым приложением такой фокус не прокатит - система не даст зайти под пользователем ИБ, которого нет в справочнике Пользователи.
! В типовых конфигурациях для работы с пользователями активно используется БСП !
В общем модуле Пользователи используется программный интерфейс процедур и функций НовоеОписаниеПользователяИБ, ПрочитатьПользователяИБ, ЗаписатьПользователяИБ иУдалитьПользователяИБ.
Код создания нового пользователя с использованием БСП:
Обычное приложение:
В обычном все проще:
Похожие FAQ
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П PostgreSQL: установка, настройка, обслуживание 11
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблиц База 1С при запуске уходит в дамп и вылетает 1
В последнее время частенько обращаются пользователи у которых после замены или ремонта компьютера 1С не запускается, а точнее при открытии уходит в dump и вылетает. Как правило, решение одно: Отключить аппаратное ускорение видеокарты В Window Восстановление пароля с версии 8.3.17 1
Бывают случаи когда нужно восстановить доступ к 1С, но пароль утерян или прошлый программист уволился и прочее. Доступные методы в интернете не работают с версии 8.3.17, а некоторые методы полностью вычищают список пользователей. Данный метод позвол Вывод в поле Наименование справочника Штатное список значений из справочника Подразделения? 0
Есть два справочника Штатное и Подразделения. В справочнике Штатное есть автоматически генерируемое поле Наименование. Как программно сделать так чтобы в поле Наименование справочника Штатное выводились списком значений из поля Наименование справочн Посмотреть все результаты поиска похожих
Еще в этой же категории
Ограничение доступа на уровне записей - RLS (Отбор по организации) 1
Часто возникает необходимость в частичном ограничении доступа к данным. Например, когда пользователь должен видеть документы только своей организации. В таких случаях в 1С используется механизм ограничения доступа на уровне записей (так называемый, Посмотреть все в категории Пользователь, роль доступа, интерфейс
Часто встречаю вопросы касаемые программного создания и настройки прав пользователей.
В этот статье я приведу примеры для Обычного и Управляемого приложений, которые программно создают пользователя в конфигураторе и в режиме Предприятие (справочник пользователи) и установку Групп пользователей.
Обработки были написаны под УТ, но, при необходимости, вы можете их легко доработать под другие конфигурации.
Управляемое приложение:
В конфигурациях на управляемом интерфейсе (Такси) изменили подход к ведению пользователей. Если вы добавляете не программно, то добавлять нужно из режима Предприятия - тогда пользователь ИБ у вас сам создатся. И если раньше, в обычном приложении, достаточно будет добавить польз в конфигураторе - и при заходе в Предприятие, этот польз сам создавался в спр Пользователи, то с управляемым приложением такой фокус не прокатит - система не даст зайти под пользователем ИБ, которого нет в справочнике Пользователи.
! В типовых конфигурациях для работы с пользователями активно используется БСП !
В общем модуле Пользователи используется программный интерфейс процедур и функций НовоеОписаниеПользователяИБ, ПрочитатьПользователяИБ, ЗаписатьПользователяИБ иУдалитьПользователяИБ.
Код создания нового пользователя с использованием БСП:
Обычное приложение:
В обычном все проще:
Похожие FAQ
Еще в этой же категории
Ограничение доступа на уровне записей RLS 6
Когда требуется более тонкая настройка доступа, на помощь приходит механизм RLS - Record Level Security. Конфигурации системы «1С:Предприятие» 8 изначально позиционировалась как программа для многофирменного учета, и один из первых возникающих воп Право на изменение и право на редактирование - в чем отличие? 6
В чем собственно отличие? Кратко: Изменение - определяет возможность/невозможность вообще изменить объект. Редактирование - несет интерактивный смысл. Подробнее: Интерактивные и основные права Все права, поддерживаемые системой 1С:Предпри Отключение Пользователей встроенными в платформу функциями 5
Нужно создать ярлыки(в любой папке щелкните правой клавишей мыши - Создать - Ярлык) с командами: Отключение или Завершение работы пользователей: Для Файлового варианта: " C: Program Files 1cv81 bin 1cv8.exe" ENTERPRISE /F путь к базе /N и Сравнение ролей доступа 5
Порядок простых действий для казалось бы сложной операции по сравнению ролей в 1С 8. 1) Открываете Роль1 в ее панели выбираете подменю Действия - Вывести список- сохраняете в Новый1.mxl 2) Открываете Роль2 в ее панели выбираете подменю Действия - В Использование RLS 3
Начиная с платформы 8.0 системы 1С Предприятие, существует возможность ограничивать права доступа пользователей на уровне записей. Для этого используется механизм RLS (Record Level Security). Такая «тонкая» настройка может быть полезна для ограничени Посмотреть все в категории Пользователь, роль доступа, интерфейс
Читайте также: