Имя: Пароль:
1C
1С v8
COM-соединение: Неправильные имя и пароль администратора информационной базы %1 в кластере
0 AlexSTAL
 
11.09.20
13:24
Кластер из 3-х серверов (2 центральных и 1 лицензирования)
Несколько инсталляций в разных филиалах, версии 8.3.17.1496 и 8.3.17.1549, windows server

Внезапно сломался типовой функционал БСП "Блокировка работы пользователей" (может как-то с системными обновлениями windows связано??)

При попытке получить сведения БД через COM возвращается пустой COM-объект (заполнено имя только базы данных)

Код там примитивный:

Функция ПолучитьИБ(СоединениеСРабочимПроцессом, Кластер, Знач ИмяВКластере, Знач ИмяАдминистратораИБ, Знач ПарольАдминистратораИБ)
    СоединениеСРабочимПроцессом.AddAuthentication(ИмяАдминистратораИБ, ПарольАдминистратораИБ);
    Для Каждого ИнформационнаяБаза Из СоединениеСРабочимПроцессом.GetInfoBases() Цикл
        Если НРег(ИнформационнаяБаза.Name) = НРег(ИмяВКластере) Тогда
            Если Не ЗначениеЗаполнено(ИнформационнаяБаза.DBMS) Тогда
                ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Неправильные имя и пароль администратора информационной базы %1 в кластере серверов %2:%3 (имя: ""%4"").'"),

Пользователь валидный, пароль валидный, перебивать пароль на 123 пробовал, в базу заходит под ним...
Ограничений на длину/сложность пароля в 1С не стоит...

Что могло ломаться??
1 Энштейн 1С
 
11.09.20
13:27
(0) Сделай откат на более стабильную платформу 1С
2 AlexSTAL
 
11.09.20
13:29
(1) Да вроде ни одной жалобы не было с июня на стабильность, конфа самописка на БСП
3 AlexSTAL
 
11.09.20
13:30
Сервера все перезагружал
4 Энштейн 1С
 
11.09.20
13:30
(2) Раньше жалоб не было, сейчас есть. Тебе религия не позволяет установить более раннюю версию 1С?
5 AlexSTAL
 
11.09.20
13:31
(4) В нашей конторе это крайне сложно, без подробностей
6 Энштейн 1С
 
11.09.20
13:31
(2) Тем более мог своей самопиской повредить БСП, сравни оригинальную БСП со своей конфигурацией
7 AlexSTAL
 
11.09.20
13:33
(6) Никто не трогал вообще ничего. У нас всё по регламентам, с хеш-контролем каждого модуля. Это просто раз и произошло. Максимум что делали - ставили обновления Windows
8 Энштейн 1С
 
11.09.20
13:35
(7) Перегружал все сервера? Приложений, СУБД, лицензий, терминальный? Плюс еще раз надо перезагрузить Widows там могли определенные обновления недоустановиться
9 AlexSTAL
 
11.09.20
13:37
(8) Все перечисленные... Ещё раз не требуется, разворачивается всё с ручным контролем с WSUS, корректность установки проверяется специалистами
10 Энштейн 1С
 
11.09.20
13:38
(9) БСП последней версии стоит?
11 AlexSTAL
 
11.09.20
13:40
(10) Нет. Я привёл кусок кода, там 2 строчки. Если их выполнять во внешней обработке, такая же петрушка.
Проблема с COM-соединением с ИБ. С кластером всё корректно соединяется.
12 Cyberhawk
 
11.09.20
13:41
"Пользователь валидный, пароль валидный, перебивать пароль на 123 пробовал, в базу заходит под ним" // Может в кластере добавили хотя бы одного администратора, а до этого их там не было?
13 Энштейн 1С
 
11.09.20
13:43
(11) Вот ставьте последний БСП и будет Вам счастье
14 dmpl
 
11.09.20
13:45
(0) Это не тот пользователь и не тот пароль. Эти реквизиты не используются для входа в базу, они задаются в оснастке управления серверами 1С.

(12) Угу, или пользователя поменяли.
15 AlexSTAL
 
11.09.20
13:47
(12) Не... исключено, проверял всё
16 AlexSTAL
 
11.09.20
13:48
(14) Умею различать пользователя консоли кластера, пользователя кластера и пользователя БД, всё корректно, год работало
17 AlexSTAL
 
