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

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

Как реализовать в 1с запрет редактирования документа или справочника

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

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

2. Добавим в конфигурацию еще один общий модуль. Можно назвать его, к примеру, НастройкиДоступа. Если в вашей базе уже есть не типовой модуль, то можно использовать его;

3. Добавим в конфигурацию еще одну подписку на событие, назовем ее ПередЗаписьюНоменклатураНастройкиДоступа. В настройках подписки укажем тип данных источника — справочник Номенклатура. Выберем нужное событие для подписки (в нашем случае ПередЗаписью). В поле Источник укажем созданный вами общий модуль. Туда автоматически будет добавлена новая процедура, обрабатывающая событие данной подписки;

4. В этой процедуре пишем следующие строки кода:

Процедура ПередЗаписьюНоменклатураНастройкиДоступа(Источник, Отказ) Экспорт 
    Если Не РольДоступна("Номенклатура") Тогда 
        Отказ = Истина; 
        Сообщить("У вас нет прав на запись данного объекта!");
    КонецЕсли; 
КонецПроцедуры

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

5. Установим роль Номенклатура тем пользователям, которым должны иметь возможность записи элементов справочника, теперь никто кроме них не сможет вносить изменения в справочник.

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

Также прочтите статью: Удалить движения документа программно

Добавить комментарий

Ваш e-mail не будет опубликован.