Как найти автора правки документа в 1С:Предприятии
Содержание
Посмотреть, кто изменил документ в 1С, можно в журнале регистрации: в Бухгалтерии 3.0 он открывается через Администрирование → Обслуживание → Журнал регистрации. Поставьте отбор по нужному документу — и увидите каждую запись, проведение и отмену проведения с именем пользователя, компьютером и временем до секунды.
Журнал отвечает на вопрос «кто и когда». На вопрос «что именно поменяли» он не отвечает: сумму «было/стало» там не найти. Для этого в типовых конфигурациях есть история изменений (версионирование объектов). Ниже — оба способа, их настройка и ограничения.
Подготовка: включаем протоколирование заранее
Журнал регистрации ведёт сама платформа 1С:Предприятие 8.3. Но пишет она только то, что разрешено уровнем логирования. Если уровень занижен, искать автора правки будет негде.
Где посмотреть уровень:
- Откройте базу в Конфигураторе.
- Выберите
Администрирование → Настройка журнала регистрации. - Проверьте переключатель уровня.
| Уровень | Что попадает в журнал | Видно ли изменения документов |
|---|---|---|
| Не регистрировать | ничего | ❌ нет |
| Регистрировать ошибки | только ошибки | ❌ нет |
| Ошибки и предупреждения | ошибки и предупреждения | ❌ нет |
| Ошибки, предупреждения и информацию | плюс информационные события | ✅ да |
| Регистрировать все события | плюс примечания | ✅ да |
События изменения данных относятся к информационным. Поэтому нужен как минимум уровень «Регистрировать ошибки, предупреждения и информацию». В новых базах по умолчанию стоит «Регистрировать все события», но после чужого администратора лучше проверить.
Журнал работает только «вперёд». Если на момент правки логирование было выключено, задним числом автора не восстановить никак.
В том же окне настраивается деление журнала по периодам (день, месяц, год). Для учётной базы удобно «по месяцам»: файлы не разрастаются, а старые периоды проще архивировать.
Где лежат файлы журнала
Иногда журнал нужно скопировать или открыть на другом компьютере. Файлы хранятся в папке 1Cv8Log:
- 📁 файловая база — внутри каталога базы, рядом с
1Cv8.1CD; - 🖥️ клиент-серверная база
— на сервере 1С, в каталоге
srvinfo\reg_1541\<GUID базы>\1Cv8Log.
Начиная с платформы 8.3.5 журнал по умолчанию хранится в формате SQLite (файл 1Cv8.lgd). Старый формат — набор файлов .lgf и .lgp. Оба читаются стандартной формой журнала.
Как посмотреть в 1С, кто изменял документ, через журнал регистрации
Открыть журнал можно двумя путями.
| Где | Путь | Кому подходит |
|---|---|---|
| Пользовательский режим (БП 3.0, ЗУП 3.1, УТ 11) | Администрирование → Обслуживание → Журнал регистрации | бухгалтеру с правами администратора |
| Конфигуратор | Администрирование → Журнал регистрации | администратору базы |
Рядовой пользователь журнал обычно не видит: доступ к нему дают только административные роли. Если ссылки нет — попросите администратора выгрузить нужный фрагмент.
Отбор по конкретному документу
Без отбора журнал показывает тысячи строк в день. Сужаем:
- Нажмите кнопку установки отбора в командной панели журнала.
- Задайте интервал — например, с 01.09 по 30.09, если подозрительная правка появилась в сентябре.
- В поле Данные выберите сам документ: тип (например, «Реализация (акты, накладные, УПД)») и конкретный экземпляр из списка.
- В поле События оставьте события группы «Данные»: «Данные. Изменение», «Данные. Проведение», «Данные. Отмена проведения», «Данные. Удаление».
- Примените отбор.
Получится короткий список. Каждая строка — одна запись документа в базу.
💡 Не помните точный документ, но знаете тип? Задайте отбор по полю Метаданные (например, все документы «Поступление (акты, накладные, УПД)») и по пользователю. Так удобно искать, что конкретный сотрудник правил за день.
Как читать строку журнала
| Колонка | Что означает |
|---|---|
| Дата, время | момент записи документа, до секунды |
| Пользователь | имя пользователя информационной базы, под которым вошли |
| Компьютер | сетевое имя рабочего места |
| Приложение | тонкий клиент, веб-клиент, фоновое задание, COM-соединение |
| Событие | что произошло: изменение, проведение, удаление |
| Данные | ссылка на документ |
| Сеанс | номер сеанса — по нему видно все действия за один вход |
Компьютер и сеанс помогают, когда несколько человек работают под одной учётной записью. По имени машины часто сразу понятно, чьё это рабочее место.
Поле «Ответственный» в шапке документа — не автор изменений. Обычно туда подставляется тот, кто документ создал. Правки последующих пользователей это поле не меняют.
История изменений: что именно поменяли в документе
Журнал скажет: «Петрова записала документ 12.09 в 15:42». Но что она изменила — цену, контрагента, счёт учёта? Ответ даёт история изменений из библиотеки стандартных подсистем. Она есть в БП 3.0, ЗУП 3.1, УТ 11 и других типовых конфигурациях.
Как включить
В Бухгалтерии 3.0:
- Откройте
Администрирование → Общие настройки. - Найдите группу «История изменений» и включите флажок хранения истории.
- Перейдите по ссылке настройки и для нужных видов документов выберите, когда сохранять версию: при записи или при проведении.
- Задайте срок хранения версий, чтобы база не разрасталась.
История начинает копиться только после включения. Документы, изменённые раньше, версий не имеют.
Как сравнить версии
- Откройте документ.
- В меню
ЕщевыберитеИстория изменений. - В списке версий видно номер, дату, автора и комментарий.
- Выделите две версии и нажмите сравнение.
Откроется отчёт: реквизиты шапки и строки табличных частей, где «было» и «стало» подсвечены. Например, в строке 3 цена изменилась с 1 250,00 на 1 520,00, а в шапке — договор.
Из той же формы можно открыть любую версию целиком или вернуть документ к ней. Возврат создаёт новую версию, старые не стираются.
Откат версии меняет документ задним числом. Если период закрыт или отчётность сдана, сначала согласуйте правку с главным бухгалтером. Проведённый документ после отката нужно перепровести.
Журнал или история: что выбрать
| Вопрос | Журнал регистрации | История изменений |
|---|---|---|
| Кто и когда | ✅ | ✅ |
| Что именно изменили | ❌ | ✅ |
| Работает без доп. настройки | ✅ при нормальном уровне | ❌ надо включить |
| Видно удаление документа | ✅ | ❌ версий удалённого не открыть |
| Нагрузка на базу | низкая | растёт с числом версий |
На практике держат оба механизма: журнал — для всех объектов, историю — для ключевых документов (реализация, поступление, банк, кадровые приказы).
Чего журнал не покажет: ограничения логирования
Журнал — надёжный, но не всевидящий источник. Вот где он молчит или вводит в заблуждение.
- 🔇 Изменения в обход платформы. Если кто-то правил таблицы напрямую в СУБД (SQL-запросом), журнал 1С об этом не знает.
- 👥 Общий логин. Пять человек под пользователем «Бухгалтер» — в журнале будет один «Бухгалтер». Спасут только колонки «Компьютер» и «Сеанс».
- 🔄 Групповые операции. Перепроведение документов , закрытие месяца , групповая обработка реквизитов записывают документы от имени того, кто их запустил. В журнале это выглядит как «Иванова изменила 300 документов за 2 минуты». Это не злой умысел, а штатная операция.
- 🔁 Обмены и фоновые задания. Документ, пришедший из обмена, записан от имени пользователя обмена или с приложением «Фоновое задание». Реальный автор — в базе-источнике, смотреть журнал нужно там.
- 🗑️ Сокращённый журнал. Если администратор сокращал журнал (в Конфигураторе есть такая функция), старые события удалены.
- ❓ Поля не записаны. Журнал фиксирует факт записи, но не значения реквизитов.
Журнал можно сократить или удалить, если есть доступ к серверу. Для расследований держите копии файлов 1Cv8Log вне сервера 1С.
Права и персональная ответственность за изменения
Весь поиск автора держится на одном правиле: у каждого сотрудника — своя учётная запись. Без этого журнал бесполезен.
Что настроить в базе:
- Персональные пользователи.
Администрирование → Настройки пользователей и прав → Пользователи. Один человек — один пользователь, без общих «Склад» и «Касса». - Пароли. Пустой пароль позволяет зайти под чужим именем. В том же разделе можно включить требования к сложности и сроку действия пароля.
- Минимум прав. Давайте профили групп доступа под должность: кассиру не нужно редактировать поступления.
- Дата запрета изменения.
Администрирование → Проведение документов → Даты запрета изменения. Закрытый период никто, кроме разрешённых, не поправит — журнал и не понадобится. - Увольнения. Уволенному сотруднику снимайте право входа сразу. Иначе под его именем может работать кто угодно.
Отдельно о выводах. Строка журнала показывает учётную запись, а не человека. Перед разговором с сотрудником сверьте компьютер, сеанс и время с графиком работы. Пароль мог знать коллега.
Автоматический контроль и оповещения о правках
Смотреть журнал вручную раз в месяц — поздно. Есть несколько способов получать сигнал раньше.
Запрет вместо контроля
Самый дешёвый способ — не дать правке случиться. Дата запрета изменения закрывает прошлые периоды. Попытка записать документ в закрытом периоде просто отклоняется.
Своя запись в журнал из расширения
Если нужен заметный след по конкретным документам, разработчик добавляет в расширение конфигурации перехват записи объекта. Пример для модуля объекта документа:
&После("ПриЗаписи")
Процедура Контроль_ПриЗаписи(Отказ)
Если Отказ Тогда
Возврат;
КонецЕсли;
Комментарий = СтрШаблон("Документ № %1 от %2 записан",
Номер, Формат(Дата, "ДФ=dd.MM.yyyy"));
ЗаписьЖурналаРегистрации("Контроль.ИзменениеДокумента",
УровеньЖурналаРегистрации.Предупреждение,
Метаданные(), Ссылка, Комментарий);
КонецПроцедуры
Событие с уровнем «Предупреждение» легко отобрать в журнале среди тысяч информационных. Расширение не снимает конфигурацию с поддержки, типовое обновление ставится как обычно.
Регламентная выгрузка журнала
Журнал можно читать программно методом ВыгрузитьЖурналРегистрации. Регламентное задание раз в час забирает события «Данные. Изменение» по нужным документам за прошедший час и отправляет сводку по почте ответственному.
Таблица = Новый ТаблицаЗначений;
Отбор = Новый Структура;
Отбор.Вставить("ДатаНачала", ТекущаяДатаСеанса() - 3600);
Отбор.Вставить("ДатаОкончания", ТекущаяДатаСеанса());
Отбор.Вставить("Событие", "_$Data$_.Update");
ВыгрузитьЖурналРегистрации(Таблица, Отбор);
// В Таблице — колонки Дата, ИмяПользователя, Компьютер, Данные и др.
_$Data$_.Update — внутреннее имя события «Данные. Изменение». Такая доработка требует программиста и тестов на копии базы.
Внешний сбор логов
В крупных компаниях файлы 1Cv8Log забирают внешние системы сбора логов. Журнал хранится отдельно от сервера 1С, и стереть его «изнутри» уже нельзя.
Частые ошибки при поиске автора изменений
- ❌ Искать по полю «Ответственный». Оно показывает создателя, а не того, кто правил.
- ❌ Смотреть журнал в базе-приёмнике обмена. Реальный автор там, где документ создавали.
- ❌ Путать перепроведение с правкой. Сотни записей одного пользователя за минуты — почти всегда групповая обработка или закрытие месяца. Проверьте колонку «Приложение» и сеанс.
- ❌ Включать историю после инцидента и ждать версий. Версии появятся только для будущих изменений.
- ❌ Делать выводы по одной строке. Сверяйте компьютер и время со входами сотрудника.