Имя: Пароль:
1C
1С v8
Запуск exe файла с параметрами
0 dcc3
 
24.08.15
01:30
Доброй ночи. Подскажите как запустить файл EXE из 1С 8.1.

Код 1C v 8.х
Процедура Кнопка2Нажатие(Элемент)
    ЗапуститьПриложение("C:\ProgramData\Medoc\Medoc\ezvit.exe -org 00111475 -user Admin");
КонецПроцедуры  

Пытаюсь запустить exe с параметрами. В bat-нике с этими же параметрами запускается на ура. В 1С выдает ошибку:
Не удается найти "C:\ProgramData\Medoc\Medoc\ezvit.exe -org 00111475 -user Admin". Проверьте, правильно ли указано имя и повторите попытку.
1 Armando
 
24.08.15
01:47
Вангую что файл на клиенте, а код выполняется на сервере
2 dcc3
 
24.08.15
02:16
и код и файл на клиенте. Обе программы установлены на одном компьютере.
3 Armando
 
24.08.15
02:23
Если нажать Win+R и туда вставить "C:\ProgramData\Medoc\Medoc\ezvit.exe -org 00111475 -user Admin". Корректно отработает?
4 dcc3
 
24.08.15
09:24
Да. Работает корректно.
5 ДенисЧ
 
24.08.15
09:27
попробуй имя файла с путём в кавычки заключить
6 Апош
 
24.08.15
09:30
ползут по пустыне три черепашки...
7 UFO
 
24.08.15
09:32
(1) Вообще-то он сказал 8.1, откуда клиент сервер
8 ДенисЧ
 
24.08.15
09:32
(7) а что, в 8.1 не было сервера? О_о
9 UFO
 
24.08.15
09:34
Раздеделения по коду не было, как сейчас, и ты бы ен смогу выполнить запуск приложения на сервере
10 ДенисЧ
 
24.08.15
09:34
(9) Да ты шо...
11 UFO
 
24.08.15
09:35
(8) да я шо, докажи обратное
12 Fish
 
гуру
24.08.15
09:35
(9) М-да. А вроде стаж большой.
13 UFO
 
24.08.15
09:36
(12) а что в 8.1 на 1с сервер делалось? в курсе?
14 UFO
 
24.08.15
09:36
запросы только делались
15 UFO
 
24.08.15
09:36
и больше никакого кода
16 Апош
 
24.08.15
09:37
а вместо регзаданий по ночам приходили специально обученные мальчики-негры
17 ДенисЧ
 
24.08.15
09:37
(11) Создаём общий модуль с галкой сервер
18 UFO
 
24.08.15
09:38
Ладно.. убедили.. я в 8.1 работал только в файловой, а с клиент-серверной начал с начала года работать и с 8.3
19 ДенисЧ
 
24.08.15
09:39
(18) Так чего выступаешь тогда? Так просто, подписьздесь?
20 UFO
 
24.08.15
09:39
Но у него
Процедура Кнопка2Нажатие(Элемент)
    ЗапуститьПриложение("C:\ProgramData\Medoc\Medoc\ezvit.exe -org 00111475 -user Admin");
КонецПроцедуры  
не похоже на сервер, так как нажатие кнопки
21 UFO
 
24.08.15
09:40
Или вы сами слепые?
22 UFO
 
24.08.15
09:41
А то сервер сервер.. вам бы всё свалить на сервер
23 UFO
 
24.08.15
09:44
(0) а ты уверен, что путь C:\ProgramData\Medoc\Medoc\??? 2 раза вложен Medoc?
24 UFO
 
24.08.15
09:48
И (0) я не уверен, но 1С может запускать под каким-нибудь своим 1С пользователем, а у него может не быть прав доступа в ProgramData
25 dcc3
 
24.08.15
09:53
Ребята:
1. Сервера нет. 1С 8.1 стоит на локальной машине.
2. Путь указан верно. Пробовал запускать и в бате, и в CMD, и Win+R. Везде работает.
3. Права у пользователя есть. Без ключей exe запускается. Но потом нужно самому выбирать пользователя и т.д.
26 mehfk
 
24.08.15
09:56
(25) Сделай так
ф = Новый Файл("C:\ProgramData\Medoc\Medoc\ezvit.exe");
Если ф.Существует() Тогда
Иначе
    Сообщить("Нет файла");
КонецЕсли;
27 UFO
 
24.08.15
09:56
ЗапуститьПриложение(<СтрокаКоманды>, <ТекущийКаталог>,
Попробуй разделить каталог и команду запуска
28 hhhh
 
24.08.15
09:58
(25) походу С: не английское
29 UFO
 
24.08.15
09:58
Типа
ЗапуститьПриложение("ezvit.exe -org 00111475 -user Admin", "C:\ProgramData\Medoc\Medoc"...
30 UFO
 
24.08.15
09:59
(28) + и это может быть
31 UFO
 
24.08.15
10:04
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть. :)
32 dcc3
 
24.08.15
10:05
UFO - не работает. В таком случае пишет файл не найден.
33 UFO
 
24.08.15
10:05
хм.. попробую у себя выполнить что то похожее
34 dcc3
 
24.08.15
10:07
mehfk - ваш код проверяет есть файл или нет. Я уже писал ранее в ветке, что если запускаю строку без параметров, то файл чудесно исполняется. Но меня интересует запуск с параметрами.
35 Апош
 
24.08.15
10:10
36 Fish
 
гуру
24.08.15
10:11
(34) Запускай через КомандаСистемы().
37 UFO
 
24.08.15
10:12
У меня работает
38 UFO
 
24.08.15
10:12
ЗапуститьПриложение( "notepad.exe c:\asd.txt", "c:\ProgramData\m\m\");
я такой код сделал..
39 UFO
 
24.08.15
10:14
а у тебя 1С:Предприятие 8.1 (8.1.15.14)?
40 Гёдза
 
24.08.15
10:17
может с русская?
41 UFO
 
24.08.15
10:17
(40) уже спрашивали
42 dcc3
 
24.08.15
10:34
UFO - спасибо, но это не помогает.
Твой код работает даже так:
ЗапуститьПриложение( "notepad.exe c:\asd.txt");

т.е. в notepad.exe открывается файл asd.txt. notepad.exe расположен в системной папке, поэтому 1С находит его без необходимости указывать полный путь. А вторая часть "c:\ProgramData\m\m\" в таком случае вообще не понятно зачем нужна.
43 Fish
 
гуру
24.08.15
10:35
(42) пробовал (36)?
44 dcc3
 
24.08.15
10:38
Ладно, буду проще. Буду запускать батник, а в нем уже указы все нужные мне параметры.
По крайней мере так работает.

Код 1С:
Процедура Кнопка2Нажатие(Элемент)
    ЗапуститьПриложение("D:\Медок-1С\Примеры\Медок.bat");
КонецПроцедуры

Содержание батника:
C:\ProgramData\Medoc\Medoc\ezvit.exe -org 00131268 -user Admin

Всем спасибо. Пока сделаю так, а потом уже буду разбираться с ключами запуска.
45 Мимохожий Однако
 
24.08.15
10:40
(43)Тебя игнорируют ))
46 dcc3
 
24.08.15
10:42
МимохожийОднако. Нет.
Просто они сами не знают.
47 Fish
 
гуру
24.08.15
10:44
(46) Так ты (36) пробовал или нет? Вангую, что всё сработает.
48 Апош
 
24.08.15
10:46
+(47) пожааалуйста ;)
49 Fish
 
гуру
24.08.15
10:52
(48) Да я не навязываюсь. Не хочет человек разобраться, ну что тут поделаешь.
50 dcc3
 
24.08.15
10:52
Fish ты имеешь ввиду КомандаСистемы()?
51 dcc3
 
24.08.15
11:00
Всем спасибо.
Заработало так:

КомандаСистемы("C:\ProgramData\Medoc\Medoc\ezvit.exe -org 00111475  -user Admin");
Независимо от того, куда вы едете — это в гору и против ветра!