-
Notifications
You must be signed in to change notification settings - Fork 60
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Процедуру ВыполнитьКоманду сделать Функцией #14
Comments
Полезное предложение, спасибо! Не хотелось бы менять имеющееся апи (вызов исключения). Можно подумать над таким вариантом -
Возможно параллельно стоит рассмотреть возможность перевода запуска на 1commands, если научить 1commands сразу писать в лог, а не скопом после полного выполнения команды (как идет сейчас). |
/cc @artbear |
Предложение Никиты нравится |
@nixel2007 С момента появления идеи выделения 1commands и в процессе реализации я подразумеваю подобный переход. По поводу "сразу писать в лог" - да, нужно добавить эту фичу. |
Ну что, немедленный вывод добавлен artbear/1commands#21 Реализую artbear/1commands#4 и затем можно переводить v8runner на использование 1commands, в котором хотелки из сабжа и многие другие уже реализованы. |
Тут @pumbaEO в гиттере нашел проблему с 1commands. Если запускается GUI приложение (а в данном случае это как раз так), то читать у него потоки бесполезно. К тому же Поток.Прочитать() упадет. У конфигуратора нет потоков вывода, поэтому он и пишет в файлик Out. При переходе на 1commands это надо учесть. |
Спасибо за ваши комменты, но, мужчины, может быть, все-таки будем предыдущие комменты читать, а? :( Я и в #14 (comment) (17.01.17) я уже писал
И в #14 (comment) (3 дня назад) также писал
|
Я просто напомнил про эту хрень. Женя недавно попытался запускать тонкий клиент коммандсом |
…лять вызовом исключения при выполнении команды с не 0 кодом возврата
* Выполнена доработка по #14 - добавлена возможность управлять вызовом исключения при выполнении команды с не 0 кодом возврата * Исправлена ошибка в функции установки/проверки признака вызова исключения при ошибке выполнения команды * Исправлена ошибка "отсутствие возвращаемого значения в функции УстановитьПризнакОжиданияВыполненияПрограммы"; Поправлен коментарий функции. * В функции УстановитьПризнакОжиданияВыполненияПрограммы изменено возвращаемое значение на прежнее значение признака
выполнено в #50 |
Процедуру "ВыполнитьКоманду" сделать Функцией, возвращающей "КодВозврата" от функции "ЗапуститьИПодождать", что бы дать возможность анализировать вызывающему коду результат выполнения команды. При этом отменить выброс исключения при не нулевом коде возврата из "ЗапуститьИПодождать". Это нужно, например, при запуске обновления конфигурации, которое может по разным причинам завершиться с не нулевым кодом возврата. Это предложение в "чистом" виде, а для сохранения совместимости можно в параметры процедуры "ВыполнитьКоманду" добавить 2-ой параметр: КодВозврата=Неопределено, который и устанавливать в случае его задания.
Или для полной "соовместимости" с текущей реализацией можно сделать так:
Процедура ВыполнитьКоманду(Знач Параметры, Результат = Неопределено) Экспорт
...
КодВозврата = ЗапуститьИПодождать(Параметры);
УстановитьВывод(ПрочитатьФайлИнформации());
Если Результат = Неопределено Тогда
Если КодВозврата <> 0 Тогда
Лог.Ошибка("Получен ненулевой код возврата "+КодВозврата+". Выполнение скрипта остановлено!");
ВызватьИсключение ВыводКоманды();
Иначе
Лог.Отладка("Код возврата равен 0");
КонецЕсли;
Иначе
Результат = КодВозврата;
КонецЕсли;
The text was updated successfully, but these errors were encountered: