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

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

Материал будет полезен как пользователям, которые хотят оптимизировать свою работу, так и начинающим программистам 1С, делающим первые шаги в разработке. Не требуется глубоких знаний 1С:Предприятие 8 — мы объясним всё на доступных примерах.

Что такое обработка в 1С и зачем она нужна

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

  • 📊 Обрабатывать данные — например, массово исправлять реквизиты документов или переносить остатки между периодами.
  • 🔄 Автоматизировать рутинные операции — как загрузка прайс-листов из Excel или выгрузка отчётов в PDF.
  • 🔧 Расширять функционал — добавлять новые кнопки, формы или логику, которой нет в типовой конфигурации.
  • 🔗 Интегрироваться с внешними системами — обмениваться данными с сайтами, банками или другими программами.

Главное преимущество обработок — они не требуют изменения конфигурации. Это значит, что вы можете подключить внешнюю обработку к любой базе 1С (даже если у вас нет прав на редактирование конфигурации), и она будет работать поверх стандартных механизмов. Например, бухгалтер может использовать обработку для сверки расчётов с контрагентами, не дожидаясь обновления от разработчиков.

Обработки делятся на два основных типа:

  1. Внутренние (встроенные) — создаются непосредственно в конфигурации и хранятся внутри неё. Используются для расширения функционала конкретной базы.
  2. Внешние — сохраняются в отдельных файлах с расширением .epf (для обычных обработок) или .erf (для отчётов). Их можно передавать между базами, редактировать без доступа к конфигуратору и подключать по мере необходимости.
📊 Как часто вы используете обработки в 1С?
Ежедневно
Несколько раз в неделю
Редко, по необходимости
Никогда не пробовал

Виды обработок в 1С и их применение

Обработки в 1С:Предприятие 8 можно классифицировать не только по способу хранения (внутренние/внешние), но и по их назначению. Рассмотрим основные категории с примерами, где они применяются на практике.

Тип обработки Примеры использования Кто чаще всего применяет
Обработки документов Массовое проведение, печать пакетов документов, исправление ошибок в реквизитах Бухгалтеры, логисты, менеджеры по продажам
Обработки справочников Загрузка номенклатуры из Excel, групповой перенос элементов между справочниками, очистка дублей Администраторы базы, кладовщики
Отчёты и аналитика Создание нестандартных отчётов, сводные таблицы по произвольным критериям, экспорт данных в Power BI Аналитики, финансовые директора
Интеграционные обработки Обмен данными с сайтами (например, 1С-Битрикс), банк-клиентами, ЕГАИС, маркетплейсами IT-специалисты, разработчики
Сервисные обработки Очистка базы от «мусора», архивация данных, резервное копирование Администраторы 1С

Рассмотрим подробнее интеграционные обработки, так как они часто вызывают вопросы. Например, для обмена данными с маркетплейсами (Озон, Wildberries, Яндекс Маркет) используются обработки, которые:

  • 📥 Выгружают остатки товаров и цены из 1С на площадку.
  • 📤 Загружают заказы с маркетплейса обратно в 1С для дальнейшей обработки.
  • 🔄 Синхронизируют статусы заказов (оплачено, отгружено, возвращено).

Такие обработки обычно разрабатываются под конкретного партнёра (например, Озон API или Wildberries Seller) и требуют настройки прав доступа, токенов и формата обмена (JSON, XML).

💡

Перед использованием внешней обработки для интеграции проверьте её совместимость с вашей версией 1С. Некоторые обработки пишутся под конкретные релизы платформы (например, 8.3.20) и могут не работать в более новых или старых версиях.

Внешние vs внутренние обработки: что выбрать

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

Критерий Внутренняя обработка Внешняя обработка
Хранение Внутри конфигурации (в дереве объектов) Отдельный файл (.epf или .erf)
Права доступа Требует прав на изменение конфигурации Можно подключить без прав на конфигуратор
Переносимость Привязана к конкретной базе Можно использовать в разных базах
Обновления Обновляется вместе с конфигурацией Можно обновлять отдельно, заменяя файл
Безопасность Контролируется на уровне конфигурации Риск подключения недоверенных файлов

Когда использовать внутреннюю обработку:

  • 🔧 Если обработка нужна только для одной базы и тесно связана с её логикой (например, доработка отчёта под специфические требования компании).
  • 🛡️ Если важна безопасность — внутренние обработки сложнее случайно удалить или подменить.
  • 🔄 Если обработка должна обновляться вместе с конфигурацией (например, при переходе на новый релиз 1С).

