Внешняя обработка или расширение конфигурации 1С: что выбрать
Зачем вообще выбирать
Раньше любую доработку 1С делали прямо в конфигурации: открывали типовую, правили код и формы. Цена такого подхода выяснялась при первом обновлении. Типовая снималась с поддержки, и каждое обновление превращалось в ручное сравнение и объединение, которое занимало дни и ломало доработки. Об этом подробно в статье почему после обновления 1С ломаются доработки.
Сегодня у разработчика есть два механизма, которые позволяют дорабатывать 1С, не трогая типовую: внешние обработки и отчёты, а также расширения конфигурации. Оба безопаснее правки типовой, но решают разные задачи. Неверный выбор не катастрофа, но он делает доработку дороже в поддержке.
Что такое внешняя обработка 1С
Внешняя обработка это файл с расширением .epf, который живёт отдельно от базы. Его подключают через справочник «Дополнительные отчёты и обработки», который есть в типовых конфигурациях на основе Библиотеки стандартных подсистем. После подключения обработка появляется в нужном разделе или в форме документа как команда.
Внешняя обработка может:
- загружать данные из файлов: прайсы, остатки, выписки нестандартного формата;
- выполнять массовые операции: пересчитать цены, заполнить реквизит у тысячи позиций, найти дубли;
- формировать печатные формы для документов и справочников;
- заполнять табличные части документов по своим правилам;
- выполняться по расписанию как регламентное задание, если конфигурация это поддерживает.
Рядом с обработками живут внешние отчёты (.erf): то же самое, только для отчётов, обычно на системе компоновки данных.
Что такое расширение конфигурации
Расширение конфигурации это файл .cfe, который подключается к базе и встраивается в конфигурацию как дополнительный слой. Типовая остаётся на поддержке и обновляется штатно, а расширение добавляет к ней своё.
Расширение умеет то, чего не умеет внешняя обработка:
- добавлять реквизиты в типовые справочники и документы;
- добавлять свои справочники, документы и регистры;
- менять формы типовых объектов: новые поля, кнопки, вкладки;
- перехватывать события: проверять данные перед записью, менять логику проведения, выполнять действия после записи;
- добавлять HTTP-сервисы для обмена с внешними системами.
Перехват событий самая мощная и самая тонкая возможность. Расширение может выполниться до типового кода, после него или вместо него. Чем глубже вмешательство, тем выше шанс, что новый релиз типовой изменит то, на что расширение рассчитывает.
Сравнение: обработка против расширения
| Критерий | Внешняя обработка (.epf) | Расширение (.cfe) |
|---|---|---|
| Меняет поведение типовых объектов | Нет | Да |
| Добавляет поля в документы | Нет | Да |
| Подключение | Через «Дополнительные отчёты и обработки» | Через управление расширениями |
| Влияние на обновления | Практически никакого | Минимальное, но нужна проверка после релиза |
| Работа в облаке 1С:Фреш | Да, с ограничениями сервиса | Да, с ограничениями сервиса |
| Риск для данных при ошибке | Только при запуске | При каждой записи затронутых объектов |
| Типичная стоимость | от 150 000 ₸ | от 350 000 ₸ |
Простое правило: если задача звучит как «сделать что-то с данными» (загрузить, пересчитать, распечатать, выгрузить), это обработка. Если задача звучит как «чтобы документ сам», «чтобы не давал провести», «чтобы появилось поле», это расширение.
Примеры задач и правильный выбор
- Загрузка прайса поставщика. Обработка. Она запускается по команде, читает файл и обновляет цены. Поведение документов не меняется.
- Запрет продажи ниже закупочной цены. Расширение. Нужна проверка при записи документа реализации, а это перехват события.
- Своя печатная форма счёта. Обычно внешняя печатная форма. Расширение нужно, только если форма требует данных, которых нет в конфигурации.
- Поле «Ответственный логист» в заказе. Расширение: добавить реквизит и вывести его на форму.
- Ежедневная выгрузка остатков на сайт. Зависит от конфигурации: регламентное задание из расширения или дополнительная обработка, запускаемая по расписанию.
- Отчёт по марже в разрезе менеджеров. Внешний отчёт на СКД, если все данные уже есть в базе. Если нужно сначала начать их собирать, понадобится расширение.
Что происходит при обновлении 1С
Внешние обработки при обновлении почти никогда не ломаются, если не используют внутренние процедуры типовой, которые фирма 1С может переименовать. Хорошо написанная обработка обращается к данным через стандартные механизмы и переживает годы обновлений.
Расширения требуют проверки после каждого значимого релиза. Платформа сама сообщает, если расширение ссылается на объект или метод, которого больше нет. В этом случае расширение отключается, а типовая продолжает работать. Это лучше, чем сломанная база, но доработка временно не действует, поэтому проверку стоит закладывать в сопровождение.
Чтобы расширения переживали обновления спокойно, мы следуем нескольким правилам: минимум перехватов «вместо», максимум «до» и «после», никаких опор на внутреннюю реализацию типовой, короткая документация к каждому перехвату.
Когда всё-таки приходится править типовую
Бывают задачи, которые не решаются ни обработкой, ни расширением: глубокая переделка механизма, который в типовой закрыт для изменений, или отраслевая конфигурация, которая изначально снята с поддержки. В таких случаях правка конфигурации допустима, но это осознанное решение с последствиями: обновления станут ручной операцией и будут стоить дороже.
Мы говорим об этом до начала работ и считаем оба варианта, если они есть. Иногда выгоднее упростить требование и уложиться в расширение, чем годами платить за сложные обновления.
Безопасность: кто и что может подключать
И обработки, и расширения выполняют код внутри вашей базы с правами пользователя, а иногда и с полными правами. Поэтому подключать их должен ограниченный круг людей, а каждый файл должен быть понятного происхождения.
- Права на подключение. Право добавлять дополнительные обработки и управлять расширениями оставьте администратору. У рядовых пользователей его быть не должно.
- Безопасный режим. Платформа 8.3 умеет запускать расширения и обработки в безопасном режиме, когда код не может обращаться к файлам и внешним ресурсам. Для того, что действительно должно читать файлы или ходить в сеть, разрешения выдаются явно.
- Исходники у заказчика. Файл .epf или .cfe без исходников и описания со временем становится чёрным ящиком. Требуйте исходники и короткое описание у любого исполнителя.
- Проверка на копии. Новое расширение сначала подключается в копии базы, проверяется на реальных данных и только потом попадает в рабочую.
Как проходит разработка
- Разбор задачи. Смотрим, как сейчас делается работа и где теряется время. Иногда выясняется, что задача решается настройкой, и код не нужен вовсе.
- Выбор механизма. Обработка, отчёт или расширение, с объяснением почему.
- Оценка. Срок и цена до начала работ, письменно.
- Разработка на копии базы. Рабочая база не затрагивается.
- Показ на ваших данных. Пользователи пробуют, находим неудобные места.
- Подключение в рабочую базу и короткая инструкция для сотрудников.
- Передача исходников и описания: что затрагивается и что проверить после обновления.
Как заказать доработку
Опишите задачу словами пользователя: что сейчас делается вручную, где ошибаются, что хочется видеть. Выбор механизма наша работа. Мы смотрим конфигурацию и её состояние, предлагаем вариант, называем срок и цену до начала работ.
Разовые операции и загрузки делаем как внешние обработки, изменения поведения документов как доработку через расширения. Исходники и короткое описание передаём заказчику: ваш специалист сможет поддерживать их без нас.
Частые вопросы
Чем внешняя обработка отличается от расширения?
Обработка выполняет действие с данными и не меняет конфигурацию. Расширение встраивается в конфигурацию и может менять формы и поведение типовых объектов.
Слетит ли расширение при обновлении 1С?
Обычно нет. Если новый релиз меняет объекты, на которые опирается расширение, платформа его отключит, и потребуется адаптация. Типовая при этом работает.
Где подключаются внешние обработки?
В типовых конфигурациях через справочник «Дополнительные отчёты и обработки». Нужны соответствующие права пользователя.
Можно ли использовать расширения в 1С:Фреш?
Да, с ограничениями сервиса: расширения и обработки проходят проверку перед подключением в облаке.
Сколько стоит внешняя обработка 1С?
Небольшие обработки от 150 000 ₸. Доработка через расширение от 350 000 ₸. Точная цена после осмотра задачи.