Пример использования механизма "Блокировки изменения объектов" (БП, ЗУП, УХ, ЕРП)

05.06.23

Разработка - Механизмы типовых конфигураций

Механизм позволяет добавлять обработчики блокировки формы от изменения пользователем с выводом предупреждения "Документ не редактируется по причине:" и указанием причин блокировки. Также по некоторому условию может быть выведена кнопка "Разблокировать форму".

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Расширение "Блокировка изменения объектов" ЗУП
.cfe 26,87Kb
5 1 850 руб. Купить
Расширение "Блокировка изменения объектов" БП
.cfe 61,94Kb
12 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Рассмотрим работу механизма на примере доработки с помощью расширения документа Отражение зарплаты в бухучете ЗУП.

1. Блокируемая форма

При подключении механизма на форме создаются необходимые реквизиты, поля и команды для вывода сообщения о блокировки и возможности разблокировать форму.  

Добавляем в расширение обработчики событий формы с типом Вызывать после:

&НаСервере
Процедура БРО_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	БлокировкаИзмененияОбъектов.ПриСозданииНаСервереФормыОбъекта(ЭтотОбъект, Отказ, СтандартнаяОбработка);
	
КонецПроцедуры

&НаСервере
Процедура БРО_ПриЧтенииНаСервереПосле(ТекущийОбъект)
	
	БлокировкаИзмененияОбъектов.ПриЧтенииНаСервереФормыОбъекта(ЭтотОбъект, ТекущийОбъект);

КонецПроцедуры

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

КонецПроцедуры

Кнопка разблокировки по-умолчанию создается в Командной панели в дополнительном подменю Ещё, однако в нашем документе Отражение зарплаты в бухучете панель не отображается, вместо нее создана группа КоманднаяПанельФормы, поэтому перенесем созданную кнопку в данную группу:

	КнопкаРазблокировать = Элементы.РазблокироватьФормуДляИзмененияОбъекта;
	Элементы.Переместить(КнопкаРазблокировать, Элементы.КоманднаяПанельФормы);

Так же в модуле формы размещаем обработчик команды разблокировки:

&НаКлиенте
Процедура Подключаемый_РазблокироватьФормуОбъекта(Команда)

	БлокировкаИзмененияОбъектовКлиент.РазблокироватьФормуОбъекта(ЭтотОбъект, Объект.Ссылка);
	
КонецПроцедуры

 

2. Обработчик блокировки

Обработчик блокировки разместим в общем модуле БРО_Сервер:

Функция ДобавитьБлокировкуИзмененияОбъекта(КоллекцияБлокировок, СсылкаНаОбъект) Экспорт
	
	Если ТипЗнч(СсылкаНаОбъект) = Тип("ДокументСсылка.ОтражениеЗарплатыВБухучете") Тогда		
		Если ЕстьПроведенныеПлатежныеПоручения(СсылкаНаОбъект) Тогда
			
			ИднтификаторБлокировки = "БРО_ОтражениеЗарплатыВБухучете";
			ОписаниеБлокировки = "На основании документа созданы проведенные Платежные поручения";
			ДопустимоОтключать = Пользователи.РолиДоступны("БРО_СнятиеБлокировкиДокумента");
			
			БлокировкаИзмененияОбъекта = БлокировкаИзмененияОбъектов.ОписаниеБлокировкиИзмененияОбъекта(
				ИднтификаторБлокировки,
				ОписаниеБлокировки,
				ДопустимоОтключать);
			
			КоллекцияБлокировок.Добавить(БлокировкаИзмененияОбъекта);
			
		КонецЕсли;		
	КонецЕсли;
	
КонецФункции

Вызов обработчика разместим в  расширении модуля БлокировкаИзмененияОбъектовБазовый:

&Вместо("ПараметрыБлокировкиИзмененияОбъекта")
Функция БРО_ПараметрыБлокировкиИзмененияОбъекта(СсылкаНаОбъект, УправляемаяФорма)
	
	КоллекцияБлокировок = ПродолжитьВызов(СсылкаНаОбъект, УправляемаяФорма);	
	БРО_Сервер.ДобавитьБлокировкуИзмененияОбъекта(КоллекцияБлокировок, СсылкаНаОбъект);

	Возврат КоллекцияБлокировок;
	
КонецФункции

У расширения выключаем Безопасный режим.

 

3. Проверяем

При открытии формы проверяется условие блокировки и в форме устанавливается свойство ТолькоПросмотр, выводится предупреждающая надпись:

Если блокировку допустимо отключать, в меню Ещё создается кнопка разблокировки:

 

Во вложении расширение с данным примером для ЗУП и отдельно для БП, ЕРП, УХ (документ Реализация товаров услуг, общая форма).

Тестирование проводилось на ЗУП 3.1.23.558 и БП 3.0.135.16.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Механизмы типовых конфигураций Программист 1С v8.3 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

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

11.08.2025    3194    user1988284    0    

17

Механизмы типовых конфигураций Программист 1С v8.3 Бесплатно (free)

Каждый, кто работал с кадровыми отчетами в ЗУП, ERP или УХ, сталкивался с механизмом представлений – странным кодом запроса, где поля отображаются пустыми ссылками, а в названии временной таблицы есть слово «Представление». В статье разберем, что такое представления и как ими пользоваться. Больше не нужно ломать голову над тем, откуда и как правильно получать данные. Механизм представлений сделает это за вас.

08.07.2025    8155    user2012581    55    

56

Механизмы типовых конфигураций Программист Стажер 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Бесплатно (free)

В типовых решениях типа УТ, КА, ERP при вводе строк в поля ввода осуществляется поиск по первым символам. С помощью небольшой доработки (делается через расширение) можно организовать поиск по вхождению.

02.06.2025    1817    lkey    2    

5

Работа с интерфейсом БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С v8.3 1C:ERP Бесплатно (free)

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

12.05.2025    4697    AlexeyPROSTO_1C    2    

18
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Shatilovako 23.12.24 11:04 Сейчас в теме
Спасибо! ТЫ очень помог!
2. Slaughter93 16.05.25 17:39 Сейчас в теме
Не знаешь Гиперссылки есть возможность прикрутить при этом в причины блокировки? В ОписаниеБлокировкиИзмененияОбъекта похожих свойств не нашел
Для отправки сообщения требуется регистрация/авторизация