К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как создать новую обработку в 1С

Как создать внешнюю обработку в 1С через конфигуратор: создание файла, формы, модуля, подключение через дополнительные отчеты и обработки.

Обработка в 1С — это инструмент для выполнения прикладных задач: группового изменения данных, загрузки и выгрузки информации, формирования произвольных отчетов и сервисных операций. В отличие от отчета, обработка ориентирована на действия с данными, хотя может содержать и формы, и макеты, и алгоритмы любой сложности.

Создать новую обработку можно двумя путями: как внешний файл с расширением .epf, который подключается к базе без изменения конфигурации, либо как объект внутри самой конфигурации через конфигуратор. Первый вариант предпочтителен для разовых и сервисных задач, второй — для функционала, который должен стать постоянной частью системы.

Ниже разобран полный цикл работы: от создания пустого файла обработки до написания кода, проверки результата и подключения к типовой конфигурации. Инструкция подходит для платформы 1С:Предприятие 8.3 и актуальна для большинства типовых решений.

Что такое обработка и когда она нужна

Обработка — это объект, содержащий алгоритмы, формы и макеты, но не хранящий собственных данных в базе. Она выполняет действие и завершается: например, заполняет табличные части документов, очищает регистры, тестирует обмены или выводит служебную информацию.

Типовые сценарии применения: массовая установка цен, загрузка номенклатуры из Excel, поиск и исправление дублей контрагентов, перенумерация документов, проверка закрытия периода. Все это задачи, для которых создавать полноценный документ или отчет избыточно.

Создание файла обработки в конфигураторе

Откройте конфигуратор нужной базы. В меню выберите «Файл → Новый» (или сочетание Ctrl+N) и в списке типов файлов укажите «Внешняя обработка». Откроется окно нового объекта с палитрой свойств.

Задайте имя обработки латиницей без пробелов — например, ЗагрузкаНоменклатуры. Синоним платформа сформирует автоматически, его можно отредактировать: именно синоним увидит пользователь в интерфейсе. Сразу сохраните файл через «Файл → Сохранить как», выбрав рабочую папку — получится файл с расширением .epf.

Порядок создания файла
  1. 1
    Откройте конфигуратор и выберите «Файл → Новый → Внешняя обработка»
  2. 2
    Укажите имя латиницей без пробелов и при необходимости поправьте синоним
  3. 3
    Сохраните файл в рабочую папку — появится файл .epf
  4. 4
    Добавьте форму, реквизиты и код в модуле
  5. 5
    Сохраните и откройте файл в режиме 1С:Предприятие для проверки

Добавление формы и элементов управления

Большинству обработок нужна форма — окно, в котором пользователь задает параметры и запускает действие. В дереве обработки нажмите «Добавить» на закладке «Формы» либо кнопку с изображением лупы у свойства «Основная форма». Конструктор предложит создать форму обработки — согласитесь с настройками по умолчанию.

На форму перетаскиваются реквизиты (поля ввода, переключатели, таблицы) и команды (кнопки). Типичный минимум: реквизит «Период» или «Организация» для отбора и команда «Выполнить», запускающая основной алгоритм. Каждой команде назначается обработчик — процедура в модуле формы.

Для управляемых форм помните про разделение контекста: обработчики с директивой &НаКлиенте не имеют доступа к данным базы напрямую. Обращение к данным выполняется в серверных процедурах с директивой &НаСервере.

Написание кода в модуле

Логика обработки размещается в модуле объекта и модуле формы. Модуль объекта подходит для серверных процедур, не привязанных к интерфейсу; модуль формы — для обработчиков кнопок и событий формы.

Простейший пример — обработчик кнопки, который выводит сообщение:

&НаКлиенте

Процедура ВыполнитьОбработку(Команда)

ВыполнитьОбработкуНаСервере();

ПоказатьПредупреждение(, "Обработка завершена");

КонецПроцедуры

&НаСервере

Процедура ВыполнитьОбработкуНаСервере()

Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 10 Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура";

Результат = Запрос.Выполнить().Выбрать();

Пока Результат.Следующий() Цикл

// действия с данными

КонецЦикла;

КонецПроцедуры

При написании запросов и циклов учитывайте объем данных: выборка миллионов записей без отбора может надолго заблокировать работу пользователей. Всегда добавляйте условия отбора и тестируйте на копии базы.

Проверка и отладка обработки

Для запуска откройте сохраненный .epf-файл в режиме 1С:Предприятие через «Файл → Открыть». Если конфигурация защищена от небезопасных действий, платформа выдаст предупреждение безопасности — подтвердите открытие только для файлов из доверенного источника.

Для отладки в конфигураторе включите «Отладка → Начать отладку», установите точки останова в коде и откройте обработку в запущенном сеансе предприятия. Так видно значения переменных, результат запроса и место ошибки.

Контрольные точки

Как проверить результат

Открытие файла
Норма

