Ошибки под 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
|
|
| |