Пропала или сломалась обработка 1С: откуда её вернуть и как не потерять снова
Содержание
Чтобы восстановить обработку в 1С, сначала определите, где она жила. Внешнюю обработку
, подключённую через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки, можно выгрузить обратно в файл .epf прямо из карточки — платформа хранит её копию в базе. Обработку из состава конфигурации возвращают сравнением с конфигурацией поставщика или с версией из хранилища. Если нет ни того, ни другого, поможет резервная копия базы .dt, развёрнутая в отдельную базу.
Хуже всего, когда файл .epf лежал только на рабочем столе и был удалён. Но и здесь шансы есть: корзина, предыдущие версии файлов Windows, почта, на которую его когда-то присылали.
С чего начать: определяем тип обработки и масштаб потери
Восстановление зависит от двух вопросов: где хранилась обработка и что с ней случилось. От ответа зависит, какой способ сработает за пять минут, а какой отнимет день.
Где может храниться обработка:
- 📁 Внешний файл
.epf(или.erfдля отчёта) — открывается черезФайл → Открытьв клиенте или Конфигураторе. Живёт на диске или в сетевой папке, база про него ничего не знает. - 🗂 Дополнительная обработка в справочнике — тот же
.epf, но загруженный в базу через механизм дополнительных отчётов и обработок. Двоичные данные файла сохраняются в базе. - 🧩 Обработка в составе конфигурации — объект в ветке «Обработки» дерева конфигурации. Типовые (например, «Групповое изменение реквизитов») и доработанные программистом.
- 🔌 Обработка в расширении — объект расширения конфигурации , хранится в базе отдельно от основной конфигурации.
Что могло произойти:
- Файл удалили или перезаписали.
- Элемент справочника пометили на удаление или удалили окончательно.
- Обработку изменили, и она перестала работать — нужна прежняя версия.
- Файл повреждён: при открытии платформа сообщает, что файл не является внешней обработкой, или не открывает его.
- После обновления конфигурации доработки в обработке потерялись.
Перед любыми действиями с рабочей базой сделайте копию: Конфигуратор → Администрирование → Выгрузить информационную базу. Не восстанавливайте файл .dt поверх рабочей базы, чтобы достать одну обработку — вы потеряете всё, что пользователи внесли после даты копии.
Способ 1. Достаём обработку из справочника дополнительных отчётов и обработок
Самый быстрый способ, и о нём часто забывают. Если обработку хоть раз регистрировали в базе через механизм дополнительных отчётов и обработок, её файл лежит внутри базы, даже когда исходник на диске давно потерян.
Порядок действий в БП 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на БСП:
- Откройте
Администрирование → Печатные формы, отчеты и обработки. - Включите флажок «Дополнительные отчеты и обработки», если он снят, и перейдите по ссылке с тем же названием.
- Найдите обработку в списке. Если её не видно, включите показ помеченных на удаление: в меню
Ещесписка есть команда показа помеченных. - Откройте карточку. В командной панели (или в меню
Еще) выберите выгрузку в файл. - Сохраните
.epfв надёжную папку и проверьте, что он открывается черезФайл → Открыть.
Если элемент был только помечен на удаление, снимите пометку — обработка снова появится в меню. Пометку снимает та же команда, которой её ставили (клавиша Delete на выделенной строке переключает пометку).
Для доработанных печатных форм и внешних обработок держите правило: файл, который работает в базе, всегда регистрируйте в справочнике. Тогда база сама становится архивом последней рабочей версии.
Если элемент удалили окончательно через Администрирование → Обслуживание → Удаление помеченных объектов, справочник его уже не вернёт. Переходите к способу 2.
Способ 2. Восстановление обработки из резервной копии базы
Резервная копия выручает почти во всех случаях: в ней есть и дополнительные обработки, и конфигурация со всеми объектами. Главное правило — разворачивать копию отдельно от рабочей базы.
Если копия в формате .dt
- В окне запуска 1С нажмите
Добавитьи создайте новую пустую информационную базу, например «Восстановление обработки». - Откройте её в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базуи укажите файл.dt. - Запустите базу в режиме 1С:Предприятие, найдите обработку в справочнике дополнительных и выгрузите её в файл, как в способе 1.
- Для обработки из конфигурации откройте дерево, щёлкните по объекту правой кнопкой и сохраните его во внешнюю обработку — в контекстном меню есть команда сохранения как внешней обработки.
Загрузка .dt в базу размером 20-30 ГБ может занять час и больше, поэтому заранее проверьте место на диске: нужно примерно в 3-5 раз больше размера архива.
Если копия — папка файловой базы или бэкап СУБД
- 📂 Копия файла
1Cv8.1CD— положите её в отдельную папку и добавьте эту папку в список баз как существующую. Рабочую базу не трогайте. - 🗄 Бэкап SQL Server или PostgreSQL — администратор СУБД восстанавливает его под другим именем базы, затем в кластере 1С регистрируется новая информационная база, указывающая на эту копию.
Если копия — файл .cf
Файл .cf содержит только конфигурацию, без данных. Обработки из справочника дополнительных в нём нет, а обработки из конфигурации — есть. Откройте .cf через сравнение (см. способ 4) или загрузите его в пустую базу и сохраните нужный объект во внешний файл.
Способ 3. Ищем потерянный файл .epf и .erf вне базы
Если обработка никогда не загружалась в справочник и не входила в конфигурацию, искать придётся на дисках и в переписке.
Где проверить:
- 🗑 Корзина Windows — очевидно, но проверяют не всегда. Сортировка по дате удаления быстро покажет нужный файл.
- 🕘 Предыдущие версии — щёлкните правой кнопкой по папке, где лежал файл, выберите
Свойства → Предыдущие версии. Работает, если включены теневые копии или история файлов. - 🔍 Поиск по маске — в проводнике по всему диску:
*.epfи*.erf. Файлы часто дублируются в «Загрузках» и папках вложений почты. - ✉️ Почта и мессенджеры — программист обычно присылает обработку письмом. Поищите по расширению или по имени файла.
- 🌐 Сетевые папки и облачные диски — у большинства облачных хранилищ есть корзина и история версий файла.
- 💾 Резервные копии рабочих станций — если в компании настроено копирование профилей пользователей.
Поиск по всему диску из командной строки:
dir C:\*.epf /s /b > %USERPROFILE%\Desktop\epf_list.txt
dir C:\*.erf /s /b >> %USERPROFILE%\Desktop\epf_list.txt
Список сохранится на рабочий стол. Сравните даты изменения и размеры: свежая доработанная версия обычно крупнее исходной.
Если файл удалён с диска и нигде не найден, сразу перестаньте записывать на этот диск большие объёмы данных. Программы восстановления удалённых файлов работают тем лучше, чем меньше было перезаписей после удаления.
Способ 4. Возвращаем обработку в конфигурации: хранилище и конфигурация поставщика
Этот способ нужен, когда обработка входит в конфигурацию и её испортили правками или обновлением. Возвращать нужно один объект, а не всю конфигурацию.
Из хранилища конфигурации
Если разработка ведётся через хранилище, каждая помещённая версия объекта сохранена.
- Откройте
Конфигурация → Хранилище конфигурации → История хранилища. - Найдите версию, в которой обработка работала, — по дате и комментарию.
- Сохраните эту версию в файл
.cfкомандой сохранения версии в файл. - Выполните
Конфигурация → Сравнить, объединить с конфигурацией из файлаи укажите этот.cf. - В окне сравнения снимите все флажки и отметьте только нужную обработку.
- Выполните объединение, затем
Конфигурация → Обновить конфигурацию базы данных.
Обработка должна быть захвачена в хранилище до объединения, а после проверки — помещена обратно с комментарием.
Из конфигурации поставщика
Для типовой обработки, которую доработали и сломали, эталон уже есть в базе — это конфигурация поставщика.
- Выберите
Конфигурация → Сравнить конфигурации: основная конфигурация против конфигурации поставщика. - Найдите обработку в списке различий и посмотрите, что изменилось в модуле и формах.
- Если правки не нужны совсем — через объединение верните объект из конфигурации поставщика.
Если конфигурация снята с поддержки или поставщик обновлён до другого релиза, загрузите файл 1Cv8.cf нужного релиза из каталога шаблонов (по умолчанию %APPDATA%\1C\1cv8\tmplts) и сравнивайте с ним.
| Источник | Когда подходит | Риск |
|---|---|---|
| Хранилище | Ведётся групповая разработка | Нужно захватить объект, иначе объединение не пройдёт |
| Конфигурация поставщика | Типовая обработка, изменённая в базе | Пропадут все доработки объекта, а не только ошибочные |
Файл .cf из шаблонов или архива | Поставщик обновлён, нужен прежний релиз | Объект может зависеть от общих модулей другого релиза |
Резервная копия .dt | Ни хранилища, ни .cf под рукой | Долго разворачивать большую базу |
Способ 5. Ручное восстановление кода повреждённой обработки
Ручной путь нужен, когда файл есть, но не открывается, или когда сохранилась только часть: модуль в письме, макет печатной формы, скриншоты формы.
Пробуем открыть и разобрать файл
- Откройте
.epfв Конфигураторе черезФайл → Открыть. Конфигуратор иногда открывает файл, на котором падает клиент, например при несовпадении режима совместимости. - Если открылся — сразу выгрузите его в файлы XML. Это делается из командной строки:
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" DESIGNER /F"D:\Bases\Empty" /DumpExternalDataProcessorOrReportToFiles "D:\Restore\src\Processing.xml" "D:\Restore\Processing.epf"
Вместо <версия> подставьте номер установленной платформы, вместо D:\Bases\Empty — путь к любой файловой базе, например пустой. Обратная сборка из файлов — ключ /LoadExternalDataProcessorOrReportFromFiles.
- Если Конфигуратор не открывает файл, распакуйте контейнер сторонней утилитой с открытым кодом v8unpack. Текст модулей обычно достаётся даже из частично повреждённого файла, формы — не всегда.
Собираем обработку заново
- Создайте новую внешнюю обработку:
Файл → Новый → Внешняя обработка. - Добавьте реквизиты и табличные части с теми же именами, что были в старой: код обращается к ним по имени.
- Создайте форму, перенесите текст модуля объекта и модуля формы.
- Запустите синтаксический контроль модуля (
Ctrl+F7) — он покажет переменные и процедуры, которых не хватает. - Проверьте на копии базы, а не на рабочей: обработка с ошибкой может записать некорректные данные.
Если модуль восстановлен, а форма нет, проще нарисовать форму заново, чем чинить её разметку. Размещение элементов — работа на 15-30 минут, а логика уже есть в модуле.
Способ 6. Типовые внешние обработки из комплекта поставки
Часть привычных обработок вообще не входит в конфигурацию — это отдельные файлы из комплекта: загрузка данных из табличного документа, универсальный обмен данными в формате XML, консоль запросов для обычных форм и другие. Если такой файл удалили, восстанавливать его не нужно — его скачивают заново.
Где взять:
- 📦 Комплект поставки конфигурации — в каталоге шаблонов после установки обновления иногда лежат дополнительные файлы рядом с
1Cv8.cf. - 🌐 Раздел обработок на портале поддержки — по договору ИТС доступны актуальные версии типовых внешних обработок.
- 🧑💻 Обслуживающая организация — у партнёра, который ведёт базу, эти файлы обычно лежат готовыми.
Берите версию под вашу платформу и тип интерфейса. Старые обработки для обычных форм не запускаются в управляемом интерфейсе «Такси» или работают с ограничениями.
Многие функции, ради которых раньше искали внешний файл, в БП 3.0, ЗУП 3.1 и УТ 11 встроены в саму программу. Например, групповое изменение реквизитов открывается через Администрирование → Обслуживание → Корректировка данных, а загрузка из Excel
доступна в табличных частях документов через Еще → Загрузить из файла или кнопку загрузки. Проверьте это до поисков файла.
Если не получилось вернуть обработку
Бывает, что копий нет нигде: файл существовал в единственном экземпляре, базу с ним не бэкапили, программист недоступен. Тогда остаются альтернативы.
- 🔁 Найти автора. Даже если с программистом давно не работаете, у него могли сохраниться исходники. У фрилансеров и франчайзи это частая практика.
- 🧾 Восстановить по результату. Если обработка формировала печатную форму или отчёт, а сохранились распечатки и образцы, по ним можно заказать новую — это дешевле, чем писать с нуля по устному описанию.
- 🧪 Проверить, нужна ли она вообще. Часто обработку писали под функциональность, которой не было в старом релизе. Сейчас типовой механизм может закрывать ту же задачу.
- 🛠 Восстановление данных с диска. Специализированные программы иногда находят удалённый
.epf, если диск не был сильно перезаписан. На SSD с включённой командой TRIM шансы минимальные.
Ориентировочная стоимость повторной разработки у специалиста — от нескольких тысяч рублей за простую печатную форму до десятков тысяч за обработку с обменом или сложной логикой. Сохранившийся модуль или подробное описание заметно сокращают срок.
Как не потерять обработку в следующий раз
Обработки теряются из-за одного: их держат в единственном экземпляре. Несколько привычек снимают проблему.
Для команд разработчиков хороший вариант — выгружать внешние обработки в XML и держать их в Git. Тогда видно, кто и что менял, а любую прошлую версию можно собрать за минуту.