Форма обработки открывается без сообщений об ошибках

Тревожный признак

Ошибка компиляции модуля или «объект не найден»

Выполнение основного действия
Норма

Действие завершается, данные изменены только у целевых объектов

Тревожный признак

Ошибка в середине цикла, часть данных не обработана

Повторный запуск
Норма

Обработка работает стабильно и не создает дублей

Тревожный признак

При повторе появляются задвоенные записи

Подключение к типовой конфигурации

В типовых конфигурациях на БСП (Библиотека стандартных подсистем) внешние обработки подключаются штатно: раздел «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки». Предварительно включите сам механизм флажком «Дополнительные отчеты и обработки».

При добавлении файла платформа может запросить сведения о обработке. Чтобы обработка корректно регистрировалась, в модуле объекта реализуют функцию СведенияОВнешнейОбработке(), возвращающую структуру с видом, версией и командами. Без нее многие типовые примут файл, но команду придется настраивать вручную.

Обработка внутри конфигурации: альтернативный вариант

Если функционал нужен постоянно и должен обновляться вместе с конфигурацией, обработку добавляют как объект конфигурации: в дереве конфигурации правый клик по ветке «Обработки → Добавить». Дальнейшая работа идентична: форма, реквизиты, модуль.

Минус подхода — изменение конфигурации требует обновления базы и может усложнить последующие обновления типового решения, если оно на поддержке. Поэтому для разовых и сервисных задач внешний .epf-файл удобнее и безопаснее.

Сравнение вариантов

Внешняя обработка (.epf)

Подходит для разовых задач, сервисных утилит и доработок без изменения конфигурации. Ограничение: не обновляется автоматически, файл нужно распространять отдельно.

Обработка в составе конфигурации

Подходит для постоянного функционала с доступом из общего интерфейса. Ограничение: требует обновления базы и осложняет поддержку типового решения.

Расширение конфигурации

Компромисс: обработка добавляется через расширение без снятия конфигурации с поддержки. Ограничение: требует совместимости режима расширения с типовой.

Типичные ошибки при создании обработок

Самая частая проблема — обработка написана под обычные формы, а конфигурация работает в режиме управляемого приложения: форма просто не откроется. Проверяйте режим запуска базы заранее и создавайте управляемую форму.

Вторая группа ошибок — обращение к объектам, которых нет в конкретной конфигурации. Код, написанный под «Управление торговлей», не заработает в «Бухгалтерии», если в ней нет используемого справочника или документа. Проверяйте состав метаданных целевой базы.

Типичные ошибки
01
Создание обычной формы для конфигурации на управляемом приложении — форма не открывается
02
Отсутствие функции СведенияОВнешнейОбработке — обработка не регистрируется в механизме дополнительных обработок
03
Запрос без отборов по периоду и организации — обработка зависает на больших объемах данных
04
Изменение данных без транзакции — при ошибке в середине цикла база остается в несогласованном состоянии
05
Тестирование сразу на рабочей базе — ошибка в условии портит реальные данные

FAQ: частые вопросы о создании обработок

Чем обработка отличается от отчета в 1С?

Отчет предназначен для выборки и представления данных без их изменения, обычно на базе схемы компоновки данных. Обработка ориентирована на действия: изменение, загрузку, удаление данных, хотя тоже может выводить результаты в табличный документ. По структуре файла они похожи, но отчет имеет расширение .erf и основной макет СКД.

Можно ли создать обработку без конфигуратора?

Нет, файл .epf создается только в конфигураторе, так как это бинарный формат платформы. Альтернатива — взять готовый шаблон обработки и изменить его код, но для редактирования все равно потребуется конфигуратор.

Почему обработка не открывается в режиме предприятия?

Частые причины: у пользователя нет права «Интерактивное открытие внешних отчетов и обработок», включен запрет небезопасных действий в профиле безопасности, либо файл создан в более новой версии платформы, чем установлена у пользователя. Проверьте версию платформы и права роли.

Как сделать, чтобы обработка выполнялась по расписанию?

Внешняя обработка регистрируется в механизме дополнительных отчетов и обработок с видом команды «Вызов серверного метода» или «Вызов клиентского метода», после чего в справочнике дополнительных обработок ей назначается расписание. Команда должна быть серверной, так как регламентное задание выполняется на сервере без интерфейса.

Нужно ли снимать конфигурацию с поддержки для внешней обработки?

Нет. Внешняя обработка — отдельный файл, она не изменяет конфигурацию и не влияет на поддержку. Снятие с поддержки требуется только при редактировании объектов внутри самой конфигурации.

Итог

Что важно запомнить

Новая обработка создается в конфигураторе через «Файл → Новый → Внешняя обработка», дополняется формой и кодом, сохраняется как .epf и открывается в режиме предприятия или подключается через дополнительные отчеты и обработки. Тестируйте обработки, изменяющие данные, только на копии базы и всегда ограничивайте выборки отборами.