Четверг, 14.11.2024, 16:55
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Ошибки под LINUX
tormozitДата: Воскресенье, 25.04.2021, 15:53 | Сообщение # 46
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Видимо концом строки в списке переменных среды является не Символы.ПС. Поэтому код
            ПользовательОС = ирОбщий.СтрокаМеждуМаркерамиЛкс(ПеременныеОкружения, "USER=", Символы.ПС, Ложь);
возвращает Неопределено. Надо узнать какой там разделитель строк.
 
tormozitДата: Воскресенье, 25.04.2021, 15:55 | Сообщение # 47
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
testpilot24, да твой совет хорошо бы сразу сократил путь, но только ты в нем перепутал set и env местами =) Это я понял только когда уже пришел сюда же длинным путем.
 
nclockworkerДата: Воскресенье, 25.04.2021, 15:55 | Сообщение # 48
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Цитата tormozit ()
Видимо концом строки в списке переменных среды является не Символы.ПС. Поэтому код            ПользовательОС = ирОбщий.СтрокаМеждуМаркерамиЛкс(ПеременныеОкружения, "USER=", Символы.ПС, Ложь);
возвращает Неопределено. Надо узнать какой там разделитель строк.

Посмотри моё предыдущее сообщение, я там написал, что на сервере нет переменной "USER" у пользователя 1cv8
 
tormozitДата: Воскресенье, 25.04.2021, 15:58 | Сообщение # 49
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Цитата nclockworker ()
Похоже действительно на сервере получить имя текущего пользователя сложнее
Как я понял, на клиенте код создания каталогов кэшей и функция ТекущийПользовательОСЛкс() работает корректно.
Проблема возникает только при выполнении того же кода на сервере?
 
testpilot24Дата: Воскресенье, 25.04.2021, 16:03 | Сообщение # 50
Сержант
Группа: Проверенные
Сообщений: 34
Репутация: 16
Статус: Оффлайн
Команду надо на клиенте выполнять. Нас же интересует что у пользователя. А не что на сервере. И да видимо перепутал. У себя пришлось имя пользователя получать, так как с началом перехода на линукс выяснилась такая штука. Линукс монтирует сетевой диск примерно так /mnt/$user/shared_resource. И для каждого пользователя соответственно нужно путь в 1с так же генерировать.

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

Да и еще надо учитывать что переменные разные под виндой и под линукс. Например под виндой пользователь ОС username, а в линукс просто user

И еще. Получение переменных среды что для Макоси, что для линукса одинаково.
 
tormozitДата: Воскресенье, 25.04.2021, 16:03 | Сообщение # 51
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Цитата nclockworker ()
на сервере нет переменной "USER" у пользователя 1cv8
Понял. Сделаю чтобы по умолчанию (при отсутствии переменной среды) использовался пользователь "local". Я так понял это - аналог "local system" в Windows.
 
nclockworkerДата: Воскресенье, 25.04.2021, 16:20 | Сообщение # 52
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Цитата tormozit ()
Как я понял, на клиенте код создания каталогов кэшей и функция ТекущийПользовательОСЛкс() работает корректно.Проблема возникает только при выполнении того же кода на сервере?

Да, у пользователя клиента в папке кэшей все подпапки есть ("а", "с", "КэшМодулей", "КэшРолей и т.д.). А у пользователя usr1cv8 пусто.
Кстати у пользователя root нет папки в /home, у него своя /root. Т.ч. из переменной $HOME его надо просто проверять на строку "/root" без папки "home".
 
tormozitДата: Воскресенье, 25.04.2021, 16:25 | Сообщение # 53
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
nclockworker, перечитал несколько раз, но не понял как поступать при выполнении кода на сервере.
 
nclockworkerДата: Воскресенье, 25.04.2021, 16:32 | Сообщение # 54
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Цитата tormozit ()
nclockworker, перечитал несколько раз, но не понял как поступать при выполнении кода на сервере.


Вообще мне тоже не совсем понятно. Т.к. пишут, что демоны запущенные через  systemctl, могут даже $HOME директории не иметь.
И, как заметил testpilot24, непонятно зачем на стороне сервера понадобился кэш? И если он там уж есть, то неясно как его делить между разными сеансами, т.к. все rphost'ы запущены под одним пользователем. И не было бы логичнее тогда использовать просто папку temp  на стороне сервера?

Есть еще утилита "whoami", которая возвращает текущее имя пользователя.
 
tormozitДата: Воскресенье, 25.04.2021, 16:33 | Сообщение # 55
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Что выдает сервер через КаталогДокументов() ?
Что выдает сервер через ирОбщий.ВыполнитьКомандуОСЛкс("whoami")?
 
tormozitДата: Воскресенье, 25.04.2021, 16:43 | Сообщение # 56
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Цитата nclockworker ()
зачем на стороне сервера понадобился кэш?
Для работы остальных функций, которые на него опираются. Глушить/переделывать обращения к нему будет затратно. Проще его создать. По факту на сервере он местами используется только для хранения файлов внешних компонент.
 
tormozitДата: Воскресенье, 25.04.2021, 16:47 | Сообщение # 57
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
https://www.hostedredmine.com/attachments/405718
исправлено
- ошибка выполнения кода в консоли кода
- получение имени пользователя на сервере
 
nclockworkerДата: Воскресенье, 25.04.2021, 16:52 | Сообщение # 58
Генерал-майор
Группа: Пользователи
Сообщений: 437
Репутация: 342
Статус: Оффлайн
Цитата tormozit ()
Что выдает сервер через функцию КаталогДокументов() ?

Этот метод не доступен для сервера.

Добавлено (25.04.2021, 17:18)
---------------------------------------------
Не открываются "Анализ замера производительности", "Анализ метаданных", "Подписки на события", "Статистика по запросам СУБД", "Анализ прав доступа":




"Анализ техножурнала" - просто ничего не происходит. В ЖР ошибок нет.

"Консоль запросов":


"Консоль кода" - при выполнении кода не происходит "Автозаполнение" параметров. Сам код вроде бы выполняется.

"Конструктор регулярного выражения" - просто не открывается.

"Открыть объект для отладки" - просто не открывается

"Отладка внешних обработок БСП":



"Отсутствующие индексы СУБД":



Добавлено (25.04.2021, 17:21)
---------------------------------------------
"Синтакс помощник":

Добавлено (25.04.2021, 17:31)
---------------------------------------------
"Интерфейсная панель":


"Консоль сервера":


"Полнотекстовый поиск данных":


"Регистрация COM компонент" - просто не открывается.
"Сборщики счетчиков Windows" - просто не открывается.
"Управление COM классами 1С" - просто не открывается.
"Управление службами серверов 1С" - просто не открывается.

Всё остальное открывается.


Сообщение отредактировал nclockworker - Воскресенье, 25.04.2021, 17:23
 
tormozitДата: Воскресенье, 25.04.2021, 20:24 | Сообщение # 59
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Какая папка в linux будет аналогом C:\ProgramData в Windows?
Судя по документации, в других ОС нет аналога такого каталога
https://its.1c.ru/db/v838doc#bookmark:adm:TI000000370
 
tormozitДата: Воскресенье, 25.04.2021, 21:28 | Сообщение # 60
Генералиссимус
Группа: Администраторы
Сообщений: 6451
Репутация: 168
Статус: Оффлайн
Все ошибки исправлены в 5.89
 
Поиск: