Разбор механизма "Настройки полей формы" в 1С:ERP. Управление холдингом

18.07.23

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

В данной статье я постараюсь разобрать механизм, который Вам может встретиться на просторах типовой конфигурации 1С:ERP. Управление холдингом. Я не могу гарантировать, что этот механизм не исключат из следующих версий конфигурации (как, собственно, и любой другой). К сожалению, мне не удалось найти его ни в одном модуле конфигурации "Библиотеки стандартных подсистем". Мне он показался интересным, и захотелось более детально во всем этом разобраться.

Точкой входа для использования функционала является вызов процедуры в модуле формы в событии "ПриСозданииНаСервере", но для корректности его также нужно вызывать в модуле обработчика события "ПриЧтенииНаСервере", поэтому в конфигурации вызов осуществляется из общей служебной процедуры "ПриЧтенииСозданииНаСервере":

ДенежныеСредстваСервер.УправлениеЭлементамиФормыПриЧтенииСозданииНаСервере(ЭтотОбъект);

Могу предположить, что изначально функционал разрабатывался для одного документа, а уже потом расширился до 16 документов + 4 справочников. На мой взгляд, все это можно было вынести в отдельную подсистему. Но продолжим.

Именно здесь происходит инициализация всего, что потребуется в дальнейшем. А самое интересное, это возможность расширения. Именно здесь происходит определение имени объекта, откуда была вызван механизм, и "передача управления" модулю менеджера, для заполнения соответствующих настроек полей формы. 

	НастройкиПолейФормы = ИнициализироватьНастройкиПолейФормы();
	Менеджер = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ИмяОбъекта);
	Менеджер.ЗаполнитьНастройкиПолейФормы(НастройкиПолейФормы);

Процедура "ЗаполнитьНастройкиПолейФормы" должна находиться в модуле менеджера, для корректной работы. И именно она определяет свойства полей формы в зависимости от данных объекта. 

Здесь расскажу плюсы, которые я увидел в данном функционале. Это возможность заранее определить настройки видимость, доступность полей в зависимости от значений реквизитов объекта. К примеру, Вам нужно скрыть поле договор или еще ряд полей (какие захотите), если свойство "ПодотчетноеЛицо" Заполнено, на уровне настроек полей, можно это сделать, "не спускаясь" на уровень формы, и не прописывать в модуле формы условия.

Пример:  Документ "Авансовый отчет"

Задача: Нужно, при изменении значения переключателя на значение "Мультвалютный", изменять доступность поля "Валюта" на "Ложь", и соответственно, при переключении обратно, делать снова доступным.

 

 

 
 Классический вариант:
 
 "Новый механизм"

 

В "Новом механизме" вызывается процедура формы на сервере. Она и производит настройку свойств элементов формы. 

Сразу скажу. В качестве параметра "ИзмененныйРеквизит" можно отправлять сразу несколько значений разделенных запятыми, к примеру "Мультивалютный, ПодотчетноеЛицо". И тогда механизм обработает все зависимые поля, на основании значений измененных реквизитов.

А как система определяет, какие настройки полей соответствует именно этому Измененному реквизиту? Отвечаю. При инициализации формы, выше мы обсуждали, создается коллекция "ЗависимостиПолей", которая хранит соответствие реквизитов на основании отборов указанных разработчиком в модуле менеджера.

т.е. в нашем примере накладывается отбор ...."Мультивалютный", Ложь);, значит в коллекцию "ЗависимостиПолей" попадет строка со значениями "Мультивалютный" и его полями для настройки.

 

&НаСервере
Процедура НастроитьЗависимыеЭлементыФормыНаСервере(ИзмененныйРеквизит = "")
	
	ДенежныеСредстваКлиентСервер.НастроитьЭлементыФормы(ЭтаФорма, ИзмененныйРеквизит, РеквизитыФормы(ЭтаФорма));
	
КонецПроцедуры

 

-----------------------------------------------------------------------------

P.S. Опишу, как можно доработать существующие документы, используя расширения, а также разберу на примере, как можно встроить в "свои" объекты. Если статья найдет отклик или будет такой запрос.

1С:ERP. Управление холдингом (3.1.10.8).

a3e52412cd0e9ba5955aaa995474074f.png

Приобретайте 1С:ERP в Инфостарт с бонусом 15%!

  • Бесплатное демо продукта и консультация
  • Команда экспертов 1С с опытом 10+ лет
  • Оценка проекта, четкий план работ, документация, обучение и поддержка

Закажите расчет внедрения ERP - получите дорожную карту в подарок!


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

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист 1С 8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

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

1 стартмани

20.03.2026    938    InFlach    0    

7

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

Интервальные регистры в 1С:ЗУП 3.1 заменяют тяжелые срезы последних, ускоряя отчеты по кадровым данным через интервалы ДатаНачала–ДатаОкончания. Разбираем отличия, примеры кода, плюсы и способы синхронизации.

12.03.2026    2414    AlexeyPROSTO_1C    4    

20

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

Как в ЗУП работает механизм расстановки времени в регистрах сведений с помощью подписки на события?Рассматривается логика сдвигов для разных типов документов (прием, увольнение, отпуск) и дается инструкция по подключению нового регистра к этому механизму.

03.03.2026    1136    YA_1100893639    1    

7

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

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

11.08.2025    7447    user1988284    0    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aeoHeKP 19.03.24 18:42 Сейчас в теме
Спасибо за статью, автор очень выручил! Не первый час сижу и пытаюсь понять, как сломать типовой механизм, чтобы реквизит Контрагент всегда подсвечивался красной чертой как обязательный, а то полей куча, меняю какое-либо и то красный, то не красный, уже весь мозг сломал. Плавно по отладчику дошел до нужных названий и до этой статьи. Выручил примером, а главное, все коротко и в целом понятно. Длинную статью было бы тяжело читать.
2. it_box 25 03.07.24 10:49 Сейчас в теме
(1) Спасибо за слова благодарности. Всегда приятно слышать, когда то, что ты делаешь, кому-то помогает.
3. lexev 28.10.24 14:15 Сейчас в теме
Спасибо за статью! Актуальная тема. Очень ждем обещанного продолжения!
4. OlgaKotGlavbuh91 14.08.25 21:02 Сейчас в теме
Спасибо. помогла статья.
5. lkey 6 30.09.25 11:23 Сейчас в теме
Спасибо за статью. Искал про настройку элементов формы в конфигурации КА и нашел эту статью, так что 1С расширяет этот механизм на другие типовые конфигурации.
Для отправки сообщения требуется регистрация/авторизация