Найти тему
Digital

Ошибка 1С «Пользователь ИБ не идентифицирован»

Оглавление

Сперва о том, что произошло у нас. База клиента поставлена ночью на «Тестирование и исправление», после чего аварийно завершился сеанс Конфигуратора по ошибке переполнения журнала транзакций. Упс.

И все, попасть в ИБ уже невозможно. 1С не дает выбрать пользователя — до этого окна даже не доходит. Сразу ошибка. В режиме 1С:Предприятия — «Нарушение прав доступа», а через Конфигуратор — «Пользователь ИБ не идентифицирован». Приехали...

Хорошо, что перед запуском ТиС была сделана резервная копия базы. Как правило, 1С предупреждает об этом и выводит сообщение:

«Перед выполнением тестирования и исправления информационной базы рекомендуется создать резервную копию».

Параметры среды:
ОС: Windows Server 2022 Standard
Платформа: 8.3.18.1208
Клиент-серверный режим
СУБД: MS SQL Server 2019

Ошибка 1С «Пользователь ИБ не идентифицирован»
Ошибка 1С «Пользователь ИБ не идентифицирован»

Что дальше

Начнем по порядку. Сначала расскажем, как вышли из этой ситуации, потому что надо срочно запускать пользователей в работу. Дальше подробнее об этой ошибке, ее причинах и способах обхода.

Будут разные решения. Элегантные и не очень, но вполне рабочие. Скажем сразу — за основу статьи мы взяли материалы с портала Инфостарт.

Также будьте внимательны, часть действий напрямую связаны с редактированием таблиц БД — поэтому вся ответственность на вас. Вы осознаете, что делаете и как. И, конечно же, сделаете резервные копии перед запуском скриптов.

Как решили

  1. Создали временно на MS SQL новую чистую базу и зарегистрировали ее в Консоли администрирования 1С.
  2. Развернули ИБ из резервной копии (dt-файла).
  3. Сделали новую копию средствами SQL.
  4. Восстановили sql-бэкап в рабочую базу.

Откуда вообще взялась эта ошибка

Как оказалось, это официально подтвержденная ошибка платформы 1С. Какие релизы «под прицелом»:

  • 8.3.16.1814;
  • 8.3.17.1851;
  • 8.3.18.1208.

Исправлена в следующих версиях: 8.3.16.1876, 8.3.17.1989, 8.3.18.1289, 8.3.19.1150, 8.3.20.1549.

Каталог ошибок продукта «Технологическая платформа»
Каталог ошибок продукта «Технологическая платформа»

Ошибка может возникнуть при следующих условиях/действиях:

  • в ре­жи­ме Кон­фи­гу­ра­тор после ошиб­ки при об­нов­ле­нии о том, что жур­нал тран­зак­ций пе­ре­пол­нен;
  • в момент выполнения Тестирования и Исправления (ТиС) или при обычном обновлении после этапа реструктуризации;
  • при обновлении конфигурации и сообщении «Недостаточно памяти» c аварийным закрытием платформы (appcrash);
  • при сохранении изменений в Конфигураторе;
  • просто так.

Реанимация ИБ после такой ошибки

I. Если в любом случае надо остаться на «сбойной» версии платформы, а переход на другие осложнен

Какие есть способы:

1.1 Изменение значения Status

1C делает запрос к таблице SchemaStorage и получает значение Status. В «поломанной» базе этот статус равен "200", в нормальной — "100". Попробуйте его изменить средствами СУБД и запустить базу.

Текст запроса:

USE <ИмяБазы>
SELECT Status FROM SchemaStorage WHERE SchemaID = 0

Запрос на изменение значения Status:

USE <ИмяБазы>
UPDATE SchemaStorage SET Status = 100

1.2 Изменение таблицы Config

Проверка:

USE <ИмяБазы>
SELECT * from Config WHERE FileName = 'commit'
SELECT * from Config WHERE FileName = 'dbStruFinal'


Выполните скрипт на изменение:

USE <ИмяБазы>
DELETE from Config where FileName = 'commit'
DELETE from Config where FileName = 'dbStruFinal'

Внимание. После данных действий, если Конфигуратор долго что-то делает, но не дойдет до ввода логина-пароля — перезапустите службу Агента сервера 1С.

1.3 Таблица v8users

Возможно, после обновления таблица v8users была переименована в v8usersOG. Верните её прежнее название и проверьте авторизацию.

USE <ИмяБазы>
SELECT * into [v8users] FROM [v8usersOG]
GO

Похоже, что при динамическом обновлении платформа меняет название таблицы для того, чтобы запретить новые подключения к базе.

II. Если допускается установка/переход на другие версии технологических платформ 1С

2.1 Установка следующего релиза ТП

Установите следующий релиз технологической платформы 1С, где данную ошибку уже исправили.

Исправлена (с портала bugboard): 8.3.16.1876, 8.3.17.1989, 8.3.18.1289, 8.3.19.1150, 8.3.20.1549.

В качестве временного решения:

Устанавливаете новую версию сервера 1С, запускаете Конфигуратор в ней и завершаете обновление. После чего возвращаетесь на старую версию сервера обратно.

2.2 Восстановление через дополнительную базу

В общем, мы интуитивно использовали этот вариант, когда сами столкнулись с ошибкой. Способ работает, когда у вас есть доступ к резервной копии ИБ (dt) или бэкапу средствами СУБД до изменений.

Повторим еще раз:

  • создайте вспомогательную базу на сервере 1С, загрузите созданную перед началом обновлений выгрузку основной базы;
  • на сервере СУБД штатными средствами сделайте полный бэкап вспомогательной базы;
  • Там же восстановите основную базу из резервной копии вспомогательной БД.

Т. е. восстанавливаете копию в другую базу, а потом средствами СУБД делаете её бэкап и загружаете на основную.

2.3 Запуск на другом кластере/релизе платформы

Порядок следующий:

  • устанавливаете предыдущий/более низкий релиз платформы (на этом же или другом сервере — смотрите, исходя из вашей ситуации);
  • в консоли администрирования 1С другой платформы добавляете базу, на которой ошибка;
  • заходите в Конфигуратор до окна логина и пароля (но ничего не вводите, нажимаете «Отмена»);
  • возвращаетесь на исходную платформу;
  • заходите в Конфигуратор и вводите логин/пароль.

Оптимизированный вариант, если на сервере есть другие версии платформ:

— остановите «Агент сервера 1С:Предприятия 8.3» через «Службы»;

— замените в реестре пусть запуска на старую платформу (параметр ImagePath);

Например,
HKLM\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)
"C:\Program Files\1cv8\8.3.16.1063\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

— запустите Сервер 1С;

— откройте Конфигуратор на старой платформе (в случае вопроса 1С на восстановление проблемной конфигурации ответьте «Да»);

— после появления окна авторизации — отмените вход;

— остановите сервер 1С, поменяйте в реестре путь на исходную версию платформы и запустите Агент сервера 1С по новой.

2.4 Удаление из списка в консоли без удаления ИБ

  • устанавливаете предыдущий/более низкий релиз платформы;
  • удаляете базу из списка в консоли 1С без удаления БД;
  • регистрируете базу в консоли 1С повторно;
  • возвращаетесь на исходную платформу.

✅ Надеемся, у вас получится обойти эту ошибку и восстановить доступ к ИБ. Расскажите о своем опыте в комментариях. Успехов!

Вас также может заинтересовать:

_____________________________________

⚡ Подписывайтесь на канал или задавайте вопрос на сайте — постараемся помочь всеми техническими силами. Безопасной и производительной работы в Windows и 1С.