|
УФ ЗапуститьПриложение() - НачатьЗапускПриложения() | ☑ | ||
---|---|---|---|---|
0
Грызлик
17.08.15
✎
19:08
|
Добрый вечер! Нужно открыть любой файл из 1С. Кто может дать пример НачатьЗапускПриложения()? НЕ могу понять как использовать. Раньше было все просто - ЗапуститьПриложение("С:\\1.txt") и запускался блокнот. Включать режим совместимости синхронных вызовов не хочу.
А теперь. Пишу: ЛюбойФайл = "С:\\1.txt"; Оповещение = Новый ОписаниеОповещения("ЗапускПриложения", ЭтотОбъект); НачатьЗапускПриложения(Оповещение,,, Истина); А что дальше? Что нужно писать в процедуре ЗапускПриложения(), какие параметры? |
|||
1
Грызлик
17.08.15
✎
19:25
|
Все. Допер.
ЛюбойФайл = "С:\\1.txt"; Оповещение = Новый ОписаниеОповещения("ЗапускПриложения", ЭтотОбъект); НачатьЗапускПриложения(Оповещение, ЛюбойФайл,, Истина); &НаКлиенте Процедура ЗапускПриложения(КодВозврата, ДополнительныйПараметр) Экспорт КонецПроцедуры |
|||
2
Грызлик
17.08.15
✎
19:26
|
Не понятно, как только дождаться завершения приложения? Нужно что бы после закрытия файла, он удалился.
|
|||
3
sFAQer
18.08.15
✎
02:09
|
НачатьЗапускПриложения (BeginRunningApplication)
Синтаксис: НачатьЗапускПриложения(<ОписаниеОповещения>, <СтрокаКоманды>, <ТекущийКаталог>, <ДождатьсяЗавершения>) Параметры: <ОписаниеОповещения> (обязательный) Тип: ОписаниеОповещения. Содержит описание процедуры, которая будет вызвана после завершения со следующими параметрами: <КодВозврата> - код возврата, тип Число или Неопределено, если соответствующий входной параметр ДождатьсяЗавершения не указан; <ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения. <СтрокаКоманды> (обязательный) Тип: Строка. Командная строка для запуска приложения либо имя файла, ассоциированного с некоторым приложением. <ТекущийКаталог> (необязательный) Тип: Строка. Задает текущий каталог запускаемого приложения. В режиме веб-клиента игнорируется. <ДождатьсяЗавершения> (необязательный) Тип: Булево. Истина - дожидаться завершения запущенного приложения перед продолжением работы. Значение по умолчанию: Ложь. Описание: Начинает запуск внешнего приложения либо открытие файла с использованием ассоциированного с ним приложения. Доступность: Тонкий клиент, веб-клиент, толстый клиент. <ДождатьсяЗавершения> - тот самый параметр |
|||
4
Грызлик
18.08.15
✎
07:04
|
(3) Да, я в коде выставляю его в "Истину", он 4 и в коде выше, видно, что я его выставил в "Истину", Но! Что получается по факту?.. Открываю свой файл, а программа отрабатывает дальше. Что я ожидаю получить. Открыть файл, программа пусть дальше работает. Или останавливается. Но важно, после отработки внешнего приложения, удалить файл.
|
|||
5
Провинциальный 1сник
18.08.15
✎
07:19
|
(4) А с чего вы взяли, что запуск приложения, ассоциированного с файлом, должен как-то отрабатывать своё закрытие? В этом случае родителем процесса будет проводник виндовс, а не 1с. Запускайте явно notepad.exe, передавая ему в качестве параметра ваш текстовый файл, и тогда при закрытии нотепада есть шанс, что 1с получит сообщение о том, что дочернее приложение закрылось.
|
|||
6
Провинциальный 1сник
18.08.15
✎
07:29
|
(5) Хотя, это я ошибся. Попробовал сейчас - всё работает корректно и без явного указания экзешника. Вы просто неправильно понимаете смысл процедуры в описании оповещения - она вызывается не при запуске, а при завершении. Вот там и удаляйте свой файл.
|
|||
7
Грызлик
18.08.15
✎
07:30
|
(5) А для чего тогда служит параметр, дождать завершения? Вроде раньше, процедура ЗапуститьПриложение(), отрабатывала как я описал выше (вспомнил пример, где я запускал mp3 файл.). На самом деле я запуская картинку, могу запустить пдф файл.
|
|||
8
Грызлик
18.08.15
✎
07:33
|
(6)Как я понимаю смысл - открылась картинка. я ее посмотрел. Закрыл. и вот тут я должен удалить файл. Но отчкаостанова в отладчике не отрабатывает. У меня как "НачатьЗапускПриложения(ЗапускПриложения, ЛюбойФайл,, Истина);", отработала. Файл открылся и тут же переходим в Процедура ЗапускПриложения(КодВозврата, ДополнительныйПараметр) Экспорт
|
|||
9
Провинциальный 1сник
18.08.15
✎
07:34
|
(8) Нет, вы ошибаетесь. Процедура вызывается при закрытии.
|
|||
10
Грызлик
18.08.15
✎
07:35
|
(8) После закрытия файла, я в эту процедуру не попадаю. У меня в вызываемой процедуре
&НаКлиенте Процедура ЗапускПриложения(КодВозврата, ДополнительныйПараметр) Экспорт КонецПроцедуры Первый параметр пустой. Может по этому я не попадаю в нее после закрытия файла? |
|||
11
Грызлик
18.08.15
✎
07:36
|
(10) я просто не пойму, почему он пустой. В синтаксисе написано что он равен 1 или неопределенно, если не задан, но у меня он заданю
|
|||
12
Провинциальный 1сник
18.08.15
✎
07:37
|
(10) Я буквально дословно проверил на вашем примере - всё попадает.
|
|||
13
Провинциальный 1сник
18.08.15
✎
07:40
|
На самом деле, это способ помочь финансированию здравоохранению за счет автомобилистов. Каждая справка - платная, очевидно, что объем работы врача при приеме такого "пациента" на порядок меньше чем с реальным больным, а денежки идут.
|
|||
14
1Сергей
18.08.15
✎
07:42
|
(13) хватит по интернетам лазить, работать давай. Понаоткрывают кучу окон, а потом парятся :)
|
|||
15
Грызлик
18.08.15
✎
07:45
|
(12) Вот пример
&НаКлиенте Процедура Просмотр_СканКопияДоверенность(Команда) ПутьДоКартинки = "D:\test.png"; Оповещение = Новый ОписаниеОповещения("ЗапускПриложения", ЭтотОбъект); НачатьЗапускПриложения(Оповещение, ПутьДоКартинки,, Истина); КонецПроцедуры &НаКлиенте Процедура ЗапускПриложения(КодВозврата, ДополнительныйПараметр) Экспорт а = 1; КонецПроцедуры Первый параметр у меня пустой. Не могу понять почему. И как только открылся файл. Я разу попал в нижнюю процедуру. Может платформа баговая |
|||
16
Провинциальный 1сник
18.08.15
✎
08:00
|
(15) 8.3.6.2152 - всё работает.
|
|||
17
Грызлик
18.08.15
✎
08:37
|
(16) :D это уже смешно. У меня все тоже. У меня в коде нет ошибок? :D. Может параметры конфигурации не такие? Я в чистой базе это пишу.
|
|||
18
Провинциальный 1сник
18.08.15
✎
11:25
|
(17) Аналогично. В чистой базе все работает.
Сделайте в процедуре ЗапускПриложения Сообщить("Закрылось"). |
|||
19
Грызлик
18.08.15
✎
13:39
|
(18) Сделал как вы описали. Картинка не успев открыться, выдалось сообщение "Закрылось".
Я так понимаю, если первый параметр истина, то будет отрабатывать после закрытия. Но у меня первый параметр = неопределено. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |