diff --git a/packagedef b/packagedef index 302132e433291447094b8088c42e7a69fd9cfc52..624797b340d27061a655426b24662aa9a97639dc 100644 --- a/packagedef +++ b/packagedef @@ -1,6 +1,7 @@  Описание.Имя("deployka") .Версия("0.1.2") + .ВерсияСреды("1.0.16") .ЗависитОт("logos") .ЗависитОт("cmdline") .ЗависитОт("v8runner") diff --git "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\265\320\260\320\275\321\201\320\260\320\274\320\270.os" "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\265\320\260\320\275\321\201\320\260\320\274\320\270.os" index e6ed275b013cb5693867d3760aac6feb68c7bf0d..23a28cf7c6a29e27443cc93b5b5cef199000d306 100644 --- "a/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\265\320\260\320\275\321\201\320\260\320\274\320\270.os" +++ "b/src/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\274\320\260\320\275\320\264\320\260\320\243\320\277\321\200\320\260\320\262\320\273\320\265\320\275\320\270\320\265\320\241\320\265\320\260\320\275\321\201\320\260\320\274\320\270.os" @@ -300,45 +300,48 @@ Функция ЗапуститьПроцесс(Знач СтрокаВыполнения) Перем ПаузаОжиданияЧтенияБуфера; - ПаузаОжиданияЧтенияБуфера = 10; + ПаузаОжиданияЧтенияБуфера = 20; Лог.Отладка(СтрокаВыполнения); Процесс = СоздатьПроцесс(СтрокаВыполнения,,Истина); Процесс.Запустить(); - ТекстБазовый = ""; - Счетчик = 0; МаксСчетчикЦикла = 100000; - - Пока Истина Цикл - Текст = Процесс.ПотокВывода.Прочитать(); - Лог.Отладка("Цикл ПотокаВывода "+Текст); - Если Текст = Неопределено ИЛИ ПустаяСтрока(СокрЛП(Текст)) Тогда - Прервать; - КонецЕсли; - Счетчик = Счетчик + 1; - Если Счетчик > МаксСчетчикЦикла Тогда + Текст = Новый ТекстовыйДокумент; + + Пока Истина Цикл + + ВывестиДанныеПроцесса(Процесс, Текст); + + Если Процесс.Завершен Тогда + Процесс.ОжидатьЗавершения(); // финальный сброс буферов + ВывестиДанныеПроцесса(Процесс, Текст); Прервать; КонецЕсли; - ТекстБазовый = ТекстБазовый + Текст; - - sleep(ПаузаОжиданияЧтенияБуфера); //Подождем, надеюсь буфер не переполнится. - + + Приостановить(ПаузаОжиданияЧтенияБуфера); + КонецЦикла; - - Процесс.ОжидатьЗавершения(); - + Если Процесс.КодВозврата = 0 Тогда - Текст = Процесс.ПотокВывода.Прочитать(); - ТекстБазовый = ТекстБазовый + Текст; - Лог.Отладка(ТекстБазовый); - Возврат ТекстБазовый; + Возврат Текст.ПолучитьТекст(); Иначе ВызватьИсключение "Сообщение от RAS/RAC - |" + Процесс.ПотокОшибок.Прочитать(); + |" + Текст.ПолучитьТекст(); КонецЕсли; КонецФункции +Процедура ВывестиДанныеПроцесса(Знач Процесс, Знач Приемник) + Вывод = Процесс.ПотокВывода.Прочитать(); + Ошибки = Процесс.ПотокОшибок.Прочитать(); + Если Вывод <> Неопределено Тогда + Приемник.ДобавитьСтроку(Вывод); + КонецЕсли; + Если Ошибки <> Неопределено Тогда + Приемник.ДобавитьСтроку(Ошибки); + КонецЕсли; +КонецПроцедуры + Процедура ОтключитьСуществующиеСеансы() Лог.Информация("Отключаю существующие сеансы");