Права на проведение документов в 1С

1С:Предприятие 8.2 /
Управление производственным предприятием для Украины /
Управление производством

Управленческий учет

Регламентированный учет

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

Управленческий учет

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

  • Экономист цеха
  • Пользователь
  • Проведение по партиям

и настроены следующие области данных:

  • Организации (список) — «Чтение»
  • Контрагенты (данные) — «Чтение»
  • Подразделения (данные) — «Чтение», «Изменение», «Добавление»

Дополнительно для проведения отдельных видов документов необходимы следующие дополнительные роли и области данных:

Вид документа Необходимые роли Настройка ограничения области данных
Акт об оказании производственных услуг Менеджер по продажам

Контрагенты (список) — Чтение

Контрагенты (данные) — Чтение, Изменение

Передача товаров Менеджер по продажам

Контрагенты (список) — Чтение

Контрагенты (данные) — Чтение, Изменение

Реализация услуг по переработке Менеджер по продажам

Контрагенты (список) — Чтение

Контрагенты (данные) — Чтение, Изменение

Получение услуг по переработке Менеджер по закупкам

Контрагенты (список) — Чтение

Контрагенты (данные) — Чтение, Изменение

Поступление товаров из переработки Менеджер по закупкам

Контрагенты (список) — Чтение

Контрагенты (данные) — Чтение, Изменение

Отчет производства за смену (использование тех. операций)

Сдельный наряд

Расчетчик управленческой зарплаты

Физические лица — Чтение

Регламентированный учет

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

  • Бухгалтер
  • Экономист цеха
  • Пользователь
  • Проведение по партиям регл

и настроены следующие области данных:

  • Организации (список) — «Чтение»
  • Организации (данные) — «Чтение», «Изменение», «Добавление»
  • Контрагенты (данные) — «Чтение»

Дополнительно для проведения отдельных видов документов необходимы следующие дополнительные роли и области данных:

Вид документа Необходимые роли Настройка ограничения области данных

Отчет производства за смену (использование тех. операций)

Сдельный наряд

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

Физические лица — Чтение

Более подробно о реализованном механизме настойки ролей см. раздел «Механизм ограничения прав доступа».

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

1. Решение ошибки через предприятие 1С

2. Решение ошибки через конфигуратор 1С

Ошибка «Нет прав на запуск требуемого вида клиента в 1С» возникает при условии, что у пользователя не были введены права или роли.

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

1. Решение ошибки через предприятие 1С

Заходим в базу от пользователя с правами Администратора.

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

Нажимаете на гиперссылку Пользователи.

Двойным щелчком мыши нажимаете на карточку пользователя, который не может зайти в 1С.

В «пользователе» нажимаете на кнопку Права доступа.

Открывается список прав доступа, которые можно установить для данного пользователя. Вероятнее всего, у пользователя уже стоит галочка. В этом случае необходимо перезаписать права: нажимаете на галочку (снимаете ее) – Записываете (кнопка Записать) – Нажимаете на галочку вновь (устанавливаете галочку на нужные права) – Записываете (кнопка записать).

Все настройки сохранились корректно. Теперь необходимо их проверить: зайти в программу от имени нужного пользователя (в нашем примере пользователь 123).

2. Решение ошибки через конфигуратор 1С

Необходимо зайти в конфигуратор от пользователя с правами администратора. Если у пользователя будет недостаточно прав, то при попытке настроить роли в конфигураторе, появится ошибка «Недостаточно прав доступа». Это свидетельствует о том, что вы зашли в конфигуратор под пользователем, у которого не указаны права Администратора.

Когда зашли под нужным пользователем, открываете список пользователей, указанных в базе: Администрирование-Пользователи.

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

На иконке у такого пользователя красный вопросительный знак, что указывает, что у него не настроены роли.

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

Специалист компании ООО «Кодерлайн»

Анастасия Харькова.

Часто возникает необходимость в частичном ограничении доступа к данным. Например, когда пользователь должен видеть документы только своей организации. В таких случаях в 1С используется механизм ограничения доступа на уровне записей (так называемый, RLS – Record Level Securiy).

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

Для решения задачи будем использовать платформу «1С:Предприятие 8.2″. Создадим новую конфигурацию в свойствах которой в качестве основного режима запуска будет выбран вариант «Управляемое приложение”.

Далее создадим справочник «Организации” и ещё два справочника – «Контрагенты” и «Пользователи” с реквизитом «Организация”. Кроме справочников нам понадобятся два параметра сеанса – «Организация” и «Пользователь” (соответствующих типов). Значения этих параметров устанавливаются при запуске сеанса работы с конфигурацией и хранятся до его завершения. Именно значения этих параметров мы и будем использовать при добавлении условий ограничения доступа на уровне записей.

Установка параметров сеанса выполняется в специальном модуле – «Модуль сеанса”

В этом модуле опишем предопределенную процедуру «УстановкаПараметровСеанса” в которой вызовем функцию заранее подготовленного общего модуля «ПолныеПрава”. Это необходимо в силу особенностей работы базы данных в режиме управляемого приложения, когда часть программного кода может выполняться только на стороне сервера (подробно на объяснении этих принципов в данной статье я останавливаться не буду).

Код 1C v 8.х Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
ПолныеПрава.УстановитьПараметрыСеанса();
КонецПроцедуры<br>

В свойствах модуля «ПолныеПрава” необходимо отметить флажки «Сервер”, «Вызов сервера” и «Привилегированный” (последнее означает, что процедуры и функций данного модуля будут выполнятся без контроля прав доступа). Текст модуля будет выглядеть так:

Код 1C v 8.х Функция ОпределитьТекущегоПользователя()
ТекПользователь = Справочники.Пользователи.НайтиПоНаименованию(ИмяПользователя(),Истина);
Возврат ТекПользователь;
КонецФункции
Процедура УстановитьПараметрыСеанса() Экспорт
ТекущийПользователь = ОпределитьТекущегоПользователя();
ТекущаяОрганизация = Справочники.Организации.ПустаяСсылка();
Если ЗначениеЗаполнено(ТекущийПользователь) Тогда
ТекущаяОрганизация = ТекущийПользователь.Организация;
КонецЕсли;
ПараметрыСеанса.Пользователь = ТекущийПользователь;
ПараметрыСеанса.Организация = ТекущаяОрганизация;
КонецПроцедуры
Функция ПараметрСеансаУстановлен(ИмяПараметра) Экспорт
Возврат ЗначениеЗаполнено(ПараметрыСеанса);
КонецФункции
Функция РольДоступнаПользователю(ИмяРоли) Экспорт
Возврат РольДоступна(ИмяРоли);
КонецФункции<br>

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

Код 1C v 8.х Процедура ПередНачаломРаботыСистемы(Отказ)
// всех кроме администратора будем проверять на наличие в справочнике «Пользователи»
Если Не ПолныеПрава.РольДоступнаПользователю(«ПолныеПрава») Тогда
Если НЕ ПолныеПрава.ПараметрСеансаУстановлен(«Пользователь») Тогда
Предупреждение(«Пользователь «»» + ИмяПользователя() + «»» не найден в справочнике!»);
Отказ = Истина;
Возврат;
КонецЕсли;
КонецЕсли;
КонецПроцедуры<br>

Теперь можем перейти непосредственно к описанию ограничений доступа. Для этого создадим роль «Пользователь” и перейдем на закладку «Шаблоны ограничений”, где добавим новый шаблон «КонтрагентыЧтениеИзменение” со следующим текстом шаблона: ГДЕ Организация =Организация #Параметр(1)

Текст шаблона ограничений является расширением языка запросов. В отличии от обычного запроса, текст ограничения должен в обязательном порядке содержать условие «ГДЕ”. В качестве значений параметров запроса (в нашем случае это «&Организация”) используются значения одноименных параметров сеанса. Конструкция вида #Параметр(1) означает, что на это место система подставит текст, переданный в качестве первого параметра в месте использования шаблона. С помощь приведенного шаблона будет выполняться проверка каждой записи таблицы (в нашем случае это будет справочник «Контрагены”). Для записей, значение реквизита «Организация” которых совпадает с заданным в соответствующем параметре сеанса, условие описанное в шаблоне будет выполняться. Таким образом эти записи будут доступны для чтения, изменения или добавления (в зависимости от того для какого из этих прав применяется шаблон). Продемонстрирую вышеизложенное на нашем примере.

Перейдем на закладку «Права” роли «Пользователь” и откроем список прав справочника «Контрагенты”. Будем использовать шаблон ограничений «КонтрагентыЧтениеИзменеие” для прав «Чтение”, «Изменение” и «Доблавление”.

Для права «Чтение” будем использовать шаблон с параметром «ИЛИ ЭтоГруппа”. При этом пользователям данной роли будет разрешено чтение не только элементов справочника «Контрагенты” своей организации, но и всех групп этого справочника.

#КонтрагентыЧтениеИзменение(«ИЛИ ЭтоГруппа»)

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

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