Имя: Пароль:
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) Беру свои слова обратно. Был не прав. Скачал последнюю БСП, сравнил. В старой версии брался первый в списке рабочий процесс, в новой версии перебираются все рабочие процессы. Видно просто до этого "везло" что первый процесс всегда был "нужным".