Когда выбрать внешнюю обработку:

  • 📤 Если нужно переносить обработку между базами (например, универсальный загрузчик прайсов для нескольких филиалов).
  • 👥 Если у пользователей нет прав на изменение конфигурации, но требуется дополнительный функционал.
  • 🔧 Если обработка разрабатывается сторонними специалистами и поставляется как готовое решение.
Можно ли преобразовать внутреннюю обработку во внешнюю?

Да, это возможно. Для этого в Конфигураторе нужно:

  1. Найти обработку в дереве объектов.
  2. Выбрать Файл → Сохранить как... и указать расширение .epf.
  3. Внешнюю обработку можно будет подключить через меню Файл → Открыть в режиме 1С:Предприятие.

Обратите внимание: при этом связь с исходной внутренней обработкой теряется, и дальнейшие изменения придётся вносить в оба экземпляра отдельно.

Как создать обработку в 1С: пошаговая инструкция

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

Скачать и установить 1С:Предприятие в режиме Конфигуратор|Подготовить шаблон Excel-файла (если нужен специфический формат)|Получить права на создание объектов (для внутренних обработок)|Определить цель обработки (что именно она должна делать)-->

Шаг 1. Запуск Конфигуратора

Откройте вашу базу 1С в режиме Конфигуратор. Для этого:

  1. Запустите 1С:Предприятие.
  2. В списке баз выберите нужную и нажмите Конфигуратор (обычно кнопка расположена справа от названия базы).
  3. Введите логин и пароль администратора (если требуется).

Шаг 2. Создание новой обработки

В дереве объектов конфигурации:

  1. Кликните правой кнопкой по папке Обработки.
  2. Выберите Добавить → Обработка.
  3. Задайте имя (например, ВыгрузкаНоменклатурыВExcel) и нажмите Готово.

Шаг 3. Настройка формы обработки

Откроется конструктор обработки. Здесь нужно:

  1. Перейти на вкладку Формы и создать новую форму (кнопка Добавить).
  2. В форму добавьте элементы управления:
    • Кнопку Выгрузить (тип Кнопка).
    • Поле для выбора файла ПутьКФайлу (тип Поле ввода).
    • Таблицу для отображения данных ТаблицаНоменклатуры (тип Табличное поле).

Шаг 4. Написание кода

Перейдите на вкладку Модуль объекта и добавьте следующий код для обработки нажатия на кнопку Выгрузить:

Процедура Выгрузить(Команда)

// Получаем данные из справочника Номенклатура

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

Запрос.Текст =

"ВЫБРАТЬ

| Номенклатура.Ссылка КАК Ссылка,

| Номенклатура.Наименование КАК Наименование,

| Номенклатура.Артикул КАК Артикул

|ИЗ

| Справочник.Номенклатура КАК Номенклатура";

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

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

// Создаём объект Excel

Excel = Новый COMОбъект("Excel.Application");

Книга = Excel.Workbooks.Add();

Лист = Книга.Worksheets(1);

// Заполняем заголовки

Лист.Cells(1, 1).Value = "Наименование";

Лист.Cells(1, 2).Value = "Артикул";

Лист.Cells(1, 3).Value = "Ссылка";

// Заполняем данные

НомерСтроки = 2;

Пока Выборка.Следующий() Цикл

Лист.Cells(НомерСтроки, 1).Value = Выборка.Наименование;

Лист.Cells(НомерСтроки, 2).Value = Выборка.Артикул;

Лист.Cells(НомерСтроки, 3).Value = Выборка.Ссылка;

НомерСтроки = НомерСтроки + 1;

КонецЦикла;

// Сохраняем файл

ПутьКФайлу = Объект.ПутьКФайлу;

Если ПутьКФайлу = "" Тогда

ПутьКФайлу = КаталогВременныхФайлов() + "Номенклатура.xlsx";

КонецЕсли;

Книга.SaveAs(ПутьКФайлу);

Excel.Quit();

Сообщить("Выгрузка завершена! Файл сохранён по пути: " + ПутьКФайлу);

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

Шаг 5. Сохранение и тестирование

Сохраните обработку (Файл → Сохранить) и запустите 1С в режиме Предприятие. Откройте обработку через меню Файл → Открыть и проверьте её работу.

💡

Для внешних обработок обязательно указывайте версию платформы, с которой они совместимы. Например, обработка, написанная для 1С 8.3.18, может не работать в 8.3.22 из-за изменений в синтаксисе.

