Подскажите, пожалуйста, как правильно сделать запуск команды в процедуре &НаСервере.
На сервере стоит JRE и утилита DocumentConverter. Утилита конвертирует файлы в формат pdf и запускается командой "java -jar dist\DocumentConverter.jar -h=300 -w=200 -m=5 -s=file:///D:/download/test.txt -d=file:///D:/test2.pdf -t=text".
Запускали под системой на самом сервере. Все работает, конвертация выполняется.
Теперь хочу прописать запуск в коде конфигурации.
Например:
Вываливается ошибка: "Ошибка при вызове метода контекста (Run)".
На сервере стоит JRE и утилита DocumentConverter. Утилита конвертирует файлы в формат pdf и запускается командой "java -jar dist\DocumentConverter.jar -h=300 -w=200 -m=5 -s=file:///D:/download/test.txt -d=file:///D:/test2.pdf -t=text".
Запускали под системой на самом сервере. Все работает, конвертация выполняется.
Теперь хочу прописать запуск в коде конфигурации.
Например:
&НаСервере
Процедура MyProc()
WshShell = New COMObject("Wscript.Shell");
WshShell.Run("java -jar dist\DocumentConverter.jar -h=300 -w=200 -m=5 -s=file:///D:/download/test.txt -d=file:///D:/test2.pdf -t=text", , 1);
КонецПроцедуры
Вываливается ошибка: "Ошибка при вызове метода контекста (Run)".
По теме из базы знаний
- Javascript и 1С. Кросс-платформенное взаимодействие
- Заставляем утилиту Ring работать через прокси-сервер
- OneS Cluster Admin - консоль администрирования кластера серверов 1С (кроссплатформенная, мультиверсионная)
- Снова об использовании ТекущаяДата() на клиенте и на сервере и о работе в разных часовых поясах
- JavaScript в Simple
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2)
Ошибка при вызове метода контекста (ЗапуститьПриложение):
Не удалось запустить "java -jar C:\DocumentConverter\dist\DocumentConverter.jar -h=300 -w=200 -m=5 -s=file:///C:/Users/USR1CV8/AppData/Local/Temp/v8_F8FE_32.png -d=file:///C:/Users/USR1CV8/AppData/Local/Temp/tempfilePDF.pdf -t=picture",
по причине: 2(0x00000002): Не удается найти указанный файл.
Не понятно. Какой файл не видит? DocumentConverter.jar или v8_F8FE_32.png? Вроде бы все на месте. Почему не видит? Я доступ к самому серверу не имею, поэтому мне трудно сказать, что там на серверной части.
ЗапуститьПриложение
s_cmd = "java -jar C:\DocumentConverter\dist\DocumentConverter.jar -h=300 -w=200 -m=5 -s=file:///C:/Users/USR1CV8/AppData/Local/Temp/v8_F8FE_32.png -d=file:///C:/Users/USR1CV8/AppData/Local/Temp/tempfilePDF.pdf -t=picture";
ЗапуститьПриложение(s_cmd);
Ошибка при вызове метода контекста (ЗапуститьПриложение):
Не удалось запустить "java -jar C:\DocumentConverter\dist\DocumentConverter.jar -h=300 -w=200 -m=5 -s=file:///C:/Users/USR1CV8/AppData/Local/Temp/v8_F8FE_32.png -d=file:///C:/Users/USR1CV8/AppData/Local/Temp/tempfilePDF.pdf -t=picture",
по причине: 2(0x00000002): Не удается найти указанный файл.
Не понятно. Какой файл не видит? DocumentConverter.jar или v8_F8FE_32.png? Вроде бы все на месте. Почему не видит? Я доступ к самому серверу не имею, поэтому мне трудно сказать, что там на серверной части.
Вечная проблема с доступами((( Попробуй DocumentConverter.jar закинуть в C:/Users/USR1CV8/AppData/Local/Temp, а в параметре путь указывать только имя файла (с расширением). Я как - то вытягивал из pdf количество страниц, тож через какой-то exe. Скидывал все в Temp, в определенную папку.
(5) Здравствуйте, получилось у Вас?
У меня такая же проблема.
Написал парсер PDF на Java, создал исполняемый файл jar.
Сохранил его в макете, как двоичные данные.
В процедуре 1с сохраняю с макета в файл jar в "../AppData/Local/Temp",
потом через ЗапуститьПриложение() запускаю свой jar файл, и функция ЗапуститьПриложение() валится, говорит нет такого файла "...jar".
Хотя он есть и если его запустить в командной строке, то он исполняется...
Если подсунуть другой парсер с расширением EXE (pdftotext.exe), то все работает.
У меня такая же проблема.
Написал парсер PDF на Java, создал исполняемый файл jar.
Сохранил его в макете, как двоичные данные.
В процедуре 1с сохраняю с макета в файл jar в "../AppData/Local/Temp",
потом через ЗапуститьПриложение() запускаю свой jar файл, и функция ЗапуститьПриложение() валится, говорит нет такого файла "...jar".
Хотя он есть и если его запустить в командной строке, то он исполняется...
Если подсунуть другой парсер с расширением EXE (pdftotext.exe), то все работает.
Проблему победил.
Можно запустить jar с помощью процедуры КомандаСистемы(Команда), но тогда открывается консольное окно.
А можно через com wScript.Shell, собственно так и сделал и консольное окно не отображается:
Можно запустить jar с помощью процедуры КомандаСистемы(Команда), но тогда открывается консольное окно.
А можно через com wScript.Shell, собственно так и сделал и консольное окно не отображается:
Com = Новый COMObject("wScript.Shell");
Com.Run(Команда,0, Истина); // третий параметр - дождаться завершения работы
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот