У некоторых объектов могут быть ключевые реквизиты, изменение которых может приводить к большим проблемам.
Например у Кассы указана Валюта или у Заказа клиента указана Организация.
Такие реквизиты лучше не давать редактировать, а если и давать - то с контролем используется ли текущий объект где-нибудь и что нужно будет проверить/исправить.
Лучше всего рядовым операционистам возможность такого изменения не давать.
В БСП за функционал отвечает подсистема Запрет редактирования реквизитов объектов
Специальная роль Редактирование реквизитов объектов дает право редактирования «ключевых» реквизитов объектов.
В меню еще отрастает команда Разрешить редактирование реквизитов.
Я хочу подключить к своему объекту запрет!
1. Обший модуль
ЗапретРедактированияРеквизитовОбъектовПереопределяемый указать свой объект в подписке ПриОпределенииОбъектовСЗаблокированнымиРеквизитами.2. Добавить в модуль менеджера объекта функцию
ПолучитьБлокируемыеРеквизитыОбъекта, в которой вернуть список имен ключевых реквизитов/табличных частей объекта или реквизитов формы.3. Добавить в модуль формы объекта процедуру:
&НаКлиенте Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда) ЗапретРедактированияРеквизитовОбъектовКлиент.РазрешитьРедактированиеРеквизитовОбъекта(ЭтотОбъект); КонецПроцедуры
4. Добавить в обработчики событий
ПриСозданииНаСервере и ПослеЗаписиНаСервере код:ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтотОбъект);
Пример можно посмотреть в ДемоБСП в справочнике ДемоНоменклатура.
Документация разработчика https://its.1c.ru/db/bsp302doc#content:36:1