Skip to content

Подключение к подсистеме Запрет редактирования реквизитов

Настройка общего модуля

В общем модуле ЗапретРедактированияРеквизитовОбъектовПереопределяемый дополняем процедуру ПриОпределенииОбъектовСЗаблокированнымиРеквизитами своими объектами

Процедура ПриОпределенииОбъектовСЗаблокированнымиРеквизитами(Объекты) Экспорт
Объекты.Вставить(Метаданные.Справочники.УДК_Подсистемы.ПолноеИмя(), "");
Объекты.Вставить(Метаданные.Справочники.УДК_ОбъектыМетаданных.ПолноеИмя(), "");
Объекты.Вставить(Метаданные.Справочники.УДК_ФормыКомандыМакеты.ПолноеИмя(), "");
КонецПроцедуры

В модуле менеджера

Для каждого объекта в модуле менеджера нужно определить экспортную функцию с указанием заблокированных методов

// См. пример в ЗапретРедактированияРеквизитовОбъектовПереопределяемый.ПриОпределенииОбъектовСЗаблокированнымиРеквизитами
// СтандартныеПодсистемы.ЗапретРедактированияОбъектов
Функция ПолучитьБлокируемыеРеквизитыОбъекта() Экспорт
БлокируемыеРеквизиты = Новый Массив;
// упрощенный вариант настройки
//БлокируемыеРеквизиты.Добавить("ЕдиницаИзмерения");
//БлокируемыеРеквизиты.Добавить("СтавкаНДС");
// расширенный вариант настройки
Реквизит = ЗапретРедактированияРеквизитовОбъектов.НовыйБлокируемыйРеквизит();
Реквизит.Группа = "ОбщаяНадпись";
Реквизит.ПредставлениеГруппы = НСтр("ru = 'Проверьте места использования перед разблокировкой реквизитов.'");
БлокируемыеРеквизиты.Добавить(Реквизит);
Реквизит = ЗапретРедактированияРеквизитовОбъектов.НовыйБлокируемыйРеквизит();
Реквизит.Имя = "ЕдиницаИзмерения";
Реквизит.Предупреждение = НСтр("ru = 'Единицу измерения не рекомендуется изменять, если были закупки/продажи товара'");
БлокируемыеРеквизиты.Добавить(Реквизит);
Реквизит = ЗапретРедактированияРеквизитовОбъектов.НовыйБлокируемыйРеквизит();
Реквизит.Имя = "СтавкаНДС";
Реквизит.Предупреждение = НСтр("ru = 'Ставку НДС не рекомендуется изменять, если были закупки/продажи товара'");
БлокируемыеРеквизиты.Добавить(Реквизит);
Возврат БлокируемыеРеквизиты;
КонецФункции
// Конец СтандартныеПодсистемы.ЗапретРедактированияОбъектов

В модуле формы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
// СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтотОбъект);
// Конец СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
КонецПроцедуры
// СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
ЗапретРедактированияРеквизитовОбъектовКлиент.РазрешитьРедактированиеРеквизитовОбъекта(ЭтотОбъект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов