Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 мая 2026, 16:51

Добавление новых элементов на типовую форму отчёта средствами БСП

Автор Stolz, 04 мая 2026, 11:42

0 Пользователей и 1 гость просматривают эту тему.

Stolz

Всем доброго времени суток!

В типовой конфигурации «1С:ERP Управление предприятием 2» (2.5.22.145) среди общих форм есть форма ФормаОтчета, которую очень не хотелось бы изменять, в том числе расширениями. Есть самописный отчёт, использующий упомянутую типовую форму отчёта. В отображаемое пользователю диалоговое окно отчёта нужно добавить дополнительный элемент формы. Для таких нужд БСП, вроде бы, предусматривает специальный механизм программного изменения форм. Согласно описанию в документации БСП, в модуле отчёта создаю процедуры:

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

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

В отладчике вижу, что:

Форма.Элементы.КомпоновщикНастроекКомпоновкиДанныхНастройкиОтбор.Видимость = Истина

Тем не менее, добавленный элемент формы в диалоговом окне отчёта не отображается. У кого какие мысли по поводу того, как, всё же, добиться отображения добавленного элемента на форме?

Stolz

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

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск