Чтобы создать обработку в 1С, откройте базу в конфигураторе, выберите «Файл» → «Новый» → «Внешняя обработка», добавьте форму, реквизиты и команду, напишите код и сохраните файл с расширением .epf. Дальше обработку можно открыть через «Файл» → «Открыть» или, что правильнее, зарегистрировать в «Дополнительных отчетах и обработках» — тогда она появится в нужном разделе программы.
Ниже — пошаговый разбор на живом примере: обработка, которая находит контрагентов без ИНН. Он подойдёт и тем, кто никогда не открывал конфигуратор.
Какие бывают обработки в 1С
Обработка — это объект, который не хранит данные, а что-то с ними делает: ищет, проверяет, заполняет, загружает, выгружает. Бывает три вида:
- Встроенная — часть конфигурации. Её видно в дереве объектов в конфигураторе, в ветке «Обработки». Чтобы создать новую, нужно менять конфигурацию, а это снятие с поддержки и сложности при обновлении.
- Внешняя — отдельный файл .epf. Хранится вне базы, подходит к любой базе той же конфигурации. Это самый частый вариант для разовых и небольших задач.
- Дополнительная — та же внешняя обработка, но зарегистрированная в справочнике «Дополнительные отчеты и обработки». Хранится уже внутри базы, запускается из раздела программы, доступ к ней можно раздать по пользователям.
Для 95% задач малого бизнеса — массовое изменение реквизитов, проверка данных, выгрузка в нестандартном формате — достаточно внешней обработки. Если же нужно поменять поведение типового документа, лучше подходит расширение, о нём — в статье как создать расширение в 1С.
Что нужно для создания обработки
- Доступ к конфигуратору и пользователь с полными правами.
- Копия базы для отладки. Тестировать код, который что-то меняет, на рабочей базе — плохая идея.
- Открытая конфигурация нужной базы. Внешнюю обработку можно создать и в пустом конфигураторе, но тогда при выборе типов не будет справочников и документов вашей программы. Поэтому сначала откройте конфигуратор той базы, для которой пишете, и уже из него создавайте новый файл.
Создание внешней обработки 1С пошагово
Шаг 1. Создайте файл
- Запустите базу в режиме «Конфигуратор».
- Откройте меню «Файл» → «Новый».
- Выберите «Внешняя обработка» и нажмите «ОК».
- Откроется окно обработки. В поле «Имя» напишите латиницей или кириллицей без пробелов, например
КонтрагентыБезИНН. В поле «Синоним» — понятное название, которое увидит пользователь. - Сразу сохраните файл: «Файл» → «Сохранить как». Расширение .epf поставится само.
Шаг 2. Добавьте реквизиты и табличную часть
Реквизиты обработки — это поля, в которых хранятся параметры и результаты, пока форма открыта.
- В окне обработки на закладке «Табличные части» нажмите «Добавить» и назовите табличную часть
Результат. - Внутри неё добавьте реквизит
Контрагентс типом «СправочникСсылка.Контрагенты».
Шаг 3. Создайте форму
- На закладке «Формы» нажмите «Добавить».
- В конструкторе оставьте тип «Форма обработки» и нажмите «Готово».
- В редакторе формы перетащите табличную часть
Результатиз правой верхней панели «Реквизиты» в левую панель «Элементы». На форме появится таблица.
Шаг 4. Добавьте команду и кнопку
- В редакторе формы откройте закладку «Команды» и нажмите «Добавить». Назовите команду
Найти. - В свойствах команды в поле «Действие» нажмите на лупу — 1С создаст пустую процедуру в модуле формы.
- Перетащите команду в командную панель формы — получится кнопка.

Шаг 5. Напишите код
Вот пример модуля формы. Клиентская процедура реагирует на нажатие кнопки, серверная — выполняет запрос к базе, потому что данные доступны только на сервере.
&НаКлиенте
Процедура Найти(Команда)
НайтиНаСервере();
КонецПроцедуры
&НаСервере
Процедура НайтиНаСервере()
Объект.Результат.Очистить();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка КАК Контрагент
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| НЕ Контрагенты.ЭтоГруппа
| И НЕ Контрагенты.ПометкаУдаления
| И Контрагенты.ИНН = """"";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = Объект.Результат.Добавить();
НоваяСтрока.Контрагент = Выборка.Контрагент;
КонецЦикла;
КонецПроцедурыОбработка ничего не меняет в базе — только показывает список. Это хороший первый пример: ошибиться и что-то испортить невозможно.
Шаг 6. Проверьте обработку
- Сохраните файл.
- Запустите базу в режиме «1С:Предприятие» (из конфигуратора удобно через «Отладка» → «Начать отладку»).
- Откройте «Файл» → «Открыть» и выберите файл .epf. При первом открытии программа предупредит, что файл может быть небезопасен, — подтвердите, если файл ваш.
- Нажмите «Найти».
Если пункт «Файл» → «Открыть» не срабатывает или выдаёт ошибку прав, значит, у пользователя нет права на интерактивное открытие внешних обработок. В типовых конфигурациях оно по умолчанию закрыто и выдаётся отдельным профилем групп доступа с ролью «Интерактивное открытие внешних отчетов и обработок». Выдавать эту роль всем подряд не стоит: внешний файл может сделать с базой что угодно.
Как сделать обработку дополнительной
Чтобы обработка появилась в разделе программы и её не нужно было каждый раз искать на диске, её регистрируют как дополнительную. Для этого в модуль объекта (не формы!) добавляют экспортную функцию СведенияОВнешнейОбработке. Без неё 1С при загрузке скажет, что обработка не поддерживает регистрацию.
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Версия = "1.0";
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = "Контрагенты без ИНН";
Команда.Идентификатор = "ОткрытьФорму";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Возврат ПараметрыРегистрации;
КонецФункцииЗдесь используются модули библиотеки стандартных подсистем (БСП), на которой построены все современные типовые конфигурации: Бухгалтерия, УТ, КА, ERP, ЗУП, УНФ. Сама процедура подключения в режиме предприятия — через «Администрирование» → «Печатные формы, отчеты и обработки» → «Дополнительные отчеты и обработки» — подробно разобрана в статье как добавить обработку в 1С, повторять её не буду.
Кроме дополнительной обработки, через тот же механизм подключаются печатные формы и обработки заполнения табличных частей. Про печатные формы — в отдельной статье о создании печатных форм в 1С.
Обработка, которая меняет данные
Когда обработка начинает что-то записывать, правила строже:
- Работайте через объект. Чтобы изменить элемент справочника, получите его объект через
Ссылка.ПолучитьОбъект(), измените реквизит и вызовитеЗаписать(). Как это делается для новых элементов, показываю в статье как создать элемент справочника программно. - Сначала покажите, потом меняйте. Хорошая практика — первая кнопка заполняет таблицу тем, что будет изменено, вторая применяет изменения. Пользователь видит масштаб до того, как нажать.
- Ловите ошибки. Оборачивайте запись в
Попытка ... Исключение, чтобы одна проблемная запись не останавливала всю обработку, и выводите сообщение о том, что не записалось. - Сделайте резервную копию перед первым запуском на рабочей базе.
Типовые ошибки
- «Тип не определён» при выборе типа реквизита. Обработку создавали в конфигураторе без открытой базы. Откройте конфигуратор нужной базы и создайте файл заново или переоткройте его оттуда.
- «Метод объекта не обнаружен (СведенияОВнешнейОбработке)». Функция написана в модуле формы, а не в модуле объекта, или у неё нет слова
Экспорт. - «Недостаточно прав для открытия внешних обработок». Нет роли на интерактивное открытие. Либо выдайте её, либо зарегистрируйте обработку как дополнительную.
- Обработка работает в файловой базе, но падает на сервере. В клиентской процедуре идёт обращение к базе данных или серверная процедура пытается показать что-то на экране. Всё, что работает с данными, должно быть в
&НаСервере, всё, что показывает окна, — в&НаКлиенте. - После обновления 1С появилась ошибка «Поле объекта не обнаружено». Разработчики 1С переименовали или удалили реквизит, к которому обращается код. Нужно поправить обработку под новую версию.
- Обработка долго работает. Чаще всего виновато обращение к реквизитам через точку внутри цикла. Получайте всё нужное одним запросом заранее.
Если нужна обработка под конкретную задачу — массовое исправление данных, выгрузка в нестандартный формат, сверка с внешним файлом — или готовую обработку нужно поправить после обновления, помогу удалённо: доработка 1С под задачи, доработки через расширения 1С.
Итог
- Внешняя обработка создаётся в конфигураторе: «Файл» → «Новый» → «Внешняя обработка», сохраняется в файл .epf.
- Создавайте её из конфигуратора нужной базы, иначе не будет доступа к справочникам и документам.
- Минимальный набор: реквизиты, форма, команда и серверная процедура с запросом.
- Чтобы обработка появилась в разделе программы, добавьте в модуль объекта функцию
СведенияОВнешнейОбработкеи зарегистрируйте её в дополнительных обработках. - Обработки, которые меняют данные, сначала проверяйте на копии базы и показывайте пользователю, что будет изменено.
- Для изменения поведения типовых объектов вместо обработки используйте расширение.




