Работа с печатными формами в 1С:Предприятие — одна из самых востребованных задач как для бухгалтеров, так и для программистов. Нередко возникает ситуация, когда стандартный шаблон документа (счета, накладной, акта) не устраивает пользователя, и требуется его доработка. Однако перед тем как вносить изменения, нужно найти и открыть модуль печатной формы — а это не всегда очевидно, особенно для новичков.
В этой статье мы разберём все возможные способы доступа к модулю печатной формы в различных конфигурациях 1С (включая 1С:Бухгалтерию 8.3, 1С:УТ 11, 1С:ЗУП 3.1 и другие). Вы узнаете, как открыть модуль через конфигуратор, из режима предприятия, с помощью внешних обработок, а также как решить типичные ошибки, которые мешают редактированию. Отдельное внимание уделим вопросам прав доступа и особенностям работы с управляемыми формами.
Если вы не разработчик, но вам нужно срочно поправить печатную форму — не переживайте: мы дадим пошаговые инструкции и для пользователей без глубоких знаний в программировании. А для опытных специалистов приведём нюансы работы с ОбщийМакет, ТабличныйДокумент и динамическим формированием отчётов.
1. Что такое модуль печатной формы в 1С и зачем его открывать
Модуль печатной формы — это программный код, который отвечает за формирование документа в виде, пригодном для печати или экспорта (PDF, Excel, Word). В 1С печатные формы могут быть:
- 📄 Встроенными — поставляются вместе с конфигурацией (например, стандартная форма счёта-фактуры).
- 🔧 Доработанными — изменёнными под нужды компании (добавлены логотип, реквизиты, таблицы).
- 📥 Внешними — подключаемыми через обработки (часто используются для нетиповой отчётности).
Открывать модуль печатной формы приходится в следующих случаях:
- 🖨️ Нужно изменить дизайн документа (шрифты, поля, расположение таблиц).
- 📌 Требуется добавить новые реквизиты (например, ИНН контрагента или условия оплаты).
- 🐞 Возникла ошибка при печати (например, не выводятся суммы или «слетают» колонки).
- 🔄 Необходимо перенести форму из одной базы в другую.
Важно понимать, что в 1С 8.3 печатные формы могут быть реализованы по-разному:
- Через
ОбщийМакет(для простых форм). - Через
ТабличныйДокументс программной прорисовкой (для сложных отчётов). - Через управляемые формы (в современных конфигурациях).
2. Способ 1: Открытие модуля через Конфигуратор (для разработчиков)
Самый надёжный и универсальный способ — использование Конфигуратора. Он подходит для любых конфигураций 1С 8.x и даёт полный доступ к коду. Инструкция:
- Закройте 1С:Предприятие (если оно открыто).
- Запустите Конфигуратор от имени администратора (правый клик по ярлыку → «Запуск от имени администратора»).
- Введите пароль (если он установлен). По умолчанию в новых базах пароль пустой.
- В дереве объектов конфигурации найдите раздел
Общие → Печатные формыилиОбъекты → Документы → [Ваш документ] → Печатные формы. - Дважды кликните по нужной печатной форме. Откроется окно с её свойствами.
- Перейдите на вкладку
Модуль— здесь и находится код, который формирует документ.
Если печатная форма привязана к конкретному документу (например, к счёту или накладной), ищите её в ветке этого документа:
Документы → СчётНаОплату → ПечатныеФормы → ПечатнаяФормаСчёта
Открыть Конфигуратор от имени администратора|
Сделать резервную копию базы (Файл → Сохранить данные информационной базы)|
Проверить права доступа (должна быть роль "Администратор" или "Конфигуратор")|
Убедиться, что никто не работает с базой в режиме предприятия-->
Внимание! Если в дереве конфигурации нет раздела Печатные формы, значит они реализованы через ОбщийМакет или ТабличныйДокумент. В этом случае:
- Откройте модуль объекта (документа, отчёта), к которому привязана печатная форма.
- Найдите процедуру с названием вроде
Печать(),СформироватьПечатнуюФорму()илиПечатьДокумента(). - Внутри этой процедуры будет вызов макета или программное формирование табличного документа.
Что делать, если в Конфигураторе нет раздела "Печатные формы"?
В современных конфигурациях (например, 1С:Бухгалтерия 3.0 или 1С:ERP) печатные формы часто реализованы через ОбщиеМакеты или Управляемые формы. В этом случае:
1. Откройте ветку Общие → ОбщиеМакеты и найдите макет с названием, похожим на вашу форму (например, МакетПечатнойФормыСчета).
2. Если макета нет — ищите процедуру печати в модуле документа. Обычно она называется Печать() или Сформировать() и содержит код вроде:
ТабДок = Новый ТабличныйДокумент;
Макет = Документы.[ВашДокумент].ПечатнаяФормаСчета.ПолучитьМакет("Основной");
ТабДок.Вывести(Макет);
3. Для управляемых форм печатная форма может быть привязана к команде на форме (см. раздел "Команды").
3. Способ 2: Открытие модуля из режима 1С:Предприятие (для пользователей)
Не все пользователи имеют доступ к Конфигуратору, но иногда модуль печатной формы можно открыть прямо из режима 1С:Предприятие. Этот способ работает, если:
- 🔓 У вас есть права на редактирование конфигурации (роль «Администратор» или «Полные права»).
- 📁 Печатная форма реализована через
ОбщийМакетилиВнешнюю обработку.
Инструкция:
- Откройте документ, для которого нужно изменить печатную форму (например, счёт на оплату).
- Нажмите кнопку
Печать(илиЕщё → Печать). - В списке доступных форм выберите нужную и нажмите
Изменить форму(если такой кнопки нет — способ не подходит). - Если форма внешняя — откроется обработка, где можно редактировать макет или код.
Для управляемых форм (в современных конфигурациях) путь другой:
- Откройте документ и перейдите в форму редактирования.
- Нажмите
Ещё → Изменить форму(если кнопка активна). - В открывшемся окне найдите вкладку
Модуль— здесь будет код, отвечающий за печать.
Если кнопки "Изменить форму" нет, но вы уверены, что форма внешняя — попробуйте найти её в меню Файл → Открыть и выбрать тип файла "Внешняя обработка (*.epf)".
⚠️ Внимание! В большинстве типовых конфигураций (1С:Бухгалтерия 8.3, 1С:УТ 11) печатные формы не редактируются из режима предприятия — для этого обязательно нужен Конфигуратор. Если вам срочно нужно изменить форму, но доступа к Конфигуратору нет, попробуйте:
- 📤 Экспортировать форму в
Excel/Wordи доработать там. - 🔄 Использовать внешнюю обработку печати (можно скачать готовые с сайтов вроде Infostart или 1С-Сообщество).
4. Способ 3: Поиск печатной формы по коду (для опытных пользователей)
Если печатная форма не видна в дереве конфигурации, но вы знаете её название (например, из сообщения об ошибке), можно найти её модуль через поиск по тексту. Это работает и для встроенных форм, и для тех, что реализованы через ОбщийМакет.
Инструкция:
- В Конфигураторе нажмите
Правка → Найти в текстах(илиCtrl+Shift+F). - В поле поиска введите ключевое слово из названия формы (например,
ПечатнаяФормаСчетаилиМакетСчетаНаОплату). - Установите галочки:
- 🔍
Искать в модулях - 📄
Искать в макетах - 🔄
Регистрозависимый поиск(если точно знаете регистр)
- 🔍
Найти.Результаты поиска покажут:
- 📜 Модули, где упоминается форма (например, модуль документа
СчётНаОплату). - 🖼️ Макеты, если форма реализована через
ОбщийМакет. - 📝 Процедуры, которые формируют печатную форму (например,
Печать()илиСформироватьПечатнуюФорму()).
Пример того, что вы можете увидеть в результатах:
// Модуль документа "СчётНаОплату"
Процедура Печать()
ПечатнаяФорма = Документы.СчётНаОплату.ПечатнаяФормаСчета.Получить();
ПечатнаяФорма.Заполнить(ЭтотОбъект);
ПечатнаяФорма.Вывести();
КонецПроцедуры
В этом случае модуль печатной формы находится в объекте Документы.СчётНаОплату.ПечатнаяФормаСчета. Чтобы его открыть:
- В дереве конфигурации найдите
Документы → СчётНаОплату → ПечатныеФормы → ПечатнаяФормаСчета. - Дважды кликните по ней и перейдите на вкладку
Модуль.
Поиск по тексту — самый надёжный способ найти "спрятанные" печатные формы, особенно если они реализованы через ОбщийМакет или динамически формируются в коде.
5. Способ 4: Работа с внешними печатными формами
Если печатная форма подключается как внешняя обработка (файл с расширением .epf), её модуль открывается иначе. Внешние формы часто используются для:
- 📊 Нетиповой отчётности (например, формы для ФНС или банков).
- 🔄 Переноса форм между базами.
- 🛠️ Быстрой доработки без изменения конфигурации.
Как открыть модуль внешней печатной формы:
- В режиме 1С:Предприятие откройте меню
Файл → Открыть. - Выберите тип файла
Внешняя обработка (*.epf). - Найдите и откройте файл с обработкой.
- В открывшемся окне перейдите на вкладку
Модуль— здесь и будет код формы.
Если внешняя обработка уже подключена к базе, но вы не знаете, где её искать:
- В Конфигураторе откройте
Общие → ВнешниеОбработки. - Найдите нужную обработку по названию (например,
ПечатнаяФормаТорг12). - Дважды кликните по ней и перейдите на вкладку
Модуль.
⚠️ Внимание! Внешние обработки могут перезаписывать стандартные печатные формы. Если после подключения внешней формы перестали работать стандартные — проверьте приоритеты в настройках печати (обычно это делается в модуле документа или в настройках пользователя).
Пример кода внешней печатной формы (упрощённо):
Процедура Печать(ДокументОбъект) Экспорт
Макет = ДокументОбъект.ПолучитьМакет("ПечатнаяФорма");
ТабДок = Новый ТабличныйДокумент;
ТабДок.Вывести(Макет);
// Заполнение данных
ТабДок.Область("Номер").Параметры.Значение = ДокументОбъект.Номер;
ТабДок.Область("Дата").Параметры.Значение = ДокументОбъект.Дата;
ТабДок.Показать();
КонецПроцедуры
| Тип печатной формы | Где искать модуль | Как редактировать |
|---|---|---|
| Встроенная (типовая) | Конфигуратор → Документы → [Документ] → Печатные формы | Только через Конфигуратор (требуются права администратора) |
| Внешняя обработка (.epf) | Файл → Открыть → Внешняя обработка | Можно редактировать из режима предприятия, если есть права |
| ОбщийМакет | Конфигуратор → Общие → ОбщиеМакеты | Редактируется встроенным редактором макетов |
| Управляемая форма | Конфигуратор → Объекты → [Документ] → Формы | Редактируется в модуле формы или через конструктор |
6. Типичные ошибки и их решения
При попытке открыть модуль печатной формы пользователи часто сталкиваются с ошибками. Разберём самые распространённые:
Ошибка 1: «Недостаточно прав для изменения конфигурации»
🔹 Причина: У вашей учётной записи нет роли Администратор или Конфигуратор.
🔹 Решение:
- 👤 Попросите администратора базы выдать вам права (в Конфигураторе:
Администрирование → Пользователи). - 🔑 Если вы администратор — проверьте настройки ролей в
Конфигуратор → Администрирование → Пользователи. - 📥 Для одноразового редактирования можно временно войти под пользователем с полными правами.
Ошибка 2: «Модуль не найден» или «Объект не обнаружен»
🔹 Причина: Печатная форма реализована не как отдельный объект, а через ОбщийМакет или динамически формируется в коде.
🔹 Решение:
- 🔍 Используйте поиск по тексту (см. Способ 3).
- 📂 Проверьте модуль документа — там может быть процедура вроде
Печать(). - 🖼️ Откройте
Общие → ОбщиеМакетыи найдите макет с похожим названием.
Ошибка 3: «Форма заблокирована для изменения»
🔹 Причина: Конфигурация поставляется с защитой от изменений (типично для 1С:Бухгалтерии или 1С:УТ в облачном режиме).
🔹 Решение:
- 🔓 Снимите флаг «Защита от опасных действий» в настройках Конфигуратора (
Сервис → Параметры → Защита). - 📥 Создайте расширение конфигурации и доработайте форму там (без изменения типовой конфигурации).
- 🔄 Используйте внешнюю обработку для замены стандартной формы.
Если вы работаете с облачной версией 1С (1C:Fresh), редактирование печатных форм может быть ограничено. В этом случае свяжитесь с технической поддержкой или используйте внешние обработки.
Ошибка 4: «Не удаётся открыть макет: файл не найден»
🔹 Причина: Макет печатной формы повреждён или удалён.
🔹 Решение:
- Проверьте путь к макету в коде (например,
Макет = Документы.СчётНаОплату.ПечатнаяФормаСчета.ПолучитьМакет("Основной")). - Если макет отсутствует — восстановите его из резервной копии или типовой конфигурации.
- Создайте новый макет через
Общие → ОбщиеМакеты → Добавить.
⚠️ Внимание! Если вы работаете с управляемыми формами (например, в 1С:ERP или 1С:КА 2.4), печатная форма может быть привязана к клиентскому модулю. В этом случае:
- Откройте форму документа в Конфигураторе.
- Перейдите на вкладку
Модульи найдите процедуруПечать()илиСформировать(). - Код формирования печати может быть как на сервере, так и на клиенте (проверьте директивы
&НаКлиентеи&НаСервере).
7. Как редактировать печатную форму: краткое руководство
Когда вы наконец открыли модуль печатной формы, остаётся её отредактировать. Основные действия:
1. Изменение макета (дизайна)
Если форма использует ОбщийМакет:
- Откройте макет в Конфигураторе (
Общие → ОбщиеМакеты). - Нажмите
Редактировать— откроется встроенный редактор (похожий на Excel). - Измените ячейки, шрифты, границы. Для динамических данных используйте параметры (например,
{Документ.Номер}).
2. Редактирование кода
Если форма формируется программно (через ТабличныйДокумент):
- 🔹 Найдите процедуру, где создаётся
ТабличныйДокумент(например,ТабДок = Новый ТабличныйДокумент). - 🔹 Измените код заполнения данных (например, добавьте новую строку или столбец).
- 🔹 Для изменения шрифтов используйте свойства вроде
ТабДок.Область("Заголовок").Шрифт = Новый Шрифт("Arial", 12, True).
3. Добавление новых реквизитов
Чтобы вывести в печатной форме дополнительные данные (например, УсловияОплаты):
- В макете добавьте новую область с параметром (например,
{Документ.УсловияОплаты}). - В коде модуля убедитесь, что этот реквизит передаётся в макет:
Макет.Параметры.УсловияОплаты = ДокументОбъект.УсловияОплаты;
4. Сохранение и тестирование
- 💾 Сохраните изменения в Конфигураторе (
Файл → Сохранить). - 🔄 Обновите конфигурацию базы (
Конфигурация → Обновить конфигурацию базы данных). - 🧪 Протестируйте печать в режиме 1С:Предприятие.
Всегда тестируйте изменённую печатную форму на копии базы! Ошибки в коде могут привести к падению 1С при попытке печати.
8. Альтернативные способы: если ничего не работает
Если стандартные методы не помогли, попробуйте альтернативные подходы:
1. Экспорт в Excel/Word и ручная правка
- 📤 Сформируйте печатную форму и экспортируйте её в
Excel(Файл → Сохранить как → Таблица Excel). - 🖊️ Отредактируйте файл в Excel или Word.
- 📥 Если нужно вернуть в 1С — используйте
ТабличныйДокумент.Прочитать()для импорта.
2. Использование расширений конфигурации
Если конфигурация защищена от изменений (например, в облаке или у клиентов с поддержкой 1С):
- Создайте расширение (
Конфигурация → Поддержка → Настройка поддержки → Добавить расширение). - В расширении добавьте свою печатную форму или переопределите стандартную.
- Подключите расширение к базе.
3. Готовые внешние обработки
На сайтах вроде Infostart, 1С-Сообщество или Клуб программистов 1С можно найти:
- 📋 Универсальные печатные формы (например, для ТОРГ-12, счёта-фактуры).
- 🔧 Конструкторы печатных форм (позволяют редактировать без программирования).
- 📊 Обработки для экспорта в Excel/PDF.
4. Обращение к специалистам
Если печатная форма сложная (например, с динамическим формированием таблиц или интеграцией с внешними системами), лучше:
- 🤝 Обратиться к 1С-франчайзи (официальному партнёру).
- 💬 Задать вопрос на форумах (Infostart, 1С:ИТС).
- 📞 Заказать доработку на бирже фриланса (например, FL.ru или Kwork).
Перед заказом доработки уточните у исполнителя, работает ли он с вашей версией 1С и конфигурацией. Некоторые формы (например, в 1С:ERP) требуют специфических знаний.
⚠️ Внимание! Если вы используете облачную версию 1С (1C:Fresh) или 1С:Предприятие через веб-клиент, возможности редактирования печатных форм могут быть ограничены. В этом случае:
- 📧 Свяжитесь с технической поддержкой 1С для уточнения возможностей.
- 🔄 Используйте внешние обработки, если они поддерживаются.
- 📥 Экспортируйте данные в
Excelи дорабатывайте там.
FAQ: Частые вопросы по работе с печатными формами в 1С
Как найти печатную форму, если её нет в дереве конфигурации?
Если формы нет в разделе Печатные формы, попробуйте:
- Искать по названию через
Правка → Найти в текстах(например, введитеПечатнаяФормаСчета). - Проверять модуль документа — там может быть процедура
Печать(), которая формирует форму динамически. - Открывать
Общие → ОбщиеМакеты— форма может быть реализована через макет.
В современных конфигурациях (1С:Бухгалтерия 3.0, 1С:ERP) печатные формы часто привязаны к управляемым формам документа.
Можно ли редактировать печатные формы без Конфигуратора?
Да, но с ограничениями:
- 📄 Если форма внешняя (файл
.epf) — её можно открыть из режима