1с настройка доступа справочника номенклатура

Обновлено: 03.07.2024

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

Функции и структура справочников в 1С 8.3

Хранение и предоставление информации нормативно-справочного характера, является главной функцией справочников. В разрезе справочников, производится весь учет в системах 1С: Номенклатура, Клиенты и прочие.

Некоторые отдельные справочники вынесли в отдельный тип – это классификаторы. Они содержат информацию, к примеру, которая утверждена на уровне государства:

  • Профессии.
  • Страны мира.
  • Разные единицы измерения.
  • Валюты.

Структура справочников в приложении 1С похожа на списки, которые хранят определенные данные. Для изучения и знакомства с уже существующими справочниками в конфигурации 1С, нужен переход в режим конфигуратора. Дерево конфигуратора имеет ветку «Справочники», которую и нужно раскрыть.

Справочники в 1С

Все справочники обладают свойствами, которые ранее были заданы разработчиками. Для примера возьмем справочник «Валюта» и рассмотрим основные свойства.

Во вкладке «Основные», можно найти описание и наименование справочника. Раздел «Подсистемы» позволит включить справочник в необходимую пользователю подсистему.

Справочники в 1С

За определение функциональности при использовании того или иного справочника, отвечает вкладка «Функциональные опции». Закладка с названием «Иерархия» необходима для создания вложенных элементов выбранного справочника. Очень удобно и полезно, иногда использовать иерархические виды справочников.



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

Вкладка «Данные» определяет характер информации, которая может быть добавлена в справочник 1С. Наименование и код настраивается сверху, что является стандартными реквизитами, а в центре – перечень добавленных реквизитов. Нижняя часть отображает табличные части справочника.



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



Интерфейсы, которые отображаются конечным пользователям, создаются разработчиками во вкладке «Формы». Зачастую встречаются формы Списка и Элемента: в таком виде пользователи 1С видят разные элементы и списки данных любого справочника.



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



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



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



Нет необходимости заполнять абсолютно все свойства. Некоторые вкладки так и не понадобятся за весь жизненный срок ПО на платформе 1С.

Для лучшего понимания вопроса, создадим справочник в системе 1С.

Настроим 1C под ваши нужды прямо сейчас!

  • Любые настройки, отчеты в 1С, обмены 1С
  • Выезд специалиста на следующий день
  • 24/7 принимаем ваши заявки

Создание и дальнейший перенос справочника в 1С 8.3

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

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

Справочники в 1С

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

Справочники в 1С

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



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



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



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



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

Открывая данный тип обработки, нужно указать какие именно объекты требуют переноса, и выбрать файл. Далее запущенный процесс выгрузки справочника автоматически создаст XML-файл, и запишет в него все данные.



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

Остались вопросы или нужны помощь в настройке 1С? Закажите консультацию наших специалистов!

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

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

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

Часто бывает необходимо не просто открыть/запретить доступ к определенному объекту, а ограничить доступ к части данных в нем.


PDF с вводной информацией.

21 страница, которые нужно прочесть сначала.


Видео 01:
Ограничение доступа к данным при помощи ролей

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


Видео 02:
Ограничение доступа на уровне записей (RLS)

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


Видео 03:
Реализация ограничения доступа на уровне записей для справочника Контрагенты

В этом видео рассказывается, как в демонстрационной конфигурации «Управляемое приложение» настроить доступ менеджеров только к собственным контрагентам, закрепленным за ними.


Видео 04:
Принцип работы ограничений доступа на уровне записей на низком уровне

В этом видео рассказывается, как платформа трансформирует запросы, передаваемые для выполнения на сервер СУБД, при наличии ограничений доступа на уровне записей.


Видео 05:
Совместное применение нескольких ограничений доступа на уровне записей

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


Видео 06:
Наложение ограничений методом ВСЕ


Видео 07:
Наложение ограничений методом РАЗРЕШЕННЫЕ


Видео 08:
Исправление ошибки, возникающей из-за наложения прав доступа на уровне записей


Этот курс позволит решать ВСЕ задачи по развертыванию и поддержке информационных систем на 1С.

Вот несколько тем из курса:

Этот курс актуален для всех, кто внедряет или поддерживает 1С.

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

И лучше это сразу делать правильно.

Курс по Администрированию систем на 1С.
Описание курса, программа и оформление заказа Курс по RLS.
Описание курса, программа и оформление заказа

Комментарии / обсуждение (161):

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

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

Добрый день!
В типовых конфигурациях на базе БСП (например, УТ 11) в ролях используются стандартные шаблоны ограничений доступа из БСП.
Они универсальные, поэтому для решения большинства задач их не требуется менять. Предполагается, что настройку нужно выполнять в пользовательском режиме, создавая профили и группы доступа.
Если Вы ограничиваете доступ к справочнику Партнеры, оставляете доступными определенные группы, то в форме списка справочника, в списке документов, в отчетах будут видны данные только по этим разрешенным партнерам. Других (запрещенных) партнеров и данных по ним увидеть нельзя.
Если нужно в отчетах видеть не всех разрешенных партнеров, а только часть из них, то можно настроить отборы в отчете и сохранить такой вариант отчета. В отборе указать конкретных разрешенных партнеров, тогда отчет будет формироваться только по ним. Сохраненный вариант отчета можно разместить в Избранном, тогда пользователь сможет быстро формировать его, не выполняя предварительную настройку.

Добрый день, в учебной версии при использовании rls столкнулся с проблемой при записи или проведении документа (у пользователя недостаточно прав на использование операций над базой данных), причём в полной версии 1с данной проблемы не встречал.
В журнале регистраций ссылается на отказ доступа (действие-чтение)
Ограничение делал простое:

Как можно решить данную проблему?
Заранее огромное спасибо!

P.S.: не судите строго я недавно начал изучать 1с.

У учебной версии нет ограничений по RLS. Проверяйте, скорее всего у пользователя действительно недостаточно прав на использование операций над базой данных.

Добрый день!
Хотел уточнить, при установки ограничения по текущему пользователю на документ, сам пользователь проводить свои документы может или он их сможет только просмотреть и ему всё же будет отказано в доступе, как в моем случае?

Это зависит от-того на какое право наложено ограничение, чтение или запись.

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

Добрый день!
Спасибо за Ваши ответы!
Я понял свою ошибку.

Пожалуйста!
Интересного обучения!

Приветствую Василий, есть задача в ут 10.3 ограничить доступ пользователей на доп свойства справочника контрагентов сейчас RLS используется для доступа к контрагентам не могу сообразить на какой объект лучше написать правило ограничения на регистрсведений.ЗначенияСвойствОбъектов или на планВидовХарактеристик.СвойстваОбъектов?

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

Добрый день. Имеется такая задача, есть ветка номенклатуры, которая привязана к магазину, и всю номенклатуру в этой группе и подгруппах необходимо разрешить изменять только 1-2м пользователям.
У соответствующей роли можно убрать галку прав на чтение, но как сделать, что бы эти правила распространялись только на группу магазин, а не блокировали абсолютно все.
Спасибо за помощь и видео, очень интересно!

Добрый день!
Предлагаю сделать регистр сведений РазрешеннаяНоменклатура, куда записывать все номенклатуры, которые можно изменять указанным пользователям. Например, в регламентном задании выбираем номенклатуры из определенных групп, записываем в регистр. Получается что-то похожее на состав сегментов номенклатуры из УТ 11.
Затем в роли для справочника Номенклатура для права Изменение прописать ограничение доступа, например, вот так:

Номенклатура ГДЕ Номенклатура.Ссылка В
(ВЫБРАТЬ
РазрешеннаяНоменклатура.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.РазрешеннаяНоменклатура КАК РазрешеннаяНоменклатура)

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

Спасибо за совет, сделал как вы сказали, все работает! Единственное, не смог самостоятельно доработать. Не поможете довести до ума?)

Единственное, не понимаю, как добить условие в Роли ограничение доступа Изменение. Запрет редактирование всего, что есть в РегистреСведений, по группам. Разматывать всю иерархию не нужно, достаточно только 1 погружение, мне не влом добавить все подгруппы. Просто как-то нужно правильно свести код:

Выборка = Справочники.Номенклатура.Выбрать(ЗапрещеннаяГруппаНоменклатуры);
Пока Выборка.Следующий() Цикл
Наименование = Выборка.Наименование;
КонецЦикла;

Номенклатура ГДЕ НЕ Номенклатура.Ссылка В
(ВЫБРАТЬ
ЗапрещеннаяНоменклатура.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.ЗапрещеннаяНоменклатура КАК ЗапрещеннаяНоменклатура)

Отлично, что заработало!
Поскольку в регистре хранятся группы номенклатуры, а не элементы, то будем работать с реквизитом Родитель.
Ограничение доступа может выглядеть, например, вот так:

Номенклатура ГДЕ НЕ Номенклатура.Родитель В
(ВЫБРАТЬ
ЗапрещеннаяНоменклатура.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.ЗапрещеннаяНоменклатура КАК ЗапрещеннаяНоменклатура)

Добрый человек, все работает как нужно и спасибо еще раз за помощь! Вы крутые!

Номенклатура ГДЕ НЕ Номенклатура.Родитель В
(ВЫБРАТЬ
ЗапрещеннаяНоменклатура.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.ЗапрещеннаяНоменклатура КАК ЗапрещеннаяНоменклатура)

Добрый день! Наблюдаю интересную картину. Есть 3 типа заказов. По ним есть счета. В один счет могут входить разные типы заказов. Заказы перечислены в табличной части. На заказ с Типом1 у пользователя права чтение/запись, на Тип2 только чтение, на Тип3 ничего. Так вот если в одном счете есть Тип1 и Тип2, то счет можно записать (да как. ). Если только Тип2, то записать нельзя. Если Тип1 и Тип3, то записать тоже нельзя. Я не понимаю, почему дает записать счет с типами заказов Тип1 и Тип2. Что это за метаморфозы?? Как я понимаю, счет это у нас целостная сущность. Внутри нее есть подсущности с разными правами доступа. Возможно, есть какие-то приоритеты, по которым RLS выбирает, какой уровень доступа наложить на счет?

Добрый день! Вы правы , именно обновление вспомогательных данных не выполнил. Спасибо.

Может ли RLS помочь в ситуации , когда нужно одной и той же роли разрешить или запретить Запись и Проведение документа по Отбору ?

Добрый день!
Да, можно ограничить запись документа в базу при помощи RLS. Для этого нужно будет настроить ограничение доступа в роли. Если условие выполняется, документ может быть записан в базу. Если условие не выполняется, документ нельзя записать.
При помощи RLS нельзя ограничить проведение, можно только Чтение, Добавление, Изменение, Удаление.

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

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

Механизм ограничения доступа на уровне записей (RLS) позволяет ограничить доступ к части данных в определенной таблице. Например, видеть не всех контрагентов, а только тех, за которых отвечает конкретный менеджер.

Подскажите, а чтобы обратиться к реквизиту текущего пользователя в рлс напирмер физлицо то для этого отдельно нужно создавать параметр сеанса? ГДЕ ФизЛицо = &ТекущийПользователь (нужно физ лицо которое задано у пользователя

Читайте также: