Имя: Пароль:
1C
 
УТ 10.3 Вызов внешней обработки через команду интерфейса
0 saradip
 
25.12.25
14:26
Добрый день.
Есть ли способ добавить вызов элемента справочника "дополнительные внешние обработки", например с наименованием "Модуль ЭДО Диадок", в команду интерфейса на обычных формах?

Чтобы, при нажатии на команду, вызывался элемент справочника.
1 Волшебник
 
25.12.25
14:26
вызывайте процедуру, из которой вызывайте что угодно
2 saradip
 
25.12.25
14:36
(1) Для этого я должен добавить свою ЭКСПОТНУЮ процедуру вызова в общий модуль конфигурации?
3 Волшебник
 
25.12.25
14:50
(2) Вы ничего никому не должны. Вы свободный человек свободной страны.
4 saradip
 
25.12.25
15:20
Ну в общем, добавил свою процедуру в общий модуль, и привязал к команде интерфейса ее вызов, все норм.
Спасибо, Волшебник

Процедура ДиадокЗапуститьВнешнююОбработку() Экспорт
    
    ОбработкаСсылка = Справочники.ВнешниеОбработки.НайтиПоКоду("Т00000003");    
    
    Если ОбработкаСсылка <> Неопределено Тогда
        
        ЭтоОбработка = ?(ОбработкаСсылка.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка, Истина, Ложь);
        
        Если НЕ ЭтоОбработка Тогда
            Возврат;
        КонецЕсли;
        
        Попытка
            
            ИмяФайла = ПолучитьИмяВременногоФайла();
            ДвоичныеДанные = ОбработкаСсылка.ХранилищеВнешнейОбработки.Получить();
            ДвоичныеДанные.Записать(ИмяФайла);
            
            Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла);
            
            Если Не Форма = Неопределено Тогда    
                Форма.Открыть();    
            Иначе
                ВнешняяОбработка = ВнешниеОбработки.Создать(ИмяФайла);    
            КонецЕсли;
            
            УдалитьФайлы(ИмяФайла);
            
        Исключение
            
            
                
                Предупреждение("Выбранный файл не является внешней обработкой.
                |Либо, данная обработка не предназначена для
                |запуска в этой конфигурации.");
            
            
        КонецПопытки;
        
    Иначе
        
        Сообщить("Элемент справочника дополнительных обработок по коду Т00000003 не найден!)", СтатусСообщения.ОченьВажное);
        
    КонецЕсли;
    
КонецПроцедуры