УФ ЗапуститьПриложение() - НачатьЗапускПриложения() #750941


#0 by Грызлик
Добрый вечер! Нужно открыть любой файл из 1С. Кто может дать пример НачатьЗапускПриложения? НЕ могу понять как использовать. Раньше было все просто - ЗапуститьПриложение("С:\1.txt") и запускался блокнот. Включать режим совместимости синхронных вызовов не хочу. А теперь. Пишу: А что дальше? Что нужно писать в процедуре ЗапускПриложения, какие параметры?
#1 by Грызлик
Все. Допер.
#2 by Грызлик
Не понятно, как только дождаться завершения приложения? Нужно что бы после закрытия файла, он удалился.
#3 by sFAQer
Синтаксис: НачатьЗапускПриложения(<ОписаниеОповещения>, <СтрокаКоманды>, <ТекущийКаталог>, <ДождатьсяЗавершения>) Параметры: Тип: ОписаниеОповещения. Содержит описание процедуры, которая будет вызвана после завершения со следующими параметрами: <КодВозврата> - код возврата, тип Число или Неопределено, если соответствующий входной параметр ДождатьсяЗавершения не указан; <ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения. <СтрокаКоманды> (обязательный) Тип: Строка. Командная строка для запуска приложения либо имя файла, ассоциированного с некоторым приложением. <ТекущийКаталог> (необязательный) Тип: Строка. Задает текущий каталог запускаемого приложения. В режиме веб-клиента игнорируется. <ДождатьсяЗавершения> (необязательный) Тип: Булево. Истина - дожидаться завершения запущенного приложения перед продолжением работы. Значение по умолчанию: Ложь. Описание: Начинает запуск внешнего приложения либо открытие файла с использованием ассоциированного с ним приложения. Доступность: Тонкий клиент, веб-клиент, толстый клиент. <ДождатьсяЗавершения> - тот самый параметр
#4 by Грызлик
Да, я в коде выставляю его в "Истину", он 4 и в коде выше, видно, что я его выставил в "Истину", Но! Что получается по факту?.. Открываю свой файл, а программа отрабатывает дальше. Что я ожидаю получить. Открыть файл, программа пусть дальше работает. Или останавливается. Но важно, после отработки внешнего приложения, удалить файл.
#5 by Провинциальный 1сник
А с чего вы взяли, что запуск приложения, ассоциированного с файлом, должен как-то отрабатывать своё закрытие? В этом случае родителем процесса будет проводник виндовс, а не 1с. Запускайте явно notepad.exe, передавая ему в качестве параметра ваш текстовый файл, и тогда при закрытии нотепада есть шанс, что 1с получит сообщение о том, что дочернее приложение закрылось.
#6 by Провинциальный 1сник
Хотя, это я ошибся. Попробовал сейчас - всё работает корректно и без явного указания экзешника. Вы просто неправильно понимаете смысл процедуры в описании оповещения - она вызывается не при запуске, а при завершении. Вот там и удаляйте свой файл.
#7 by Грызлик
А для чего тогда служит параметр, дождать завершения? Вроде раньше, процедура ЗапуститьПриложение, отрабатывала как я описал выше (вспомнил пример, где я запускал mp3 файл.). На самом деле я запуская картинку, могу запустить пдф файл.
#8 by Грызлик
Как я понимаю смысл - открылась картинка. я ее посмотрел. Закрыл. и вот тут я должен удалить файл. Но отчкаостанова в отладчике не отрабатывает. У меня как "НачатьЗапускПриложения(ЗапускПриложения, ЛюбойФайл,, Истина);", отработала. Файл открылся и тут же переходим в  Процедура ЗапускПриложения(КодВозврата, ДополнительныйПараметр) Экспорт
#9 by Провинциальный 1сник
Нет, вы ошибаетесь. Процедура вызывается при закрытии.
#10 by Грызлик
После закрытия файла, я в эту процедуру не попадаю. У меня в вызываемой процедуре Первый параметр пустой. Может по этому я не попадаю в нее после закрытия файла?
#11 by Грызлик
я просто не пойму, почему он пустой. В синтаксисе написано что он равен 1 или неопределенно, если не задан, но у меня он заданю
#12 by Провинциальный 1сник
Я буквально дословно проверил на вашем примере - всё попадает.
#13 by Провинциальный 1сник
На самом деле, это способ помочь финансированию  здравоохранению за счет автомобилистов. Каждая справка - платная, очевидно, что объем работы врача при приеме такого "пациента" на порядок меньше чем с реальным больным, а денежки идут.
#14 by 1Сергей
хватит по интернетам лазить, работать давай. Понаоткрывают кучу окон, а потом парятся :)
#15 by Грызлик
Вот пример Первый параметр у меня пустой. Не могу понять почему. И как только открылся файл. Я разу попал в нижнюю процедуру. Может платформа баговая
#16 by Провинциальный 1сник
8.3.6.2152 - всё работает.
#17 by Грызлик
:D это уже смешно. У меня все тоже. У меня в коде нет ошибок? :D. Может параметры конфигурации не такие? Я в чистой базе это пишу.
#18 by Провинциальный 1сник
Аналогично. В чистой базе все работает. Сделайте в процедуре ЗапускПриложения Сообщить("Закрылось").
#19 by Грызлик
Сделал как вы описали. Картинка не успев открыться, выдалось сообщение "Закрылось". Я так понимаю, если первый параметр истина, то будет отрабатывать после закрытия. Но у меня первый параметр = неопределено.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С