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