Копирование прав доступа 1с 8.3. Настройка дополнительных прав пользователей. Программная проверка прав доступа

💖 Нравится? Поделись с друзьями ссылкой

Настройку доступа можно производить в нескольких местах программы, но рекомендуется выполнять её для профиля пользователя. Заходим в профиль администраторы и что мы видим?

Редактирование значений настроек запрещено. Это абсолютно нормально, не стоит пытаться установить их в другом месте. Просто система считает, если у пользователя одна из ролей - «Полные права», то ему разрешено все , не зависимо от настроек дополнительных прав. Поэтому, нет смысла их настраивать. Для других профилей дополнительные права замечательно устанавливаются.

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

Как же поведет себя система, если значения дополнительных прав у пользователя и его профиля не совпадают? Может сложиться впечатление, что система должна в этом случае использовать значение права, установленное пользователю, как более точное. Но это не так! Приоритет прав профиля выше, чем у группы пользователей и пользователя. Прочитав значение права у профиля, программа даже не будет смотреть, что там установлено для группы, поэтому и необходимо выполнять настройку в профиле.

Зачем же тогда сделана возможность заполнять права для группы и пользователя, если они все равно не используются? А использоваться они будут, если пользователю профиль не задан. Какое же из прав будет брать система в этом случае? Посмотрим в конфигураторе:

Функция ПрочитатьЗначениеПраваПользователя(Право, ЗначениеПоУмолчанию, Пользователь) ВозвращаемыеЗначения = Новый Массив ; Запрос = Новый Запрос; Запрос.УстановитьПараметр("Пользователь" , Пользователь); Запрос.УстановитьПараметр("ПравоПользователя" , Право); Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | РегистрЗначениеПрав.Значение |ИЗ | РегистрСведений.ЗначенияДополнительныхПравПользователя КАК РегистрЗначениеПрав |ГДЕ | РегистрЗначениеПрав.Право = &ПравоПользователя | И РегистрЗначениеПрав.Пользователь В | (ВЫБРАТЬ | ПользователиГруппы.Ссылка КАК Ссылка | ИЗ | Справочник.ГруппыПользователей.ПользователиГруппы КАК ПользователиГруппы | ГДЕ | ПользователиГруппы.Пользователь = &Пользователь | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | ЗНАЧЕНИЕ(Справочник.ГруппыПользователей.ВсеПользователи) | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | &Пользователь)" ; Выборка = Запрос. Выполнить(). Выбрать(); Если Выборка. Количество() = 0 Тогда ВозвращаемыеЗначения. Добавить(ЗначениеПоУмолчанию); Иначе Пока Выборка. Следующий() Цикл ВозвращаемыеЗначения. Добавить(Выборка.Значение); КонецЦикла; КонецЕсли; Возврат ВозвращаемыеЗначения; КонецФункции

Функция возвращает массив значений прав, заданных для пользователя, группы этого пользователя и группы "Все пользователи".

Функция ПравоЕстьУПользователя(Право, ЗначениеПоУмолчанию) МассивЗначенийПрава = ПолучитьЗначениеПраваПользователя(Право, ЗначениеПоУмолчанию); Возврат МассивЗначенийПрава.Найти(Истина) <> Неопределено; КонецФункции

О группе «Все пользователи» не стоит забывать. В нее входят все пользователи системы, но редко кто смотрит, какие права для неё заданы. Так же не верным решением будет устанавливать значение для этой группы, если мы хотим чтобы оно действовало для всех пользователей. Повторюсь, более приоритетным является профиль, именно в нем стоит редактировать дополнительные права.

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

Итак, подведем итоги:

Если у пользователя есть роль «Полные права», то значения дополнительных прав ему задавать не нужно, ему и так все разрешено.Если пользователю задан профиль, то берется значение соответствующего профиля. Если профиль не задан, то система читает значения для группы, пользователя и группы «Все пользователи», и выбирает одно по принципу если разрешено в одном месте, то разрешено вообще.


Работа в программе 1С позволяет разным пользователям назначать функциональный доступ к документам и справочникам базы. Например:

  • Если пользователь работает как бухгалтер, то ему в 1С назначается соответствующая роль, позволяющая добавлять, изменять, удалять документы и справочники по хозяйственной деятельности.
  • Если пользователь 1С работает только с отчетами и просматривает данные базы, допустим, менеджер, то ему даются права на чтение данных.
  • Пользователь, который может работать со всеми объектами программы 1С – Администратор, имеет полные права и получает неограниченный доступ по работе с базой данных в 1С.

