Вт, 10.02.2026, 21:07:16
Главная Регистрация RSS
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Бесконечный перезапуск ИР
mmakkcaaДата: Вт, 02.08.2022, 13:39:46 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 1
Репутация: 4
Статус: Оффлайн
Описание ошибки: После нажатия на кнопку "Установить расширение" в установщике варианта расширения первый запуск для текущего администратора проходит гладко: подсистема в интерфейсе отображается, инструментами ИР можно пользоваться. Но стоит перезапустить этого администратора или зайти под другим администратором, то текущий сеанс бесконечно перезапускается.

Причина ошибки: Ошибка связана с тем, что в новой БСП (3.1.6.227) появилось регламентное задание ЗаполнениеПараметровРаботыРасширений, которое вызывает процедуру УправлениеДоступомСлужебный.ОбновитьРолиПользователей при начале работы системы в фоне, которая в свою очередь сбрасывает ВСЕ роли ВСЕХ администраторов, кроме трех: ПолныеПрава, АдминистраторСистемы, ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок. А когда доходит очередь проверок ИР (ирПриНачалеРаботыСистемы), то ИР не находит хотя бы одного администратора с необходимыми ролями, устанавливает их текущему администратору и отправляет его в перезапуск, для применения этих ролей. И так в цикле.

Варианты решения:
1) Добавить к текущим наименованиям ролей расширения в конце "ПолныеПрава" (Пример: ирРазработчикПолныеПрава), тогда роли добавятся в профиль "Администраторы" и, соответственно, будут присвоены всем администраторам при первом запуске любого пользователя в программу. Также, данный способ  препятствует очистке ролей при перезаписи пользователя, т.к. присвоены ему, по сути, через режим предприятия.

2) Добавить в расширение дополнение к модулю УправлениеДоступомСлужебный:

&Перед("ОбновитьРолиПользователейИБ")
Процедура ирОбновитьРолиПользователейИБ(ОбновляемыеПользователиИБ, ПарольПользователяСервиса)

ОтборРасширенияКонфигурации = Новый Структура("Имя", "ИнструментыРазработчикаTormozit");
РасширениеКонфигурации = РасширенияКонфигурации.Получить(ОтборРасширенияКонфигурации)[0];
ОбъектРасширенияКонфигурации = Новый ОбъектМетаданныхКонфигурация(РасширениеКонфигурации.ПолучитьДанные());
РолиРасширенияИР = ОбъектРасширенияКонфигурации.Роли;

ОтборРасширенияКонфигурации = Неопределено;
РасширениеКонфигурации = Неопределено;
ОбъектРасширенияКонфигурации = Неопределено;

Для Каждого КлючИЗначение Из ОбновляемыеПользователиИБ Цикл
РолиДляУдаления = КлючИЗначение.Значение.РолиДляУдаления;
Для каждого РольРасширенияИР Из РолиРасширенияИР Цикл
ИмяРолиРасширенияИР = РольРасширенияИР.Имя;
Если РолиДляУдаления.Получить(ИмяРолиРасширенияИР) <> Неопределено Тогда
РолиДляУдаления.Удалить(ИмяРолиРасширенияИР);
КонецЕсли;
КонецЦикла;
КонецЦикла;

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

Так мы препятствуем удалению ролей ИР и получаем то, что было ранее.

===============================================

Платформа: 8.3.20.1710
Режим БД: клиент-серверный
Конфигурация. Название: Бухгалтерия некредитной финансовой организации КОРП, редакция 3.0 (3.0.113.17)
Конфигурация. Основной режим запуска: Управляемое приложение
Конфигурация. Вариант встроенного языка: Русский
Конфигурация. Режим управления блокировкой данных: Управляемый
Конфигурация. Режим совместимости: Версия8_3_17
Конфигурация. Версия БСП: 301
Инструменты разработчика. Версия: Расширение 6.37.1e
Инструменты разработчика. Инструмент: Прочее
Инструменты разработчика. Перехват клавиатурного ввода: Да
Инструменты разработчика. Объекты на сервере: Да
Инструменты разработчика. Асинхронность запрещена: Нет
Инструменты разработчика. Разрешены имитаторы: Да
Расширения. БагФиксОбмен (1.2)
Расширения. ИнструментыРазработчикаTormozit (6.37.1e)
Клиент. Приложение: Управляемое приложение 64б
Клиент. Проверка модальных вызовов: Нет
Клиент. Язык интерфейса конфигурации: ru
Клиент. Язык интерфейса системы: ru
Клиент. ОС: Майкрософт Windows Server 2019 Datacenter 64-разрядная Русский
Клиент. ОС от имени администратора: Нет
Клиент. ОС Текущая кодовая страница: 866
Сервер. ОС: Майкрософт Windows Server 2019 Datacenter 64-разрядная Русский
Сервер. Процесс: 64б
Сервер. Отладка: tcp
 
tormozitДата: Ср, 03.08.2022, 08:17:55 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 7312
Репутация: 193
Статус: Оффлайн
Воспроизвести бесконечный цикл перезапуска мне не удалось. Однократный перезапуск действительно выполняется при первом входе после выполнения этого регламентного задания. Но это рег. задание сразу отключается. Поэтом при следующем перезапуске роли уже не сбрасываюся.

Предложенные тобой способы решения проблемы пока не кажутся хорошими:
1. Добавление роли в профиль "Администраторы" приведет к тому, что у ВСЕХ администраторов появятся инструменты. А многим это не нравится, т.к. часто все пользователи работают под администраторами. Потому то я специально делал такую логику с подключением роли только у ПЕРВОГО вошедшего администратора.
2. Жесткая привязка расширения к функции БСП сделает расширение не универсальным (оно не запустится без БСП). Можно конечно добавить эту привязку в процедуру адаптации расширения, но заставлять делать адаптацию всех тоже не хочется, т.к. это очень усложняет установку/обновление.
 
poltavaaleksandrДата: Ср, 03.08.2022, 13:48:11 | Сообщение # 3
Лейтенант
Группа: Пользователи
Сообщений: 49
Репутация: 16
Статус: Оффлайн
tormozit, добрый день, а ты тестил на релизе БСП >=3.1.6.227?
 
tormozitДата: Ср, 03.08.2022, 13:54:23 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 7312
Репутация: 193
Статус: Оффлайн
Проверял на БСП 3.1.6.137
 
poltavaaleksandrДата: Ср, 03.08.2022, 13:59:08 | Сообщение # 5
Лейтенант
Группа: Пользователи
Сообщений: 49
Репутация: 16
Статус: Оффлайн
Глянешь 3.1.6.227?
Если не воспроизведётся, (вдруг от настроек зависит например упрощённая раздача прав или нет), мы можем воспроизвести на типовой БП и переслать дт-шник.
 
tormozitДата: Ср, 03.08.2022, 15:05:58 | Сообщение # 6
Генералиссимус
Группа: Администраторы
Сообщений: 7312
Репутация: 193
Статус: Оффлайн
Готовый DT файл с базой конечно предпочтительнее.
 
poltavaaleksandrДата: Ср, 03.08.2022, 15:33:55 | Сообщение # 7
Лейтенант
Группа: Пользователи
Сообщений: 49
Репутация: 16
Статус: Оффлайн
на неделе подготовим. боевой проблемный по очевидным причинам кинуть не можем.
 
tormozitДата: Чт, 04.08.2022, 08:46:22 | Сообщение # 8
Генералиссимус
Группа: Администраторы
Сообщений: 7312
Репутация: 193
Статус: Оффлайн
Проверил на демо базе БСП 3.1.7.123. Проблемы нет.
 
tormozitДата: Пт, 05.08.2022, 23:23:45 | Сообщение # 9
Генералиссимус
Группа: Администраторы
Сообщений: 7312
Репутация: 193
Статус: Оффлайн
Если отключить расширение БагФиксОбмен, проблема проявляется?
 
tormozitДата: Сб, 06.08.2022, 09:05:52 | Сообщение # 10
Генералиссимус
Группа: Администраторы
Сообщений: 7312
Репутация: 193
Статус: Оффлайн
Для информации https://www.hostedredmine.com/issues/948224
Не уверен, что это исправит проблему, но какое то влияние может оказать.
 
tormozitДата: Вс, 11.12.2022, 09:28:59 | Сообщение # 11
Генералиссимус
Группа: Администраторы
Сообщений: 7312
Репутация: 193
Статус: Оффлайн
Еще похожая проблема http://devtool1c.ucoz.ru/forum/2-2196-1
Мне так и не предоставили базу, где проблема воспроизводится.
 
tormozitДата: Вс, 11.12.2022, 12:29:02 | Сообщение # 12
Генералиссимус
Группа: Администраторы
Сообщений: 7312
Репутация: 193
Статус: Оффлайн
Проблему не смог воспроизвести. Создал задачу по блокированию многократного перезапуска https://www.hostedredmine.com/issues/955636
 
poltavaaleksandrДата: Вс, 11.12.2022, 13:51:37 | Сообщение # 13
Лейтенант
Группа: Пользователи
Сообщений: 49
Репутация: 16
Статус: Оффлайн
Проблему решили, ниже письмо с описанием, как. Проблема воспроизводится только на стенде заказчика и видимо связана с настройками постгри \ ОС.

Добрый день! Поступила задача по установке инструментов разработчика (ИР) на базы заказчика. После установки первый запуск для текущего администратора прошел гладко: подсистема в интерфейсе отображается, инструментами ИР можно пользоваться. Но стоит перезапустить этого администратора или зайти под другим администратором, то текущий сеанс бесконечно перезапускается.
Ошибка связана с тем, что в новой БСП (3.1.6.227) появилось регламентное задание ЗаполнениеПараметровРаботыРасширений, которое вызывает процедуру УправлениеДоступомСлужебный.ОбновитьРолиПользователей при начале работы системы в фоне, которая в свою очередь сбрасывает ВСЕ роли ВСЕХ администраторов, кроме трех: ПолныеПрава, АдминистраторСистемы, ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок. А когда доходит очередь проверок ИР (ирПриНачалеРаботыСистемы), то ИР не находит хотя бы одного администратора с необходимыми ролями, устанавливает их текущему администратору и отправляет его в перезапуск, для применения этих ролей. И так в цикле.
Выгрузил конфигурацию для теста на нашем стенде. Однократный перезапуск действительно выполняется при первом входе после выполнения этого регламентного задания. Но это рег. задание сразу отключается. Поэтому при следующем перезапуске роли уже не сбрасываются. Сделал вывод, что ошибка не в релизе и не в расширении, а у клиента.
Так как рег. задание не является предопределенным (не стоит флаг «использовать» в свойствах объекта), стал искать кем и где вызывается данное регламентированное задание. Задание вызывается в модуле менеджера РС ПараметрыРаботыВерсийРасширений в процедуре ПриПервомСерверномВызове. Сравнил, как она выполняется у нас на стенде и как у клиента. Обнаружил, что функция ТребуетсяВключитьЗаполнениеПараметровРаботыРасширений у клиента постоянно возвращает значение Истина.  Данная функция сравнивает идентификаторы двух параметров хранящиеся в ХранилищеЗначений: ИдентификаторЗаполненияПараметровРаботыРасширений и ПоследняяВерсияРасширений. Нашел, что параметры заполняются исходя из данных справочника ВерсииРасширений. Зайдя в этот справочник в режиме Предприятие обнаружил, что записи дублируются, различается только Описание метаданных. (см. скрин).

Нашел код, где формирует это описание метаданных.

С версии 8.2 «Ложь» в строку принимает значение «Нет» или «No» в зависимости от выбранного языка. В данном случае, Расширение.БезопасныйРежим возвращает Ложь, но в строку идет значение «No». Через какое-то время, задание запускается повторно, но КонтрольнаяСумма (Описание метаданных) заполняется уже со значением «Нет», после чего идет поиск элемента с этим описанием, не находит его и создает второй элемент, то есть дубль.
Чтобы доказать свою гипотезу, что проблема в том, что дублируются записи в справочнике, решил закомментировать код, который формирует запись «Безопасный режим» (так как это быстрее, чем искать, где некорректно установлен язык). Доказано.
Как в "1С:Бухгалтерии 8" (ред. 3.0) сделать региональные установки информационной базы (форматы дат, времени, представления чисел)? :: Отвечает специалист 1С (1c.ru)
Зная, что у клиента СУБД PostgreSQL решил снять галку «Использовать региональные установки текущего сеанса» и установить значения самостоятельно (см. скрин)

Удалил все элементы справочника Версии расширений и затер РС Параметры работы версий расширений. Заработало.

Проблемы с некорректным отображением/заполнением значений из за языка могут возникнуть не только с расширениями, поэтому прошу взять на заметку.
Прикрепления: 5957943.jpg (17.7 Kb) · 2256314.jpg (25.0 Kb) · 8082271.png (17.0 Kb)


Сообщение отредактировал poltavaaleksandr - Вс, 11.12.2022, 17:03:38
 
tormozitДата: Вс, 11.12.2022, 14:14:42 | Сообщение # 14
Генералиссимус
Группа: Администраторы
Сообщений: 7312
Репутация: 193
Статус: Оффлайн
В форме нового сообщения снизу есть текст "Прикрепить файл" и рядом с ним кнопки - они позволяют прикреплять картинки.
 
poltavaaleksandrДата: Вс, 11.12.2022, 17:04:11 | Сообщение # 15
Лейтенант
Группа: Пользователи
Сообщений: 49
Репутация: 16
Статус: Оффлайн
разобрался - вставил картинки)
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: