Имя: Пароль:
1C
1С v8
v8: Как из-под веб-клиента запустить другого веб-клиента?
0 Ranger_83
 
16.05.12
13:42
Что собственно прописать в модуле команды?
1 Азат
 
16.05.12
13:43
а КомандаСистемы или ЗапуститьПриложение в веб-клиенте разве недоступны?
2 Ranger_83
 
16.05.12
13:44
(1)Доступно только ЗапуститьПриложение()
3 Азат
 
16.05.12
13:44
(2) ну и что тебе мешает?
ЗапуститьПриложение("iexplore.exe")
4 Птах
 
16.05.12
13:46
Сообщить("Здравствуйте, я ваш программист. Из-за бедности и плохого уровня образования я не умею программировать, поэтому пожалуйста, запустите сами второй экземпляр веб-клиента.");
5 Ranger_83
 
16.05.12
13:47
(3)Счас объясню.
вот из СП:
Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами.
Это расширение не поддерживается в гугл-хроме
6 Ranger_83
 
16.05.12
13:49
(4)Смешно.Задумано для того,чтобы пользователь мог запустить архивную базу не заморачиваясь на добавление ее в список баз
7 Птах
 
16.05.12
13:50
(6)
Wsshell = Новый COMОбъект("WScript.Shell");
Wsshell.Run("c:\Batnik.bat");
8 milan
 
16.05.12
13:50
(6) а ссылку на форму положить никак ?
9 Азат
 
16.05.12
13:51
(7) а если айпад? или убунту? там разве вскрипт будет?
10 Птах
 
16.05.12
13:53
(9) Нехрен запускать архивные базы с убунт. :)
11 Ranger_83
 
16.05.12
13:55
(7)хм...а этот диск с: будет считаться локальным или на вэб-сервере?
12 Птах
 
16.05.12
13:56
(11) Где скрипт запустишь, там и будет считаться локальным.
13 Ranger_83
 
16.05.12
13:59
(12)я его запускаю в модуле глобальной команды
к примеру:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
Wsshell = Новый COMОбъект("WScript.Shell");
Wsshell.Run("c:\Batnik.bat");
КонецПРоцедуры

Вопрос:где нужно положить Batnik.bat?
14 Ranger_83
 
16.05.12
14:00
(13)+разумеется приложение запускается вэб-клиентом
15 Ranger_83
 
16.05.12
14:07
(12)Если скрипт запускается на клиенте,то этот вариант смысла не имеет,потому что предварительно д.б. раскидан этот батник.
16 Птах
 
16.05.12
14:07
(14) Веб клиент вызывает скрипт на клиентской машине. Собственно на винте клиентской машины оно лежать и должно.
17 Ranger_83
 
16.05.12
14:14
А можно ли создать com-объект командной строки и передать туда строку запуска,как это сделать?
18 Птах
 
16.05.12
14:16
(17) Э, а что по-твоему, делает этот скрипт?
19 Ranger_83
 
16.05.12
14:18
(18)и как передать этому объекту строку запуска?
20 Ranger_83
 
16.05.12
14:31
пробую в модуле команды так:
СтрокаКоманды="start http://***.ru:8888/base";
Wsshell = Новый COMОбъект("WScript.Shell");
Wsshell.Run(СтрокаКоманды);

Вызывается предупреждение:
ActiveXObject is not defined
21 Ranger_83
 
16.05.12
15:41
Оказывается браузеры не IE не поддерживает компоненты ActiveX а значит COMОбъект("WScript.Shell") не прокатит.Какие еще будут варианты?
22 Птах
 
17.05.12
06:36
(21) А так не пробовал?

WshShell = Новый COMОбъект("WScript.Shell");
WshShell.Run("http://www.ya.ru/");
23 Ranger_83
 
17.05.12
07:55
(22)Я же говорю,что WScript.Shell не поддерживается браузерами firefox или хром.
Т.е ошибка(ActiveXObject is not defined) валится при инициализации Новый COMОбъект("WScript.Shell");
Я этот код прогнал в тонком клиенте и там прекрасно отрабатывает.
////
Может какой-нить универсальный скрипт типа JScript поможет,но я еще не нашел как с ним работать из 1с
24 Ranger_83
 
17.05.12
08:19
JScript тоже не взлетел.
ScrptCtrl=Новый COMОбъект("MSScriptControl.ScriptControl");
       ScrptCtrl.Language="jscript";
       ScrptCtrl.Eval(СтрокаКоманды);
=>>ActiveXObject is not defined
25 Адинэснег
 
17.05.12
08:27
(4) не так
Сообщить("Запусти хром! Запусти хром, сука!");
26 Адинэснег
 
17.05.12
08:31
ЗапуститьПриложение("http://www.forum.mista.ru/");
27 Ranger_83
 
17.05.12
08:41
(26)Хорошая идея,только см.(3)и(5)
28 Адинэснег
 
17.05.12
08:57
(27) зачем тогда ассоциировать несовместимые браузеры с вэб-страницами?
29 Ranger_83
 
17.05.12
09:12
(28)браузер совместим,хром не поддерживает расширение работы с файлами,без этого ЗапуститьПриложение() не отрабаьывает.я пытаюсь запустить архивную копию базы 1с.
30 nilabs
 
17.05.12
09:24
(15) а что, перед этим проверить и создать файл байтника из программы нельзя?
31 Ranger_83
 
17.05.12
09:32
(30)да можно наверное,но проблема как его потом исполнить на клиенте
32 Птах
 
17.05.12
12:35
(31) Снеси всем хром, ставь ИЕ. За установку левых клиентов расстреливай с указанием причины "Нарушение корпоративной политики безопасности".
33 Ranger_83
 
17.05.12
13:09
(32)впесту.решил для хрома делать вывод адреса в сообщение.за универсальность приходится платить
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.