При работе с печатными формами документов в программах 1С пользователи нередко сталкиваются с ситуацией, когда кнопка сохранения неактивна или пункт главного меню Файл — Сохранить как... заблокирован (отображается серым цветом). При этом документ можно отправить на печать на физический принтер, но выгрузить его в форматы Excel (XLS/XLSX), PDF или MXL не удается. Разберем основные причины такого поведения платформы и пошагово рассмотрим способы решения проблемы.
Наиболее распространенная причина блокировки экспорта — принудительная установка свойства Защита у объекта ТабличныйДокумент в коде конфигурации или внешней печатной формы. Когда свойству Защита присвоено значение Истина, платформа 1С накладывает жесткие ограничения: запрещается редактирование ячеек, копирование информации в буфер обмена, а также любое интерактивное сохранение во внешние файлы.
Проанализируем процедуру формирования печатной формы в модуле объекта, модуле менеджера или модуле обработки печати. Для снятия блокировки необходимо найти место инициализации табличного документа и отключить защиту:
// Отключаем защиту табличного документа для возможности выгрузки
ТабДокумент.Защита = Ложь;
Если печатная форма формируется в типовой конфигурации, находящейся на поддержке, правильным решением будет создание внешней печатной формы (ВПФ) на базе типового макета с отключенным свойством Защита, либо корректировка через механизм расширений конфигурации.
Возможность сохранения и печати табличных документов регулируется системным свойством Вывод, которое принимает значения из системного перечисления ИспользованиеВывода:
Вывод в дереве прав конфигурации.Вывод.Чтобы гарантировать пользователю возможность сохранения сформированного документа, настроим свойства вывода программно:
// Разрешаем интерактивный вывод и сохранение печатной формы
ТабДокумент.Вывод = ИспользованиеВывода.Разрешить;
ТабДокумент.Защита = Ложь;
В конфигурациях на обычных формах (таких как 1С:Управление торговлей 10.3, 1С:УПП 1.3, 1С:Комплексная автоматизация 1.1) доступность работы с табличными документами часто ограничивается специальными настройками:
Редактирование таблиц. Если флаг снят, пользователь не сможет изменять и в ряде случаев экспортировать печатные формы.Вывод. В современных конфигурациях на управляемых формах (БСП) за это отвечает профиль групп доступа с разрешением Вывод на принтер, в файл, в буфер обмена.Иногда блокировка функции сохранения носит интерфейсный характер. Проверим следующие нюансы:
Файл — Сохранить как... и сочетание клавиш Ctrl + S активируются платформой только тогда, когда активен сам табличный документ. Активируем печатную форму щелчком мыши внутри области ячеек.Редактирование должен быть включен, а командная панель формы должна содержать стандартные команды сохранения.Если необходимо предоставить пользователю возможность выгрузки печатной формы без использования интерактивного меню платформы, реализуем программное сохранение с помощью метода Записать() объекта ТабличныйДокумент:
// Пример программного сохранения печатной формы в формате Excel
ПутьСохранения = "C:\Temp\ПечатнаяФорма.xlsx";
ТабДокумент.Записать(ПутьСохранения, ТипФайлаТабличногоДокумента.XLSX);
Метод Записать() поддерживает выгрузку во множество распространенных форматов: XLSX, PDF, HTML, DOCX, MXL, TXT и другие, что позволяет гибко настроить автоматическую отправку или сохранение файлов по кнопке на форме.