Пт, 16.01.2026, 11:39:12
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Список пользователей. Запуск под пользователем
nclockworkerДата: Чт, 13.05.2021, 06:40:09 | Сообщение # 1
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн

В инструменте "Список пользователей ИР" не происходит запуск под выбранным пользователем через команду "Запустить клиент 1С под пользователем". Ничего не происходит.
Видно, что процесс запускается и затем завершается.


Сообщение отредактировал nclockworker - Чт, 13.05.2021, 06:41:47
 
tormozitДата: Чт, 13.05.2021, 08:10:54 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 7283
Репутация: 193
Статус: Оффлайн
Нужно показать снимок окна запуска под пользователем.
Нужно сообщить командную строку с помощью одноименного флажка.
Можно в отладчике посмотреть работу программы в функции ирОбщий.ЗапуститьСеансПодПользователемЛкс() после присвоения переменной ТекущаяДата
 
nclockworkerДата: Чт, 13.05.2021, 19:25:14 | Сообщение # 3
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Ошибки 2:
* Первая - возвращается значение из не существующей переменной в функции КоманднаяСтрокаТекущегоПроцессаОСЛкс.
* Вторая это проблема с кодировкой русского текста в командной строке Linux (об этом я сообщал ранее)




Прикрепления: 5482184.jpg (120.7 Kb) · 7545173.jpg (61.8 Kb) · 3548410.jpg (109.2 Kb) · 1066670.jpg (126.7 Kb)
 
tormozitДата: Чт, 13.05.2021, 19:44:57 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 7283
Репутация: 193
Статус: Оффлайн
Первую ошибку подтверждаю https://www.hostedredmine.com/issues/927725
 
tormozitДата: Чт, 13.05.2021, 19:50:24 | Сообщение # 5
Генералиссимус
Группа: Администраторы
Сообщений: 7283
Репутация: 193
Статус: Оффлайн
Для исправления второй ошибки https://www.hostedredmine.com/issues/927726 попробуй в модуле ирОбщий заменить функцию

Код
Функция ВыполнитьКомандуОСЛкс(Знач СтрокаКоманды = "", ОжидатьЗавершения = Истина, Знач _ИмяКомпьютера = "", Элевация = Ложь, Состояние = "") Экспорт
    
    ФайлРезультата = Новый Файл(ПолучитьИмяВременногоФайла("txt"));
    Если ЗначениеЗаполнено(Состояние) Тогда
        ирОбщий.СостояниеЛкс(Состояние);
    КонецЕсли;
    Если ТипЗнч(СтрокаКоманды) = Тип("Массив") Тогда
        СтрокаКоманды = МассивВСтрокуКомандыЛкс(СтрокаКоманды);
    КонецЕсли;
    ЗапуститьСкрытоеПриложениеИДождатьсяЗавершенияЛкс(СтрокаКоманды, ФайлРезультата.Путь,, ФайлРезультата.Имя, ОжидатьЗавершения, Элевация);
    Если ОжидатьЗавершения Тогда
        Если ФайлРезультата.Существует() Тогда
            Если ирКэш.ЛиПлатформаWindowsЛкс() Тогда
                Кодировка = КодировкаТекста.OEM;
            Иначе
                Кодировка = КодировкаТекста.Системная;
            КонецЕсли;
            ТекстовыйДокумент = Новый ТекстовыйДокумент;
            ТекстовыйДокумент.Прочитать(ФайлРезультата.ПолноеИмя, Кодировка);
            УдалитьФайлы(ФайлРезультата.ПолноеИмя);
            Результат = СокрЛП(ТекстовыйДокумент.ПолучитьТекст());
        Иначе
            Результат = Неопределено;
        КонецЕсли;
    Иначе
        Результат = ФайлРезультата.ПолноеИмя;
    КонецЕсли;
    Если ЗначениеЗаполнено(Состояние) Тогда
        ирОбщий.СостояниеЛкс("");
    КонецЕсли;
    Возврат Результат;
    
КонецФункции
 
tormozitДата: Чт, 13.05.2021, 19:51:49 | Сообщение # 6
Генералиссимус
Группа: Администраторы
Сообщений: 7283
Репутация: 193
Статус: Оффлайн
Вставляй после картинок переносы строк. Тогда они не будут располагаться в одну строку и растягивать ячейку страницы форума. Исправил.
 
nclockworkerДата: Чт, 13.05.2021, 20:27:45 | Сообщение # 7
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Лёд тронулся, но Windows не сдается, теперь в командной строке откуда-то расширение файла ".exe" появляется, которого в Linux отродясь не было:


Код
Функция ИмяИсполняемогоФайлаПлатформыЛкс(Полное = Истина, Тонкий = Ложь) Экспорт 
   Результат = "1cv8";
   Если Тонкий Тогда
      Результат = Результат + "c";
   КонецЕсли; 
   Если ирКэш.ЭтоУчебнаяПлатформаЛкс() Тогда
      Результат = Результат + "t";
   КонецЕсли; 
   Результат = Результат + ".exe";
   Если Полное Тогда
      Результат = КаталогПрограммы() + Результат;
   КонецЕсли; 
   Возврат Результат;
КонецФункции


Сообщение отредактировал nclockworker - Чт, 13.05.2021, 20:29:02
 
tormozitДата: Чт, 13.05.2021, 20:33:27 | Сообщение # 8
Генералиссимус
Группа: Администраторы
Сообщений: 7283
Репутация: 193
Статус: Оффлайн
Там просто имя файла "1cv8c" без расширения?
 
nclockworkerДата: Чт, 13.05.2021, 20:35:17 | Сообщение # 9
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Да, модифицировал код таким образом, вроде все запустилось:

Код
Функция ИмяИсполняемогоФайлаПлатформыЛкс(Полное = Истина, Тонкий = Ложь) Экспорт 
   Результат = "1cv8";
   Если Тонкий Тогда
      Результат = Результат + "c";
   КонецЕсли; 
   Если ирКэш.ЭтоУчебнаяПлатформаЛкс() Тогда
      Результат = Результат + "t";
   КонецЕсли; 
   Если ирКэш.ЛиПлатформаWindowsЛкс() Тогда
      Результат = Результат + ".exe";
   КонецЕсли;
   Если Полное Тогда
      Результат = КаталогПрограммы() + Результат;
   КонецЕсли; 
   Возврат Результат;
КонецФункции
 
tormozitДата: Чт, 13.05.2021, 21:24:08 | Сообщение # 10
Генералиссимус
Группа: Администраторы
Сообщений: 7283
Репутация: 193
Статус: Оффлайн
Внес это исправление.
 
tormozitДата: Пн, 17.05.2021, 00:35:57 | Сообщение # 11
Генералиссимус
Группа: Администраторы
Сообщений: 7283
Репутация: 193
Статус: Оффлайн
Исправлено в 5.92
 
  • Страница 1 из 1
  • 1
Поиск: