Как найти причину сбоя по журналу регистрации 1С 8.3
Содержание
Журнал регистрации ошибок в 1С 8.3 открывается в пользовательском режиме через Администрирование → Обслуживание → Журнал регистрации, а в Конфигураторе — через Администрирование → Журнал регистрации. Если раздела «Администрирование» нет, тот же журнал доступен из Все функции → Стандартные → Журнал регистрации. Чтобы увидеть только сбои, поставьте отбор по важности «Ошибка».
Журнал — механизм платформы, а не конкретной конфигурации. Он одинаково устроен в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и любой другой базе на 8.3. Различаются только пути в меню, и то незначительно. Для поиска и анализа ошибок это первый инструмент: в нём видно, кто, когда, на каком компьютере и в каком объекте получил сбой.
Где открыть журнал регистрации в 1С: пути по программам
В типовых конфигурациях на БСП (библиотеке стандартных подсистем) журнал открывается из раздела «Администрирование». Нужны права администратора или отдельное право на просмотр журнала, иначе команды в меню не будет.
| Где работаете | Путь к журналу |
|---|---|
| Бухгалтерия 3.0 | Администрирование → Обслуживание → Журнал регистрации |
| ЗУП 3.1 | Администрирование → Обслуживание → Журнал регистрации |
| УТ 11, КА 2, ERP 2 | НСИ и администрирование → Обслуживание → Журнал регистрации |
| Любая база, без раздела | Все функции → Стандартные → Журнал регистрации |
| Конфигуратор | Администрирование → Журнал регистрации |
Команда «Все функции» по умолчанию скрыта. Включите её так:
- Нажмите кнопку главного меню (три полоски в левом верхнем углу).
- Откройте
Сервис → Параметры. - Поставьте флажок «Отображать команду “Все функции”» и нажмите «Применить».
- Снова откройте главное меню — пункт «Все функции» появится в нём.
Форма из раздела «Администрирование» и стандартная форма из «Все функции» показывают одни и те же записи. Отличаются удобством: форма БСП быстрее открывается на большом журнале, потому что по умолчанию выводит ограниченное число последних событий.
Конфигуратор полезен, когда пользовательский режим не запускается из-за ошибки при старте. Базу в Конфигураторе можно открыть, даже если в режиме «Предприятие» вход падает, и там посмотреть, что случилось.
Где журнал регистрации хранится на диске
Журнал лежит отдельно от данных базы, в каталоге 1Cv8Log. Это важно, когда нужно скопировать журнал для анализа, переслать его специалисту или понять, почему пропало место на диске.
- 📁 Файловая база — подкаталог
1Cv8Logв папке базы, рядом с файлом1Cv8.1CD. - 🖥 Серверная база на Windows —
C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log, если каталог службы не меняли при установке. - 🐧 Серверная база на Linux —
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID базы>/1Cv8Log.
Внутри встречаются два формата:
| Формат | Файлы | Особенность |
|---|---|---|
| Последовательный (текстовый) | 1Cv8.lgf и набор *.lgp | Каждый .lgp — отдельный период, старые куски легко перенести в архив |
| SQLite | один файл 1Cv8.lgd | Удобно открывать сторонними просмотрщиками SQLite, но файл растёт одним куском |
Если журнал разросся до десятков гигабайт, его сокращают в Конфигураторе: откройте Администрирование → Журнал регистрации и выберите в меню окна журнала команду «Сократить». Программа предложит дату, до которой удалить записи, и сохранить удаляемое в файл.
Не удаляйте файлы из 1Cv8Log вручную при работающих пользователях. Платформа держит журнал открытым, и удаление на ходу приводит к ошибкам записи. Чистите журнал штатной командой «Сократить» или в нерабочее время после остановки сеансов.
Уровень записи: что попадает в журнал ошибок
Платформа пишет в журнал не всё подряд, а то, что разрешено уровнем регистрации. Настраивается он в Конфигураторе: Администрирование → Настройка журнала регистрации.
Доступные уровни:
- Не регистрировать — журнал не ведётся вовсе. Искать ошибки будет негде.
- Регистрировать ошибки — только события с важностью «Ошибка».
- Регистрировать ошибки и предупреждения — плюс предупреждения.
- Регистрировать ошибки, предупреждения и информацию — плюс информационные события: входы, выходы, запись документов.
- Регистрировать все — максимум, включая примечания.
В том же окне задаётся, на какие периоды разделять журнал: по дням, неделям, месяцам и т. д. Чем активнее база, тем мельче стоит делать период — так журнал быстрее открывается и проще архивируется.
Не снижайте уровень до «только ошибки» ради экономии места. При разборе сбоя важно, что пользователь делал за минуту до ошибки, а это как раз информационные события. Место лучше экономить сокращением старых записей.
Разработчик может добавлять в журнал свои события методом ЗаписьЖурналаРегистрации(). Типовые конфигурации так фиксируют ошибки обмена, регламентных заданий, загрузки банковских выписок. Поэтому в журнале встречаются события с понятными русскими именами, а не только системные.
Как отфильтровать журнал и найти конкретную ошибку
На рабочей базе за день набираются десятки тысяч записей. Без отбора нужную ошибку не найти. В форме журнала нажмите «Установить отбор» и заполните поля.
Самые полезные условия отбора:
- 🕒 Интервал — поставьте узкое окно: 10–15 минут вокруг момента, когда пользователь увидел ошибку.
- 🔴 Важность — оставьте только «Ошибка». Предупреждения добавляйте позже, если причина не нашлась.
- 👤 Пользователь и Компьютер — сужают выборку до одного рабочего места.
- 📄 Метаданные — вид объекта: например, документ «Реализация (акты, накладные)» или регламентное задание.
- 🔢 Сеанс — номер сеанса, если вы уже нашли одну запись и хотите увидеть всё, что этот сеанс делал до и после.
- 🔁 Статус транзакции — «Отменена» показывает операции, которые откатились из-за ошибки.
Рабочий порядок поиска такой:
- Узнайте у пользователя время сбоя с точностью до минут и текст сообщения.
- Поставьте отбор по времени и важности «Ошибка».
- Найдите запись, где в комментарии есть тот же текст, что видел пользователь.
- Запомните номер сеанса из этой записи.
- Снимите отбор по важности, оставьте отбор по сеансу и посмотрите цепочку событий до ошибки.
В форме БСП количество выводимых событий ограничено (по умолчанию 200). Если ошибка «старая», а в списке её нет, увеличьте лимит или сузьте интервал. Записи никуда не делись — их просто не показали.
Двойной щелчок по строке открывает карточку события. В ней видны все поля: приложение (тонкий клиент, фоновое задание, COM-соединение, веб-сервис), представление данных — ссылка на конкретный документ, — и полный комментарий.
Как читать текст ошибки и стек вызовов
Самое ценное в записи об ошибке — комментарий. В нём платформа сохраняет текст исключения и место в коде, где оно возникло. Типичная запись выглядит так:
{Документ.РеализацияТоваровУслуг.МодульОбъекта(1287)}: Ошибка при вызове метода контекста (Записать)
по причине:
{ОбщийМодуль.ПроведениеСервер.Модуль(452)}: Конфликт блокировок при выполнении транзакции:
Превышено максимальное время ожидания предоставления блокировки
Как разбирать такую запись:
- 📍 В фигурных скобках — модуль и номер строки.
МодульОбъекта(1287)означает строку 1287 модуля объекта документа. - 🔗 «по причине:» — переход на уровень глубже. Каждый следующий блок ближе к исходной причине.
- 🎯 Последний блок — обычно настоящая причина. Верхние строки показывают, где ошибку поймали, нижние — где она возникла.
Чтобы посмотреть строку кода, откройте в Конфигураторе нужный модуль и нажмите Ctrl+G — «Перейти к строке». Номер строки из журнала приведёт ровно в место сбоя. Если в базе есть расширения, имя модуля в скобках может указывать на модуль расширения — проверьте и его.
Частые тексты и что они подсказывают:
| Текст в журнале | Где искать причину |
|---|---|
Конфликт блокировок при выполнении транзакции | Два пользователя или фоновое задание одновременно меняют одни данные |
Ошибка СУБД | Проблема на стороне сервера баз данных: место, права, связь |
Ошибка при вызове метода контекста | Смотрите блок «по причине» — сам по себе текст ничего не объясняет |
Поле объекта не обнаружено | Код обращается к реквизиту, которого нет; часто после обновления или в расширении |
Нарушение прав доступа | У пользователя нет права на объект, указанный в поле «Метаданные» |
Пользователь тоже может прислать подробности. В окне ошибки есть ссылка на подробный текст и, в актуальных версиях платформы, возможность сформировать отчёт об ошибке. Такой отчёт содержит стек вызовов и версии платформы и конфигурации — по нему проще сопоставить запись в журнале.
Серверная база: журнал на сервере и консоль кластера
В клиент-серверном варианте журнал ведёт сервер 1С, а не компьютер пользователя. Открывать его можно теми же способами из клиента. Прямой доступ к файлам нужен, когда база не запускается или журнал надо забрать целиком.
Каталог базы в reg_1541 называется по GUID, а не по имени. Соответствие находят двумя способами:
- Откройте файл
1CV8Clst.lstв каталогеreg_1541— в нём перечислены базы с их GUID. - Или выполните в командной строке на сервере с запущенным
ras:
rac cluster list
rac infobase --cluster=<id кластера> summary list
Вторая команда выведет пары «идентификатор базы — имя». Идентификатор совпадает с именем папки.
Консоль администрирования кластера сам журнал не показывает, но помогает связать записи с живыми сеансами. Номер в колонке «Сеанс» журнала совпадает с номером сеанса в разделе «Сеансы» консоли. Так находят, какой сеанс держит блокировки, с какого компьютера он открыт и сколько времени работает.
Если после анализа решите завершить зависший сеанс в консоли, предупредите пользователя: несохранённые данные этого сеанса пропадут, а начатая транзакция откатится. Делайте это, когда сеанс точно не выполняет закрытие месяца или обновление.
Когда журнала регистрации мало: технологический журнал
Часть сбоев в журнал регистрации не попадает. Аварийное завершение клиента, падение рабочего процесса, ошибки на уровне платформы видны только в технологическом журнале. Он включается файлом logcfg.xml в каталоге conf платформы, например C:\Program Files\1cv8\conf\logcfg.xml.
Минимальная настройка, которая собирает только исключения:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\1C_TechLog" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<property name="all"/>
</log>
</config>
Здесь history="24" — сколько часов хранить файлы. Каталог для логов создайте заранее и дайте права пользователю службы 1С. Техжурнал подхватывается без перезапуска, но включайте его на время расследования: на нагруженном сервере он быстро занимает диск.
Выгрузка журнала регистрации и автоматический контроль
Журнал можно сохранить для передачи разработчику или обработки в Excel. В форме журнала командная панель позволяет сохранить список в файл, в том числе табличный документ. Для полной копии на сервере проще скопировать каталог 1Cv8Log целиком — его можно подключить к копии базы и смотреть там же.
Для регулярной проверки удобнее выгрузка кодом. Метод ВыгрузитьЖурналРегистрации() выполняется на сервере и требует административных прав. Пример: ошибки за последние сутки в таблицу значений.
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", ТекущаяДатаСеанса() - 86400);
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
Записи = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(Записи, Отбор, , , 1000);
Для Каждого Запись Из Записи Цикл
Сообщить(СтрШаблон("%1 | %2 | %3",
Формат(Запись.Дата, "ДФ='дд.ММ.гггг ЧЧ:мм'"),
Запись.ИмяПользователя,
Запись.Комментарий));
КонецЦикла;
86 400 — число секунд в сутках, последний параметр ограничивает выборку тысячей записей. Вместо таблицы первым параметром можно передать путь к файлу — тогда журнал выгрузится в XML.
Варианты автоматического мониторинга:
- 📊 Отчёт «Анализ журнала регистрации» в типовых конфигурациях на БСП — показывает активность пользователей и работу регламентных заданий. Ищите его среди отчётов администратора в разделе «Обслуживание».
- ⏰ Регламентное задание в расширении — раз в час выгружает ошибки и отправляет письмо ответственному, если записи появились.
- 🗄 Внешний анализ — копия файла
1Cv8.lgdоткрывается любым просмотрщиком SQLite, по ней можно строить запросы. Работайте только с копией, не с рабочим файлом.
Почему журнал пустой или открывается часами
Иногда журнал есть, но толку от него нет. Типичные ситуации и что с ними делать:
Частые вопросы
Можно ли удалить отдельную запись из журнала регистрации?
Видно ли в журнале, кто изменил документ?
Сколько места занимает журнал регистрации?
1Cv8Log и сокращайте старые периоды.Переносится ли журнал при выгрузке базы в .dt?
.dt содержит конфигурацию и данные, журнал в него не входит. Если история событий нужна на новом месте, скопируйте каталог 1Cv8Log отдельно.Чем журнал регистрации отличается от технологического журнала?
logcfg.xml.