Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как програмно запусить внешнюю обработку1С ут10

Как програмно запусить внешнюю обработку1С ут10
Я
   lite777
 
30.09.21 - 14:24
Добрый день УТ10, есть у кого нибудь пример программного запуска внешней обработки ,прописаной во  внешних обработках ут10.
   Kassern
 
1 - 30.09.21 - 14:25
(0) был где-то, вечерком могу глянуть, но скорее всего уже подскажут)
   Kassern
 
2 - 30.09.21 - 14:27
насколько я помню, там принцип простой, получаешь ссылку на внешнюю обработку, дальше из хранилища получаешь саму обработку и во временный файл загоняешь, далее уже с временным файлом работаешь, как с обычной внешней обработкой.
   VladZ
 
3 - 30.09.21 - 14:29
(0) На букву "Я" нажми рядом с сабжем. Первые же ссылки тебе ответят.
   Ёпрст
 
4 - 30.09.21 - 14:30
(0)
Как пример:
Процедура ЗапуститьФоновоеЗаданиеПоИмениИзСправочникаВнешиеОбработки(ИмяПоделки,Ключ = Неопределено) Экспорт
    СсылкаНаВнешнююОбработку= Справочники.ВнешниеОбработки.НайтиПоНаименованию(ИмяПоделки);
    Если СсылкаНаВнешнююОбработку.Пустая() тогда
        ЗаписьЖурналаРегистрации("Регламентное задание. Внешняя обработка: ОШИБКА! Внешняя обработка по имени '"+ИмяПоделки+"' не найдена", УровеньЖурналаРегистрации.Предупреждение);
        Возврат;
    КонецЕсли;
    ЭтоОбработка = СсылкаНаВнешнююОбработку.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка;
    ЭтоОтчет = СсылкаНаВнешнююОбработку.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Отчет;
    Если НЕ (ЭтоОбработка ИЛИ ЭтоОтчет) Тогда
        ЗаписьЖурналаРегистрации("Регламентное задание. Внешняя обработка: ОШИБКА! Внешняя обработка поимени '"+ИмяПоделки+"' не не создана", УровеньЖурналаРегистрации.Предупреждение);
        Возврат;
    КонецЕсли;
    ИмяФайла = ПолучитьИмяВременногоФайла();
    ДвоичныеДанные = СсылкаНаВнешнююОбработку.ХранилищеВнешнейОбработки.Получить();
    ДвоичныеДанные.Записать(ИмяФайла);
    Если ЭтоОбработка Тогда
        Обработка = ВнешниеОбработки.Создать(ИмяФайла,Ложь);
    Иначе
        Обработка = ВнешниеОтчеты.Создать(ИмяФайла,Ложь);
    КонецЕсли;
    Обработка.мЗапускРегламентнымЗаданием = Истина;
    Если ЗначениеЗаполнено(Ключ) Тогда
        Обработка.Ключ = Ключ;
    КонецЕсли;
    Обработка.ВыполнитьОбработку();
    Попытка
        УдалитьФайлы(ИмяФайла);
    Исключение
    КонецПопытки;    
КонецПроцедуры

   ДенисЧ
 
5 - 30.09.21 - 14:30
Достаточно открыть форму списка этих внешних обработок. И там событие ОбработкаВыбора() или как-то так.
   lite777
 
6 - 30.09.21 - 14:33
Обработка.ВыполнитьОбработку(); Выполняет модуль обработки  ?
   lite777
 
7 - 30.09.21 - 14:34
Спасибо )
   Ёпрст
 
8 - 30.09.21 - 14:41
(6) по-умолчанию, в модуле обработки есть эта экспортная проца.
Ты можешь запущать какую хочешь свою.
   lite777
 
9 - 30.09.21 - 14:43
ОК

Список тем форума
 
Закон Брукера: Даже маленькая практика стоит большой теории.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.