11.09.20
13:49
(13) БСП к COM отношения ну просто никакого не имеет... Там методы платформы используются
18 Энштейн 1С
 
11.09.20
13:49
(16) Просто они хотят казаться умными и разбирающимися не только в 1С
19 Энштейн 1С
 
11.09.20
13:49
(17) Тебе регламенты не позволяют обновить БСП или просто лень?
20 dmpl
 
11.09.20
13:53
(16) Ну тогда надо не вход в базу проверять, а работает ли управление из оснастки.
21 AlexSTAL
 
11.09.20
13:54
(19) Для начала регламенты.

Сейчас посмотрел журнал регистрации - даже попыток нет авторизоваться в БД...
22 AlexSTAL
 
11.09.20
13:54
(20) Оснастка работает
23 Энштейн 1С
 
11.09.20
13:55
(21) Потому что код в 1С не работает, поэтому и не пытается
24 AlexSTAL
 
11.09.20
13:57
(23) да как это он не работает то...
Отрабатывает - Если НРег(ИнформационнаяБаза.Name) = НРег(ИмяВКластере) Тогда

Только остальные поля в ИнформационнаяБаза пустые...
25 Энштейн 1С
 
11.09.20
14:12
(24) А все потому что:
1) Не хочешь откатываться на более стабильную платформу
2) Не хочешь перейти на последний БСП

PS: Выдал 3 строчки кода и мы должны гадать как оракулы. Ставь точки останова и анализируй
26 dmpl
 
11.09.20
14:13
(24) Было когда-то такое, что после первого чтения из COMSageArray значения пропадали. Может вернулось?
27 AlexSTAL
 
11.09.20
14:20
(26) Есть тема по проблеме? Что попробовать повторно перечитать и где?
28 Энштейн 1С
 
11.09.20
14:21
(24) "Внезапно сломался типовой функционал БСП "Блокировка работы пользователей""
А обновлять сломавшийся БСП не хочет... Душа человека - загадка.
29 dmpl
 
11.09.20
14:23
(27) Отладчиком посмотреть, есть ли данные после GetInfoBases(). Метод лучше вызвать прямо в Табло, чтобы гарантированно быть первым, кто прочитает значение.
30 Энштейн 1С
 
11.09.20
14:27
(0) "Ограничений на длину/сложность пароля в 1С не стоит..."
Кстати да, задайка сложный и длинный пароль, может эта проверка стоит в windows или в коде БСП или твоей нетленки
31 AlexSTAL
 
11.09.20
14:33
(29) Попробовал ещё раз, в табло добавлял... результат тот же, выполняется всё по сценарию:

Соединение с рабочим процессом (IWorkingProcessConnection)
GetInfoBases (GetInfoBases)
Возвращаемое значение: Тип: COMSafeArray.
Одномерный массив COMSafeArray, содержащий объекты Информационная база.
Описание:
Получает массив информационных баз, зарегистрированных в кластере серверов. Для выполнения не требуется аутентификации. При этом у информационной базы можно получить только значения свойств Name и Descr.

Т.е. заполнены только свойства Name и Descr. В ЖР нет даже попытки авторизоваться (СоединениеСРабочимПроцессом.AddAuthentication(ИмяАдминистратораИБ, ПарольАдминистратораИБ))
32 Энштейн 1С
 
11.09.20
14:35
(31) "В ЖР нет даже попытки авторизоваться"
Ставить точки останова и пошагово идти по каждой строке кода вместе с отладчиком и анализом значений переменных тоже регламенты запрещают?. Чтож у Вас там за организация такая?
33 AlexSTAL
 
11.09.20
14:37
(32) Всё написанное сделано ни один раз
34 Энштейн 1С
 
11.09.20
14:41
(33) "Всё написанное сделано ни один раз"
На последний БСП обновлял ни один раз?
35 AlexSTAL
 
11.09.20
14:49
(34) см пункт (11) Вообще без применения БСП в другой ИБ всё то же самое
36 AlexSTAL
 
11.09.20
15:55
(34) Беру свои слова обратно. Был не прав. Скачал последнюю БСП, сравнил. В старой версии брался первый в списке рабочий процесс, в новой версии перебираются все рабочие процессы. Видно просто до этого "везло" что первый процесс всегда был "нужным".
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший