Журнал регистрации 1С: как открыть, где лежат файлы и как вычислить причину сбоя

· 11 мин

Содержание

Журнал регистрации ошибок в 1С 8.3 открывается тремя путями: в типовых конфигурациях — Администрирование → Обслуживание → Журнал регистрации, в любой базе — через Все функции → Стандартные → Журнал регистрации, в Конфигураторе — Администрирование → Журнал регистрации. Физически журнал лежит в папке 1Cv8Log: у файловой базы — внутри каталога базы, у серверной — в каталоге кластера srvinfo\reg_1541\<GUID базы>.

Пользователь пишет «у меня всё упало», а на экране уже пусто. Журнал хранит, кто, когда, в каком документе и с каким текстом получил ошибку. Главное — уметь отсеять тысячи служебных записей до трёх нужных и понять, когда журнала мало и пора включать технологический журнал.

Как открыть журнал регистрации в клиенте 1С

Журнал — стандартный механизм платформы, он есть в каждой базе. Отличается только способ добраться до формы.

Типовые конфигурации на БСП (БП 3.0, ЗУП 3.1, УТ 11, КА, ERP)

  1. Откройте раздел Администрирование.
  2. Перейдите в Обслуживание.
  3. В группе отчётов и мониторинга щёлкните ссылку «Журнал регистрации».

Здесь открывается удобная форма библиотеки стандартных подсистем: с цветовой разметкой уровней, быстрым отбором и расшифровкой записи по двойному щелчку.

Любая база, включая самописные

  1. Нажмите на шестерёнку (меню «Сервис и настройки») → Параметры.
  2. Поставьте флажок «Отображать команду “Все функции”».
  3. Откройте Все функции → Стандартные → Журнал регистрации.

Это стандартная форма платформы. Она проще, но работает везде, даже если конфигурация урезана.

Конфигуратор

Запустите базу в режиме Конфигуратора и выберите Администрирование → Журнал регистрации. Здесь же, в Администрирование → Настройка журнала регистрации, задаётся, что записывать и как часто делить журнал на файлы.

Журнал в Конфигураторе удобен, когда в пользовательский режим не пускает: база падает при запуске, ломается форма, нет прав. Конфигуратор открывается и тогда.

Кому журнал доступен

Просмотр журнала — отдельное право в ролях. В типовых конфигурациях оно есть у профиля «Администратор». Если пункт меню не виден, проверьте права пользователя, а не ищите «спрятанную» кнопку.

Где открытьПутьКогда удобно
Типовая конфигурацияАдминистрирование → ОбслуживаниеПовседневный разбор
Любая базаВсе функции → СтандартныеНет раздела администрирования
КонфигураторАдминистрирование → Журнал регистрацииКлиент не запускается
Файлы на дискепапка 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 столько же, сколько баз в кластере. Чтобы найти свою:

  1. Откройте в любом текстовом редакторе файл 1CV8Clst.lst в каталоге reg_1541.
  2. Найдите имя базы поиском (Ctrl+F).
  3. GUID стоит прямо перед именем, в фигурных скобках записи.

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

Два формата файлов

ФорматФайлыОсобенность
Последовательный1Cv8.lgf и много *.lgpТекстовые файлы, легко делить по периодам и архивировать
SQLiteодин файл 1Cv8.lgdУдобно читать внешними инструментами, но файл быстро растёт

Формат меняется в Конфигураторе, в окне настройки журнала. Платформа конвертирует данные сама.

Не удаляйте и не редактируйте файлы журнала, пока с базой работают пользователи. Нужна копия — копируйте папку целиком. Нужно уменьшить журнал — используйте штатное сокращение с сохранением в файл.

Отбор ошибок: как найти нужную запись среди тысяч

В рабочей базе за день набегают десятки тысяч записей: входы, выходы, проведение документов, фоновые задания. Без отбора ошибка тонет.

Поля отбора, которые реально помогают

  • 📅 Период — сужайте до часа, когда пользователь увидел сбой. Это самый сильный фильтр.
  • 🔴 Уровень — оставьте «Ошибка». Для подозрительных случаев добавьте «Предупреждение».
  • 👤 Пользователь — если жалуется один человек.
  • 💻 Компьютер — если ошибка только на одном рабочем месте.
  • 🧩 Приложение — тонкий клиент, веб-клиент, фоновое задание, COM-соединение, Конфигуратор.
  • 📄 Метаданные — конкретный документ или справочник, например «Документ. Реализация товаров и услуг».
  • 🏷 Событие — тип записи: начало сеанса, изменение данных, проведение и т.п.

Порядок, который экономит время

  1. Поставьте период: 15 минут до и 5 минут после времени из жалобы.
  2. Уровень — только «Ошибка».
  3. Если записей много, добавьте пользователя.
  4. Откройте запись двойным щелчком и читайте поле «Комментарий».
  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. Для одной-двух баз хватает регламентного задания из примера выше.

Минимальный мониторинг ошибок 1С
Выполнено: 0 / 6

Настройка журнала: чтобы нужные записи вообще появлялись

Частая причина «в журнале ничего нет» — не ошибка, а настройка. Она меняется в Конфигураторе: Администрирование → Настройка журнала регистрации.

Что задаётся в настройке

  • 📝 Уровень регистрации. Варианты от «Не регистрировать» до «Регистрировать все события». Для рабочей базы разумно регистрировать все события: объём вырастет, но кто и что изменил, будет видно.
  • 🗃 Разделение на файлы. По дням, неделям, месяцам и т.д. Для последовательного формата это упрощает архивирование и удаление старых периодов.
  • ✂️ Сокращение. Удалить записи до выбранной даты с сохранением их в отдельный файл.

Сколько места занимает журнал

Зависит от числа пользователей и уровня регистрации. В базе на 20–30 пользователей с регистрацией всех событий журнал за год легко дорастает до нескольких гигабайт. Если форма журнала открывается дольше минуты, это сигнал: пора сокращать или переходить на разделение по периодам.

Перед сокращением убедитесь, что за нужный период нет открытых расследований: проверки, спорного удаления документа, претензии по правам. Файл сохранения храните вместе с резервными копиями базы.

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

Можно ли посмотреть журнал регистрации без запуска 1С?
Файлы в папке 1Cv8Log можно копировать и читать внешними средствами, а формат SQLite открывается любым просмотрщиком SQLite. Удобнее всего скопировать папку в каталог пустой файловой базы и открыть журнал там.
Журнал хранится в СУБД вместе с базой?
Нет. Даже у клиент-серверной базы журнал лежит в каталоге кластера на сервере 1С, а не в базе SQL или PostgreSQL. При резервном копировании базы средствами СУБД журнал в копию не попадает.
Попадает ли журнал в выгрузку .dt?
Нет, выгрузка информационной базы журнал не содержит. Если журнал нужен на новом месте, переносите папку 1Cv8Log отдельно.
Почему в журнале видно, кто удалил документ, но не видно его содержимого?
Журнал фиксирует факт события, пользователя и ссылку. Значения реквизитов до изменения он не хранит. Для этого в типовых конфигурациях есть отдельный механизм версионирования объектов.
Как долго хранить журнал регистрации?
Технического срока нет: всё упирается в место на диске. На практике рабочую часть держат за 3–12 месяцев, а более старые записи сокращают с сохранением в архивный файл.