1С:Предприятие не открывается: ищем, на каком шаге запуск обрывается
Содержание
1С:Предприятие чаще всего не запускается из-за одной из шести вещей: нет лицензии, повреждена база или кэш, не та версия платформы, нет связи с сервером 1С или СУБД, не хватает прав Windows либо остался зависший процесс. Причину почти всегда подсказывает текст ошибки и момент, когда запуск обрывается. Начинайте с этого, а не с переустановки.
Частое заблуждение — «1С сломалась, надо переустановить платформу». Переустановка помогает редко: файлы лицензии, кэш и список баз лежат в профиле пользователя и в ProgramData, поэтому после неё проблема обычно остаётся на месте. Ниже — что проверять по каждой причине и в каком порядке. Всё сказанное относится к платформе 8.3 и не зависит от конфигурации: Бухгалтерия, ЗУП и УТ запускаются одинаково.
С чего начать диагностику: на каком этапе обрывается запуск
Запуск 1С идёт по цепочке: окно выбора баз → проверка лицензии → подключение к базе → загрузка конфигурации → открытие рабочего окна. Где цепочка рвётся, там и причина.
| Что видите | Где обрыв | Куда смотреть |
|---|---|---|
| Ярлык не реагирует, окно выбора баз не появляется | Сама платформа или процесс | Зависшие процессы, кэш, антивирус |
| Окно баз есть, после выбора — сообщение о лицензии | Лицензирование | Ключ HASP, файлы .lic |
Сервер 1С:Предприятия не обнаружен | Сеть, служба агента | Сервер 1С, порты, DNS |
Сообщение начинается с Ошибка СУБД: | SQL-сервер | MS SQL или PostgreSQL |
Ошибка формата потока, зависание на заставке | Кэш или база | Очистка кэша, тестирование базы |
| Ругается на версию клиента и сервера | Платформа | Версия в свойствах базы |
Начало сеанса с информационной базой запрещено | Блокировка сеансов | Администратор, регламентная операция |
💡 Сделайте снимок экрана с ошибкой целиком, включая кнопку «Подробно», если она есть. Подробный текст часто называет конкретный файл или порт — по нему причина находится за минуту.
Лицензия и ключ защиты: самая частая причина отказа
Без лицензии платформа базу не откроет. Исключение — учебная версия, но у неё свои ограничения, и рабочие базы в ней не используют.
Типичные тексты: Не найдена лицензия, Не обнаружен ключ защиты программы. Дальше всё зависит от того, какая у вас лицензия.
Аппаратный ключ HASP
- Убедитесь, что ключ вставлен и на нём горит светодиод. Не горит — переставьте в другой порт, лучше прямо в материнскую плату, без USB-хаба.
- Проверьте драйвер. Он ставится из каталога платформы утилитой
haspdinst.exeс ключом-i, запуск — от имени администратора. - Для сетевого ключа проверьте, что на компьютере с ключом запущен менеджер лицензий HASP (служба
hasplm), а сетевой экран пропускает порт 475 UDP и TCP. - Если клиенты не находят сетевой ключ, пропишите адрес сервера ключа в файле
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С и убедитесь, что к файлу базы никто не подключён.
- Запустите
chdbfl.exeиз каталога установленной платформы, напримерC:\Program Files\1cv8\8.3.24.1691\bin\. - Укажите путь к
1Cv8.1CD. - Сначала запустите проверку без флажка исправления. Посмотрите, что найдено.
- Затем включите флажок «Исправлять обнаруженные ошибки» и запустите повторно.
После этого откройте Конфигуратор и пройдите Тестирование и исправление с флажками реиндексации и проверки логической целостности.
Место на диске и путь к базе
Банальные, но частые причины:
- 💾 на диске с базой 0 байт свободного места — база не откроется на запись;
- 📁 базу перенесли, а в списке баз остался старый путь;
- 🌐 общая папка на другом компьютере недоступна: тот компьютер выключен или сменил имя.
Путь проверяется в окне выбора баз: выделите базу — внизу окна виден путь к ней.
Версия платформы не совпадает с базой или сервером
После обновления на компьютере может стоять несколько версий платформы. Если база привязана к одной, а сервер 1С работает на другой, клиент выдаст ошибку несоответствия версий клиента и сервера.
Для клиент-серверной базы правило простое: версия клиента должна совпадать с версией сервера 1С до последней цифры. Сервер на 8.3.24.1691 — значит и клиент на 8.3.24.1691.
Как указать версию для базы:
- В окне выбора баз выделите базу и нажмите
Изменить. - Пройдите страницы мастера до последней.
- В поле «Версия 1С:Предприятия» укажите точный номер, например
8.3.24.1691, или оставьте8.3, чтобы запускалась самая новая установленная.
Вторая ситуация — конфигурация требует платформу новее установленной. После обновления конфигурации платформа старой версии базу не откроет и сообщит, что нужна версия не ниже указанной. Решение — установить требуемую версию платформы на все компьютеры, где работают с базой, а для клиент-серверной базы — и на сервер.
Если на компьютере пять-шесть старых версий платформы, лишние удалите через «Программы и компоненты» Windows. Оставьте ту, что совпадает с сервером, и ту, что требует конфигурация. Меньше шансов, что база запустится не той версией.
Сервер 1С и SQL: когда клиент-серверная база не отвечает
В клиент-серверном варианте клиент обращается к агенту сервера 1С на порт 1540, затем к менеджеру кластера на 1541 и к рабочим процессам. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию это 1560–1591.
Проверки по порядку
- Служба агента. На сервере откройте
services.mscи найдите службу «Агент сервера 1С:Предприятия 8.3». Она должна быть в состоянии «Выполняется». - Имя сервера. С клиента выполните
pingпо имени сервера, как оно указано в параметрах базы. Если по IP отвечает, а по имени нет — проблема в DNS или файлеhosts. - Порты. Проверьте доступность порта агента:
Test-NetConnection srv1c -Port 1540
Test-NetConnection srv1c -Port 1541
- Сетевой экран. На сервере должны быть открыты 1540, 1541 и весь диапазон рабочих процессов. Открыли только 1540 — консоль может работать, а база не откроется.
- СУБД. Если ошибка начинается с
Ошибка СУБД:, текст после двоеточия пришёл от 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С, но процесс остался в памяти. При повторном запуске база не открывается или открывается с ошибкой, что файл занят.
- Откройте диспетчер задач (
Ctrl+Shift+Esc), вкладку «Подробности». - Найдите процессы
1cv8.exe,1cv8c.exe,1cv8s.exe. - Убедитесь, что у пользователя не открыта база в другом окне, и снимите задачу.
Для файловой базы в общей папке зависший процесс может держать файл на другом компьютере. Тогда ищите, кто держит файл: на сервере с общей папкой в оснастке 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С.
- Перенесите подкаталоги
snccntx…в другое место (не удаляйте сразу). - Запустите службу и проверьте вход в базу.
Остальные файлы в reg_1541, особенно 1CV8Clst.lst с реестром кластера, не трогайте: без него сервер «забудет» все зарегистрированные базы.