При доработке печатных форм и внутренних накладных разработчики часто сталкиваются с проблемой: исходный макет сверстан по принципу «одна колонка — одна ячейка». При попытке добавить новые реквизиты или столбцы вся разметка документа сдвигается и теряет визуальные пропорции. Обычное копирование через буфер обмена не масштабирует ширину ячеек автоматически, так как платформа 1С переносит только индексы колонок, а не их ширину в миллиметрах.
Рассмотрим, как правильно решить эту задачу и сохранить внешнее оформление печатной формы.
Проанализируем механику работы редактора табличных документов. Каждая колонка в табличном документе имеет фиксированный номер и заданную ширину. Если скопировать ячейку из макета с одной широкой колонкой в документ с мелкой сеткой, скопированная ячейка займет ровно одну узкую колонку под тем же номером. В результате визуальная ширина элемента уменьшится в несколько раз, а верстка «съедет».
Наиболее надежный и проверенный стандарт разработки сложных печатных форм — построение макета на основе мелкой сетки (например, стандартная ширина каждой колонки задается равной 5 мм или 1–2 пунктам).
Разберем по шагам алгоритм переработки макета:
Если требуется добавить реквизиты только в определенную часть макета и нет необходимости полностью перерисовывать весь документ, используем механизм формата строк.
Рассмотрим порядок действий:
В программном коде для работы с секциями табличных документов также доступен метод СоздатьФорматСтрок(), который позволяет программно изолировать структуру колонок конкретных строк от остальной части документа.
Для добавления дополнительных блочных элементов (логотипов, заголовочных надписей, специальных штампов) можно использовать объекты типа «Текст» или «Рисунок». Такие объекты размещаются поверх основной сетки макета, имеют точные физические координаты и не зависят от ширины столбцов табличного документа.