Почему в 1С недоступно сохранение печатной формы в файл и как это исправить?

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

При работе с печатными формами документов в программах 1С пользователи нередко сталкиваются с ситуацией, когда кнопка сохранения неактивна или пункт главного меню Файл — Сохранить как... заблокирован (отображается серым цветом). При этом документ можно отправить на печать на физический принтер, но выгрузить его в форматы Excel (XLS/XLSX), PDF или MXL не удается. Разберем основные причины такого поведения платформы и пошагово рассмотрим способы решения проблемы.

Причина 1. Программная установка свойства «Защита» табличного документа

Наиболее распространенная причина блокировки экспорта — принудительная установка свойства Защита у объекта ТабличныйДокумент в коде конфигурации или внешней печатной формы. Когда свойству Защита присвоено значение Истина, платформа 1С накладывает жесткие ограничения: запрещается редактирование ячеек, копирование информации в буфер обмена, а также любое интерактивное сохранение во внешние файлы.

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


// Отключаем защиту табличного документа для возможности выгрузки
ТабДокумент.Защита = Ложь;

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

Причина 2. Свойство «Вывод» и системное право роли

Возможность сохранения и печати табличных документов регулируется системным свойством Вывод, которое принимает значения из системного перечисления ИспользованиеВывода:

  1. ИспользованиеВывода.Запретить — полностью блокирует интерактивное сохранение в файл, экспорт, копирование в буфер обмена и вывод на принтер, независимо от назначенных пользователю прав.
  2. ИспользованиеВывода.Авто — стандартный режим. Возможность выгрузки определяется наличием у текущего пользователя роли с правом Вывод в дереве прав конфигурации.
  3. ИспользованиеВывода.Разрешить — принудительно разрешает печать и экспорт документа в файл даже для тех пользователей, у которых в ролях отсутствует системное право Вывод.

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


// Разрешаем интерактивный вывод и сохранение печатной формы
ТабДокумент.Вывод = ИспользованиеВывода.Разрешить;
ТабДокумент.Защита = Ложь;

Причина 3. Настройки прав и дополнительных прав пользователей

В конфигурациях на обычных формах (таких как 1С:Управление торговлей 10.3, 1С:УПП 1.3, 1С:Комплексная автоматизация 1.1) доступность работы с табличными документами часто ограничивается специальными настройками:

  1. Регистр сведений «Значения дополнительных прав пользователей»: перейдем в раздел администрирования пользователей и проверим право Редактирование таблиц. Если флаг снят, пользователь не сможет изменять и в ряде случаев экспортировать печатные формы.
  2. Право «Вывод» в ролях конфигуратора: откроем конфигуратор, найдем назначенную пользователю роль (или создадим отдельную роль) и убедимся, что на корневом уровне конфигурации установлен флаг Вывод. В современных конфигурациях на управляемых формах (БСП) за это отвечает профиль групп доступа с разрешением Вывод на принтер, в файл, в буфер обмена.

Причина 4. Потеря фокуса и свойства элементов формы

Иногда блокировка функции сохранения носит интерфейсный характер. Проверим следующие нюансы:

  1. Фокус ввода: команда меню Файл — Сохранить как... и сочетание клавиш Ctrl + S активируются платформой только тогда, когда активен сам табличный документ. Активируем печатную форму щелчком мыши внутри области ячеек.
  2. Свойства элемента управления: если табличный документ встроен в форму, проверим свойства элемента формы. Флаг Редактирование должен быть включен, а командная панель формы должна содержать стандартные команды сохранения.
  3. Модальные окна: при открытии печатной формы в модальном диалоговом окне главное меню программы блокируется платформой. Экспорт возможен только при наличии кнопок сохранения на командной панели самого окна.

Альтернативное решение: программный экспорт в файл

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


// Пример программного сохранения печатной формы в формате Excel
ПутьСохранения = "C:\Temp\ПечатнаяФорма.xlsx";
ТабДокумент.Записать(ПутьСохранения, ТипФайлаТабличногоДокумента.XLSX);

Метод Записать() поддерживает выгрузку во множество распространенных форматов: XLSX, PDF, HTML, DOCX, MXL, TXT и другие, что позволяет гибко настроить автоматическую отправку или сохранение файлов по кнопке на форме.

← На главную