Разработка и Конфигурация · 10 мин
Как изменить обработку 1С: практическое руководство
Как открыть и изменить внешнюю обработку 1С через конфигуратор: редактирование формы, модуля и макета, сохранение, проверка ошибок и типичные риски.
Обработка в 1С — это отдельный объект (внешний файл с расширением .epf или встроенный объект конфигурации), который выполняет прикладные действия: заполняет документы, формирует отчёты, массово изменяет данные. Изменить обработку можно двумя путями: через конфигуратор, если есть её исходный файл, или через встроенный редактор, если обработка встроена в конфигурацию. Ниже разобраны оба сценария с конкретными шагами и проверками.
Перед любыми правками определите, что именно вы меняете: внешнюю обработку, подключаемую через «Дополнительные отчеты и обработки», или объект внутри самой конфигурации. От этого зависит порядок действий, права доступа и риски. Изменение встроенной обработки требует снятия конфигурации с полной поддержки поставщика, что влияет на дальнейшие обновления.
Как определить тип обработки и подготовиться к изменению
Сначала выясните, где находится обработка. Внешняя обработка хранится как отдельный файл .epf и открывается в режиме «1С:Предприятие» через Файл → Открыть или подключается в справочнике «Дополнительные отчеты и обработки». Встроенная обработка видна в дереве конфигурации в ветке «Обработки». Способ изменения в этих случаях отличается.
Проверьте права: для работы в конфигураторе нужны права разработчика (администратора) и монопольный доступ к базе при изменении встроенных объектов. Если база серверная и в ней работают пользователи, изменение конфигурации потребует завершения их сеансов. Изменение внешнего файла монопольного доступа не требует — вы правите копию на диске.
Как открыть внешнюю обработку в конфигураторе
Запустите конфигуратор той информационной базы, для которой предназначена обработка — это важно, потому что модуль обработки обращается к объектам конкретной конфигурации (документам, справочникам, регистрам). Если открыть обработку в конфигураторе пустой или другой базы, проверка модуля покажет ошибки на отсутствующие объекты.
Далее выполните: меню Файл → Открыть → укажите файл обработки с расширением .epf. Откроется окно структуры обработки с формами, макетами и модулем объекта. Если файл не открывается, проверьте, что он не повреждён и создан для совместимой версии платформы — обработки, сохранённые в более новой версии платформы, в старой не открываются.
- 1Сделайте копию файла .epf в отдельную папку
- 2Запустите конфигуратор нужной базы
- 3Откройте файл через Файл → Открыть
- 4Внесите правки в форму, модуль или макет
- 5Сохраните файл (Ctrl+S) под тем же или новым именем
- 6Проверьте работу на тестовой копии базы
Как изменить форму обработки
В дереве обработки раскройте ветку «Формы» и откройте нужную форму двойным щелчком. В редакторе формы можно добавлять и удалять элементы: поля ввода, кнопки, табличные части, надписи. Для управляемых форм элементы добавляются через панель в правой части редактора, а их свойства (заголовок, видимость, доступность, обработчики событий) задаются в палитре свойств.
Чтобы привязать к элементу данные, добавьте реквизит формы: окно реквизитов обычно находится рядом с деревом элементов. Создайте реквизит нужного типа (строка, число, ссылка на справочник) и перетащите его в дерево элементов формы — платформа автоматически создаст связанное поле ввода. Для кнопки создайте команду формы и назначьте ей обработчик действия.
После правки формы проверьте, что все обработчики, на которые ссылаются элементы, существуют в модуле формы. Если удалить процедуру из модуля, но оставить ссылку на неё в свойствах кнопки, при открытии обработки пользователь получит ошибку.
Как изменить программный код модуля
Основная логика обработки находится в модулях: модуле объекта (доступен из дерева обработки через «Модуль объекта») и модулях форм (кнопка «Модуль» в редакторе формы). Код пишется на встроенном языке 1С. Для изменения поведения найдите нужную процедуру через поиск (Ctrl+F) или список процедур и функций (Ctrl+Alt+P в ряде версий платформы).
Типовые правки: изменение условий отбора данных, добавление полей в запрос, корректировка алгоритма заполнения документов, изменение текстов сообщений пользователю. При работе с запросами удобно использовать конструктор запроса — правый клик по тексту запроса → «Конструктор запроса». Он снижает риск синтаксических ошибок в тексте запроса.
После правок выполните синтаксическую проверку модуля: меню Текст → Проверка синтаксиса (или соответствующая кнопка панели инструментов). Ошибки и предупреждения появятся в окне сообщений с указанием строки. Устраните все ошибки до сохранения — обработка с синтаксическими ошибками не запустится в режиме предприятия.
Перед правкой чужого кода добавьте в начало изменённой процедуры комментарий с датой и сутью изменения. Когда обработку придётся править снова — вам или коллеге — это сэкономит время на поиск внесённых ранее изменений.
Как изменить макет и печатную форму
Если обработка выводит данные в табличный документ, его шаблон хранится в макете. В дереве обработки откройте ветку «Макеты», затем нужный макет. Редактор макета похож на табличный редактор: можно менять ячейки, шрифты, границы, ширину колонок. Ячейки с параметрами (выводятся из кода) имеют тип заполнения «Параметр» и имя, по которому код подставляет значение.
Добавляя новое поле в макет, не забудьте дополнить код: в модуле должна быть строка вида Область.Параметры.ИмяПараметра = Значение;. Если параметр есть в макете, но не заполняется в коде, на печать выйдет пустое значение. Если параметр заполняется в коде, но отсутствует в макете, при выводе области возникнет ошибка.
Как изменить обработку, встроенную в конфигурацию
Встроенная обработка находится в дереве конфигурации: Конфигурация → Открыть конфигурацию, ветка «Обработки». Если конфигурация типовая и стоит на полной поддержке, объект будет недоступен для редактирования — потребуется включить возможность изменения: Конфигурация → Поддержка → Настройка поддержки → «Включить возможность изменения».
Учтите последствия: объект, изменённый в типовой конфигурации, при следующем обновлении может вызвать конфликт — платформа спросит, какую версию оставить. Поэтому для типовых конфигураций предпочтительнее не править встроенную обработку, а создать её внешнюю копию: открыть обработку, сохранить через Файл → Сохранить копию как внешнюю обработку и дорабатывать уже её.
Сравнение вариантов доработки
Подходит для подключаемых обработок. Не затрагивает конфигурацию, безопасно для обновлений. Ограничение: нужен исходный файл, а не только подключённая в базе копия.
Подходит для изменения поведения типовых объектов без снятия с поддержки. Ограничение: расширения работают не со всеми сценариями и требуют совместимой версии платформы.
Даёт полный доступ к коду, но снимает объект с поддержки и усложняет обновления. Оправдано только для собственных или давно переписанных конфигураций.
Как сохранить и проверить изменённую обработку
Сохраните внешнюю обработку через Файл → Сохранить (Ctrl+S). Если обработка подключена в справочнике «Дополнительные отчеты и обработки», обновите её там: откройте элемент справочника и загрузите новую версию файла, иначе пользователи продолжат запускать старый вариант. Для встроенной обработки выполните обновление конфигурации базы данных (F7 в конфигураторе).
Проверку делайте в такой последовательности: сначала синтаксическая проверка модуля в конфигураторе, затем запуск обработки на копии рабочей базы, затем контроль результата — откройте документы или записи, которые изменила обработка, и убедитесь, что данные корректны. Только после этого переносите обработку в рабочую среду.
Как проверить результат
Проверка завершается без ошибок в окне сообщений
Ошибки компиляции, ссылки на несуществующие процедуры
Форма открывается, команды выполняются без исключений
Ошибка при открытии формы или в момент выполнения
Документы и записи изменены так, как задумано
Пропущенные записи, неверные суммы, дубли
Типичные ошибки при изменении обработок
Самая частая ошибка — правка обработки в конфигураторе «не той» базы. Модуль компилируется, но логика проверяется на чужих данных, итоговое поведение отличается. Всегда открывайте обработку в конфигураторе базы с той же конфигурацией, где она будет работать.
Вторая группа ошибок связана с правами и безопасным режимом. Обработки, подключённые через механизм дополнительных отчётов и обработок, могут выполняться в безопасном режиме, где запрещены операции с файловой системой и COM-объектами. Если ваш код использует такие операции, проверьте настройки безопасного режима в параметрах подключения.
Ответы на частые вопросы
Можно ли изменить обработку без конфигуратора?
Полноценно — нет: весь код, формы и макеты правятся только в конфигураторе. В режиме «1С:Предприятие» можно лишь заменить файл обработки в справочнике дополнительных обработок или изменить настройки её запуска, но не внутреннее содержимое.
Как открыть обработку, если нет файла, а она подключена в базе?
В справочнике «Дополнительные отчеты и обработки» откройте нужный элемент и используйте команду сохранения/выгрузки файла на диск. Полученный .epf-файл откройте в конфигураторе. Если команда выгрузки недоступна, проверьте свои права.
Обработка не открывается в конфигураторе — в чём причина?
Чаще всего файл повреждён, сохранён в более новой версии платформы или это не внешняя обработка, а отчёт (.erf) либо другой файл. Проверьте версию платформы, в которой создан файл, и попробуйте открыть его в конфигураторе той же или более новой версии.
Изменится ли обработка у всех пользователей после моей правки?
Для внешней обработки — только после того, как вы замените файл в справочнике дополнительных обработок или раздадите новый файл тем, кто открывает её вручную. Для встроенной — после обновления конфигурации базы данных, при этом сеансы пользователей придётся завершить.
Как отменить изменения, если обработка перестала работать?
Верните резервную копию файла .epf, которую вы сделали перед правкой, и загрузите её в справочник дополнительных обработок. Если копии нет и обработка типовая, исходную версию можно взять из дистрибутива конфигурации или из файла поставки обновления.
Можно ли изменить обработку, не снимая конфигурацию с поддержки?
Да, двумя способами: сделать внешнюю копию обработки и доработать её, либо использовать расширение конфигурации, если требуется изменить поведение типового объекта. Оба варианта сохраняют возможность штатного обновления конфигурации.
Что важно запомнить
Изменение обработки 1С выполняется в конфигураторе: открытие .epf-файла, правка формы, модуля или макета, синтаксическая проверка и сохранение. Обязательные условия безопасности — резервная копия файла, тестирование на копии базы и замена файла в справочнике дополнительных обработок после проверки. Для типовых конфигураций предпочтительны внешние копии и расширения вместо снятия с поддержки.