Права доступа может настраивать только Администратор – пользователь 1С, которому назначены Полные права.

Установка прав доступа в 1С 8.3 Бухгалтерия 3.0

В 1С:Бухгалтерия 8 ред. 3.0 выделено 4 основных профиля для работы с программой:

  • Администратор;
  • Бухгалтер;
  • Главный бухгалтер;
  • Синхронизация с другими программами;
  • Только чтение.

Чтобы понять принцип задания прав в 1С, обратимся к конфигуратору. При анализе объектов конфигурации увидим специальную ветку Роли , где перечислены все заданные разработчиками 1С возможные доступы к данным базы:

Каждой роли соответствует набор возможностей для работы с объектами конфигурации, это –

  • Чтение;
  • Добавление;
  • Проведение;
  • Отмена проведения;
  • Редактирование;
  • Удаление.

Если открыть какую-то заданную роль, то по каждому объекту можно просмотреть – что можно делать с каждым объектом конфигурации:

Важно знать, что пользователю 1С можно назначать любую совокупность ролей из заданного разработчиками списка. При этом, если в какой-то роли изменять объект нельзя, а в другой, добавленной этому пользователю роли – можно, то результирующая по правам пользователя будет – можно «изменять». Роли взаимно дополняют друг друга. Для того, чтобы объект не мог быть изменен пользователем, ни в одной из заданных ему ролей не должно стоять «Изменение».

Настройка прав доступа в 1С 8.3 Бухгалтерия

Настройка прав доступа в 1С 8.3 осуществляется в разделе Администрирование – Настройки пользователей и прав:

Открывается окно Настройки пользователей и прав:

Рассмотрим возможности настройки доступа в 1С.

Как создать нового пользователя в 1С 8.3

По умолчанию программа 1С выставляет Вход в программу разрешен , Показывать в списке выбора и вход в программу по установленному в 1С логину и паролю. Пароль можно задать самостоятельно, а можно предложить задать его программе. Как правило, пароль, заданный программой 1С, отвечает более серьезному уровню проверки и подобрать такой пароль при взломе системы сложнее.

Пароль необходимо помнить! Если пароль утерян, то только Администратор может перезадать его заново. Если пароли утеряны и в базу не войти, то придется «взламывать» вход в базу.

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

Как настроить права доступа на основании типовых профилей в 1С 8.3

Каждому пользователю (Администрирование – Настройки пользователей и прав – Пользователи) назначают Права доступа из списка профилей, что есть в конфигурации. Например, для бухгалтера Петровой С.Б. назначаем профиль Бухгалтер:

Здесь же можем перенести настройки новому пользователю от пользователя, уже работающего в 1С: настройку Функциональности, внутренние настройки отчетов и т.д., чтобы не тратить время и не набирать все вручную:

Отмечаем настройки для переноса новому пользователю Бухгалтер Петрова от пользователя Администратор:

Переносим персональные настройки, настройки печати и Избранное:

Нажимаем кн. Выбрать и в форме выбора настроек «Скопировать и закрыть». Все настройки для нового пользователя от пользователя Администратор перенесены.

Настройка прав доступа с добавлением новых профилей в 1С 8.3

Создаем новый профиль с ограниченным доступом к справочникам и документам. Профили групп доступа – Создать:

Новый профиль удобно создавать по подсистемам 1С. Например, для прав Расчетчика можем отметить следующий функционал:

  • Отражение зарплаты в бухгалтерском учете;
  • Чтение налогов и взносов;
  • Взаиморасчеты с сотрудниками;
  • Персонифицированный учет;
  • Учет зарплаты:

По кн. Только выбранные роли показывается список выбранных ролей пользователя. Кадровый учет можно задать отдельно для профиля Кадровик.

Как настроить дополнительные права доступа к уже имеющимся типовым профилям в 1С 8.3

Конкретному пользователю 1С с выбранным профилем можно добавлять функционал. Например, для пользователя Петрова, в профиле Бухгалтер, не доступна команда Все функции , но мы можем ее добавить данному пользователю. Заходим Администрирование – Настройки пользователей и прав – Профили групп доступа. Кн. Создать – режим Все функции – добавляем права Режим “Все функции”:

