Как отключить печать колонтитулов в отчетах 1С для конкретного пользователя?

Программист 1С v8.3 (Обычные формы) IT и автоматизация бизнеса
← На главную

При формировании стандартных и универсальных отчетов в конфигурациях на обычных формах (например, «Управление производственным предприятием» или «Бухгалтерия предприятия 2.0») пользователи могут неожиданно столкнуться с ситуацией, когда на каждом листе при выводе на печать начинают отображаться нежелательные колонтитулы — дата, время, номер страницы или имя пользователя. При этом у остальных сотрудников отчеты формируются в штатном виде. Разберем детально, почему так происходит и как программно и интерактивно отключить колонтитулы.

Почему колонтитулы появляются индивидуально

Проанализируем механизм сохранения настроек печатных форм в платформе 1С:Предприятие. Поведение табличного документа при выводе на печать определяется следующими факторами:

  1. Индивидуальное сохранение параметров печати. Когда отчет выводит результат в табличный документ, свойству ИмяПараметровПечати или КлючПараметровПечати присваивается идентификатор (например, имя отчета). Если пользователь хотя бы один раз вручную скорректировал параметры листа (через системное меню) или применил индивидуальную настройку, платформа записывает эти параметры в системное хранилище с привязкой к конкретной учетной записи.
  2. Приоритет сохраненных настроек над макетом. В момент формирования отчета платформа сначала строит табличный документ, а затем применяет сохраненные пользователем параметры. Если в сохраненных параметрах активирован вывод верхнего или нижнего колонтитула, они принудительно добавятся к табличному документу.
  3. Особенности полей страницы и принтеров. Колонтитулы физически размещаются в зоне полей документа. Если поля страницы равны нулю или слишком малы, колонтитул может отсекаться драйвером принтера. При смене принтера или случайном изменении размера верхнего и нижнего полей пользователем колонтитул внезапно попадает в область печати, создавая ощущение «плавающей» ошибки.
  4. Регистр сведений «Настройки пользователей». В типовых конфигурациях многие параметры формирования отчетов привязаны к элементу справочника Пользователи, что также переопределяет стандартное поведение печатных форм.

Способ 1. Программная очистка сохраненных настроек через ХранилищеСистемныхНастроек

Рассмотрим наиболее точный способ сброса параметров печати для пользователя, не требующий создания новой учетной записи (что привело бы к разрыву ссылок на ответственного в документах базы данных). Платформа предоставляет объект ХранилищеСистемныхНастроек, с помощью которого можно точечно удалить сохраненную конфигурацию печати.

Разберем пример кода внешней обработки для очистки сохраненных параметров:


// Указываем имя пользователя информационной базы и ключ параметров печати отчета
ИмяПользователяБД = "Иванов Иван Иванович";
ИмяНастройкиПечати = "УниверсальныйОтчет"; // Имя параметров печати конкретного отчета

// Формируем ключ объекта настроек печати табличного документа
КлючОбъекта = "Общее/НастройкиПечатиТабличногоДокумента/" + ИмяНастройкиПечати;
КлючНастроек = "";

// Удаляем индивидуальную настройку из системного хранилища
ХранилищеСистемныхНастроек.Удалить(КлючОбъекта, КлючНастроек, ИмяПользователяБД);

Сообщить("Настройки печати отчета успешно сброшены для пользователя: " + ИмяПользователяБД);

Если требуется принудительно задать параметры табличного документа программно, отключив колонтитулы до момента сохранения, обратим внимание на свойства колонтитулов объекта ТабличныйДокумент:


ТабДок = Новый ТабличныйДокумент;
ТабДок.ИмяПараметровПечати = "Моя_Настройка_Печати";

// Отключаем вывод колонтитулов на печать
ТабДок.ВерхнийКолонтитул.Выводить = Ложь;
ТабДок.НижнийКолонтитул.Выводить = Ложь;

// Очищаем шаблоны текста колонтитулов
ТабДок.ВерхнийКолонтитул.ТекстСлева = "";
ТабДок.ВерхнийКолонтитул.ТекстВЦентре = "";
ТабДок.ВерхнийКолонтитул.ТекстСправа = "";
ТабДок.НижнийКолонтитул.ТекстСлева = "";
ТабДок.НижнийКолонтитул.ТекстВЦентре = "";
ТабДок.НижнийКолонтитул.ТекстСправа = "";

Важный нюанс: если в отчете используется ПостроительОтчета, его метод Вывести() может переопределять свойства колонтитулов макетом по умолчанию. Поэтому отключение колонтитулов в коде необходимо выполнять строго после вывода данных либо настраивать колонтитулы непосредственно в макете построителя перед генерацией отчета.

Способ 2. Отключение через системный диалог «Параметры страницы»

Если у пользователя есть доступ к интерфейсу программы, разберем по шагам самый быстрый способ исправления без программирования:

  1. Открываем проблемный отчет и формируем его.
  2. Активируем сформированное поле табличного документа щелчком мыши.
  3. В главном меню программы переходим в пункт Файл → Параметры страницы….
  4. В открывшемся окне переходим на закладку (или в блок) Колонтитулы.
  5. Снимаем флаги отображения верхнего и нижнего колонтитулов либо полностью очищаем поля с шаблонами (такими как [&Дата], [&Время], [&НомерСтраницы], [&Пользователь]).
  6. Нажимаем кнопку ОК.

После нажатия кнопки ОК платформа перезапишет настройки в хранилище под текущим именем параметров печати для данного пользователя, и при следующих формированиях отчета колонтитулы выводиться не будут.

Способ 3. Централизованная настройка стандартных отчетов в интерфейсе конфигурации

Проанализируем типовые возможности конфигураций УПП и Бухгалтерия предприятия. В них предусмотрены специализированные формы для управления оформлением отчетов:

  1. Переходим в меню Отчеты → Настройка отчетов → Настройка колонтитулов (или Настройка колонтитулов стандартных отчетов).
  2. В открывшемся диалоге проверяем установленные флаги для верхнего и нижнего колонтитулов.
  3. Если они включены, снимаем их и сохраняем изменения.

Если централизованная настройка не действует на одного конкретного пользователя, открываем регистр сведений Настройки пользователей под правами администратора, находим записи с отбором по нужному сотруднику и очищаем сохраненные строки, отвечающие за параметры стандартных отчетов.

Способ 4. Очистка кэша пользовательских настроек

В ситуациях, когда отчет ведет себя нестабильно (настройки то пропадают, то появляются вновь, особенно при работе на терминальном сервере), вероятной причиной является сбой локального кэша сеанса. Проверим каталоги временных файлов:

  1. Завершаем сеанс пользователя в 1С.
  2. Открываем каталоги:

    %AppData%\1C\1Cv8

    %LocalAppData%\1C\1Cv8

  3. Удаляем каталоги с уникальными идентификаторами пользовательских настроек.
  4. Запускаем базу данных заново и проверяем формирование отчета.

Такой комплексный подход позволяет гарантированно устранить вывод колонтитулов, сохранив ссылочную целостность базы данных и индивидуальные права пользователя.

← На главную