Иногда заказчик просит вывести доп. реквизит на форме в определенном месте. Много раз видел, как разработчики создают программный реквизит и заполняют его при открытии формы и переписывают его значение в доп. реквизит при закрытии, что совершенно некорректно. Правильным будет создать элемент формы в нужном месте и указать штатный путь к данным доп. реквизита. Пример кода ниже.
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ИМПС_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
МассивРеквизитов = ПолучитьРеквизиты("Свойства_ОписаниеДополнительныхРеквизитов");
Если МассивРеквизитов.Количество() > 0 Тогда
// здесь указать имя доп.реквизита указанное при создании
Свойство_ШтукВУпаковке =
ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", "ШтукВУпаковке");
Если ЗначениеЗаполнено(Свойство_ШтукВУпаковке) Тогда
ПараметрыОтбора = Новый Структура("Свойство", Свойство_ШтукВУпаковке);
МассивСтрок = ЭтотОбъект.Свойства_ОписаниеДополнительныхРеквизитов.НайтиСтроки(ПараметрыОтбора);
Если МассивСтрок.Количество() = 1 Тогда
ПутьКДанным = МассивСтрок[0].ИмяРеквизитаЗначение;
// Элементы.ГруппаЕдиница заменить на свое
НовыйЭлемент = Элементы.Добавить("ИМПС_ШтукВУпаковке", Тип("ПолеФормы"), Элементы.ГруппаЕдиница);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = ПутьКДанным;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
#КонецОбласти
ПослеЗагрузкиДополнительныхРеквизитов (БСП)
ЗаполнитьДополнительныеРеквизитыВФорме (БСП)
ОбновитьЭлементыДополнительныхРеквизитов (БСП)
Вывести на печать произвольную таблицу значений (ТЗ)
ПодтвердитьЗакрытиеПроизвольнойФормы (БСП)
ПодтвердитьЗакрытиеПроизвольнойФормыЗавершение (БСП)
ЗаполнитьНаборыСДополнительнымиРеквизитами (БСП)
Создание дополнительного реквизита в наборе
Групповое изменение реквизитов, вытащить дополнительный реквизит
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)