#0
by ШримпРолл
Добрый день господа и дамы. Прошу помочь в решении сей проблемы. Есть такой код: Исключение Сообщить("Не удалось по причине: "+ОписаниеОшибки); Вылетает с ошибкой : Ошибка при вызове метода контекста (Run): Произошла исключительная ситуация (0x80070002) Если в место telnet ввожу ping и убираю порт или просто ввожу notepad, например, то все работает. В чем может быть дело?
#3
by orefkov
Возможно, телнета нет. Возможно, надо указать полный путь. Возможно, не хватает прав на запуск телнета. Возможно, надо запускать как cmd.exe /c telnet .... или runas
#6
by ШримпРолл
Винда -Windows Server2012 Телнета не было, но подключил. Из командной строки работает. - Сейчас проверю.
#7
by ШримпРолл
Весьма странно. wshshell.run("cmd.exe /c telnet 192.168.1.2 3312",2,0); Срабатывает, но ничего не происходит. То -есть сообщение "Команду выполнил" есть, а окна открытого с телнетом нет.
#8
by orefkov
ну, cmd стартует, о чем shell и говорит. А вот запустить телнет cmd не может. Права проверь. Если ты командную строку запускаешь через win+R, она запускается под админ-правами, потому и может телнет запустить. А 1С не может.
#9
by NorthWind
там была такая фишка, что wshell.run консольные приложения прятать умеет. Какой-то ключ у команды за это отвечает, могу даже посмотреть какой
#10
by Метранпаж
" Если ты командную строку запускаешь через win+R, она запускается под админ-правами" С чего бы?
#11
by orefkov
Я нажимаю Win+R и там русским языком написано: "Это задание будет выполнено с правами администратора".
#12
by NorthWind
Cmd.Run "telnet.exe", 1, True у меня вот так простартовывает, открывает окно. Win10.
#15
by ШримпРолл
Я действительно использую этот ключ. Но команду пинг он у меня скрывает просто свернув. А тут ничего нет. Хотя сейчас проверю, выключив вообще этот ключ. Строку я реально через win+R открываю.
#19
by Torquader
TelNet где лежит ? Возможно, что он должен лежать в директории, которая прописана в пути. Не забываем, что telnet в Windows после Xp ставится как дополнительная программа.
#20
by ШримпРолл
Telnet лежал на диске С в папке system32. И это был еще один подводный камень. Для запуска телнета помимо установки прав, пришлось перенести все его файлы в доступную папку. т.к. system32 командная строка из 1С (без прав) не видела. Всем огромное спасибо! С вашей помощью все получилось.
#21
by NorthWind
в 2012 все настолько круто с правами, что даже нельзя запускать утилиты командной строки, находящиеся по PATH?
#22
by NorthWind
вроде даже в никсах под обычным пользователем телнетом по умолчанию можно пользоваться спокойно...
#23
by ШримпРолл
Видимо настолько. А я пришел к новому тупику. Я запускал telnet и командами типа: wshshell.SendKeys("сообщенька"); засылал различные сообщеньки. Но обнаружил, что при смене раскладки клавиатуры ничего не работает. То-есть SendKeys эмулирует нажатие на кнопку и чувствительна к раскладке. Как это можно обойти? Знает кто-нибудь?
#25
by ШримпРолл
Или подскажите, как можно передать на определенный порт сервера простые строки? Например, отправить на 192.168.1.2 3312 строку "привет" ?
#26
by orefkov
ничего, кроме как создать временный файл с расширением cmd и с содержимым echo привет|telnet args и запуска этого файла - мне в голову не приходит. Почитай справку к телнету, может он умеет из файла текст брать?
#27
by NorthWind
ВК какую-нибудь присмотреть для сокетов. Или свою написать. Как я понял, с произвольным сетевым взаимодействием (кроме почты и web) продукты 1С пока не особенно дружат.
#28
by Torquader
Телнет - консольный. Его через SendKey управлять сложно. Можно запускать через потоки и давать команды.
#29
by ШримпРолл
Большое спасибо за ваши предложенные варианты. Буду пробовать все. О результате отпишусь.
#32
by orefkov
Есть еще вариант кстати запускать не через .Run, а через Exec. Тогда возвращается объект, в котором есть StdIn StdOut StdErr потоки, и в StdIn поток делать Write.
#33
by orefkov
+ Вот так я запускал одну консольную прогу, которой надо было потом ввести пароль и прочитать вывод:
#34
by Torquader
Ты смотрел - там именно это и описано. Хотя, согласен, некоторым нужно разжевать и проглотить.
#35
by orefkov
Ясно. ЗЫ: забавно, в движок форума скушал один слэш в 'cntlmcntlm.exe" - там два слэша, а не один.
#37
by ШримпРолл
Torquader и orefkov : Супер! Большое спасибо! Таким методом реально можно управлять консольными программами. Класс) Задача решилась. Спасибо)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Розница 2.2 Начисление бонусных баллов на ДР
- УТ11, ордерная схема, отгрузка сверх заказа
- Зуп 3.1 Плановый фот
- Как в обычном приложении открыть обработку с диска?
- Подключение verifone vx810 к бп 3
- Конвертация данных. Разные типы иерархии справочника источника и приемника
- КД 2.1.8.2, выгрузка номенклатуры в номенклатура + характеристика
- Отладчик по F11 не заходит в процедуру
- КАК Вернуть "ID" добавленной строки с 1С на Oracle
- Postgree: Добавление базы в кластер серверов 1С
- УТ 11.2: Акт о расхождениях после реализации
- Запрос: условие на реквизит одного из регистраторов
- СКД как рассчитать отклонение в итогах?
- 1с розница и битрикс / 1с розница себестоимость
- Citizen srp-80. Инструкция.
- сборщик мобильного приложения - ошибка при создании ключа
- БП3 как ввести кладовщика и т д
- Односторонний обмен УТ10.3 -> БП 3.0. Не переносятся склады.
- Нахальное удаление помеченных объектов без контроля ссылочной целостности
- Оптимизация скорости поиска номенклатуры запросом по наименованию.