Имя: Пароль:
1C
1С v8
Не запускается внешняя обработка
, , , ,
0 Predator
 
15.07.19
18:18
БП 3.0.71.83
Платформа 8.3.15.1489
Есть стандартная обработка "Универсальный обмен данными в формате XML". Через конфигуратор сделал её внешней. Теперь нужно добавить её в "Дополнительные отчёты и обработки". В модуль объекта добавил код:

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

Теперь в "Дополнительные отчёты и обработки" она добавилась, но при попытке запустить из места размещения (разместил в "Операции") ничего не происходит. При этом из карточки Дополнительной обработки по нажатию на кнопку "Выполнить" успешно запускается. В чём может быть дело? Как заставить обработку запускаться из места размещения?
1 Жан Пердежон
 
15.07.19
18:49
ИТС почитать про БСП не предлагать?
кстати, с БСП уже готовые внешние обработки идут, надо только открыть и код скопировать...
2 Predator
 
16.07.19
15:36
(1) Сделал согласно БСП - ничего не изменилось.

#Область ДляВызоваИзДругихПодсистем
// СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки
Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.4.5.71");
    //ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();
    ПараметрыРегистрации.Версия = "2.1.8";
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = НСтр("ru = 'Универсальный обмен данными XML'");
    НоваяКоманда.Идентификатор = "УниверсальныйОбменДаннымиXML";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    НоваяКоманда.ПоказыватьОповещение = Ложь;
    Возврат ПараметрыРегистрации;
КонецФункции
// Конец СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки
#КонецОбласти

Заметил, что обработка открывается на долю секунды, затем исчезает.
3 mikecool
 
16.07.19
15:40
клиент толстый? упр форам внешней обработки в нем не создается
хотя если моргает - тогда не это
4 aleks_default
 
16.07.19
15:45
А она случайно не сворачивается у тебя? Ну то есть остается открытой только в свернутом состоянии или в другом окне
5 Затейник
 
16.07.19
15:57
Посмотри в свойствах формы "Режим открытия окна", "независимый", или другие значения. Сюда копай.
6 Predator
 
16.07.19
16:13
(3) Клиент толстый. Другие внешние обработки открываются.

(4) Нет, не сворачивается.

(5) Нет там такого поля. Имя, Синоним, Комментарий, Расширенное представление, Включать в содержание справки, Справочная информация. Всё.
7 Predator
 
16.07.19
16:21
(5) В модуле формы есть
Режим = РежимОткрытияОкнаФормы.БлокироватьОкноВладельца;

изменил на
Режим = РежимОткрытияОкнаФормы.Независимый;

Ничего не изменилось.
8 singlych
 
16.07.19
16:35
(7) Посмотри в свойствах повнимательнее. Выключи "Показывать только важные". В модуле верни назад.
9 singlych
 
16.07.19
16:38
+ не в свойствах формы как метаданного, а в конструкторе формы
10 Predator
 
16.07.19
16:41
(8) (9) Да, нашёл.
Помогло. Спасибо огромное!
Закон Брукера: Даже маленькая практика стоит большой теории.