Имя: Пароль:
1C
 
Как дождаться завершения работы 1С в пакетном режиме?
0 Гений 1С
 
гуру
17.09.20
14:09
Запускаю в пакетном режиме 1С для восстановления базы из DT.
Показывается ее окошко, но управление возвращается назад мне.
Как дождаться завершения?
Может быть, какой-то ключ надо передавать?
КомандаСистемы не работает, сразу вылетает, сложно понять почему.

        Файл1CD = Новый Файл(ПолноеИмяФайла1CD);
        СтароеФайл1CDСуществует = Файл1CD.Существует();
        Если СтароеФайл1CDСуществует Тогда
            СтароеВремяИзменения1CD = Файл1CD.ПолучитьВремяИзменения();
        КонецЕсли;
        КомандаРазворачиванияИзАрхива =
        """C:\Program Files (x86)\1cv8\common\1cestart.exe"""
        + " CONFIG"
        + " /F""" + ПутьБазы +  """"
        + " /OUT""" + ПолноеИмяФайлаЛога + """"
        + " /Visible "
        + " /RestoreIB""" + ПолноеИмяФайлаDT + """ ";
        
        Если СтароеФайл1CDСуществует Тогда
            КомандаРазворачиванияИзАрхива = КомандаРазворачиванияИзАрхива
            + " /N""" + ЛогинБазы + """"
            + " /P""" + ПарольБазы + """";
        КонецЕсли;

        
        КодВозврата = Неопределено;
        ЗапуститьПриложение(КомандаРазворачиванияИзАрхива,,истина, КодВозврата);
        //КомандаСистемы(КомандаРазворачиванияИзАрхива); //Чтобы дождалась
        НовоеФайл1CDСуществует = Файл1CD.Существует();
        Если НовоеФайл1CDСуществует Тогда
            НовоеВремяИзменения1CD = Файл1CD.ПолучитьВремяИзменения();
        КонецЕсли;
        Если (НЕ СтароеФайл1CDСуществует  ИЛИ СтароеВремяИзменения1CD <> НовоеВремяИзменения1CD)
            И НовоеФайл1CDСуществует
            Тогда
            ОтчетыСервер.ОбновитьДатуАктуальностиБазы(ТекБаза, ТекущаяДата());
        КонецЕсли;
1 Вафель
 
17.09.20
14:42
а чем запустить приложение не устроило?
2 acht
 
17.09.20
14:49
(0) Ты запускаешь не тот екзешник, фрилансер.
3 Kigo_Kigo
 
17.09.20
14:59
(2) Ну в ярлыке то тот написан Бггг ))))
4 Гений 1С
 
гуру
17.09.20
14:59
(2) вот это уже мысль
5 PLUT
 
гуру
17.09.20
15:01
(4) стартер запускаешь, а нужно в пакетном запуске мучать 1cv8.exe
6 Serg_1960
 
17.09.20
15:17
start \w ...
7 Сергиус
 
17.09.20
15:48
Скоро на экранах страны: "Мой гений дарит вам уникальную обработку восстановления баз 1с")
8 Гений 1С
 
гуру
17.09.20
17:53
(5) да, да, спасибо, уже подсказали.

            
            КаталогПрограммы = КаталогПрограммы();
            ПолноеИмяПрограммы1С = КаталогПрограммы + "\1cv8.exe";
            
            КомандаРазворачиванияИзАрхива =
            """" + ПолноеИмяПрограммы1С + """"
            + " CONFIG"
            + " /F""" + ПутьБазы +  """"
            + " /OUT""" + ПолноеИмяФайлаЛога + """"
            + " /Visible "
            + " /RestoreIB""" + ПолноеИмяФайлаDT + """ ";
            
            Если СтароеФайл1CDСуществует Тогда
                КомандаРазворачиванияИзАрхива = КомандаРазворачиванияИзАрхива
                + " /N""" + ЛогинБазы + """"
                + " /P""" + ПарольБазы + """";
            КонецЕсли;
9 spectre1978
 
17.09.20
18:39
(0) когда-то давно делал на vbs-ном скрипте. Короче, файло dt пробуешь открывать через паузу в бесконечном цикле. Как откроется без ошибки - значит все, закончилось.