Добавляем новый профиль бухгалтеру Петровой С.Б.:

Настройка дополнительных прав доступа к отдельным документам и справочникам в 1С 8.3

Данная настройка предусматривает работу с расширением конфигурации. Допустим, необходимо настроить доступ пользователю 1С к произвольному набору документов и справочников. Набор этих документов и справочников может быть разным – разработчики 1С не в силах предусмотреть все варианты под подходящие роли, которые могут потребоваться пользователям на практике. Тем более, что запросы на доступ к данным могут быть совершенно неординарные.

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

В 1С 8.3, в связи с появлением новой возможности работать с приложениями конфигурации, можем реализовать свою задачу по разграничению прав пользователей без снятия запрета редактирования с основной конфигурации и оставляя ее полностью типовой. Как это сделать – сейчас и рассмотрим:

  1. Для справочника Пользователи введем дополнительный реквизит «Доступ_Реализации_Товаров», который будет принимать значения «Да» или «Нет».

Заходим Администрирование – Общие настройки –Дополнительные реквизиты и сведения. Включаем возможность работать с «Реквизитами и сведениями с общим списком значений»:

  1. Открываем гиперссылку Дополнительные реквизиты .

В левой колонке перечней объектов конфигурации находим Пользователи и нажимаем на кн. Добавить . Открывшуюся форму заполняем как показано ниже. Новый реквизит будет иметь два значения: «Да» и «Нет». Объединим значения в группу «Доступ». Заполняем закладку Главное:

Заполняем закладку Значения:

  1. Теперь заполним этот реквизит для наших пользователей.

«Бухгалтер Петрова» – Нет:

«Администратор» – Да:

Все необходимые действия в базе 1С 8.3 сделаны, теперь будем работать с расширением Конфигурации .

  1. Входим в конфигуратор базы данных: Конфигурация – Расширения конфигурации:

Добавляем новое расширение конфигурации по кн. +:

Соглашаемся с выбранными по умолчанию данными расширения или задаем свои:

Открываем конфигурацию расширения по кн. :

Сейчас будем переносить из основной конфигурации данные, необходимые для работы. Созданное расширение конфигурации «Расширение 1» пока пустое:

В основной конфигурации находим в документах – документ Реализация товаров и услуг, и переносим форму с которой будем работать. Например, добавим «ФормаДокументаТовары» в расширение конфигурации, встав на наименование формы и щелкнув по ней правой кн. мышки. Из выпадающего меню выбираем команду «Добавить в расширение»:

Открываем форму в расширении конфигурации и создаем обработку события ПередЗаписью . При создании обработчика события программа 1С 8.3 попросит указать, где создавать программный код. Выбираем: Создать на клиенте и процедуру на сервере без контекста:

При создании события увидим в пустой клеточке событий «ПередЗаписью» назначенную программой 1С 8.3 процедуру обработки события: «Расш1_ПередЗаписью»:

Переходим в модуль формы и вставляем следующий программный код:

Обновляем изменения и запускаем базу в пользовательском режиме для проверки внесенных изменений. Входим под пользователем Бухгалтер Петрова и редактируем документ Реализации Товаров и услуг, нажимаем кн. Записать :

Для администратора редактирование документа пройдет без проблем.

Приведенный программный код можно поставить в расширении конфигурации 1С 8.3 для любого документа и справочника и это позволит не менять типовую конфигурацию, но в то же время решить проблему доступа к объектам базы для разных пользователей.

Как предоставить доступ к варианту отчета с индивидуальными настройками для других пользователей в 1С 8.3 ЗУП смотрите в нашем видео:

Здравствуйте уважаемые читатели блога . Пришлось немного затянуть с очередной статьей в связи с интенсивной сдачей отчетности и большим количеством поступающих вопросов по этому поводу. Кстати, и Вы можете задавать свои вопросы в чате или на отправлять сообщения напрямую мне на почту. Но хватит рекламы) Сегодня мы поговорим о новых полезных и интересных возможностях, которые нам дарит новая платформа 1С Предприятия 8.3 и конфигурации, построенные на её основе: Зарплата и Управление Персоналом 3.0 и Бухгалтерия Предприятия 3.0 .

В статье пойдет речь о том, как самостоятельно настроить доступ пользователя только к тем документам, справочникам и отчетам, которые ему нужны для работы и ограничить доступ к остальным. В этом нам поможет командный интерфейс с гибкой настройкой, появившийся в программах 1С редакции 3.0. Обсуждать особенности разграничения прав доступа на объекты программы мы будем на основе конфигурации 1С ЗУП 3.0, но этот же механизм можно с успехом использовать и для программного продукта 1С Бухгалтерия Предприятия 3.0. Собственно, я и изучил этот вопрос, когда оказывал по настройке пользователей именно в Бух 3.0.

Как создать пользователя в обычном пользовательском режиме работы 1С редакции 3.0




Хочу сразу заметить, что работать нам предстоит и с обычным пользовательским режимом эксплуатации программы, и с режимом конфигуратора. В этом нет ничего страшного и сложного, программировать не придется) Также сразу замечу, что скриншоты в этой статье будут представлены из нового, не так давно появившегося в программах 1С редакции 3.0 интерфейса «Такси» . Чтобы на него переключиться достаточно открыть сервисное меню и там найти настройки параметров. В окне параметров в группе переключателей «Внешний вид» следует выбрать интерфейс «Такси» и перезагрузить программу. Хотя, кому удобно может оставаться в обычном интерфейсе, все документы, справочники и настройки, которые я буду обсуждать в статье, идентичны в этих интерфейсах.

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

Если требуется, то можно сразу установить пароль.

Теперь, что касается прав доступа для этого нового пользователя. Их устанавливать не надо. В настройку прав доступа можно попасть непосредственно из формы, в которой настраивается пользователь. Достаточно в её верхней части перейти по ссылке «Права доступа». Так вот, необходимо, чтобы в правах доступа (и на закладке «Группы доступа» , и на закладке «Разрешенные действия (роли)» ) всё было пусто. Права мы будем настраивать не в пользовательском режиме, а в конфигураторе 1С, чуть позже.

Но в этом отношении есть важная особенность. Необходимо, чтобы в базе был хотя бы один пользователь, который имеет административные права. У меня таким пользователем является Администратор. Он входит в группу доступа «Администратор» и имеет роли «Администратор системы» и «Полные права».

Теперь нам следует перейти в режим конфигуратора и уже в нем продолжить настройку. Для этого при запуске 1С выбираем нужную базу и жмем кнопку «Конфигуратор». Только не следует заходить под новым пользователем. Он пока не имеет никаких прав, и работа будет невозможна. Входить следует под пользователем с полными правами, в моем случае это «Администратор».


После открытия окна конфигуратора давайте убедимся, что и здесь отображается, созданный нами новый пользователь. Список пользователе в конфигураторе хранится в разделе главного меню «Администрирование» -> «Пользователи».

Обратите внимание, что у пользователя стоит вопросительный знак. Это означает, что для него не определено ни одной роли, т.е. другими словами, не задано прав доступ. «Роли» — это объект конфигурации. В каждой роли устанавливается набор документов, справочников, отчетов, к которым имеет доступ пользователь, обладающей этой ролью. Все доступные роли мы можем увидеть если откроем пользователя и перейдем на закладку «Прочие».

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

Режим редактирования типовой конфигурации в 1с

Семинар «Лайфхаки по 1C ЗУП 3.1»
Разбор 15-ти лайфхаков по учету в 1с зуп 3.1:

ЧЕК-ЛИСТ по проверке расчета зарплаты в 1С ЗУП 3.1
ВИДЕО - ежемесячная самостоятельная проверка учета:

Начисление зарплаты в 1С ЗУП 3.1
Пошаговая инструкция для начинающих:

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

Во-первых, необходимо открыть конфигурацию. Для этого в разделе главного меню «Конфигурация» нажимаем «Открыть конфигурацию» . После этого в левой части конфигуратора появится окно с древовидной структурой всех объектов информационной базы. Во-вторых, также в разделе главного меню «Конфигурация» переходим в пункт «Поддержка» -> «Настройка поддержки». Откроется одноименное окно. Если окно имеет вид, как на скриншоте, то значит у Вас конфигурация типовая. При этом я имею ввиду наличие надписи «Конфигурация находится на поддержке» и наличие кнопки .

Итак, если у Вас типовая конфигурация, то нам придется включить возможность её изменения, иначе мы не сможем создать новую роль. Отдельно хочу отметить, что с точки зрения обновления особых сложностей не возникнет, так как мы будет создавать новую роль, а не изменять существующие, поэтому все типовые объекты конфигурации так и останутся типовыми. Для включения возможности редактирования конфигурации надо в окне «Настройка поддержки» нажать на кнопку «Включить возможность изменения» .

Возможно, в следующих публикациях я более подробно напишу про такого рода обновления. Итак, в этом окне нам надо ответить «Да».

Далее откроется окно «Настройка правил поддержки», где необходимо выбрать переключатель «Объект поставщика редактируется с сохранением поддержки». Для нашей задачи этого будет вполне достаточно. Только учтите, что после нажатия «ОК» придется немного подождать, прежде чем продолжить работу.

После этого в дереве объектов конфигурации (помните, когда мы открывали конфигурацию, оно у нас открылось в левой части конфигуратора) должны исчезнуть замочки, а в окне «Настройка поддержки» появится надпись «Конфигурация находится на поддержке с возможностью изменения».

Как создать новую роль в конфигураторе 1С

Семинар «Лайфхаки по 1C ЗУП 3.1»
Разбор 15-ти лайфхаков по учету в 1с зуп 3.1:

ЧЕК-ЛИСТ по проверке расчета зарплаты в 1С ЗУП 3.1
ВИДЕО - ежемесячная самостоятельная проверка учета:

Начисление зарплаты в 1С ЗУП 3.1
Пошаговая инструкция для начинающих:

Вот теперь мы можем приступить к созданию новой роли. Ещё раз поясню, что такое «Роль» — это набор прав, определяющих возможность просмотра или редактирования справочников, документов и прочих объектов конфигурации. Просмотр и редактирование – это наиболее понятные варианты прав доступа, но есть и многие другие. Чтобы стало понятнее давайте выберем в дереве объектов Роль «Полные права» (Общие -> Роли -> Полные права). Откроется окно настройки. В этом окне слева перечислены все объекты программы (справочники, документы, отчеты и прочие), а справа те права, которые в этой роли определены для каждого из объектов. На скриншоте это видно.

Теперь напомню задачу. Нам необходимо обеспечивать возможность работы пользователя только с ограниченным кругом документов, отчетов и справочников. Наиболее очевидным вариантом является – создать новую роль и определить доступ только к нужным объектам. Однако, в конфигурации есть большое количество всяких служебных объектов, таких как константы, общие формы, общие модули, регистры различного назначения и для нормальной работы пользователя необходимо иметь доступ к этим общим объектам. Их довольно много и очень легко какой-то объект упустить. Поэтому я предложу несколько другой подход.

Давайте создадим новую роль путем копирования типовой роли «Полные права». Эту новую роль назовем «Роль_Фролова». Для редактирования наименования роли надо зайти в свойства и без пробелов задать новое имя.

Теперь давайте эту роль установим для пользователя «Фролова». Перед этим нам надо сохранить информационную базу, чтобы только что созданная роль появилась в списке доступных ролей пользователя. Жмем клавишу F7 или нажимаем соответствующую кнопку в панели инструментов. После этого можно устанавливать эту роль нашему пользователю. Заходим в список пользователей (Администрирование -> Пользователи) и на закладке «Прочие» ставим галочку напротив роли «Роль Фролова». Жмем «Ок».

Пока эта роль полностью идентична исходной («Полные права»). В таком виде мы её и оставим. Пока. А настраивать доступ к документам и справочникам будем, используя возможности гибкой настройки командного интерфейса программы 1С .

Как настроить элементы командного интерфейса в 1С

Теперь нам предстоит вернуться в обычный пользовательский режим работы, т.е. как при обычной работе в 1С. Нам надо запуститься под нашим новым пользователем – Фролов С.М. Это можно сделать из конфигуратора. Однако предварительно надо установить настройку, чтобы при запуске Предприятия из конфигуратора запрашивался пользователем, под которым следует запускаться. Для этого в главном меню выбираем «Сервис» -> «Параметры» и на закладке «Запуск 1С:Предприятия» в разделе «пользователь» устанавливаем переключатель «Имя», жмем ОК и можем запускать пользовательский режим непосредственно из конфигуратора. Для этого используем команду из главного меню «Сервис» -> «1С:Предприятие». И не забудьте, что выбрать мы должны пользователя Фролова.

Когда программа запустится под пользователем Фроловым, ему будут доступны все объекты, поскольку его роль создана копированием полных прав, и мы ничего не меняли. Давайте допустим, что для этого пользователя требуется оставить лишь возможности кадрового ведения учета, но не все, а только прием, перемещение и увольнение. Для начала надо убрать все лишние разделы и оставить только один – «Кадры».

Для этого заходим в служебное меню Вид -> Настройка панели разделов . В открывшемся окне переносим все ненужные разделы из правой колонки в левую.

Теперь обратите внимание, что у нас останется всего 2 раздела «Главное» и «Кадры». «Главное» мы убрать не можем, поэтому необходимо в этом разделе оставить только нужные ссылки. Для этого переходим в этот раздел и в правом верхнем углу жмем «Настройка навигации» . Это окно похоже на то, в котором мы убирали лишние раздела, и оно имеет такой же принцип работы. В правой колонке оставляем только нужные документы и справочники.

И в результате в разделе «Главное» у нас получится только необходимый кадровику набор документов, отчетов и справочников.

Что касается раздела «Кадры», то его можно оставить в исходном виде или настроить более тонко, если, например, кадровик не должен иметь дело с больничными, отпусками и декретными. То точно также в панели навигации эти документы можно убрать. На этом я подробно останавливаться не буду, поскольку это уже зависит от конкретной задачи.

Отмечу только ещё один элемент, который также надо настроить, чтобы избежать возможность доступа пользователя к закрытым для него данным. Этим элементом является «Начальная страница » или как её ещё называют «Рабочий стол» . Он автоматически открывается при запуске пользовательского режима. Для настройки начальной страницы следует открыть служебное меню Вид -> Настройка начальной страницы. Откроется окно, в котором из перечня доступных форм можно настроить состав левой и правой колонки. Вы бор доступных форм не такой уж и большой. Так, например, для нашей ситуации, где сотрудник занимается кадрами не следует давать ему доступ к такой форме как «Расчет зарплата: Форма». Но я решил вообще убрать все формы, чтобы лишний раз не искушать пользователя. Начальная страница будет пустой.

Окончательная настройка роли пользователя в конфигураторе 1С

Итак, предположим, что мы настроили доступ ко всем необходимым документам и справочникам для нашего кадровика, используя возможности командного интерфейса. Теперь главный вопрос как же сделать так, чтобы пользователь сам не смог открыть настройки интерфейса и открыть себе доступ к запрещенным документам. Для этого следует вернуться в конфигуратор и в дереве объектов конфигурации выбрать Общие -> Роли -> Роль_Фролова. Открываем эту роль. Теперь в открывшемся окне позиционируем курсор на надписи «ЗарплатаИУправлениеПерсоналом», а в колонке «Права» ищем настройку «Сохранение данных пользователя» . Убираем галочку напротив этой настройки. Это означает, что пользователь сам не сможет настроить содержимое панелей разделов, панели навигации и рабочего стола, а значит из командного интерфейса не получит доступ к запрещенным разделам.

Чтобы в этом убедиться можно зайти в базу под пользователем Фроловым и попробовать открыть настройку разделов или навигации. При этом в служебном меню пункт «Вид» вы не найдете. Он стал недоступен, так как мы убрали у роли пользователя Фролова право на «Сохранение данных пользователя».

Таким образом мы ограничили пользователю видимость объектов только теми справочниками, документами и отчетами, которые ему действительно нужны для работы. При этом в режиме конфигуратора в правах этого сотрудника отредактировали всего лишь одну галочку.

Однако это ещё не всё. Мы ограничили явный доступ к запрещенным объектам. Однако пользователь может попасть в нежелательный справочник или документ из доступного ему документа. Так наш кадровик Фролов из документа «Прием на работу» может открыть справочник «Организации» и случайно или целенаправленно изменить там какие-то данные. Чтобы похожей ситуации не произошло, следует просмотреть и проанализировать все объекты, которые связаны с доступными пользователю документами и справочниками. А затем в конфигураторе открыть роль нашего пользователя и запретить редактирование или вообще просмотр нежелательных объектов. Конкретный вариант выбирать Вам самим, в зависимости от поставленной задачи.

Вот и всё! Довольно сложную задачу мы решили не очень сложным способом. Тот, кто дочитал до конца может по праву гордиться собой) Если я что-то упустил и у Вас есть замечания, буду рад и увидеть в комментариях к статье.

Скоро появятся новые интересные материалы на .

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

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

Кроме этого, для объектов, хранящихся в базе данных (справочники, документы, регистры и т.д.) могут быть определены права доступа к отдельным полям и записям. Например, пользователь может оперировать документами (накладными, счетами и т.д.) определенных контрагентов и не иметь доступа к аналогичным документам других контрагентов.

Роли

Для реализации ограничения прав доступа в прикладных решениях предназначены специальные объекты конфигурации - Роли. .

Интерактивные и основные права

Все права, поддерживаемые системой 1С:Предприятие, можно разделить на две большие группы: основные и интерактивные. Основные права описывают действия, выполняемые над элементами данных системы или над всей системой в целом, и проверяются всегда, независимо от способа обращения к данным. Интерактивные права описывают действия, которые могут быть выполнены пользователем интерактивно. Соответственно проверяются они только при выполнении интерактивных операций стандартными способами, причем в клиент-серверном варианте все проверки прав (кроме интерактивных) выполняются на сервере.

Основные и интерактивные права взаимосвязаны. Например, существует основное право Удаление, которому соответствуют два интерактивных права: Интерактивное удаление и Интерактивное удаление помеченных. Если пользователю запрещено Удаление, то и все интерактивные "удаления" также будут запрещены для него. В то же время, если пользователю разрешено Интерактивное удаление помеченных, это значит, что Удаление ему также разрешается.

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

Например, для того, чтобы пользователь имел право Итерактивное удаление помеченных , ему необходимо обладать интерактивными правом Редактирование . Это право, в свою очередь, требует наличия интерактивного права Просмотр :

Право Интерактивное удаление помеченных Удаление . Интерактивное право Редактирование требует наличия основного права Изменение . Интерактивное право Просмотр требует наличия основного права Чтение .

Кроме этого основные права Изменение и Удаление требуют наличия основного права Чтение.

Ограничение доступа к данным на уровне записей и полей

Среди действий над объектами, хранящимися в базе данных (справочниками, документами и т.д.), есть действия, отвечающие за чтение или изменение информации, хранящейся в базе данных. К таким действиям относятся:

  • чтение - получение записей или их фрагментов из таблицы базы данных;
  • добавление - добавление новых записей без изменения существующих;
  • изменение - изменение существующих записей;
  • удаление - удаление некоторых записей без внесения изменений в оставшиеся.

Для этих действий в процессе настройки ролей могут быть заданы дополнительные условия на данные (ограничение доступа к данным). В этом случае над конкретным объектом, хранимым в базе данных, может быть выполнено запрошенное действие только в том случае, если ограничение доступа к данным для данных этого объекта принимает значение "истина". Аналогичные условия могут быть заданы и для таблиц базы данных, не имеющих объектной природы (регистров).

Для объектных таблиц и регистров сведений могут быть заданы разные ограничения для различных полей таблицы, что позволяет определять ограничения не только на уровне записей базы данных, но и на уровне отдельных ее полей:

