Внешние печатные формы в 1С:Предприятие 8.3 — это отдельные файлы или объекты конфигурации, которые расширяют стандартный функционал программы, позволяя выводить документы в нетиповом формате. Однако их расположение не всегда очевидно: они могут храниться как в файловой системе, так и внутри базы данных, а пути к ним зависят от режима работы (файловый или клиент-серверный), версии платформы и даже от способа подключения. Если вы ищете, где именно лежит нужная форма, чтобы её отредактировать, перенести или восстановить — эта статья поможет разобраться во всех нюансах.
Мы рассмотрим не только стандартные пути хранения, но и «скрытые» места, куда 1С может сохранять внешние печатные формы при разных сценариях: от ручного добавления через конфигуратор до автоматического размещения при обновлении. Особое внимание уделим различиям между файловым и клиент-серверным вариантами работы, а также нюансам для облачных решений (например, 1С:Фреш). Если вы разработчик, администратор или опытный пользователь — здесь найдёте ответы на вопросы, которые часто остаются без внимания в официальной документации.
1. Стандартные пути хранения внешних печатных форм в файловой базе 1С 8.3
В файловом варианте работы 1С:Предприятие внешние печатные формы хранятся непосредственно в каталоге информационной базы. Это самый простой случай, так как все файлы доступны для просмотра и редактирования без дополнительных инструментов. Основные папки, где стоит искать формы:
- 📁
ExtForms— стандартная папка для внешних печатных форм, создаётся автоматически при первом сохранении. Здесь лежат файлы с расширением.efd(для форм документов) или.erf(для отчётов). - 📁
ExtDataProc— если форма подключена как внешняя обработка (например, через механизмДополнительныеОтчетыИОбработки). - 📁
Templates— реже, но иногда формы сохраняются здесь, особенно если они загружены через механизм шаблонов.
Полный путь к этим папкам выглядит так:
C:\Users\Пользователь\AppData\Roaming\1C\1Cv8\Имя_Информационной_Базы\ExtForms\
или (для сетевых баз):
\\Сервер\ОбщаяПапка\1C_Bases\Имя_Базы\ExtForms\
Важно: в файловом варианте все изменения в формах применяются сразу после сохранения файла — перезапуск 1С не требуется. Однако если форма подключена через конфигуратор, может потребоваться обновление конфигурации базы.
Если папки ExtForms нет в каталоге базы, создайте её вручную — 1С автоматически начнёт сохранять туда новые формы.
2. Клиент-серверный вариант: где и как хранятся формы на SQL-сервере
В клиент-серверном режиме (например, при работе с Microsoft SQL Server или PostgreSQL) внешние печатные формы не хранятся в файловой системе, а размещаются непосредственно в базе данных. Это усложняет доступ к ним, так как нельзя просто открыть папку и отредактировать файл. Вместо этого формы сохраняются в следующих местах:
- 🗃️ Таблица
ConfigSave— здесь хранятся все внешние объекты конфигурации, включая печатные формы, в бинарном виде. - 🗃️ Таблица
Params— может содержать ссылки на формы, если они подключены через механизм дополнительных отчётов. - 🗃️ Таблица
DocTemplates— для форм, привязанных к конкретным документам (например, счета или накладные).
Чтобы извлечь форму из базы, потребуется:
- Подключиться к SQL-серверу через Management Studio или pgAdmin.
- Найти запись с нужной формой в таблице
ConfigSave(искать по полюNameилиComment). - Экспортировать бинарные данные в файл с расширением
.efdили.erf.
Для упрощения задачи можно использовать обработку ВыгрузкаЗагрузкаДанныхXML или специализированные утилиты вроде 1C:EDT (если форма была создана в нём).
Как найти форму в SQL-базе без знания структуры таблиц?
Используйте запрос:
SELECT * FROM ConfigSave WHERE Name LIKE '%ПечатнаяФорма%' OR Comment LIKE '%ПечатнаяФорма%'
Это поможет отфильтровать записи, связанные с формами.
3. Подключение через конфигуратор: где хранятся формы в дереве объектов
Если внешняя печатная форма подключена через конфигуратор, её можно найти в дереве объектов конфигурации. Для этого:
- Откройте конфигуратор в режиме
1С:Предприятие(с правами администратора). - Перейдите в ветку
Общие → Внешние печатные формыилиОбщие → Дополнительные отчёты и обработки. - Найдите нужную форму в списке. Она может быть привязана к конкретному документу (например,
РеализацияТоваровУслуг) или быть универсальной.
В этом случае форма хранится внутри конфигурации базы данных, а не в файловой системе. Чтобы её экспортировать:
- Выделите форму в дереве объектов.
- Нажмите правой кнопкой и выберите
Сохранить в файл.... - Укажите путь для сохранения (например, на рабочий стол). Файл будет иметь расширение
.efdили.epf.
Нюанс: если форма подключена через механизм ДополнительныеОтчетыИОбработки, её также можно найти в ветке Общие → Дополнительные отчёты и обработки, но экспортировать придётся через специальную обработку (например, УправлениеДополнительнымиОтчетамиИОбработками).
4. Облачные решения: 1С:Фреш и другие сервисы
В 1С:Фреш и других облачных сервисах (1С:Линк, 1С:ГЛОНАСС) доступ к файловой системе ограничен, поэтому внешние печатные формы хранятся исключительно внутри базы данных. Доступ к ним возможен только через:
- 🌐 Веб-интерфейс конфигуратора (если предоставлены права администратора).
- 📤 Экспорт через обработки — например,
УправлениеДополнительнымиОтчетамиИОбработками.epf. - 🔄 Механизм обмена данными — если форма загружается из внешнего источника (например, через 1С:EDT или 1С:Коннект).
Чтобы загрузить форму в облако:
- Создайте файл формы локально (например, в 1С:Enterprise Development Tools).
- Используйте обработку
ЗагрузкаДанныхИзФайла.epfдля импорта в базу. - Либо загрузите через веб-интерфейс (раздел
Администрирование → Печатные формы).
В облачных решениях нельзя напрямую редактировать файлы форм — все изменения вносятся через интерфейс 1С или специализированные утилиты. Это ограничение связано с архитектурой сервиса, где файловая система изолирована от пользователей.
В 1С:Фреш внешние печатные формы хранятся только в базе данных. Доступ к ним возможен через конфигуратор или обработки загрузки/выгрузки.
5. Альтернативные места хранения: временные файлы и кэш
Иногда внешние печатные формы могут «исчезать» из основных папок, но при этом продолжают работать. Это связано с тем, что 1С кэширует их в временных каталогах. Где ещё стоит искать:
- 🗑️
%TEMP%\1C\1Cv8\— здесь могут храниться временные копии форм, особенно если они были загружены через механизм обновлений. - 🗑️
C:\Program Files\1cv8\conf\templates\— стандартные шаблоны печатных форм (например, для УПД или ТОРГ-12). - 🗑️
AppData\Local\1C\1Cv8\— кэш форм, используемых в тонком клиенте или веб-клиенте.
Временные файлы обычно имеют расширение .tmp или .efd~. Их можно открыть в текстовом редакторе (например, Notepad++), чтобы понять, какая это форма. Однако редактировать такие файлы не рекомендуется — они могут быть перезаписаны при следующем запуске 1С.
Если форма «подвисает» или не обновляется, попробуйте:
- Очистить кэш 1С через
Пуск → Все программы → 1С Предприятие → Утилиты → Очистка кэша. - Перезагрузить сервер 1С:Предприятие (если работаете в клиент-серверном режиме).
- Проверить права доступа к папкам
ExtFormsиTemp.
Просмотреть папку %TEMP%\1C\1Cv8\|Очистить кэш 1С через утилиту|Проверить права доступа к ExtForms|Перезагрузить сервер 1С (для клиент-серверного режима)-->
6. Как определить, где именно хранится нужная форма
Если вы не уверены, где лежит конкретная внешняя печатная форма, воспользуйтесь следующей инструкцией:
| Тип базы | Где искать форму | Как экспортировать |
|---|---|---|
| Файловая | ExtForms\ или ExtDataProc\ в каталоге базы |
Скопировать файл .efd/.erf вручную |
| Клиент-серверная (SQL) | Таблица ConfigSave в базе данных |
Экспорт через Management Studio или обработку ВыгрузкаЗагрузкаДанныхXML |
| Облачная (1С:Фреш) | Внутри конфигурации базы (нет доступа к файлам) | Экспорт через веб-интерфейс или обработку УправлениеДополнительнымиОтчетамиИОбработками |
| Локальная с подключением через конфигуратор | Ветка Общие → Внешние печатные формы |
ПКМ по форме → Сохранить в файл... |
Если форма подключена через механизм ДополнительныеОтчетыИОбработки, её можно найти в справочнике ДополнительныеОтчетыИОбработки (раздел Администрирование → Печатные формы и обработки). Здесь отображаются все внешние объекты, даже если они хранятся в базе данных.
Совет: если вы не нашли форму в стандартных местах, проверьте, не подключена ли она через расширение конфигурации. Для этого откройте конфигуратор и посмотрите ветку Расширения — иногда формы добавляются туда.
7. Частые ошибки и проблемы с внешними печатными формами
При работе с внешними печатными формами пользователи и разработчики сталкиваются с типичными проблемами. Вот самые распространённые из них и способы решения:
- ❌ Форма не отображается в списке доступных
Причина: неправильный путь в настройках подключения или отсутствие прав.
Решение: проверьте путь в параметреПутьКФайлу(для файлового варианта) или права доступа к таблицеConfigSave(для SQL). - ❌ Форма открывается, но не печатает данные
Причина: неверная привязка к документу или устаревшая версия формы.
Решение: обновите форму или проверьте её код на соответствие текущей конфигурации. - ❌ После обновления 1С форма перестала работать
Причина: изменения в структуре документов, к которым привязана форма.
Решение: отредактируйте форму в 1С:EDT или обратитесь к разработчику за актуальной версией.
Если форма была удалена или повреждена, её можно восстановить:
- Из резервной копии базы (если работаете в SQL).
- Из файлового бекапа папки
ExtForms. - Через историю изменений в 1С:EDT (если форма разрабатывалась в нём).
Внимание: если форма была подключена через расширение конфигурации, её удаление из основной конфигурации не приведёт к исчезновению — она останется в расширении. Чтобы полностью удалить такую форму, нужно отключить или отредактировать расширение.
Перед массовым обновлением 1С всегда сохраняйте копии внешних печатных форм — они могут перестать работать из-за изменений в методе данных.
FAQ: Ответы на частые вопросы
Можно ли редактировать внешнюю печатную форму прямо в папке ExtForms?
Да, но с оговорками. Если форма хранится в файловом варианте, вы можете открыть файл .efd или .erf в текстовом редакторе (например, Notepad++) или в 1С:EDT, отредактировать и сохранить. Однако:
- Для форм с бинарными данными (например, с картинками) редактирование вручную может привести к ошибкам.
- После изменения файла рекомендуется перезапустить 1С, чтобы изменения применились.
Для клиент-серверного варианта редактирование напрямую невозможно — нужно сначала экспортировать форму, а затем импортировать обратно.
Как перенести внешние печатные формы с одной базы 1С на другую?
Способ переноса зависит от типа базы:
- Файловый вариант: скопируйте файлы из папки
ExtFormsодной базы в аналогичную папку другой. - Клиент-серверный вариант: экспортируйте формы через конфигуратор (
Сохранить в файл...) или обработкуВыгрузкаЗагрузкаДанныхXML, затем импортируйте в новую базу. - Облако (1С:Фреш): используйте обработку
УправлениеДополнительнымиОтчетамиИОбработкамидля выгрузки и загрузки.
После переноса проверьте привязки форм к документам — они могут сбиться, если в новой базе другая структура метаданных.
Почему внешняя печатная форма не обновляется после правок?
Это типичная проблема, связанная с кэшированием. Попробуйте:
- Очистить кэш 1С (через утилиту или вручную удалив папку
%TEMP%\1C\1Cv8\). - Перезапустить клиент 1С:Предприятие.
- Если работаете в клиент-серверном режиме — перезапустить сервер 1С.
- Проверить, не заблокирован ли файл формы (например, антивирусом).
Если форма подключена через конфигуратор, после правок может потребоваться обновление конфигурации базы (Конфигурация → Обновить конфигурацию базы данных).
Можно ли хранить внешние печатные формы в облачном хранилище (например, Яндекс.Диск)?
Технически да, но это требует дополнительной настройки. Варианты:
- Символическая ссылка: создайте символическую ссылку (например, через
mklinkв Windows) с папкиExtFormsна облачное хранилище. Однако это может замедлить работу 1С из-за сетевых задержек. - Синхронизация: используйте утилиты вроде FreeFileSync, чтобы автоматически синхронизировать папку
ExtFormsс облаком. Но следите, чтобы файлы не блокировались во время синхронизации. - Загрузка через обработку: напишите обработку, которая будет загружать формы из облака по требованию (например, при открытии документа).
Важно: при таком подходе возможны проблемы с блокировкой файлов, особенно в многопользовательском режиме. Тестируйте решение на копии базы перед внедрением.
Как узнать, какая внешняя печатная форма используется для конкретного документа?
Есть несколько способов:
- Откройте документ, для которого нужна форма, и нажмите
Печать → Настройка печатных форм. Здесь будет список доступных форм с пометкой, какая из них используется по умолчанию. - В конфигураторе перейдите в ветку
Общие → Внешние печатные формыи найдите форму, привязанную к типу вашего документа (например,РеализацияТоваровУслуг). - Используйте запрос к базе (для SQL-варианта):
SELECT * FROM InformationRegister_ДополнительныеОтчетыИОбработкиWHERE Объект = 'Документ.РеализацияТоваровУслуг'
Это покажет все внешние формы, привязанные к реализации.