1С:Предприятие не открывается: ищем, на каком шаге запуск обрывается

· 10 мин

Содержание

1С:Предприятие чаще всего не запускается из-за одной из шести вещей: нет лицензии, повреждена база или кэш, не та версия платформы, нет связи с сервером 1С или СУБД, не хватает прав Windows либо остался зависший процесс. Причину почти всегда подсказывает текст ошибки и момент, когда запуск обрывается. Начинайте с этого, а не с переустановки.

Частое заблуждение — «1С сломалась, надо переустановить платформу». Переустановка помогает редко: файлы лицензии, кэш и список баз лежат в профиле пользователя и в ProgramData, поэтому после неё проблема обычно остаётся на месте. Ниже — что проверять по каждой причине и в каком порядке. Всё сказанное относится к платформе 8.3 и не зависит от конфигурации: Бухгалтерия, ЗУП и УТ запускаются одинаково.

С чего начать диагностику: на каком этапе обрывается запуск

Запуск 1С идёт по цепочке: окно выбора баз → проверка лицензии → подключение к базе → загрузка конфигурации → открытие рабочего окна. Где цепочка рвётся, там и причина.

Что видитеГде обрывКуда смотреть
Ярлык не реагирует, окно выбора баз не появляетсяСама платформа или процессЗависшие процессы, кэш, антивирус
Окно баз есть, после выбора — сообщение о лицензииЛицензированиеКлюч HASP, файлы .lic
Сервер 1С:Предприятия не обнаруженСеть, служба агентаСервер 1С, порты, DNS
Сообщение начинается с Ошибка СУБД:SQL-серверMS SQL или PostgreSQL
Ошибка формата потока, зависание на заставкеКэш или базаОчистка кэша, тестирование базы
Ругается на версию клиента и сервераПлатформаВерсия в свойствах базы
Начало сеанса с информационной базой запрещеноБлокировка сеансовАдминистратор, регламентная операция

💡 Сделайте снимок экрана с ошибкой целиком, включая кнопку «Подробно», если она есть. Подробный текст часто называет конкретный файл или порт — по нему причина находится за минуту.

Диагностика: выберите симптом

Лицензия и ключ защиты: самая частая причина отказа

Без лицензии платформа базу не откроет. Исключение — учебная версия, но у неё свои ограничения, и рабочие базы в ней не используют.

Типичные тексты: Не найдена лицензия, Не обнаружен ключ защиты программы. Дальше всё зависит от того, какая у вас лицензия.

Аппаратный ключ HASP

  1. Убедитесь, что ключ вставлен и на нём горит светодиод. Не горит — переставьте в другой порт, лучше прямо в материнскую плату, без USB-хаба.
  2. Проверьте драйвер. Он ставится из каталога платформы утилитой haspdinst.exe с ключом -i, запуск — от имени администратора.
  3. Для сетевого ключа проверьте, что на компьютере с ключом запущен менеджер лицензий HASP (служба hasplm), а сетевой экран пропускает порт 475 UDP и TCP.
  4. Если клиенты не находят сетевой ключ, пропишите адрес сервера ключа в файле nethasp.ini в каталоге conf платформы.
