Здравствуйте. Конфигурация: УТ 11.4. Необходимо загрузить свою обработку в конфигурацию и настроить ее запуск по расписанию. Обработка регистрируется и судя по журналу регистрации даже запускается по расписанию, но не выполняется код из процедуры ВыполнитьКоманду, т.е. обработка при запуске ничего не делает и завершается.

```1c
    Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");

    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "Модуль ");
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Модуль.'"));
    ПараметрыРегистрации.Вставить("Версия", "1.1.19");

    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    ДобавитьКоманду(ТаблицаКоманд,
    "Открыть модуль",
    "Модуль",
    "ВызовСерверногоМетода",//"ОткрытиеФормы",//"ОткрытиеФормы",//
    Истина,"

    );

    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    Возврат ПараметрыРегистрации;
    КонецФункции

    Функция ПолучитьТаблицуКоманд()
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
    КонецФункции

    Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Истина, Модификатор = ")
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;
    КонецПроцедуры

    Процедура ВыполнитьКоманду(ИдентификаторКоманды) Экспорт

    Сообщить("ывавпвапвапва");
    Ф=234;
    Сообщить(Ф);

    КонецПроцедуры
```
---
все правильно делает обработка, а команда не выполняется, потому что в ВыполнитьКоманду() собственно ничего и нет
в ВыполнитьКоманду() обязательно следует обрабатывать ИдентификаторКоманды и уже по нему выполнять необходимые действия, учитывая, что все они выполняются на сервере.
при этом еще необходимо правильно саму команду создать

вот так, например, в вашем случае это должно выглядеть:

```1c
    Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");

    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "Модуль ");
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Модуль.'"));
    ПараметрыРегистрации.Вставить("Версия", "1.1.19");

    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    ДобавитьКоманду(ТаблицаКоманд,
    "Открыть модуль",
    "Модуль", // вот Имя команды, если быть совсем точным, то это и есть ИдентификаторКоманды
    "ВызовСерверногоМетода");

    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    Возврат ПараметрыРегистрации;
    КонецФункции

    Функция ПолучитьТаблицуКоманд()
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
    КонецФункции

    Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Истина, Модификатор = ")
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;
    КонецПроцедуры

    Процедура ВыполнитьКоманду(ИдентификаторКоманды, ДополнительныеПараметры = Неопределено) Экспорт

    Если ИдентификаторКоманды = "Модуль" Тогда
    лСообщение = Новый СообщениеПользователю();
    лСообщение.Текст = "ывавпвапвапва";
    лСообщение.Сообщить();
    КонецЕсли;

    КонецПроцедуры
```
---
А ошибок каких-либо в журнале не наблюдается? Попробуйте добавить второй параметр в процедуру выполнения команды:

```1c
    Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды) Экспорт

    КонецПроцедуры
```
---
При добавлении второго параметра появляются ошибки в журнале что не хватает фактических параметров и требует все-таки только 1 параметр. При одном параметре ошибок не наблюдается, обработка запускается и безошибочно завершается. Вот только код из ВыполнитьКоманду почему-то не выполняется
---
Хорошо.

Тогда подскажите, как Вы проверяете, что код не выполняется? Метод "Сообщить" для этого совершенно не подходит, т.к. серверный метод скорее всего выполняется в фоне и отправляет сообщения совсем другому сеансу, не Вашему.

Попробуйте писать что-нибудь в журнал регистрации.
---
Проверяю именно методом Сообщить. Каким образом тогда проверить что код выполняется?
---
Сделайте запись в журнал регистрации.
---
Если код выполняется на сервере, то можно записать, например, в текстовый файл. По мне, так это быстрее и проще. Так же можно записать в журнал регистрации, как тут ранее писали.
---
Добрый день. Скорее всего должна быть ошибка при попытке Сообщить("") в модуле объекта....
---
все правильно делает обработка, а команда не выполняется, потому что в ВыполнитьКоманду() собственно ничего и нет
в ВыполнитьКоманду() обязательно следует обрабатывать ИдентификаторКоманды и уже по нему выполнять необходимые действия, учитывая, что все они выполняются на сервере.
при этом еще необходимо правильно саму команду создать

вот так, например, в вашем случае это должно выглядеть:

```1c
    Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = Новый Структура;
    МассивНазначений = Новый Массив;
    ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");

    ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
    ПараметрыРегистрации.Вставить("Наименование", "Модуль ");
    ПараметрыРегистрации.Вставить("Версия", "1.0");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Модуль.'"));
    ПараметрыРегистрации.Вставить("Версия", "1.1.19");

    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    ДобавитьКоманду(ТаблицаКоманд,
    "Открыть модуль",
    "Модуль", // вот Имя команды, если быть совсем точным, то это и есть ИдентификаторКоманды
    "ВызовСерверногоМетода");

    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    Возврат ПараметрыРегистрации;
    КонецФункции

    Функция ПолучитьТаблицуКоманд()
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
    КонецФункции

    Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Истина, Модификатор = ")
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;
    КонецПроцедуры

    Процедура ВыполнитьКоманду(ИдентификаторКоманды, ДополнительныеПараметры = Неопределено) Экспорт

    Если ИдентификаторКоманды = "Модуль" Тогда
    лСообщение = Новый СообщениеПользователю();
    лСообщение.Текст = "ывавпвапвапва";
    лСообщение.Сообщить();
    КонецЕсли;

    КонецПроцедуры
```
---
Опять же обработка судя по журналу была загружена и отработала без ошибок, но сообщение я так нигде и не увидел
---
ну а что вы хотите? сообщение показывается в сеансе и для активной формы, а у вас формы то как раз и нет...
сделайте запись в журнал регистрации и все увидите
---
запись в журнале регистрации появилась, разобрался. Спасибо за помощь!
---
Дело в том что вы что-то путаете считая, что запуск обработки по расписанию ОБЯЗАН автоматом что-то запускать...
Где ваш код, который устанавливает расписание, то есть хочется посмотреть как вы типа вызываете свою команду?
---
а для внешних обработок теперь есть такая возможность, расписание запуска задается в справочнике внешних обработок и платформа эмулирует выполнение нового регламентного задания, вызывающего из обработки метод ВыполнитьКоманду(), в котором по ИдентификаторКоманды и выполняется все, что требуется, хоть любой прописанный в обработке код, хоть любой вызываемый экспортный метод из общих модулей.
---
Это не "теперь" это давно, я и спрашивал у автора - ГДЕ он прописывает это расписание - ведь он же не привел свой код с этим...
---
Расписание настраивается интерактивно, программировать ничего не нужно.
---
Интерактивно - это значит явным способом пользователем...
Вы хотите сказать что можете 1 раз навсегда настроить расписание для всех новых обработок, добавляемых в будущем?
---
Эм, нет. Я хочу сказать, что расписание настраивается при подключении обработки интерактивно, и потом меняется при необходимости также интерактивно.
---
А если обработка подключается программно?
Вы уверены , что автор интерактивно подключал обработку?
Я лично подключаю свои автоматически программно , при первом запуске ...
И расписание настраивается также программно...

Ибо абсолютно все что делается интерактивно , можно выполнить и программно...
---
До Вашего сообщения был уверен. :) Тем не менее мне кажется, что это более распространенный вариант работы с подключаемыми обработками, и иной сценарий оговаривается сразу. Но это уже мое мнение.

Дело в том что вы что-то путаете считая, что запуск обработки по расписанию ОБЯЗАН автоматом что-то запускать...
Где ваш код, который устанавливает расписание, то есть хочется посмотреть как вы типа вызываете свою команду?
Что Вы в этом случае подразумеваете под запуском обработки и под выполнением команды?
---
Доброго дня.

Подскажите пожалуйста,

```1c
    Процедура ВыполнитьКоманду(ИдентификаторКоманды, ДополнительныеПараметры = Неопределено) Экспорт
```

Эта процедура располагается в модуле формы или в Модуле объекта??
и откуда и как она вызывается???

Пытаюсь сделать и в модуле формы и модуле объекта, к сожалению не выходит.