Ограничение доступа к данным представляет собой условие, описанное на языке, который является подмножеством языка запросов. Это условие применяется для каждой записи таблицы базы данных, над которой выполняется операция. Если условие принимает значение "истина", то операция выполняется, а если нет, то не выполняется. Условие ограничения доступа может быть уточнено с помощью инструкций препроцессора(#ЕСЛИ <условие>, #ТОГДА.. и др.), что сделает его более эффективным. При просмотре списков и формировании отчетов существует возможность обеспечить отображение только тех данных, доступ к которым пользователю разрешен.

Для регистров накопления, бухгалтерского учета и расчета условия позволяют разграничить доступ по значениям измерений (для регистров бухгалтерского учета по балансовым измерениям), а для объектных данных и регистров сведений условия позволяют разграничивать доступ к данным по любым полям.

Условия ограничения можно ввести вручную или создать с помощью конструктора ограничений доступа к данным .

Параметры сеанса

Параметры сеанса представляют собой объекты прикладного решения, которые предназначены для использования в ограничениях доступа к данным для текущего сеанса (но могут применяться и для других целей). Их значения сохраняются в течение данного сеанса 1С:Предприятия. Использование параметров сеанса позволяет снизить время доступа к данным при ограничении доступа на уровне записей и полей. .

Выполнение на сервере без проверки прав

Привилегированные модули

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

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

Привилегированный режим исполнения программного кода

Привилегированный режим исполнения кода, аналогичный режиму работы кода привилегированных модулей, можно включить/выключить средствами встроенного языка. Для этого в глобальном контексте предусмотрена процедура УстановитьПривилегированныйРежим() , а также функция ПривилегированныйРежим() , которая позволяет определить, включен привилегированный режим, или нет.

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

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

1С имеет встроенную систему прав доступа (эта система называется — роли 1С). Эта система является статической – как администратор поставил права 1С, так и будет.

Дополнительно, действует динамическая система прав доступа (называется – RLS 1С). В ней права 1С динамически высчитываются в момент работы пользователя на основании заданных параметров.

Одной из самых распространенных настроек безопасности в различных программах является набор разрешений на чтение/запись для групп пользователей и далее – включение или исключение пользователя из групп. Например, подобная система используется в Windows AD (Active Directory).

Такая система безопасности в 1С называется – Роли 1С. Роли 1С – это , который находится в конфигурации в ветке Общие/Роли. Роли 1С выступают в качестве групп, для которых назначаются права 1С. Далее пользователь включается или исключается из этой группы.

Нажав два раза на название роли 1С — Вам откроется редактор прав для роли 1С. Слева – список объектов 1С. Выделите любой и справа отобразятся варианты прав доступа (как минимум: чтение, добавление, изменение, удаление).

Для верхней ветки (название текущей конфигурации) устанавливаются административные права 1С и доступ на запуск различных вариантов .

Все права 1С поделены на две группы – «просто» право и такое же право с добавлением «интерактивное». Что это значит?

Когда пользователь открывает какую-либо форму (например, обработку) и нажимает на ней кнопку – то программа на встроенном языке 1С выполняет определенные действия, например удаление документов. За разрешение этих действий (выполняемых программно) – отвечают «просто» права 1С.

Когда пользователь открывает журнал и начинает делать что-то с клавиатуры самостоятельно (например, вводить новые документы) – это «интерактивные» права 1С.

Пользователю может быть доступно несколько ролей, тогда разрешения складываются.

Разрез возможностей установки прав доступа с помощью ролей – объект 1С. То есть Вы можете или включить доступ к справочнику или отключить. Включить немножко нельзя.

Для этого существует расширение системы ролей 1С под названием 1С RLS. Это динамическая система прав доступа, которая позволяет ограничить доступ частично. Например, пользователь видит только документы по определенному складу и организации и не видит остальные.

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

Вы берете определенный справочник (например, организации) и определенное право (например, чтение). Вы разрешаете чтение для роли 1С. В панели Ограничение доступа к данным Вы устанавливаете текст запроса, который возвращает ИСТИНА или ЛОЖЬ в зависимости от настроек. Настройки обычно хранятся в регистре сведений (например регистр сведений конфигурации Бухгалтерия НастройкиПравДоступаПользователей).

Данный запрос выполняется динамически (при попытке реализовать чтение), для каждой записи справочника. Таким образом, для тех записей, для которых запрос безопасности вернул ИСТИНА – пользователь увидит, а остальные – нет.
Права 1С, на которые установлены ограничения RLS 1С – подсвечены серым.

Копирование одних и тех же настроек RLS 1С делается с помощью шаблонов. Вы делаете шаблон, называете его (например) МойШаблон, в нем указываете запрос безопасности. Далее, в настройках права доступа 1С указываете имя шаблона вот так: «#МойШаблон».

При работе пользователя в режиме 1С Предприятие, при работе RLS 1С, у него может появляться сообщение об ошибке «Недостаточно прав» (например, на чтение справочника Ххх).

Это значит, что RLS 1С заблокировала чтение нескольких записей.

Для того, чтобы такого сообщения не появлялось, необходимо в тексте запроса на встроенном языке 1С использовать слово РАЗРЕШЕННЫЕ ().

Например:



Рассказать друзьям