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