В практике работы с 1С:Предприятие часто возникает досадная ситуация: один и тот же документ у большинства сотрудников печатается идеально, но у одного конкретного пользователя печатная форма упорно «расползается», не влезает по ширине или игнорирует настройки ориентации страницы. При этом проблема сохраняется даже при смене физического компьютера, если пользователь входит под своей учетной записью. Давайте детально разберем причины этого явления и пошагово выясним, как вернуть настройки печати в норму.
Прежде всего, нам необходимо проанализировать, где именно хранятся настройки печати. В системе 1С параметры страницы (поля, масштаб, ориентация, выбор принтера) сохраняются индивидуально для каждой пары «Пользователь — Идентификатор печатной формы». Это означает, что если бухгалтер однажды случайно изменил масштаб или установил некорректный принтер для «ТОРГ-12», система запомнит это именно для него. Разберем основные методы решения, от самых простых к наиболее радикальным.
Чаще всего проблема кроется в том, что в базе данных для конкретного пользователя записан некорректный масштаб. Разберем, как это исправить вручную:
Если ручная настройка через «Параметры страницы» не помогает или настройки сбрасываются при следующем открытии, значит, в системном хранилище настроек (SystemSettingsStorage) произошел сбой. Проанализируем, как очистить эти данные программно или через административную панель.
В конфигурациях на обычных формах (таких как УТ 10.3, которая упоминалась в обсуждении) или в управляемых формах, настройки хранятся в специальных таблицах базы данных. Рассмотрим алгоритм действий для администратора:
Если мы точно знаем, что у коллеги «Иванова» всё печатается правильно, мы можем просто скопировать его настройки «Петрову». Это эффективный метод, когда ручные манипуляции не дают результата.
Для этого воспользуемся обработкой «Копирование настроек пользователей», которая есть в большинстве типовых конфигураций. Мы выбираем пользователя-источника, выбираем целевого пользователя и отмечаем галочкой пункт «Настройки печати» или «Прочие настройки». После завершения операции параметры страницы у проблемного сотрудника станут идентичны настройкам коллеги.
Иногда корень проблемы лежит вне 1С. Выясним, как операционная система влияет на формирование табличного документа. 1С запрашивает у драйвера принтера «по умолчанию» границы области печати. Если у пользователя в Windows установлен принтер с нестандартными полями (например, факс или старый матричный принтер), 1С сформирует форму исходя из его ограничений.
Проанализируем следующие моменты:
Letter вместо привычного A4. Формат Letter короче и шире, что приводит к разрыву страниц в 1С.Если мы как программисты хотим раз и навсегда исключить подобные жалобы для конкретной печатной формы, мы можем принудительно задать параметры в коде формирования табличного документа. Посмотрим на пример реализации:
// В процедуре печати перед выводом на экран или принтер
ТабДок = Новый ТабличныйДокумент;
// Устанавливаем автоматический масштаб по ширине страницы
ТабДок.АвтоМасштаб = Истина;
// Принудительно задаем ориентацию (например, Ландшафт)
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
// Устанавливаем стандартные поля в миллиметрах
ТабДок.ПолеСлева = 10;
ТабДок.ПолеСправа = 5;
ТабДок.ПолеСверху = 10;
ТабДок.ПолеСнизу = 10;
Использование свойства АвтоМасштаб является «золотым стандартом» при разработке печатных форм. Это гарантирует, что даже если пользователь добавит колонку или изменит шрифт, система попытается уместить документ в границы листа А4.
Рассмотрим ситуацию, когда работа идет на терминальном сервере. Часто используется технология Easy Print, которая пробрасывает принтеры с локальных машин. Она нередко искажает передачу параметров страницы. Если вы столкнулись с этим, попробуйте установить на сервер идентичный драйвер принтера (той же версии, что и на локальном ПК) и отключить использование только Easy Print в групповых политиках сервера. Это позволит 1С более точно определять физические границы печати.
Подведем итог: если печатная форма не помещается на лист только у одного пользователя, мы имеем дело с «залипшими» индивидуальными настройками. Порядок действий должен быть следующим: сначала пробуем Масштаб по ширине листа в параметрах страницы, затем очищаем настройки пользователя через Администрирование, и в последнюю очередь проверяем принтер по умолчанию и масштаб экрана в самой Windows. Сочетание этих методов позволяет решить проблему в 99% случаев.