Журнал регистрации 1С: как открыть, где лежат файлы и как вычислить причину сбоя
Содержание
Журнал регистрации ошибок в 1С 8.3 открывается тремя путями: в типовых конфигурациях — Администрирование → Обслуживание → Журнал регистрации, в любой базе — через Все функции → Стандартные → Журнал регистрации, в Конфигураторе — Администрирование → Журнал регистрации. Физически журнал лежит в папке 1Cv8Log: у файловой базы — внутри каталога базы, у серверной — в каталоге кластера srvinfo\reg_1541\<GUID базы>.
Пользователь пишет «у меня всё упало», а на экране уже пусто. Журнал хранит, кто, когда, в каком документе и с каким текстом получил ошибку. Главное — уметь отсеять тысячи служебных записей до трёх нужных и понять, когда журнала мало и пора включать технологический журнал.
Как открыть журнал регистрации в клиенте 1С
Журнал — стандартный механизм платформы, он есть в каждой базе. Отличается только способ добраться до формы.
Типовые конфигурации на БСП (БП 3.0, ЗУП 3.1, УТ 11, КА, ERP)
- Откройте раздел
Администрирование. - Перейдите в
Обслуживание. - В группе отчётов и мониторинга щёлкните ссылку «Журнал регистрации».
Здесь открывается удобная форма библиотеки стандартных подсистем: с цветовой разметкой уровней, быстрым отбором и расшифровкой записи по двойному щелчку.
Любая база, включая самописные
- Нажмите на шестерёнку (меню «Сервис и настройки») →
Параметры. - Поставьте флажок «Отображать команду “Все функции”».
- Откройте
Все функции → Стандартные → Журнал регистрации.
Это стандартная форма платформы. Она проще, но работает везде, даже если конфигурация урезана.
Конфигуратор
Запустите базу в режиме Конфигуратора и выберите Администрирование → Журнал регистрации. Здесь же, в Администрирование → Настройка журнала регистрации, задаётся, что записывать и как часто делить журнал на файлы.
Журнал в Конфигураторе удобен, когда в пользовательский режим не пускает: база падает при запуске, ломается форма, нет прав. Конфигуратор открывается и тогда.
Кому журнал доступен
Просмотр журнала — отдельное право в ролях. В типовых конфигурациях оно есть у профиля «Администратор». Если пункт меню не виден, проверьте права пользователя, а не ищите «спрятанную» кнопку.
| Где открыть | Путь | Когда удобно |
|---|---|---|
| Типовая конфигурация | Администрирование → Обслуживание | Повседневный разбор |
| Любая база | Все функции → Стандартные | Нет раздела администрирования |
| Конфигуратор | Администрирование → Журнал регистрации | Клиент не запускается |
| Файлы на диске | папка 1Cv8Log | Копирование, перенос, анализ вне базы |
Где физически хранятся файлы журнала регистрации
Иногда нужна не форма, а сами файлы: отправить их подрядчику, сохранить перед сокращением, открыть журнал «упавшей» базы на другой машине.
Файловая база
Журнал лежит в подпапке 1Cv8Log рядом с файлом 1Cv8.1CD. Например:
D:\Bases\Buh\1Cv8.1CD
D:\Bases\Buh\1Cv8Log\
Путь к каталогу базы виден в окне запуска 1С: выделите базу в списке — внизу показана строка File="D:\Bases\Buh";.
Клиент-серверная база
Журнал хранит сервер 1С, а не СУБД. Типовой путь на Windows:
C:\Program Files\1cv8\srvinfo\reg_1541\<GUID базы>\1Cv8Log\
На Linux каталог кластера по умолчанию лежит в домашней папке пользователя службы, обычно /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/<GUID базы>/1Cv8Log/.
Если служба сервера установлена с другим каталогом, путь задан параметром -d в командной строке службы. Его видно в свойствах службы «Агент сервера 1С:Предприятия» в оснастке services.msc.
Как узнать GUID нужной базы
Папок с GUID в reg_1541 столько же, сколько баз в кластере. Чтобы найти свою:
- Откройте в любом текстовом редакторе файл
1CV8Clst.lstв каталогеreg_1541. - Найдите имя базы поиском (Ctrl+F).
- GUID стоит прямо перед именем, в фигурных скобках записи.
Есть и способ без файла: отсортируйте папки по дате изменения. Папка базы, где сейчас работают люди, меняется каждую минуту.
Два формата файлов
| Формат | Файлы | Особенность |
|---|---|---|
| Последовательный | 1Cv8.lgf и много *.lgp | Текстовые файлы, легко делить по периодам и архивировать |
| SQLite | один файл 1Cv8.lgd | Удобно читать внешними инструментами, но файл быстро растёт |
Формат меняется в Конфигураторе, в окне настройки журнала. Платформа конвертирует данные сама.
Не удаляйте и не редактируйте файлы журнала, пока с базой работают пользователи. Нужна копия — копируйте папку целиком. Нужно уменьшить журнал — используйте штатное сокращение с сохранением в файл.
Отбор ошибок: как найти нужную запись среди тысяч
В рабочей базе за день набегают десятки тысяч записей: входы, выходы, проведение документов, фоновые задания. Без отбора ошибка тонет.
Поля отбора, которые реально помогают
- 📅 Период — сужайте до часа, когда пользователь увидел сбой. Это самый сильный фильтр.
- 🔴 Уровень — оставьте «Ошибка». Для подозрительных случаев добавьте «Предупреждение».
- 👤 Пользователь — если жалуется один человек.
- 💻 Компьютер — если ошибка только на одном рабочем месте.
- 🧩 Приложение — тонкий клиент, веб-клиент, фоновое задание, COM-соединение, Конфигуратор.
- 📄 Метаданные — конкретный документ или справочник, например «Документ. Реализация товаров и услуг».
- 🏷 Событие — тип записи: начало сеанса, изменение данных, проведение и т.п.
Порядок, который экономит время
- Поставьте период: 15 минут до и 5 минут после времени из жалобы.
- Уровень — только «Ошибка».
- Если записей много, добавьте пользователя.
- Откройте запись двойным щелчком и читайте поле «Комментарий».
- Снимите отбор по уровню и посмотрите, что этот пользователь делал за минуту до ошибки. Часто причина видна в предыдущей записи «Информация».
Какие уровни есть в журнале
| Уровень | Что попадает | Пример |
|---|---|---|
| Ошибка | Исключения, отказ записи, аварийное завершение | Ошибка при проведении документа |
| Предупреждение | Нештатное, но не фатальное | Неудачная попытка входа |
| Информация | Штатные события | Начало и завершение сеанса |
| Примечание | Служебные отметки | Записи конфигурации для истории |
Ошибки фоновых и регламентных заданий не видны пользователям — их никто не жалуется. Раз в неделю ставьте отбор «Приложение = фоновое задание» и «Уровень = Ошибка». Так находят тихо не работающие обмены и загрузку курсов.
Как читать текст ошибки и стек вызовов
Поле «Комментарий» в записи об ошибке содержит главное: текст и место в коде. Типичный вид:
{ОбщийМодуль.ПроведениеСервер.Модуль(1482)}: Ошибка при вызове метода контекста (Записать)
по причине:
Ошибка при выполнении операции над данными:
Конфликт блокировок при выполнении транзакции
Как разобрать такую запись
- 📍
{ОбщийМодуль.ПроведениеСервер.Модуль(1482)}— модуль и номер строки, где возникло исключение. Программист открывает модуль в Конфигураторе и переходит на строку черезCtrl+G. - 🔗 Вложенные «по причине:» — цепочка. Читайте снизу вверх: самая нижняя причина — исходная, верхние — следствия.
- 🗂 Поле «Данные» — ссылка на конкретный документ или элемент. По ней сразу открывается объект, на котором всё сломалось.
- 🔁 Поле «Транзакция» и её статус показывают, откатились ли изменения.
Частые тексты и что они означают
| Текст в комментарии | Что проверять в первую очередь |
|---|---|
Конфликт блокировок при выполнении транзакции | Два пользователя или задание правят одни данные одновременно |
Превышено максимальное время ожидания предоставления блокировки | Долгая транзакция держит данные, ищите её по времени |
Недостаточно прав для ... | Роли пользователя, профиль групп доступа |
Поле объекта не обнаружено (...) | Код обращается к реквизиту, которого нет: часто после обновления или в расширении |
Значение не является значением объектного типа | В коде пустая ссылка или не тот тип |
Ошибка СУБД | Сам текст СУБД ниже по цепочке: место на диске, доступ, сеть |
Стек в окне ошибки у пользователя
Тот же стек можно получить ещё до журнала. В окне ошибки на платформе 8.3 есть ссылка для подробного текста и команда формирования отчёта об ошибке. Попросите пользователя скопировать подробный текст целиком — там видна та же цепочка модулей и строк.
Технологический журнал: когда журнала регистрации мало
Журнал регистрации пишет то, что видит конфигурация и платформа на уровне событий. Он не покажет зависание рабочего процесса, тяжёлые запросы к СУБД, взаимоблокировки и падения rphost. Для этого нужен технологический журнал (ТЖ).
Как включить ТЖ
ТЖ настраивается файлом logcfg.xml. Его кладут в каталог conf установленной платформы, например C:\Program Files\1cv8\conf\. Платформа перечитывает файл примерно раз в минуту, перезапуск службы не нужен.
Минимальная настройка «только исключения»:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\1C_TJ\excp" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<property name="all"/>
</log>
</config>
location— папка для логов. Создайте её заранее и дайте права записи пользователю службы 1С.history— сколько часов хранить файлы. 24 — сутки.EXCP— исключения. Для расследования блокировок добавляютTLOCK,TTIMEOUT,TDEADLOCK, для медленных запросов —DBMSSQLилиDBPOSTGRSс отбором по длительности.
ТЖ раскладывает файлы по подпапкам процессов (rphost_<PID>, rmngr_<PID>), внутри — файлы по часам с именем вида ГГММДДЧЧ.log.
Не включайте ТЖ по всем событиям без отбора на рабочем сервере. Он за час занимает десятки гигабайт и сам тормозит систему. Включайте узкую настройку на время расследования, потом удаляйте logcfg.xml.
Журнал регистрации или ТЖ — что выбрать
| Задача | Инструмент |
|---|---|
| Кто удалил или изменил документ | Журнал регистрации |
| Почему не проводится документ у одного пользователя | Журнал регистрации |
| Ошибки обмена и регламентных заданий | Журнал регистрации |
| База зависает у всех на минуту | ТЖ: TLOCK, TTIMEOUT |
| Процесс сервера падает | ТЖ: EXCP и дампы |
| Медленный отчёт или проведение | ТЖ: запросы к СУБД с длительностью |
Дампы при падении процесса
Если рабочий процесс сервера аварийно завершается, полезен дамп. Его включают тем же logcfg.xml элементом <dump create="true" location="D:\1C_TJ\dumps"/>. Дамп нужен для обращения в поддержку или к разработчику платформы. Самому читать его бессмысленно.
Выгрузка журнала и автоматический контроль ошибок
Смотреть журнал руками раз в неделю — значит узнавать о проблеме от главного бухгалтера. Ошибки лучше ловить автоматически.
Штатная выгрузка
- 💾 Сокращение с сохранением. В Конфигураторе, в настройке журнала, есть сокращение журнала до даты с сохранением удаляемых записей в файл. Так журнал худеет, а история не теряется.
- 📤 Выгрузка из формы журнала. Отобранные записи сохраняют в файл и передают разработчику. Удобно отправлять не весь журнал, а только записи за час сбоя.
- 📁 Копия папки
1Cv8Log. Самый простой способ передать журнал целиком. Скопированную папку можно положить в каталог пустой файловой базы и открыть её журнал там.
Выгрузка кодом
Платформа даёт метод ВыгрузитьЖурналРегистрации. Он заполняет таблицу значений по отбору. Пример серверной процедуры, которая собирает ошибки за последние сутки:
&НаСервере
Процедура СобратьОшибкиЗаСутки()
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", ТекущаяДатаСеанса() - 86400);
Отбор.Вставить("ДатаОкончания", ТекущаяДатаСеанса());
Отбор.Вставить("Уровень", УровеньЖурналаРегистрации.Ошибка);
Ошибки = Новый ТаблицаЗначений;
ВыгрузитьЖурналРегистрации(Ошибки, Отбор);
Для Каждого Запись Из Ошибки Цикл
Сообщить(Формат(Запись.Дата, "ДФ='дд.ММ.гггг ЧЧ:мм:сс'")
+ " | " + Запись.ИмяПользователя
+ " | " + Запись.Комментарий);
КонецЦикла;
Сообщить(СтрШаблон("Всего ошибок за сутки: %1", Формат(Ошибки.Количество(), "ЧГ=0")));
КонецПроцедуры
Вызов требует права на просмотр журнала. Этот же код можно поставить в регламентное задание и вместо Сообщить отправлять сводку письмом или в мессенджер ответственному.
Свои записи в журнал
Разработчики пишут в журнал собственные события методом ЗаписьЖурналаРегистрации. Это удобно для обменов и загрузок: событие с понятным именем «Обмен с сайтом» потом легко отобрать.
ЗаписьЖурналаРегистрации("Обмен с сайтом.Загрузка заказов",
УровеньЖурналаРегистрации.Ошибка, , ,
"Сайт вернул пустой ответ, заказы не загружены");
Внешние средства
Для парка из десятков баз журнал и ТЖ собирают централизованно. Используют «1С:Центр контроля качества», собственные парсеры логов, стеки сбора логов вроде ELK или Grafana Loki. Для одной-двух баз хватает регламентного задания из примера выше.
Настройка журнала: чтобы нужные записи вообще появлялись
Частая причина «в журнале ничего нет» — не ошибка, а настройка. Она меняется в Конфигураторе: Администрирование → Настройка журнала регистрации.
Что задаётся в настройке
- 📝 Уровень регистрации. Варианты от «Не регистрировать» до «Регистрировать все события». Для рабочей базы разумно регистрировать все события: объём вырастет, но кто и что изменил, будет видно.
- 🗃 Разделение на файлы. По дням, неделям, месяцам и т.д. Для последовательного формата это упрощает архивирование и удаление старых периодов.
- ✂️ Сокращение. Удалить записи до выбранной даты с сохранением их в отдельный файл.
Сколько места занимает журнал
Зависит от числа пользователей и уровня регистрации. В базе на 20–30 пользователей с регистрацией всех событий журнал за год легко дорастает до нескольких гигабайт. Если форма журнала открывается дольше минуты, это сигнал: пора сокращать или переходить на разделение по периодам.
Перед сокращением убедитесь, что за нужный период нет открытых расследований: проверки, спорного удаления документа, претензии по правам. Файл сохранения храните вместе с резервными копиями базы.
Частые вопросы
Можно ли посмотреть журнал регистрации без запуска 1С?
1Cv8Log можно копировать и читать внешними средствами, а формат SQLite открывается любым просмотрщиком SQLite. Удобнее всего скопировать папку в каталог пустой файловой базы и открыть журнал там.Журнал хранится в СУБД вместе с базой?
Попадает ли журнал в выгрузку .dt?
1Cv8Log отдельно.