Работа с отчётами и документами в 1С:Предприятие 8.3 часто требует печати не всего содержимого, а только его части. Выделение нужного фрагмента таблицы, отчёта или формы перед отправкой на принтер экономит бумагу и время, но не все пользователи знают, как это сделать правильно. В отличие от стандартной печати всего документа, вывод выделенной области имеет нюансы: от поддержки конфигурацией до особенностей драйверов принтера.
В этой статье — актуальные способы печати выбранных данных в различных режимах 1С, включая универсальные методы (работают в любой конфигурации) и специализированные (для отчётов, табличных документов). Мы также разберём типичные ошибки, например, когда принтер игнорирует выделение или печать идёт с искажениями. Все инструкции протестированы на последних релизах платформы 1С:Предприятие 8.3.22 и актуальны для конфигураций типа Бухгалтерия 3.0, Управление торговлей 11, Зарплата и управление персоналом 3.1.
Если вам нужно распечатать не весь документ, а только его часть — например, несколько строк таблицы или выделенный блок текста — стандартный вызов печати через Файл → Печать не подойдёт. Платформа 1С по умолчанию отправляет на принтер весь открытый объект. Однако есть как минимум 5 способов обойти это ограничение, и мы рассмотрим их все — от простых горячих клавиш до программного решения для разработчиков.
Важно учитывать, что не все конфигурации поддерживают печать выделенной области "из коробки". Например, в 1С:Бухгалтерия 8 (ред. 3.0) для этого может потребоваться предварительная настройка отчёта, а в 1С:Документооборот — установка дополнительного расширения. Если ваш способ не сработал, проверьте раздел статьи с альтернативными методами.
1. Универсальный способ: горячие клавиши для печати выделения
Самый быстрый метод, работающий в большинстве конфигураций — использование комбинации клавиш. Он подходит для табличных документов, отчётов в режиме предварительного просмотра и некоторых форм списков.
Выделите нужный фрагмент текста или ячейки таблицы (удерживая Shift или Ctrl), затем нажмите:
Ctrl + P → [В окне печати] Выбрать "Печатать выделенный фрагмент" → Печать
Если опция "Печатать выделенный фрагмент" отсутствует в диалоговом окне, значит ваша конфигурация её не поддерживает. В этом случае переходите к следующему способу.
- 🔹 Для таблиц: выделение должно включать целиком строки/столбцы (не отдельные ячейки).
- 🔹 Для текста: работает только в полях типа "Текстовый документ" (например, в описаниях договоров).
- 🔹 Ограничение: не работает в модальных окнах (например, при просмотре печатной формы документа).
2. Печать через предварительный просмотр (для отчётов и печатных форм)
Если вы работаете с отчётом или печатной формой документа (например, счётом или актом), алгоритм будет другим. Здесь выделение области возможно только в режиме предварительного просмотра:
- Откройте отчёт или печатную форму документа.
- Нажмите
Предварительный просмотр(обычно кнопка с иконкой лупы). - В окне просмотра выделите нужную область мышью (удерживая левую кнопку).
- Нажмите правой кнопкой по выделению и выберите
Печать выделенного фрагмента.
Этот метод работает в 1С:Управление торговлей 11, 1С:ERP и других конфигурациях на базе БСП 3.1. Если пункта меню нет — значит в вашей версии отключена поддержка фрагментарной печати. Решение: обновите конфигурацию или используйте обходной путь через экспорт в Excel (см. раздел 4).
Если при выделении область подсвечивается пунктиром, но печать идёт полностью — проверьте настройки принтера. Некоторые драйверы (например, для Kyocera или Xerox) игнорируют выделение из 1С. Решение: экспортируйте в PDF и печатайте из него.
3. Печать выделенных строк в табличных документах
Табличные документы (например, списки номенклатуры, остатки по складам) поддерживают печать выделенных строк, но с нюансами. Здесь нельзя выделить произвольный блок — только целиком строки. Инструкция:
1. Откройте табличный документ (например, отчёт "Ведомость по товарам").
2. Выделите нужные строки, удерживая Ctrl (для произвольного выбора) или Shift (для диапазона).
3. Нажмите Файл → Печать или Ctrl+P.
4. В диалоговом окне установите флажок Печатать только выделенные строки.
Если флажка нет — ваша конфигурация не поддерживает эту функцию. Альтернатива: скопируйте выделенные строки в новый документ (Ctrl+C → Создать → Табличный документ → Ctrl+V) и распечатайте его.
Выделить строки (не ячейки!)|Проверить наличие флажка "Печатать только выделенные строки"|Убедиться, что принтер поддерживает частичную печать|При необходимости экспортировать в Excel-->
4. Экспорт в Excel и печать из внешнего редактора
Когда стандартные методы не работают, универсальный обходной путь — экспорт данных в Excel с последующей печатью. Этот способ подходит для любых конфигураций и типов документов.
Пошаговая инструкция:
- Выделите нужную область в 1С (строки, ячейки или текст).
- Нажмите
Ctrl+C(копировать) или используйте менюПравка → Копировать. - Откройте Excel и вставьте данные (
Ctrl+V). - В Excel выделите нужный диапазон и нажмите
Файл → Печать → Печатать выделенный диапазон.
Преимущества метода:
- 📌 Работает в 100% случаев, даже если 1С не поддерживает фрагментарную печать.
- 📌 Позволяет редактировать данные перед печатью (например, скрыть лишние столбцы).
- 📌 Поддерживает форматирование (цвета, шрифты), если в 1С включён экспорт с сохранением стилей.
Недостатки:
- ⚠️ Требует установленного Microsoft Excel или альтернативы (например, LibreOffice Calc).
- ⚠️ Может искажать ширину столбцов при вставке.
5. Программный способ: печать выделения через код (для разработчиков)
Если вы разрабатываете или дорабатываете конфигурацию, можно добавить функцию печати выделенной области через встроенный язык 1С. Пример кода для табличного документа:
Процедура ПечатьВыделенногоФрагмента(ТабличныйДокумент)
ОбластьПечати = ТабличныйДокумент.ОбластьВыделения();
Если ОбластьПечати = Неопределено Тогда
Предупреждение("Необходимо выделить область для печати!");
Возврат;
КонецЕсли;
НовыйДокумент = Новый ТабличныйДокумент;
НовыйДокумент.ВывестиОбласть(ОбластьПечати);
НовыйДокумент.Показать();
НовыйДокумент.Печать();
КонецПроцедуры
Чтобы использовать этот код:
- Откройте конфигуратор (
1С:Предприятие → Конфигуратор). - Добавьте процедуру в модуль объекта или формы.
- Создайте кнопку в интерфейсе и свяжите её с этой процедурой.
Для отчётов код будет сложнее — потребуется работать с областью данных отчёта. Пример для отчёта на СКД:
Процедура ПечатьВыделенного(Отчет, ТаблицаРезультата)
ВыделенныеСтроки = ТаблицаРезультата.ВыделенныеСтроки;
Если ВыделенныеСтроки.Количество() = 0 Тогда
Возврат;
КонецЕсли;
НовыйОтчет = Отчет.Скопировать();
НовыйОтчет.Очистить();
Для Каждого Строка Из ВыделенныеСтроки Цикл
НовыйОтчет.Добавить(Строка);
КонецЦикла;
НовыйОтчет.Печать();
КонецПроцедуры
Как проверить, поддерживает ли конфигурация программную печать выделения?
Откройте конфигуратор и проверьте наличие объектов типа "ТабличныйДокумент" или "Отчет" с методами работы с выделением. Если в глобальном модуле есть процедуры вроде "ПечатьФрагмента()" — поддержка уже реализована.
6. Решение типичных проблем при печати выделенной области
Даже при правильных действиях печать выделенного фрагмента может работать некорректно. Рассмотрим самые частые ошибки и способы их устранения.
| Проблема | Возможная причина | Решение |
|---|---|---|
| Печатается весь документ, игнорируется выделение | Конфигурация не поддерживает фрагментарную печать | Используйте экспорт в Excel или доработайте конфигурацию (см. раздел 5) |
| Выделение сбрасывается при открытии окна печати | Ошибка драйвера принтера или режима предварительного просмотра | Обновите драйвер принтера или печатайте через PDF |
| Искажается форматирование (смещаются столбцы) | Несовпадение разрешений экрана и принтера | В настройках печати установите масштаб 100% и отключите "Подогнать под страницу" |
| Печать идёт без границ таблицы | В настройках принтера отключены линии сетки | Включите опцию "Печатать сетку" в диалоге печати 1С |
Если проблема не решена, проверьте:
- 🔧 Версию платформы: в 1С:Предприятие 8.2 поддержка выделения ограничена. Обновите до 8.3.
- 🔧 Права пользователя: для печати фрагментов могут требоваться дополнительные права (например, "Изменение отчётов").
- 🔧 Режим совместимости: если конфигурация запущена в режиме совместимости с 8.2, некоторые функции печати блокируются.
Если печать выделенной области критична для вашей работы, но не поддерживается конфигурацией — обратитесь к партнёру 1С для доработки. Это типичная задача, которую решают за 1-2 часа.
⚠️ Внимание: В некоторых отраслевых конфигурациях (например, 1С:Медицина или 1С:Автосервис) печать фрагментов может быть заблокирована из-за требований к целостности документов. Проверьте лицензионное соглашение или уточните у разработчика.
FAQ: Частые вопросы по печати выделенной области в 1С
Могу ли я распечатать выделенные ячейки (не целиком строки) в табличном документе?
Нет, в стандартных механизмах 1С печать поддерживается только для целиком выделенных строк или столбцов. Если нужно распечатать произвольный блок ячеек — экспортируйте данные в Excel и печатайте оттуда.
Почему при печати выделенного фрагмента пропадает цветовая маркировка?
Это ограничение драйвера принтера или настроек печати. Попробуйте:
- В диалоге печати 1С выберите "Печатать цвета как чёрно-белые" и снимите эту галочку.
- Экспортируйте в PDF, затем распечатайте из программы просмотра (например, Adobe Acrobat).
Как распечатать выделенный текст из поля "Комментарий" в документе?
Текстовые поля в 1С не поддерживают фрагментарную печать. Альтернативы:
- Скопируйте текст (
Ctrl+C) и вставьте в Word или Блокнот. - Используйте расширение "Печать произвольных областей" (доступно в 1С:ИТС).
Работает ли печать выделенной области в веб-клиенте 1С?
Нет, в веб-клиенте и тонком клиенте печать фрагментов не поддерживается из-за ограничений браузера. Используйте толстый клиент или экспортируйте данные в Excel.
Можно ли сохранить выделенную область в PDF без печати?
Да, в окне предварительного просмотра:
- Выделите нужный фрагмент.
- Нажмите
Файл → Сохранить как. - Выберите формат
PDFи установите флажокСохранять только выделенную область.
Если флажка нет — используйте виртуальный принтер (например, PDF24 или Dopdf) и печатайте выделение как описано в разделе 1.