[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled

Сетевой ключ на 5 пользователей пускает пять сеансов. Шестой пользователь получит ошибку лицензии, хотя у остальных всё работает. Это не поломка, а исчерпанный лимит.

Программная лицензия

Программная лицензия — файл с расширением .lic. В Windows он лежит в C:\ProgramData\1C\licenses, в Linux — в /var/1C/licenses.

Лицензия привязана к параметрам компьютера. Замена материнской платы, сетевой карты, диска или переустановка Windows может её «отвязать». Тогда платформа предложит получить лицензию заново, и для этого понадобится резервный пин-код из комплекта.

Резервных пин-кодов ограниченное число. Не активируйте лицензию повторно «на всякий случай» и не удаляйте файлы .lic при переустановке. Скопируйте каталог licenses в надёжное место заранее.

Если файлы лежат на месте, а 1С их не видит, проверьте права: у пользователя должно быть право чтения на каталог licenses. Об этом — в разделе про права Windows.

Повреждённая база или конфигурация: файловый вариант

Файловая база — это один файл 1Cv8.1CD. Его ломают внезапное отключение питания, сбой сети при работе с базой в общей папке, заполненный диск и антивирус, который «лечит» файл во время записи.

Признаки повреждения: Ошибка формата потока, Нарушение целостности структуры конфигурации, Файл базы данных поврежден, вылет на заставке у всех пользователей сразу. Если ошибка у одного пользователя, а у остальных база открывается, дело скорее в кэше, а не в базе.

Перед любыми попытками починки сделайте копию файла 1Cv8.1CD. Исправление может удалить часть данных, и без копии откатиться будет некуда.

Тестирование и исправление базы

Есть два инструмента.

СпособКогда подходитРиски
Конфигуратор → Администрирование → Тестирование и исправлениеКонфигуратор открывает базуНужен монопольный доступ, все пользователи должны выйти
Утилита chdbfl.exe из каталога bin платформыКонфигуратор тоже не открываетсяРаботает только с файловой базой, правит структуру файла на низком уровне
Загрузка из последней выгрузки .dt или копииИсправление не помоглоПотеряете изменения после даты копии

Порядок для chdbfl.exe:

  1. Попросите всех закрыть 1С и убедитесь, что к файлу базы никто не подключён.
  2. Запустите chdbfl.exe из каталога установленной платформы, например C:\Program Files\1cv8\8.3.24.1691\bin\.
  3. Укажите путь к 1Cv8.1CD.
  4. Сначала запустите проверку без флажка исправления. Посмотрите, что найдено.
  5. Затем включите флажок «Исправлять обнаруженные ошибки» и запустите повторно.

После этого откройте Конфигуратор и пройдите Тестирование и исправление с флажками реиндексации и проверки логической целостности.

Место на диске и путь к базе

Банальные, но частые причины:

  • 💾 на диске с базой 0 байт свободного места — база не откроется на запись;
  • 📁 базу перенесли, а в списке баз остался старый путь;
  • 🌐 общая папка на другом компьютере недоступна: тот компьютер выключен или сменил имя.

Путь проверяется в окне выбора баз: выделите базу — внизу окна виден путь к ней.

Версия платформы не совпадает с базой или сервером

После обновления на компьютере может стоять несколько версий платформы. Если база привязана к одной, а сервер 1С работает на другой, клиент выдаст ошибку несоответствия версий клиента и сервера.

Для клиент-серверной базы правило простое: версия клиента должна совпадать с версией сервера 1С до последней цифры. Сервер на 8.3.24.1691 — значит и клиент на 8.3.24.1691.

Как указать версию для базы:

  1. В окне выбора баз выделите базу и нажмите Изменить.
  2. Пройдите страницы мастера до последней.
  3. В поле «Версия 1С:Предприятия» укажите точный номер, например 8.3.24.1691, или оставьте 8.3, чтобы запускалась самая новая установленная.

Вторая ситуация — конфигурация требует платформу новее установленной. После обновления конфигурации платформа старой версии базу не откроет и сообщит, что нужна версия не ниже указанной. Решение — установить требуемую версию платформы на все компьютеры, где работают с базой, а для клиент-серверной базы — и на сервер.

Если на компьютере пять-шесть старых версий платформы, лишние удалите через «Программы и компоненты» Windows. Оставьте ту, что совпадает с сервером, и ту, что требует конфигурация. Меньше шансов, что база запустится не той версией.

Сервер 1С и SQL: когда клиент-серверная база не отвечает

В клиент-серверном варианте клиент обращается к агенту сервера 1С на порт 1540, затем к менеджеру кластера на 1541 и к рабочим процессам. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию это 1560–1591.

Проверки по порядку

  1. Служба агента. На сервере откройте services.msc и найдите службу «Агент сервера 1С:Предприятия 8.3». Она должна быть в состоянии «Выполняется».
  2. Имя сервера. С клиента выполните ping по имени сервера, как оно указано в параметрах базы. Если по IP отвечает, а по имени нет — проблема в DNS или файле hosts.
  3. Порты. Проверьте доступность порта агента:
Test-NetConnection srv1c -Port 1540
Test-NetConnection srv1c -Port 1541
  1. Сетевой экран. На сервере должны быть открыты 1540, 1541 и весь диапазон рабочих процессов. Открыли только 1540 — консоль может работать, а база не откроется.
  2. СУБД. Если ошибка начинается с Ошибка СУБД:, текст после двоеточия пришёл от SQL-сервера. Проверьте, что служба MS SQL Server или PostgreSQL запущена и на диске с файлами базы данных есть место.

Логин к СУБД

В свойствах информационной базы в консоли кластера указаны сервер СУБД, имя базы, пользователь и пароль. Если администратор сменил пароль пользователя SQL, а в свойствах базы остался старый, 1С не подключится. Исправляется в консоли администрирования серверов 1С, в свойствах информационной базы.

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

Права Windows и учётные записи

Если база открывается под администратором, а под обычным пользователем — нет, причина почти наверняка в правах.

Файловая база

Пользователям нужны права на чтение, запись и изменение каталога с базой. Только чтения мало: при подключении 1С создаёт рядом с 1Cv8.1CD служебные файлы блокировки. Без права записи база не откроется или откроется с ошибкой доступа.

Для базы в общей папке права нужны на двух уровнях: в свойствах общего ресурса и на вкладке «Безопасность» каталога. Действует более строгое из двух.

Каталоги профиля и лицензий

Пользователь должен иметь возможность писать в свой профиль: %APPDATA%\1C и %LOCALAPPDATA%\1C. Туда 1С пишет кэш и настройки. Перенаправленные профили на сетевом диске иногда ломают это при обрыве связи.

Для лицензии — право чтения на C:\ProgramData\1C\licenses.

Сервер 1С

Служба агента сервера работает от отдельной учётной записи, обычно USR1CV8. Типовые поломки:

  • 🔑 сменили пароль этой учётной записи в Windows, а в свойствах службы остался старый — служба не стартует после перезагрузки;
  • 🚫 учётная запись лишилась права «Вход в качестве службы» после изменения групповой политики;
  • 📂 у неё нет прав на каталог srvinfo с данными кластера.

Признак — в журнале Windows «Система» есть ошибка запуска службы агента 1С. Начинайте с него.

Антивирус

Антивирус может блокировать 1cv8.exe или файлы базы. Если ошибка появилась после обновления антивирусных баз, добавьте в исключения каталог платформы, каталог с базой и каталоги кэша. Отключать антивирус целиком не нужно.

Зависшие процессы и очистка кэша

Зависшие процессы на компьютере пользователя

Пользователь закрыл 1С, но процесс остался в памяти. При повторном запуске база не открывается или открывается с ошибкой, что файл занят.

  1. Откройте диспетчер задач (Ctrl+Shift+Esc), вкладку «Подробности».
  2. Найдите процессы 1cv8.exe, 1cv8c.exe, 1cv8s.exe.
  3. Убедитесь, что у пользователя не открыта база в другом окне, и снимите задачу.

Для файловой базы в общей папке зависший процесс может держать файл на другом компьютере. Тогда ищите, кто держит файл: на сервере с общей папкой в оснастке fsmgmt.msc в разделе «Открытые файлы» видно, кто открыл 1Cv8.1CD.

Закрытие открытого файла в fsmgmt.msc обрывает работу этого пользователя без сохранения. Сначала позвоните ему.

Кэш клиента

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

Параметр запуска. В окне выбора баз нажмите Изменить, на последней странице в поле «Дополнительные параметры запуска» впишите /ClearCache. Запустите базу, после успешного входа параметр удалите.

Вручную. Закройте 1С и удалите подкаталоги с длинными именами-идентификаторами:

rem Закройте все окна 1С перед запуском
taskkill /IM 1cv8.exe /F
taskkill /IM 1cv8c.exe /F
for /d %%D in ("%APPDATA%\1C\1cv8\*-*") do rd /s /q "%%D"
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*-*") do rd /s /q "%%D"

Маска *-* выбирает только каталоги-идентификаторы вида 5f2a…-…. Файл списка баз ibases.v8i в %APPDATA%\1C\1CEStart скрипт не трогает, так что базы из списка не пропадут. Пользовательские настройки форм хранятся в самой базе, они тоже сохранятся.

Кэш на сервере 1С

Если ошибка у всех пользователей клиент-серверной базы, а клиентский кэш очищен, виноват может быть сеансовый кэш сервера. Он лежит в каталоге кластера, например C:\Program Files\1cv8\srvinfo\reg_1541\, в подкаталогах snccntx….

Порядок:

  1. Предупредите пользователей и дождитесь, пока все выйдут.
  2. Остановите службу агента сервера 1С.
  3. Перенесите подкаталоги snccntx… в другое место (не удаляйте сразу).
  4. Запустите службу и проверьте вход в базу.

Остальные файлы в reg_1541, особенно 1CV8Clst.lst с реестром кластера, не трогайте: без него сервер «забудет» все зарегистрированные базы.

Частые вопросы

Конфигуратор открывается, а 1С:Предприятие — нет. Почему?
Обычно мешает ошибка в коде при старте (модуль сеанса, обработчик при начале работы) или неполное обновление: изменения загружены, но конфигурация базы данных не обновлена. Откройте Конфигуратор и проверьте, предлагает ли он обновить конфигурацию базы данных.
После обновления Windows 1С перестала запускаться. Что проверить?
Драйвер ключа HASP, исключения антивируса и сетевой экран: обновления иногда сбрасывают правила. Для программной лицензии проверьте, не потребовала ли платформа повторного получения лицензии.
Можно ли запустить базу, если лицензия временно недоступна?
Нет. Без лицензии рабочая база не открывается. Решение — вернуть ключ, восстановить файлы .lic из копии или перенести сеанс на компьютер, где лицензия есть.
У одного пользователя не запускается, у остальных всё работает. С чего начать?
С кэша и прав этого пользователя. База и сервер в таком случае почти наверняка исправны, иначе ошибка была бы у всех.
Как понять, какая версия платформы запускает базу?
В открытой базе — меню «Справка → О программе». Если база не открывается, смотрите поле «Версия 1С:Предприятия» в свойствах базы в окне выбора.