В 1С:Бухгалтерии 2.0 (или любой другой конфигурации) может возникнуть следующая проблема: возможность создания и редактирования элементов справочника Номенклатура должны быть не у всех пользователей программы. Для решения этой проблемы можно внести изменения в типовую роль Бухгалтер, обязательную для запуска системы и поэтому установленной у всех пользователей. Но изменение типовой роли может привести к трудностям при обновлении релиза конфигурации, поэтому данное решение не является приемлемым. В 1с запрет редактирования документа или справочника можно сделать гораздо проще.
Как реализовать в 1с запрет редактирования документа или справочника
Рассмотрим решение данной задачи без изменения типовых ролей. Суть его будет заключаться в создании и использовании своих, не типовых, объектов метаданных:
1. В конфигурации создадим новую, не типовую, роль. Назовем ее Номенклатура. Никакие галочки в ней проставлять не нужно, требуется только ее наличие;
2. Добавим в конфигурацию еще один общий модуль. Можно назвать его, к примеру, НастройкиДоступа. Если в вашей базе уже есть не типовой модуль, то можно использовать его;
3. Добавим в конфигурацию еще одну подписку на событие, назовем ее ПередЗаписьюНоменклатураНастройкиДоступа. В настройках подписки укажем тип данных источника — справочник Номенклатура. Выберем нужное событие для подписки (в нашем случае ПередЗаписью). В поле Источник укажем созданный вами общий модуль. Туда автоматически будет добавлена новая процедура, обрабатывающая событие данной подписки;
4. В этой процедуре пишем следующие строки кода:
Процедура ПередЗаписьюНоменклатураНастройкиДоступа(Источник, Отказ) Экспорт
Если Не РольДоступна("Номенклатура") Тогда
Отказ = Истина;
Сообщить("У вас нет прав на запись данного объекта!");
КонецЕсли;
КонецПроцедуры
Данный программный код проверяет наличие у пользователя роли Номенклатура и разрешает или запрещает запись элемента справочника.
5. Установим роль Номенклатура тем пользователям, которым должны иметь возможность записи элементов справочника, теперь никто кроме них не сможет вносить изменения в справочник.
На основании данного алгоритма можно реализовать ограничения на запись любых документов или справочников. Для этого можно использовать одну или несколько не типовых ролей.
Также прочтите статью: Удалить движения документа программно
Добавить комментарий