все вроде правильно настроил
также сделал команду
но сама запускается но в команду не входит ... ничего что в команде записано не делает.
Функция ПолучитьТаблицуКоманд()
// Создадим пустую таблицу команд и колонки в ней
Команды = Новый ТаблицаЗначений;
// Как будет выглядеть описание печатной формы для пользователя
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
// Имя нашего макета, что бы могли отличить вызванную команду в обработке печати
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
// Тут задается, как должна вызваться команда обработки
// Возможные варианты:
// - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система
// - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки
// - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
// Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
// Для печатной формы должен содержать строку ПечатьMXL
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
// проверка проведения
Команды.Колонки.Добавить("ПроверкаПроведенияПередПечатью", Новый ОписаниеТипов("Булево"));
Возврат Команды;
КонецФункции
//************************************************************
// Создает в таблице команд новую строку
Функция ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "", ПроверкаПроведенияПередПечатью = Ложь)
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецФункции
//************************************************************
// Вызываться программой, при добавлении файла внешней обработки в справочник.
Функция СведенияОВнешнейОбработке() Экспорт
//Данные для заполнения сведений об обработке:
НаименованиеОбработки = ЭтотОбъект.Метаданные().Синоним; // Возьмем из синонима
ВерсияОбработки = СтрЗаменить(ЭтотОбъект.Метаданные().Комментарий,"v",""); // Возьмем из комментария
ИнформацияПоОбрабтке = "Внешняя обработка загрузки документов"; // Произвольное описание
//Добавляемые команды на формы документов
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, НаименованиеОбработки, "ПоискФайлов", "ВызовСерверногоМетода", Истина);
//Заполняем структуру сведений
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "Дополнительнаяобработка"); // Варинаты: ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Наименование", НаименованиеОбработки); // Имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("Версия", ВерсияОбработки); // Версия обработки, которая будет отображаться в справочнике внешних обработок
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); // Включение безопасного режима
ПараметрыРегистрации.Вставить("Информация", ИнформацияПоОбрабтке); // Описание обработки для пользователя
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); // Таблица команд, добавляемых в систему
Возврат ПараметрыРегистрации;
КонецФункции
Показатьтакже сделал команду
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды) Экспорт
// Реализация логики команды
ЗаписьЖурналаРегистрации("Вызов команды " + ИдентификаторКоманды);
УстановитьПривилегированныйРежим(Истина);
Если ИдентификаторКоманды = "ПоискФайлов" Тогда
ЗаписьЖурналаРегистрации("Загрузка документов из АСУББТ",
УровеньЖурналаРегистрации.Предупреждение, , ,
"!!Начало работы!!!" );
ИскатьФайл();
конецЕсли;
КонецПроцедуры
Показатьно сама запускается но в команду не входит ... ничего что в команде записано не делает.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Я указывал в сведениях:
а потом указывал расписание для нее.
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");
ПараметрыРегистрации.Вставить("Назначение", Неопределено);
ПараметрыРегистрации.Вставить("Наименование", НСтр("ru = 'Обмен данными'"));
ПараметрыРегистрации.Вставить("Версия", "0.3.3");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Обмен данными'"));
ПараметрыРегистрации.Вставить("ВерсияБСП", "1.2.1.4");
ТаблицаКоманд = ПолучитьтаТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
"Выполнить обмен данными",
"ОбменДаннымиСБазойОбмена",
"ВызовСерверногоМетода");
ДобавитьКоманду(ТаблицаКоманд,
"Выгрузить данные",
"ВыгрузкаДанныхВБазуОбмена",
"ВызовСерверногоМетода");
ДобавитьКоманду(ТаблицаКоманд,
"Загрузить данные",
"ЗагрузкаДанныхИзБазыОбмена",
"ВызовСерверногоМетода");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции // СведенияОВнешнейОбработке()
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды) Экспорт
Если ИдентификаторКоманды = "ОбменДаннымиСБазойОбмена" Тогда
ПолучитьНастройкиОбмена();
ВыполнитьОбменДанными();
КонецЕсли;
Если ИдентификаторКоманды = "ВыгрузкаДанныхВБазуОбмена" Тогда
ПолучитьНастройкиОбмена();
ВыгрузитьДанныеВБазуОбмена();
КонецЕсли;
Если ИдентификаторКоманды = "ЗагрузкаДанныхИиБазыОбмена" Тогда
ПолучитьНастройкиОбмена();
ЗагрузитьДанныеИзБазыОбмена();
КонецЕсли;
КонецПроцедуры
Показатьа потом указывал расписание для нее.
Так много лишнего кода, совсем вы не умеете пользоваться подсистемами. Думаю дело в процедуре "выполнить команду", слишком много параметров.
Дарю красивый код:
Дарю красивый код:
#Область СлужебныеПроцедурыИФункции
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.БезопасныйРежим = Ложь; //подключение в безопасном режиме не даст выполнить все операции
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = Метаданные().Синоним;
НоваяКоманда.Идентификатор = Метаданные().Имя;
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение = Истина;
Возврат ПараметрыРегистрации;
КонецФункции
Процедура ВыполнитьКоманду(Параметры) Экспорт
КонецПроцедуры
#КонецОбласти
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот