Имя: Пароль:
1C
1С v8
Remote Utilities в 1с
, ,
0 stepanov1991
 
20.08.14
22:09
Здравствуйте! Ситуация такая есть справочник в нем все данные об ПК ip адреc и тд.
Remote Utilities я поставил. Из командной строки определенный ПК запускается вот по такой команде.
Viewer>rutview.exe /create /name:11 /host:cex103 /port:5650 /password:master /FULLCONTROL

как сделать что бы любой Пк из списка запускался так же.
ума не приложу как сделать параметры запуска такие.

КлиентIP=СтрЗаменить(глАйПи(Клиент.Код), " ", "");//локальный IP
        ПараметрыЗапуска="/create/name:"+СокрЛП(КлиентIP)+":5651";
        ЗапуститьПриложение(СокрЛП(ПутьКФайлу)+" "+ПараметрыЗапуска);

как правильно написать параметры вызова?
1 ДенисЧ
 
20.08.14
22:19
Сообщить(ПараметрыЗапуска)
и комбинируй строку, пока не получшь нужное
2 stepanov1991
 
20.08.14
22:20
вот комбинирую, а получаю фигу
3 GROOVY
 
20.08.14
22:27
(2) Заставь себя научиться работать со строками. Отладчик как работает посмотри.
4 stepanov1991
 
20.08.14
22:47
мда(
5 ДенисЧ
 
20.08.14
22:59
(4) ага. Логику включай.
Или сначала выспись.
6 GROOVY
 
20.08.14
22:59
(4) Надо заставлять себя.
7 ADirks
 
21.08.14
08:22
Мне тут недавно одне восьмёрошнеге сказали, что nconvert не совместим с 1С.  Вот это я понимаю - подход! И не надо ни с какими строками башку себе морочить.
8 stepanov1991
 
21.08.14
09:09
Пробовал вот так.  //ПараметрыЗапуска= " /name:"+Клиент.IP+" /host"+СокрЛП(КлиентIP)+" /port:5650 /password:"+Пароль+" /FULLCONTROL";

Параметры запуска с командной строки
rem.exe /create /name:11 /host:ce
x103 /port:5650 /password:master /FULLCONTROL

Где ошибка поправьте.
9 vhl
 
21.08.14
09:14
(8) Почему ты думаешь, что есть ошибка?
10 stepanov1991
 
21.08.14
09:18
А что тут? НЕ выходин на ПК. ПРосто открывается окно программы((
11 vhl
 
21.08.14
09:20
(10) Ты пробовал (1) ?
12 stepanov1991
 
21.08.14
09:21
vhl , в смысле? можно по пожробнее
13 vhl
 
21.08.14
09:23
(12) Если ты не понимаешь, что написано в первом посте этой темы, то тебе лучше обратиться к программисту
14 ДенисЧ
 
21.08.14
09:27
(13) дык... "онжепрограммист"...
15 stepanov1991
 
21.08.14
09:40
ПараметрыЗапуска=" /create /name:"+ Клиент.Адрес+" /host:"+СокрЛП(Клиент.Наименование)+" /port:5650  /FULLCONTROL";

Вот так запускается)
16 stepanov1991
 
21.08.14
21:24
Сделал, запускается но долго думает примерно 5 секунд..
Переделал с архивом. НЕ знаю правильно или нет. Поправьте если что.

Сделал в константах настройку (Загрузку архива)
Процедура remНажатие(Элемент)
//выберем путь
    Режим = РежимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
    ДиалогОткрытияФайла.ПолноеИмяФайла = "rem.zip";
    Текст = "ru = ""Исполняемый файл""; en = ""Executable file""";
    Фильтр = НСтр(Текст)+"(*.zip)|*.zip";
    ДиалогОткрытияФайла.Фильтр = Фильтр;
    ДиалогОткрытияФайла.Заголовок = "Выберите файл remote utilities";
    Если ДиалогОткрытияФайла.Выбрать() Тогда
        ИмяФайла=ДиалогОткрытияФайла.ВыбранныеФайлы[0];
    Иначе
        Текст = "ru = ""Файл не выбран!""; en = ""File not selected!""";
        Предупреждение(НСтр(Текст));
        Возврат;
    КонецЕсли;
    
    Файлrem = Новый ДвоичныеДанные(ДиалогОткрытияФайла.ПолноеИмяФайла);
    ХранилищеФайла = Новый ХранилищеЗначения(Файлrem);
    ЭлементХранилища=Справочники.ХранилищеФайлов.rem.ПолучитьОбъект();
    ЭлементХранилища.Файл=ХранилищеФайла;
    ЭлементХранилища.Записать();

    
КонецПроцедуры

Процедура ЗапускremoteНажатие(Элемент)
    Пароль = "";
    Подсказка = "Введите пароль на архив";

    // Запросим пароль на архив
    Если ВвестиСтроку(Пароль, Подсказка, 0, Ложь) Тогда
        Архив = Новый ЧтениеZipФайла("c:\rem.zip", Пароль);
        Сообщение = Новый СообщениеПользователю();
        Сообщение.Текст = "Комментарий: " + Архив.Комментарий;
        Сообщение.Сообщить();
        
        Для Каждого Элемент Из Архив.Элементы Цикл
            Сообщение.Текст = "Распаковывается файл: " + Элемент.Имя +
                            " размер: " + Элемент.РазмерНесжатого;
            Сообщение.Сообщить();
            Архив.Извлечь(Элемент, "c:\Temp\",
                        РежимВосстановленияПутейФайловZIP.НеВосстанавливать,
                        ?(Элемент.Зашифрован, Пароль, ""));
        КонецЦикла;    
        Архив.Закрыть();
    КонецЕсли;
    

КонецПроцедуры


В модуле обычного приложения
Процедура remНажатие(Элемент)
//выберем путь
    Режим = РежимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
    ДиалогОткрытияФайла.ПолноеИмяФайла = "rem.zip";
    Текст = "ru = ""Исполняемый файл""; en = ""Executable file""";
    Фильтр = НСтр(Текст)+"(*.zip)|*.zip";
    ДиалогОткрытияФайла.Фильтр = Фильтр;
    ДиалогОткрытияФайла.Заголовок = "Выберите файл remote utilities";
    Если ДиалогОткрытияФайла.Выбрать() Тогда
        ИмяФайла=ДиалогОткрытияФайла.ВыбранныеФайлы[0];
    Иначе
        Текст = "ru = ""Файл не выбран!""; en = ""File not selected!""";
        Предупреждение(НСтр(Текст));
        Возврат;
    КонецЕсли;
    
    Файлrem = Новый ДвоичныеДанные(ДиалогОткрытияФайла.ПолноеИмяФайла);
    ХранилищеФайла = Новый ХранилищеЗначения(Файлrem);
    ЭлементХранилища=Справочники.ХранилищеФайлов.rem.ПолучитьОбъект();
    ЭлементХранилища.Файл=ХранилищеФайла;
    ЭлементХранилища.Записать();

    
КонецПроцедуры

Процедура ЗапускremoteНажатие(Элемент)
    Пароль = "";
    Подсказка = "Введите пароль на архив";

    // Запросим пароль на архив
    Если ВвестиСтроку(Пароль, Подсказка, 0, Ложь) Тогда
        Архив = Новый ЧтениеZipФайла("c:\rem.zip", Пароль);
        Сообщение = Новый СообщениеПользователю();
        Сообщение.Текст = "Комментарий: " + Архив.Комментарий;
        Сообщение.Сообщить();
        
        Для Каждого Элемент Из Архив.Элементы Цикл
            Сообщение.Текст = "Распаковывается файл: " + Элемент.Имя +
                            " размер: " + Элемент.РазмерНесжатого;
            Сообщение.Сообщить();
            Архив.Извлечь(Элемент, "c:\Temp\",
                        РежимВосстановленияПутейФайловZIP.НеВосстанавливать,
                        ?(Элемент.Зашифрован, Пароль, ""));
        КонецЦикла;    
        Архив.Закрыть();
    КонецЕсли;
    

КонецПроцедуры
17 stepanov1991
 
21.08.14
21:25
последнее 2 раза скопировал

Процедура rem(Клиент=Неопределено) Экспорт
    Файлrem=Справочники.ХранилищеФайлов.rutview.Файл.Получить();
    Если Файлrem=Неопределено Тогда
        Предупреждение("Сохраните в базу файл RemoteUtilities.exe в настройках учета.",5);
        Возврат;
    КонецЕсли;
    ПутьКФайлу=КаталогВременныхФайлов()+"\"+СокрЛП(Справочники.ХранилищеФайлов.rutview.Наименование)+".exe";
    Если НЕ НайтиФайлы(ПутьКФайлу).Количество() Тогда
        Файлrem.Записать(ПутьКФайлу);
    КонецЕсли;
    //если не передан клиент - просто открываем RemoteUtilities - виевер
    Если НЕ ЗначениеЗаполнено(Клиент) Тогда
        ЗапуститьПриложение(ПутьКФайлу);
    Иначе
        Если Клиент.ЭтоГруппа Тогда
            Предупреждение("Выбрана группа, - выберете конкретного пользователя",3);
            Возврат;
        КонецЕсли;
        
        //Пароль в буфер обмена
        Если ЗначениеЗаполнено(Клиент.RadminПароль) Тогда
            Пароль=СокрЛП(Клиент.RadminПароль);
        Иначе
            Пароль=СокрЛП(Константы.RadminПарольПоУмолчанию.Получить());
        КонецЕсли;
        Если ЗначениеЗаполнено(Пароль) Тогда
            Объект = Новый COMОбъект("htmlfile");
            Объект.ParentWindow.ClipboardData.Setdata("Text", Пароль);
        КонецЕсли;
        
            КлиентIP=СтрЗаменить(глАйПи(Клиент.Код), " ", "");//локальный IP
            ПараметрыЗапуска=" /create /name:"+ Клиент.Адрес+" /host:"+СокрЛП(Клиент.Наименование)+" /port:5650  /FULLCONTROL";
            ЗапуститьПриложение (СокрЛП(ПутьКФайлу)+ПараметрыЗапуска );
        КонецЕсли;
КонецПроцедуры