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