В процессе работы с программой 1С:Бухгалтерия 3.0 пользователи и программисты нередко сталкиваются с визуальными искажениями при печати регламентированных отчетов. Типичная ситуация: при попытке сформировать Книгу покупок отчет выводится «перекособоченным» — появляются пустые вставленные колонки, ячейки объединяются или разъединяются случайным образом, а границы таблиц «разъезжаются». При этом Книга продаж или дополнительные листы могут отображаться абсолютно корректно. Проанализируем причины этой проблемы и разберем пошаговый алгоритм ее решения.
Первое, на что мы обычно обращаем внимание — это состояние макета в самой конфигурации. Если объект находится «под замком» (на поддержке без возможности редактирования), кажется, что ошибка кроется в платформе или кэше. Однако, как показывает практика, корень проблемы часто лежит глубже. Выясним основные факторы, влияющие на отрисовку Книги покупок:
КнигаПокупок981 (или аналогичные, например, КнигаПокупок1137), то платформа будет использовать именно его, игнорируя все обновления в основной конфигурации.Прежде чем что-то исправлять, нам необходимо точно определить, какой макет система использует в данный момент. Для этого воспользуемся отладчиком. Проанализируем ситуацию: в общем модуле или модуле менеджера отчета происходит вызов функции получения макета. Нам нужно поставить точку останова в месте, где инициализируется табличный документ.
Обычно в коде это выглядит следующим образом:
// Пример программного обращения к макету
ИмяМакета = "КнигаПокупок981";
Макет = УправлениеПечатью.МакетПечатнойФормы("ОбщийМакет." + ИмяМакета);
Именно в этот момент через «Вычислить выражение» можно проверить, откуда именно подтягивается объект. Если вы видите, что макет берется из расширения (в пути объекта будет указано имя расширения), значит, проблема найдена.
Рассмотрим подробнее механизм работы расширений. Платформа 1С:Предприятие 8.3 обладает строгим приоритетом: Расширение > Основная конфигурация. Если программист когда-то добавил макет в расширение, чтобы, например, изменить шрифт или добавить логотип компании, этот макет «застывает» в том состоянии, в котором он был на момент заимствования.
При обновлении типовой конфигурации 1С обновляет свои макеты под новые требования закона, но макет в расширении остается старым. В результате при формировании отчета код обращается к именованным областям Шапка, Строка или Итого, но из-за несоответствия количества колонок (например, отсутствие колонок для прослеживаемости), метод Присоединить() или Вывести() вставляет данные в неверные позиции.
Что нужно сделать:
КнигаПокупок981, КнигаПокупок1137 или КнигаПокупок735.Иногда «перекос» возникает из-за того, что в пользовательском режиме были изменены настройки компоновки данных. Книга покупок в современных версиях БП 3.0 строится с использованием СКД, которая затем заполняет фиксированный макет. Если пользователь через «Изменить вариант» добавил дополнительные группировки или поля, система может попытаться втиснуть их в жестко заданную структуру макета.
Посмотрим на ситуацию: в настройках может быть включена галочка «Группировать по контрагентам». В некоторых релизах это вызывало некорректное объединение ячеек в колонках с суммами НДС. Попробуйте сбросить настройки отчета к стандартным (Кнопка «Еще» — «Установить стандартные настройки»).
Если с макетами все в порядке, но отчет все равно выглядит странно (текст не влезает, границы смещены), стоит обратить внимание на технические параметры отрисовки. В платформе 8.3 существует известная проблема взаимодействия с системным масштабированием Windows (DPI).
Проанализируем настройки экрана: если у пользователя установлен масштаб 125% или 150%, табличный документ может отображаться с искажениями. Рекомендуется:
Подводя итог, можно сказать, что «перекособоченная» Книга покупок — это в 90% случаев признак конфликта между программным кодом, который ожидает новую структуру колонок, и физическим макетом, который остался старым.
Краткий чек-лист для исправления:
981 или выше).Помните, что перед сдачей декларации по НДС крайне важно проверять не только визуальную составляющую, но и соответствие макета текущим законодательным актам, так как отсутствие обязательных граф (например, по прослеживаемости) может привести к отказу в приеме отчетности.