Типичные ошибки при работе с обработками и как их избежать

Даже опытные пользователи 1С сталкиваются с ошибками при создании или подключении обработок. Рассмотрим самые распространённые проблемы и способы их решения.

⚠️ Внимание: Если обработка содержит код для работы с COM-объектами (например, Excel или Word), на компьютере должны быть установлены соответствующие приложения (Microsoft Office). В противном случае при выполнении возникнет ошибка Не удалось создать COM-объект.

Ошибка 1: «Обработка не является обработкой 1С»

Эта ошибка возникает, когда вы пытаетесь открыть файл, который:

  • 🔴 Повреждён (например, некорректно сохранён или скачан с ошибками).
  • 🔴 Не является обработкой (перепутали с отчётом или другим объектом).
  • 🔴 Создан в другой версии платформы (например, обработка для 8.2 не откроется в 8.3).

Решение: Проверьте расширение файла (должно быть .epf), попробуйте открыть его на другом компьютере или пересохраните обработку в актуальной версии.

Ошибка 2: «Недостаточно прав для выполнения операции»

Эта проблема характерна для внутренних обработок, если:

  • 🔐 У пользователя нет прав на Изменение конфигурации.
  • 🔐 Обработка требует доступа к административным функциям (например, изменение ролей).

Решение: Обратитесь к администратору базы или используйте внешнюю обработку, если она решает вашу задачу.

Ошибка 3: «Неверный формат данных» при обмене с Excel

Часто возникает при выгрузке/загрузке данных, если:

  • 📊 Типы данных не совпадают (например, в 1С число, а в Excel — текст).
  • 📊 Используются запрещённые символы (кавычки, апострофы в наименованиях).
  • 📊 Формат ячеек неверный (даты в Excel хранятся как числа, а в 1С — как даты).

Решение: Перед выгрузкой преобразуйте данные к универсальному формату (например, через Формат(Значение, "ЧДЦ=dd.MM.yyyy") для дат).

Как отладить обработку, если она не работает?

В Конфигураторе можно использовать пошаговую отладку:

  1. Откройте модуль обработки.
  2. Установите точки останова (клик левой кнопкой рядом с номером строки).
  3. Запустите обработку в режиме отладки (Отладка → Начать отладку).
  4. Следите за значениями переменных в окне Отладчик.

Это поможет найти строку, на которой происходит ошибка.

Где скачать готовые обработки для 1С

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

  • 🌐 Официальный каталог 1С (solutions.1c.ru) — здесь публикуются обработки, прошедшие moderation от 1С. Минус: многие решения платные.
  • 💻 Инфостарт (infostart.ru) — крупнейшая площадка для разработчиков 1С. Есть как бесплатные, так и платные обработки. Перед скачиванием читайте отзывы!
  • 📂 GitHub — если ищете открытый код, попробуйте поиск по запросам вроде 1C processing или 1С обработка Excel. Пример: репозитории с обработками.
  • 📌 Форумы и сообщества — на форуме 1С или в Телеграм-чатах часто делятся бесплатными обработками для типовых задач.
⚠️ Внимание: Скачивая обработки с сторонних ресурсов, проверяйте их на вирусы и потенциально опасный код. Например, в модуле обработки может быть строка, отправляющая ваши данные на сторонний сервер. Всегда открывайте код перед использованием!

Как проверить обработку на безопасность:

  1. Откройте файл .epf в Конфигураторе.
  2. Перейдите в модуль объекта и просмотрите код на наличие подозрительных функций:
    • HTTPЗапрос, HTTPСоединение — могут использоваться для отправки данных.
    • ЗаписатьФайл, КопироватьФайл — если запись идёт в системные папки.
    • Выполнить с динамически формируемым кодом — признак потенциальной уязвимости.
  • Проверьте файл антивирусом (например, Kaspersky или Dr.Web).
  • Примеры полезных обработок для разных задач

    Чтобы показать возможности обработок на практике, рассмотрим 5 готовых решений, которые экономят время пользователям 1С.

    Название обработки Назначение Для кого полезна Сложность настройки
    Загрузка из Excel в 1С Импорт данных из таблиц Excel в справочники (номенклатура, контрагенты, цены) Логисты, менеджеры по закупкам ⭐⭐ (требуется настроить соответствие колонок)
    Печать этикеток и штрихкодов Генерация и печать этикеток для товаров с штрихкодами (поддерживает термопринтеры) Кладовщики, работники склада ⭐⭐⭐ (настройка шаблонов этикеток)
    Сверка с контрагентами Формирование актов сверки по взаимным расчётам с поставщиками/покупателями Бухгалтеры, финансовые директора ⭐ (обычно достаточно указать период и контрагента)
    Обмен с маркетплейсами Автоматическая выгрузка остатков и загрузка заказов с Озон, Wildberries, Яндекс Маркет Менеджеры интернет-магазинов ⭐⭐⭐⭐ (требует настройки API и токенов)
    Очистка базы от дублей Поиск и объединение дублирующихся элементов в справочниках (номенклатура, контрагенты) Администраторы 1С ⭐⭐ (нужно настроить критерии поиска дублей)

    Пример 1: Обработка для загрузки цен из Excel

    Допустим, у вас есть прайс-лист от поставщика в формате Excel, и вам нужно обновить цены в 1С. Обработка может:

    1. Считать данные из указанного файла price.xlsx.
    2. Сопоставить артикулы из Excel с артикулами в справочнике Номенклатура.
    3. Обновить цены в регистре Цены номенклатуры.
    4. Типичный код для такой обработки:

      Процедура ЗагрузитьЦены(Команда)
      

      // Открываем Excel-файл

      ПутьКФайлу = Объект.ПутьКФайлу;

      Если НЕ ЗначениеЗаполнено(ПутьКФайлу) Тогда

      Сообщить("Укажите путь к файлу!");

      Возврат;

      КонецЕсли;

      Excel = Новый COMОбъект("Excel.Application");

      Книга = Excel.Workbooks.Open(ПутьКФайлу);

      Лист = Книга.Worksheets(1);

      // Читаем данные

      НомерСтроки = 2;

      Пока Лист.Cells(НомерСтроки, 1).Value <> Неопределено Цикл

      Артикул = Лист.Cells(НомерСтроки, 1).Value;

      Цена = Лист.Cells(НомерСтроки, 2).Value;

      // Ищем номенклатуру по артикулу

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

      Запрос.Текст =

      "ВЫБРАТЬ

      | Номенклатура.Ссылка КАК Ссылка

      |ИЗ

      | Справочник.Номенклатура КАК Номенклатура

      |ГДЕ

      | Номенклатура.Артикул = &Артикул";

      Запрос.УстановитьПараметр("Артикул", Артикул);

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

      Если Результат.Пустой() Тогда

      Сообщить("Не найдена номенклатура с артикулом: " + Артикул);

      Иначе

      Ссылка = Результат.Выбрать().Ссылка;

      // Обновляем цену в регистре

      Регистр = РегистрыСведений.ЦеныНоменклатуры;

      НаборЗаписей = Регистр.СоздатьНаборЗаписей();

      НаборЗаписей.Отбор.Номенклатура.Установить(Ссылка);

      НаборЗаписей.Прочитать();

      Если НаборЗаписей.Количество() > 0 Тогда

      Запись = НаборЗаписей[0];

      Запись.Цена = Цена;

      НаборЗаписей.Записать();

      Иначе

      НоваяЗапись = НаборЗаписей.Добавить();

      НоваяЗапись.Номенклатура = Ссылка;

      НоваяЗапись.Цена = Цена;

      НоваяЗапись.Период = ТекущаяДата();

      НаборЗаписей.Записать();

      КонецЕсли;

      КонецЕсли;

      НомерСтроки = НомерСтроки + 1;

      КонецЦикла;

      Excel.Quit();

      Сообщить("Загрузка цен завершена!");

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

      Пример 2: Обработка для печати этикеток

      Для печати этикеток на термопринтере (например, Zebra или Godex) часто используют обработки, которые:

      • 🏷️ Генерируют штрихкоды в формате Code128 или EAN-13.
      • 🖨️ Отправляют данные на принтер в формате ZPL (язык разметки для термопринтеров).
      • 📦 Поддерживают печать серий этикеток (например, 100 штук для одной позиции).

      FAQ: Частые вопросы об обработках в 1С

      Можно ли использовать обработку из одной конфигурации в другой?

      Да, но с оговорками:

      • 🔄 Внешние обработки (.epf) можно переносить между базами, если они написаны для той же версии платформы.
      • 🔧 Внутренние обработки привязаны к конфигурации. Чтобы перенести их, нужно выгрузить в .epf, а затем загрузить в другую базу (если структура справочников и документов совпадает).

    Перед использованием проверьте