Правка внешних обработок, макетов, модулей и текстовых файлов в 1С 8.3
Содержание
Чтобы редактировать файлы в 1С, выберите инструмент по типу файла. Внешнюю обработку
, отчёт или печатную форму (.epf, .erf) открывают в Конфигураторе через Файл → Открыть, правят и сохраняют. Модули типовой конфигурации меняют через расширение (.cfe) или после включения возможности изменения в настройках поддержки. Макет печатной формы можно поправить вообще без Конфигуратора: Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм.
Табличный документ .mxl и обычный .txt открываются прямо в режиме 1С:Предприятие через главное меню Файл → Открыть. Самый частый промах у администраторов — поправить файл на диске и забыть, что в базе зарегистрирована старая копия. Ниже по каждому типу файла — что делать и где обычно ломается.
Какой файл чем открывать: выбор режима работы
Платформа 8.3 работает с несколькими типами файлов. У каждого свой редактор и свой «финальный шаг», без которого правка не дойдёт до пользователей.
| Файл | Что это | Где редактировать | Финальный шаг |
|---|---|---|---|
.epf | Внешняя обработка, в том числе печатная форма | Конфигуратор, Файл → Открыть | Перезагрузить файл в карточке дополнительной обработки |
.erf | Внешний отчёт | Конфигуратор, Файл → Открыть | То же |
.cfe | Расширение конфигурации | Конфигуратор, Конфигурация → Расширения конфигурации | Обновить расширение в базе |
.cf | Файл конфигурации | Только загрузка или сравнение и объединение | Обновить конфигурацию базы данных |
.mxl | Табличный документ | 1С:Предприятие или Конфигуратор | Сохранить файл |
.txt | Текстовый документ | 1С:Предприятие или Конфигуратор | Сохранить файл |
| Макет в базе | Шаблон печатной формы | Макеты печатных форм в режиме 1С:Предприятие | Записать макет |
Файл .cf в Конфигураторе «как документ» не открывается. Его либо загружают целиком вместо текущей конфигурации, либо сравнивают и объединяют с ней. Для правки кода типовой базы есть расширения и настройки поддержки, о них ниже.
Для мелких правок .mxl и .txt без установленной платформы есть бесплатная программа «1С:Предприятие — Работа с файлами». Она открывает табличные и текстовые документы и сохраняет их в тех же форматах.
Подготовка к редактированию
Перед правкой проверьте три вещи.
- 🔑 Права. Для открытия внешних файлов в режиме 1С:Предприятие нужно право на интерактивное открытие внешних обработок и отчётов. Для работы в Конфигураторе — право администрирования или роль «Полные права».
- 💾 Копия. Перед изменением конфигурации сохраните её:
Конфигурация → Сохранить конфигурацию в файл(получится.cf). Если меняете и структуру данных, сделайте полную выгрузку базыАдминистрирование → Выгрузить информационную базу(файл.dt). - 🧪 Где проверять. Правки кода сначала делайте на копии базы, а не на рабочей. Внешнюю обработку тоже удобнее отлаживать на копии: ошибка в процедуре записи может испортить реальные документы.
Не правьте модули типовой конфигурации на рабочей базе в разгар дня. Обновление конфигурации базы данных с изменением структуры требует монопольного доступа, и всех пользователей придётся выгонять.
Версию Конфигуратора берите той же, что у платформы базы. Обработка, сохранённая в платформе новее, может не открыться на более старой. Номер версии платформы виден в окне Справка → О программе.
Внешняя печатная форма или отчёт: правка .epf и .erf
Это самый частый случай: поменять текст в счёте, добавить колонку в отчёт, поправить подпись в акте.
Шаг 1. Достаньте актуальный файл
Не доверяйте копии из папки «Обработки» на сервере: она могла устареть. Берите файл из базы.
- В режиме 1С:Предприятие откройте
Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. - Откройте карточку нужной обработки.
- Командой выгрузки в файл в карточке сохраните
.epfна диск.
Так вы гарантированно правите ту версию, которой пользуются люди.
Шаг 2. Откройте и внесите изменения
- Запустите Конфигуратор любой базы (подойдёт и пустая учебная).
Файл → Открыть, выберите.epfили.erf.- Откроется окно обработки с деревом: реквизиты, табличные части, формы, макеты, модуль объекта.
Что где лежит:
- 📄 Текст и оформление печатной формы — в разделе «Макеты». Двойной щелчок открывает табличный редактор: ячейки, области, параметры в угловых скобках.
- 🧮 Логика заполнения — в модуле объекта (кнопка «Действия» или контекстное меню обработки → «Открыть модуль
объекта»). Там процедура
Печатьи функцияСведенияОВнешнейОбработке, если обработка сделана под БСП. - 🖥️ Внешний вид отчёта — в схеме компоновки данных: макет «ОсновнаяСхемаКомпоновкиДанных» или похожий по смыслу.
Шаг 3. Поменяйте версию и сохраните
В функции СведенияОВнешнейОбработке есть строка с версией обработки. Увеличьте её, например с 1.0 до 1.1. Так в карточке будет видно, какая сборка загружена.
Сохраните файл: Файл → Сохранить (Ctrl+S). Если в модулях остались синтаксические ошибки, Конфигуратор сообщит о них при сохранении — исправьте их до загрузки в базу.
Шаг 4. Загрузите файл обратно в базу
Это шаг, который забывают чаще всего.
- Откройте ту же карточку в
Дополнительных отчётах и обработках. - Выполните загрузку из файла и выберите исправленный
.epf. - Нажмите «Записать и закрыть».
Пока файл не загружен в карточку, пользователи печатают старую версию: база хранит обработку внутри себя, а не ссылкой на диск.
При загрузке платформа может показать предупреждение о безопасности внешнего кода. Это штатная защита от опасных действий: подтверждайте только для файлов, источник которых знаете.
Код и модули конфигурации в Конфигураторе
Иногда правка нужна не во внешнем файле, а в самой конфигурации: поменять обработчик проведения, добавить проверку при записи.
Вариант 1. Расширение конфигурации (предпочтительно)
Расширения появились в платформе 8.3.6. Они позволяют менять поведение типовой конфигурации, не снимая её с поддержки. Обновления фирмы 1С ставятся как обычно, а ваша доработка живёт отдельно.
Конфигурация → Расширения конфигурации→ «Добавить».- Откройте расширение, в дереве основной конфигурации найдите объект и через контекстное меню добавьте его в расширение.
- В модуле расширения создайте обработчик с аннотацией
&Перед,&Послеили&Вместок нужной процедуре. - Обновите конфигурацию базы данных расширения.
&После("ПередЗаписью")
Процедура Расш1_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если Не ЗначениеЗаполнено(Комментарий) Тогда
Комментарий = "Создан " + Формат(ТекущаяДата(), "ДФ=dd.MM.yyyy");
КонецЕсли;
КонецПроцедуры
Префикс Расш1_ в имени — пример. Имя процедуры может быть любым, привязку к типовой задаёт аннотация.
Вариант 2. Правка основной конфигурации
Если объект на поддержке, у него в дереве иконка замка, и редактор не даст изменить модуль.
Конфигурация → Поддержка → Настройка поддержки.- Включите возможность изменения конфигурации.
- Для нужного объекта установите правило «Объект поставщика редактируется с сохранением поддержки».
- Внесите правки и выполните
Конфигурация → Обновить конфигурацию базы данных(F7).
Минус этого пути: каждое следующее обновление придётся ставить через сравнение и объединение и вручную разбирать конфликты в изменённых модулях.
| Способ | Когда выбирать | Риски |
|---|---|---|
| Расширение | Типовая на поддержке, правка точечная | Аннотации могут сломаться, если 1С переименует процедуру в новом релизе |
| Правка основной конфигурации | Глубокая переработка, своя конфигурация | Обновления только через объединение, дольше и дороже |
| Внешняя обработка | Печатные формы, отчёты, разовые операции | Нужно следить за версией файла в карточке |
Полезные приёмы редактора кода
Ctrl+FиCtrl+H— поиск и замена в текущем модуле.Ctrl+Shift+F— глобальный поиск по всей конфигурации: незаменим, когда ищете, где вызывается процедура.Ctrl+Пробел— контекстная подсказка по методам и реквизитам.Ctrl+F7— синтаксическая проверка открытого модуля.
Перенос обработок и расширений: выгрузка и загрузка
Правка редко живёт в одной базе. Её надо перенести из копии в рабочую, отдать коллеге, положить в git.
Внешняя обработка ↔ объект конфигурации
В дереве конфигурации у обработки или отчёта есть контекстная команда «Сохранить как внешнюю обработку, отчет…». Она делает из встроенного объекта отдельный .epf или .erf. Обратная команда «Заменить на внешнюю обработку, отчет…» подставляет содержимое внешнего файла во встроенный объект.
Приём удобен, когда встроенную обработку нужно отладить или передать без обновления всей конфигурации.
Расширение в файл и обратно
В списке Конфигурация → Расширения конфигурации есть команды сохранения расширения в файл .cfe и загрузки из файла. Загрузка и обновление конфигурации базы данных расширения — разные шаги: после загрузки .cfe выполните обновление, иначе изменения не применятся.
В режиме 1С:Предприятие расширения тоже можно подключить без Конфигуратора: Администрирование → Печатные формы, отчеты и обработки → Расширения. Это удобно для облачных баз, где Конфигуратора нет.
Выгрузка в XML для системы контроля версий
Бинарный .epf нельзя нормально сравнить в git. Его разворачивают в XML-файлы, правят в любом редакторе и собирают обратно. Делается это пакетным запуском Конфигуратора:
"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe" DESIGNER /F "C:\Bases\Test" ^
/DumpExternalDataProcessorOrReportToFiles "C:\src\Pechat\Pechat.xml" "C:\epf\Pechat.epf"
"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe" DESIGNER /F "C:\Bases\Test" ^
/LoadExternalDataProcessorOrReportFromFiles "C:\src\Pechat\Pechat.xml" "C:\epf\Pechat.epf"
Номер версии в пути подставьте свой. Для всей конфигурации есть аналогичные параметры /DumpConfigToFiles и /LoadConfigFromFiles.
Макеты, табличные и текстовые документы
Макет печатной формы без Конфигуратора
Типовые печатные формы БП 3.0, ЗУП 3.1 и УТ 11 хранят макеты так, что их можно переопределить из режима 1С:Предприятие.
Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм.- Найдите макет по названию формы через поиск в списке.
- Откройте его на изменение, поправьте ячейки и запишите.
Изменённый макет хранится в базе отдельно и переживает обновления конфигурации. В списке он помечается как изменённый, и из того же списка можно вернуться к стандартному варианту.
Не трогайте параметры в угловых скобках (<НомерДокумента>, <Организация>). Это места, куда программа подставляет данные. Удалите или переименуете параметр — поле в печати останется пустым.
Табличный документ .mxl
Откройте в 1С:Предприятие: главное меню (кнопка с тремя полосками в левом верхнем углу) → Файл → Открыть. Документ откроется в режиме редактирования: можно менять текст, объединять ячейки, задавать границы и шрифты.
Через Файл → Сохранить как табличный документ сохраняется в .mxl, .xlsx, .pdf и другие форматы. Следите за шириной колонок: при сохранении в Excel она пересчитывается и шапка иногда «едет».
Текстовый документ .txt
Платформа открывает обычный текст тем же путём Файл → Открыть. В Конфигураторе новый текстовый документ создаётся через Файл → Новый → Текстовый документ. Это удобно для правки файлов обмена, логов и выгрузок без запуска стороннего редактора.
Кодировку при сохранении выбирайте под получателя. Банковские файлы обмена обычно ждут Windows-1251, а многие современные сервисы — UTF-8. Ошибка в кодировке даёт «кракозябры» у получателя.
Отладка правок и поиск ошибок
Синтаксическая проверка ловит опечатки, но не логику. Чтобы увидеть, что реально происходит в коде, нужна отладка.
Как отладить внешнюю обработку
- В Конфигураторе запустите
Отладка → Начать отладку(F5). Откроется 1С:Предприятие, подключённое к отладчику. - В Конфигураторе откройте тот же
.epfчерезФайл → Открытьи поставьте точки останова (F9). - В запущенном 1С:Предприятие откройте этот файл через
Файл → Открытьи выполните команду. - Выполнение остановится на точке.
Shift+F9— вычислить выражение, F10 — шаг с обходом, F11 — шаг с заходом в процедуру.
Отлаживается тот файл, который открыт в обоих окнах. Если обработка запускается из карточки дополнительных обработок, в базе лежит своя копия, и точки останова в файле с диска на неё не сработают. Для отладки открывайте файл напрямую.
Отладка серверного кода в клиент-серверной базе
В файловой базе серверный код выполняется локально, и точки останова срабатывают без настроек. В клиент-серверной базе отладку на сервере надо разрешить: служба агента сервера запускается с ключом -debug в командной строке.
Чтобы добавить ключ, службу «Агент сервера 1С:Предприятия» придётся перезапустить. Все сеансы пользователей оборвутся, поэтому делайте это вне рабочего времени или на тестовом сервере. В рабочей среде отладку на сервере держать включённой не стоит.
После перезапуска в Конфигураторе откройте Отладка → Подключение и выберите нужный предмет отладки.