Разработка и Конфигурация · 11 мин
Как редактировать обработку 1С: практическое руководство
Как открыть и отредактировать внешнюю обработку 1С в конфигураторе: изменение модуля, форм, макетов, сохранение в файл и типичные ошибки при доработке.
Внешняя обработка в 1С — это файл с расширением .epf (для управляемого приложения) или .ert (для старых версий платформы), который содержит программный код, формы и макеты, но не является частью конфигурации. Такие файлы используют для пакетной загрузки данных, групповой обработки документов, печатных форм и служебных операций. Редактировать обработку приходится, когда нужно поправить алгоритм, добавить реквизит на форму или адаптировать чужую разработку под свою конфигурацию.
Главное отличие внешней обработки от объектов конфигурации — она не требует обновления базы данных и не влияет на поддержку типового решения. Изменения вносятся прямо в файл, который затем можно открыть в любой базе с совместимой конфигурацией. Это делает обработки удобным инструментом для доработок без вмешательства в основную конфигурацию.
Редактирование выполняется в конфигураторе 1С:Предприятие. Потребуются права на запуск конфигуратора и, желательно, копия исходного файла обработки — чтобы при ошибке вернуться к рабочей версии. Дальше разберём весь процесс: от открытия файла до проверки результата в пользовательском режиме.
Что нужно подготовить перед редактированием
Перед началом работы убедитесь, что у вас есть доступ к конфигуратору. Для файловой базы достаточно знать путь к каталогу базы и иметь учётную запись с правами администратора. Для клиент-серверной базы потребуются параметры подключения к серверу 1С и соответствующие права пользователя.
Обязательно сделайте резервную копию файла обработки: скопируйте .epf-файл в отдельную папку и добавьте к имени дату или номер версии. Если обработка открывается в рабочей базе, а не из файла (например, подключена через справочник «Дополнительные отчеты и обработки»), сначала сохраните её на диск через кнопку «Выгрузить в файл» или аналогичную команду в вашей конфигурации.
Проверьте версию платформы. Обработка, созданная под управляемые формы, не откроется корректно в старой платформе без поддержки управляемого приложения, а обработка на обычных формах может потребовать запуска толстого клиента. Режим совместимости конфигурации тоже имеет значение: синтаксис, доступный в новых версиях, может не работать на старых релизах.
Как открыть обработку в конфигураторе
Запустите конфигуратор нужной базы. Открытие внешней обработки не требует монопольного доступа и не блокирует работу пользователей — это одно из преимуществ по сравнению с изменением конфигурации.
В меню выберите «Файл — Открыть» и укажите путь к файлу .epf. Конфигуратор загрузит структуру обработки: в дереве появятся разделы «Формы», «Макеты», а также модуль объекта. Если файл защищён паролем, платформа запросит его при открытии — без пароля редактировать такую обработку нельзя.
Если при открытии появляется ошибка формата, проверьте, что файл действительно является внешней обработкой, а не отчётом (.erf) или повреждённым архивом. Внешне файлы похожи, но внутренняя структура различается: отчёт содержит схему компоновки данных как основной объект, а обработка — модуль объекта и произвольные формы.
Редактирование модуля и кода обработки
Основная логика обработки находится в модуле объекта и в модулях форм. Чтобы открыть модуль объекта, щёлкните правой кнопкой по корню дерева обработки и выберите «Открыть модуль объекта». Здесь обычно располагаются процедуры инициализации, экспортные функции и обработчики, не привязанные к интерфейсу.
Модули форм открываются двойным щелчком по нужной форме с последующим переходом на вкладку «Модуль». Именно здесь находятся обработчики кнопок, события формы и клиентская логика. При редактировании соблюдайте контекст: обращение к данным базы из клиентской процедуры без серверного вызова приведёт к ошибке компиляции.
Используйте встроенные средства конфигуратора: синтакс-помощник (Ctrl+F1) для проверки методов, проверку модуля через меню «Конфигурация — Проверка конфигурации» с флагом «Модули» и поиск по тексту (Ctrl+Shift+F). После правок выполните синтаксическую проверку модуля — кнопка с галочкой на панели инструментов редактора кода.
&НаСервере
Процедура ЗаполнитьДанныеНаСервере()
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Первые 100 Ссылка ИЗ Документ.РеализацияТоваровУслуг";
РезультатЗапроса = Запрос.Выполнить().Выгрузить();
КонецПроцедурыИзменение формы обработки
Форма редактируется в визуальном редакторе: откройте форму двойным щелчком в дереве обработки. В управляемых формах элементы расположены в дереве структуры, а их свойства задаются в палитре свойств справа. Чтобы добавить кнопку, перетащите её из панели элементов или создайте команду формы и свяжите с ней кнопку.
Для добавления реквизита формы перейдите на вкладку «Реквизиты» в редакторе формы и создайте новый реквизит с нужным типом данных. Затем перетащите его в дерево элементов — платформа автоматически создаст поле ввода. Помните: реквизиты формы существуют только внутри формы и не сохраняются между сеансами, если вы не реализуете хранение отдельно.
Частая задача — изменить заголовок, порядок элементов или видимость полей. Эти свойства задаются в палитре свойств без правки кода. Если нужно скрывать элемент программно, используйте свойство Видимость в модуле формы через обращение Элементы.ИмяЭлемента.Видимость.
- 1Откройте форму в редакторе и найдите нужный элемент в дереве
- 2Измените свойства в палитре свойств или добавьте новый реквизит
- 3При необходимости создайте команду и привяжите к ней кнопку
- 4Допишите обработчик команды в модуле формы
- 5Сохраните обработку и проверьте форму в режиме предприятия
Работа с макетами и печатными формами
Макеты в обработке используются для печатных форм, схем компоновки данных и табличных документов. Откройте макет двойным щелчком в разделе «Макеты» дерева обработки. Табличный макет редактируется как обычная таблица: можно менять текст, шрифты, границы ячеек и области.
Области макета задаются через выделение строк или колонок и команду «Таблица — Имена — Назначить имя». В коде области выводятся методом ПолучитьОбласть и последующим заполнением параметров. Если вы переименовали область в макете, не забудьте поправить её имя в модуле — иначе получите ошибку «Область не найдена».
Для печатных форм проверяйте параметры: имена параметров в макете (текст в квадратных скобках) должны совпадать с ключами структуры, которую вы передаёте при заполнении. Лишний параметр в коде не вызовет ошибку, а вот отсутствующий оставит пустое место в документе или приведёт к исключению в зависимости от способа заполнения.
Сохранение и проверка результата
Сохраните обработку через «Файл — Сохранить». Если работаете с копией, используйте «Сохранить как» и задайте новое имя, чтобы не перезаписать оригинал. Конфигуратор не создаёт версий автоматически — контроль версий лежит на вас, поэтому осмысленные имена файлов и папка архива сильно упрощают жизнь.
Проверку выполняйте в режиме «1С:Предприятие»: откройте обработку через «Файл — Открыть» в пользовательском сеансе и прогоните основные сценарии. Тестируйте на копии рабочей базы, если обработка изменяет данные: массовое изменение документов или справочников на боевой базе без проверки — прямой путь к порче информации.
Если обработка подключается через механизм дополнительных отчетов и обработок (БСП), после правки файла замените старую версию в справочнике дополнительных обработок и убедитесь, что назначение и разделы не сбросились. Проверьте также права: у пользователей может не быть доступа к обновлённой версии.
Как проверить результат
Форма отображается, ошибок компиляции нет
Сообщение о синтаксической ошибке или пустое окно
Данные обрабатываются, результат соответствует ожиданию
Ошибка времени выполнения или неверные данные
Все параметры заполнены, области выводятся
Пустые поля или ошибка «Область не найдена»
Типичные ошибки и ограничения
Самая частая ошибка — правка обработки без учёта контекста исполнения. Код, обращающийся к базе данных, должен выполняться на сервере; попытка вызвать его из клиентской процедуры без серверного вызова даёт ошибку компиляции. Вторая типичная проблема — использование объектов, которых нет в целевой конфигурации: обработка, написанная под «Управление торговлей», не заработает в «Бухгалтерии», если обращается к отсутствующим документам.
Ограничение безопасного режима: если обработка открывается в базе с включённым безопасным режимом или защитой от опасных действий, часть операций (работа с файловой системой, COM-объекты, внешние компоненты) будет заблокирована. Это нормальное поведение платформы, а не ошибка вашего кода.
Ещё одна ловушка — кэширование. Пользователи могут открывать старую версию обработки из кэша или из сохранённой копии на рабочем столе. После обновления файла убедитесь, что все работают именно с новой версией, особенно если файл лежит в общей сетевой папке.
Когда редактировать обработку, а когда — конфигурацию
Обработка подходит для разовых и вспомогательных задач: загрузка данных из Excel, групповая перепроводка, служебные отчёты, печатные формы, которые проще держать отдельно. Она не требует снятия конфигурации с поддержки и легко переносится между базами.
Если функциональность нужна постоянно, используется многими пользователями и должна интегрироваться с интерфейсом конфигурации (команды в документах, подсистемы, роли), правильнее доработать конфигурацию или создать расширение. Расширение конфигурации (.cfe) — промежуточный вариант: оно не снимает конфигурацию с поддержки, но встраивается в интерфейс и обновляется централизованно.
Сравнение вариантов доработки
Подходит для разовых и служебных задач; не встраивается в интерфейс, запускается вручную или через справочник дополнительных обработок
Подходит для постоянных доработок без снятия с поддержки; требует совместимости с обновлениями конфигурации
Полная свобода доработки, но усложняет обновление типового решения и требует снятия объектов с поддержки
Что важно запомнить
Обработка редактируется в конфигураторе без блокировки базы: открыли файл, изменили модуль, форму или макет, сохранили, проверили в режиме предприятия. Резервная копия файла и тестирование на копии базы — обязательные условия безопасной работы.
Частые вопросы
Чем открыть файл .epf, если нет конфигуратора?
Без конфигуратора файл .epf можно только запустить в режиме «1С:Предприятие» через «Файл — Открыть», но не отредактировать. Для правки нужен конфигуратор той же или более новой версии платформы. Альтернативы вроде сторонних редакторов существуют, но они подходят только опытным разработчикам и не заменяют штатные средства.
Можно ли редактировать обработку, защищённую паролем?
Нет, штатными средствами — нельзя. Пароль при создании обработки устанавливается именно для защиты исходного кода. Если пароль утерян, а правки нужны, обращайтесь к автору обработки или разрабатывайте аналог с нуля.
Почему после правки обработка не открывается в пользовательском режиме?
Чаще всего причина — синтаксическая ошибка в модуле или несовместимость версий платформы. Откройте обработку в конфигураторе и выполните проверку модуля: платформа укажет строку с ошибкой. Также проверьте, не сохранили ли вы файл в версии платформы новее той, на которой работает база.
Как добавить обработку в интерфейс конфигурации, чтобы не открывать файл каждый раз?
В конфигурациях на базе Библиотеки стандартных подсистем используйте справочник «Дополнительные отчеты и обработки» в разделе «Администрирование»: загрузите файл, укажите разделы и права. В самописных конфигурациях без БСП обработку обычно запускают через «Файл — Открыть» или добавляют команду доработкой конфигурации.
Можно ли редактировать обработку, пока пользователи работают в базе?
Да, открытие и сохранение файла .epf в конфигураторе не блокирует сеансы пользователей. Но если обработка подключена как дополнительная и кто-то запускает её в момент замены файла, возможны ошибки выполнения. Безопаснее обновлять файл в нерабочее время или предупредить пользователей.