Как создать внешнюю обработку и команду в 1С?
Создание внешней обработки и команды в 1С — это распространённый способ разработки независимого модуля, который можно запускать отдельно от основной конфигурации. Внешняя обработка может использоваться для сервисных функций, интеграции, импорта/экспорта данных, проведения расчетов и т. д.
📌 1. Создание новой внешней обработки (.epf)
-
Откройте Конфигуратор.
-
Выберите пункт меню Файл → Новая внешняя обработка.
-
Сохраните файл с расширением .epf в нужную директорию.
-
В открывшемся окне обработки в дереве конфигурации появится узел Обработка1 (или имя, которое вы дали).
📌 2. Добавление команд в обработку
Шаг 1: Добавление формы
-
В дереве конфигурации обработки раскройте узел Формы.
-
Создайте новую форму, например ОсновнаяФорма.
Шаг 2: Добавление реквизита формы (необязательно)
-
В форме нажмите правой кнопкой по узлу Реквизиты → Добавить.
-
Назовите, например, Таблица.
-
Установите тип — ТаблицаЗначений.
Шаг 3: Добавление команды
-
Перейдите в Модуль формы.
-
В правом списке найдите узел Команды формы → Добавить команду.
-
Укажите имя команды, например ВыполнитьРаспределение.
-
Вы можете задать:
-
Заголовок (отображается на кнопке).
-
Подсказку.
-
Горячую клавишу.
-
-
Вставьте код, например:
Процедура ВыполнитьРаспределение(Команда)
Сообщить("Команда выполнена.");
КонецПроцедуры
📌 3. Добавление кнопки на форму
-
Перейдите в Редактор формы.
-
Перетащите созданную команду на форму (в область панели команд, или в нужное место формы).
-
Убедитесь, что у кнопки привязана ваша команда.
📌 4. Настройка отображения формы
-
Выделите созданную форму.
-
Нажмите правой кнопкой → Свойства формы.
-
Установите Имя = ОсновнаяФорма, если не сделали этого раньше.
-
Установите Основная = Истина (если форма одна и должна открываться по умолчанию).
📌 5. Написание серверной логики (при необходимости)
Если вам нужно, чтобы логика работала на сервере:
-
Перейдите в Общий модуль обработки (узел Модули).
-
В модуле напишите процедуру с директивой &НаСервере:
&НаСервере
Процедура РаспределитьСумму()
// Ваша логика
КонецПроцедуры
- Из клиентской процедуры вызовите её:
Процедура ВыполнитьРаспределение(Команда)
РаспределитьСумму();
Сообщить("Распределение завершено.");
КонецПроцедуры
📌 6. Проверка и тестирование
-
Сохраните обработку.
-
Запустите 1С в режиме Предприятие.
-
Откройте обработку через Файл → Открыть.
-
Проверьте, что кнопка отображается и выполняет заданную команду.
📌 7. Работа с параметрами и таблицами (при необходимости)
Если вы хотите в обработке задать ввод параметров или таблицу для редактирования:
-
Добавьте на форму элемент типа Поле ввода, Флажок, Таблица и т. д.
-
Привяжите их к реквизитам формы.
-
В модуле формы обрабатывайте ввод и данные из этих реквизитов.
📌 8. Сохранение и использование внешней обработки
-
По завершении разработки сохраните файл .epf.
-
Обработку можно передавать, подключать через:
-
Файл → Открыть (ручной запуск).
-
Панель функций → Внешние обработки.
-
Обработки из справочника "Дополнительные обработки" (если в типовой конфигурации).
-
📌 9. Примеры
Пример простой команды:
Процедура ВывестиСообщение(Команда)
Сообщить("Привет из внешней обработки!");
КонецПроцедуры
Пример с вводом суммы:
Реквизит СуммаКРаспределению (Число);
Процедура ВыполнитьРаспределение(Команда)
Сообщить("Сумма: " + СуммаКРаспределению);
КонецПроцедуры
Создание внешней обработки и команды — удобный способ реализовать дополнительный функционал без необходимости встраивания его в основную конфигурацию. Такие обработки активно применяются в интеграционных решениях, бухгалтерии, аналитике, обменах, обработке данных и отчётности.