При переходе на платформу 1С:Предприятие 8.3 и современные конфигурации, такие как Управление торговлей 11, Бухгалтерия предприятия 3.0 или Зарплата и управление персоналом 3.1, многие разработчики сталкиваются с неожиданной ситуацией. При попытке создать внешний отчет или обработку в привычном месте отсутствует пункт меню «Конструкторы», а вместе с ним и знакомый многим «Конструктор выходной формы». Проанализируем, почему это происходит и какие современные инструменты пришли на замену старым механизмам.
Выясним основную причину этой перемены. Старый «Конструктор выходной формы» был предназначен для работы в режиме «Обычного приложения» (толстый клиент). В этом режиме форма представляла собой жестко заданный набор пикселей и элементов управления, а конструктор генерировал программный код на языке 1С, который вручную отрисовывал данные в табличный документ.
В управляемом интерфейсе (интерфейс «Такси») логика построения кардинально изменилась. Форма теперь является декларативной — это дерево элементов, которое платформа отрисовывает самостоятельно в зависимости от устройства и настроек пользователя. Рассмотрим подробнее, почему старый метод больше не актуален:
Разберем основной инструмент, который полностью заменил конструктор выходных форм. Это Система компоновки данных (СКД). Начиная с версии платформы 8.2 и окончательно в 8.3, разработка любого отчета должна начинаться именно с создания схемы компоновки.
Если вам необходимо быстро создать отчет, выполним следующие шаги:
Отчет или ВнешнийОтчет.Набор данных - запрос и опишем выборку данных из базы.Проанализируем работу «Конструктора настроек» внутри СКД. На закладке «Настройки» расположена кнопка с иконкой волшебной палочки. Нажав на нее, мы запускаем пошаговый помощник, который позволяет:
Посмотрим на одну из самых удобных особенностей платформы 8.3. В современных конфигурациях программисту зачастую вообще не нужно создавать форму отчета вручную. Рассмотрим, как это работает:
Если в окне редактирования объекта «Отчет» поле «Основная форма отчета» оставить пустым, платформа при запуске в режиме «Предприятие» применит механизм автогенерации. Она создаст форму, которая уже содержит:
Это избавляет от написания сотен строк кода, которые раньше генерировались старым конструктором выходных форм.
Иногда возникают ситуации, когда стандартных возможностей СКД недостаточно и требуется полностью контролировать вывод данных. В этом случае программисту приходится работать с объектом ТабличныйДокумент вручную. Рассмотрим пример кода, который заменяет работу старого конструктора при программном формировании отчета:
// Пример программного вывода макета в управляемой форме
&НаСервере
Процедура СформироватьОтчетНаСервере()
ОбъектОтчет = РеквизитФормыВЗначение("Объект");
Макет = ОбъектОтчет.ПолучитьМакет("МакетОтчета");
// Получаем области из макета
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
// Заполняем параметры
ОбластьШапка.Параметры.ДатаОтчета = ТекущаяДата();
Результат.Вывести(ОбластьШапка);
// В цикле выводим данные
Для Каждого СтрокаДанных Из ДанныеДляВывода Цикл
ОбластьСтрока.Параметры.Заполнить(СтрокаДанных);
Результат.Вывести(ОбластьСтрока);
КонецЦикла;
КонецПроцедуры
Как мы видим, в управляемых формах мы оперируем областями макета и методом Вывести(). Отсутствие автоматического конструктора для этого процесса подчеркивает рекомендацию фирмы «1С» использовать СКД везде, где это возможно.
Проанализируем ситуацию, когда вам нужно создать печатную форму для документа или справочника. Несмотря на отсутствие общего конструктора выходных форм, в платформе сохранился «Конструктор печати».
Чтобы его найти, выберите нужный объект (например, документ «РеализацияТоваровУслуг»), перейдите на закладку «Макеты» и нажмите кнопку «Конструкторы» -> «Конструктор печати». Этот инструмент:
Важно: этот конструктор работает корректно и в режиме управляемого приложения, так как он создает структуру, совместимую с современными требованиями платформы.
Подведем итог нашему анализу. Отсутствие кнопки «Конструктор выходной формы» в 1С 8.3 — это не ошибка установки и не баг релиза. Это сознательный отказ от устаревшей технологии в пользу более мощного и гибкого инструмента — Системы компоновки данных.
Для эффективной работы в современных конфигурациях рекомендуем сфокусироваться на изучении настроек СКД, так как именно там теперь сосредоточен весь визуальный функционал проектирования отчетов. Это позволяет создавать профессиональные и функциональные отчеты гораздо быстрее, чем с использованием старых методов генерации кода.