Top.Mail.Ru
Меню
Каталог Программы 1С Опыт и отзывы Услуги Компания Статьи Контакты

Запуск по расписанию команды дополнительной обработки 1С

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft  15.08.2025 Актуальность проверена: 15.08.2025   5 мин.
Подобрать перенос данных 1С

Специализируемся на переносах данных 1С с 2015г.

Подобрать перенос данных 1С >>

Интеграция 1С с маркетплейсами

Специализируемся на интеграциях 1С с маркетплейсами с 2021г.

Изучить продукты >>

Содержание

Актуальность задачи выполнения команд по расписанию без внесения изменений в конфигурацию базы 1С

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

Ограничения

  • Запуск возможен для баз, работающих в клиент-серверном режиме, либо в ситуации, когда всегда есть один активный сеанс файловой базы (и за этим надо следить).
  • Работает только для управляемых форм
  • Для отправки используются возможности БСП "Дополнительные отчеты и обработки". Подробности и документация по ссылке: https://its.1c.ru/db/bsp21doc#content:22:1

Пошаговая инструкция запуска команды внешней обработки по расписанию

  1. Создаем внешнюю обработку.
  2. Заполняем в модуле объекта код для функции СведенияОВнешнейОбработке

Пример программного кода:

Функция СведенияОВнешнейОбработке() Экспорт

    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");

    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();

    ПараметрыРегистрации.БезопасныйРежим = Ложь;

    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();

    //представление команды в пользовательском режиме
    НоваяКоманда.Представление = "ОтправитьОтчетПоРасписанию";

    НоваяКоманда.Идентификатор = НоваяКоманда.Представление;

    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();

    Возврат ПараметрыРегистрации;

КонецФункции
Пример кода СведенияОВнешнейОбработке
  1. Также добавьте еще одну экспортную функцию ВыполнитьКоманду
Функция ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыКоманды) Экспорт

    Если ИдентификаторКоманды = "ОтправитьОтчетПоРасписанию" Тогда
        СформироватьОтправитьОтчет();
    КонецЕсли;

КонецФункции
Пример кода ВыполнитьКоманду
  1. Код команды для отправки отчета может выглядеть так:
Функция СформироватьОтправитьОтчет() Экспорт

    Данные = ФинансовыйРезультатКомпании();
    ТабДок = ТабличныйДокумент(Данные);
    Таб = Новый ТабличныйДокумент();
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла("pdf");
    Таб.Записать(ИмяВременногоФайла, ТипФайлаТабличногоДокумента.PDF);
    
    УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты;
    Получатели = ПолучателиПисьма();
    Получатели.Колонки.Добавить("АдресПочты");
    Получатели.Колонки.Добавить("Контрагент");
    
    ВложенныеФайлы = Новый Соответствие();
    ВложенныеФайлы.Вставить("Финансовый отчет", ИмяВременногоФайла);
    
    ОтправитьПисьмоАдресатам(УчетнаяЗапись, Получатели, Ложь, ВложенныеФайлы);

КонецФункции
Пример кода СформироватьОтправитьОтчет

Настройка расписания запуска команды

Сначала необходимо добавить обработку в список дополнительных доработок.

  1. Зайдите в список Дополнительные отчеты и обработки и нажмите кнопку Добавить из файла
Добавление обработки из файла
  1. Выберите файл обработки с диска.
  2. Включите запуск по расписанию и в окне предупреждения нажмите Продолжить:
Включение запуска по расписанию
  1. Обойдите все вкладки и настройте необходимое расписание:
Настройка расписания
  1. При необходимости настройте размещение (если у обработки есть формы и команды продублированы на форме). Нажмите Записать и закрыть:
Настройка размещения

В результате отчет о финансовой деятельности организации будет отправляться на электронную почту руководителям компании по настроенному расписанию.

MoscowSoft логотип

Нужна помощь?

Если не получается разобраться с вопросом самостоятельно, обратитесь к нам. Получите бесплатную консультацию эксперта!

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft

Возврат к списку