Остатки в регистрах 1С разошлись с документами: порядок исправления

· 9 мин

Содержание

Чтобы поправить регистры в 1С, идите от лёгкого к тяжёлому. Сначала перепроведите документы за период, где остатки разошлись. Не помогло — пересчитайте итоги через Все функции → Стандартные → Управление итогами. Если и это не дало результата, запустите в Конфигураторе Администрирование → Тестирование и исправление с флажком «Пересчет итогов». Ручная корректировка записей регистров — последний шаг, когда точно известно, какая запись неверна.

Порядок одинаков для БП 3.0, ЗУП 3.1, УТ 11 и других конфигураций на платформе 8.3. Пути к обработкам в них отличаются. Конфигуратор и стандартные функции работают одинаково везде.

Что проверить, прежде чем что-то исправлять

Ошибка в регистре почти всегда видна по симптому. Сначала поймите, какой у вас случай. Метод зависит от него.

  • 📉 Отчёт показывает остаток, которого нет в документах. Пример: по складу минус 3 штуки, хотя приход и расход совпадают. Чаще всего виноваты итоги регистра накопления или документ, который «помнит» старые движения.
  • 🔁 Задвоение. Сумма в отчёте ровно в два раза больше. Скорее всего, документ скопировали и провели, или после обмена пришёл дубль.
  • 🧩 Ошибка при записи или проведении. Например, Записи регистра сведений стали неуникальными или ошибки платформы о нарушении целостности. Тут нужен уровень базы: Тестирование и исправление.
  • 🕳️ Движения есть, а документ не проведён или помечен на удаление. Классика после неудачного обмена или аварийного отключения.
  • 📆 Расхождение начинается с конкретной даты. Значит, ошибку внесли тогда. Ищите документы этой даты, а не пересчитывайте всю базу за 5 лет.

Какой метод выбрать по симптому

СимптомС чего начатьЕсли не помогло
Остаток в отчёте не сходится с документамиПересчёт итоговПерепроведение за период
Сумма задвоенаПоиск дубля документаПерепроведение после удаления дубля
Движения у непроведённого документаПерепроведение или отмена проведения документаРучная корректировка
Ошибка неуникальности записейРеиндексация в ТиИВосстановление из копии
Ошибка целостности при открытииТиИ с проверкой ссылокchdbfl.exe для файловой базы

Подготовка

  1. Сделайте резервную копию. Для файловой базы — выгрузка .dt через Администрирование → Выгрузить информационную базу в Конфигураторе или копия каталога базы при закрытой программе. Для клиент-серверной — бэкап средствами СУБД.
  2. Определите регистр и период. Откройте отчёт, где видна ошибка, и сузьте его до одного товара, сотрудника или счёта.
  3. Узнайте, закрыт ли период датой запрета изменения. В БП 3.0 и УТ 11 настройка находится в Администрирование → Пользователи и права. Перепровести документы до даты запрета не получится, пока её не сдвинете.
  4. Проверьте, нет ли в базе других пользователей, если планируете работу в Конфигураторе.

Перепроведение закрытого периода меняет сданные данные. Если отчётность уже ушла в ИФНС или СФР, согласуйте операцию с главным бухгалтером.

Как найти неверные движения в регистре

Не начинайте с массового перепроведения. Сначала найдите документ, который даёт неправильную запись. Это экономит время и снижает риск задеть чужие данные.

Движения одного документа

Откройте подозрительный документ. В меню Ещё выберите команду Движения документа. Откроется отчёт по всем регистрам, куда документ пишет. В БП 3.0 есть ещё кнопка ДтКт — она показывает проводки по регистру бухгалтерии.

Сравните то, что видите, с содержимым табличной части. Если в документе 10 штук, а в регистре 20 — движения задвоены или записаны прошлой версией документа.

Структура подчинённости

Команда Структура подчиненности в том же меню Ещё показывает цепочку связанных документов. Так находят дубли: два одинаковых «Реализации» на основании одного заказа, два «Поступления» по одному счёту.

Поиск через консоль запросов

Когда документов тысячи, вручную их не перебрать. Нужна консоль запросов — обработка, которая открывается из режима Предприятия. Ниже запрос, который находит регистраторы с движениями, но без проведения. Замените ИмяРегистра на имя вашего регистра накопления.

ВЫБРАТЬ РАЗЛИЧНЫЕ
    Движения.Регистратор КАК Документ,
    Движения.Регистратор.Проведен КАК Проведен,
    Движения.Регистратор.ПометкаУдаления КАК ПометкаУдаления
ИЗ
    РегистрНакопления.ИмяРегистра КАК Движения
ГДЕ
    (НЕ Движения.Регистратор.Проведен
        ИЛИ Движения.Регистратор.ПометкаУдаления)

В нормальной базе запрос вернёт пустой результат. У непроведённого документа движений быть не должно. Каждая найденная строка — кандидат на исправление.

Для поиска дублей в регистре сведений сгруппируйте записи по измерениям и периоду:

ВЫБРАТЬ
    Т.Период,
    Т.Измерение1,
    Т.Измерение2,
    КОЛИЧЕСТВО(*) КАК Записей
ИЗ
    РегистрСведений.ИмяРегистра КАК Т
СГРУППИРОВАТЬ ПО
    Т.Период,
    Т.Измерение1,
    Т.Измерение2
ИМЕЮЩИЕ
    КОЛИЧЕСТВО(*) > 1

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

Имена регистров и измерений видны в Конфигураторе в дереве метаданных. Без Конфигуратора — в конструкторе запроса консоли: там есть список всех таблиц базы.

Перепроведение документов за период

Перепроведение заново формирует движения по текущим данным документов. Это самый частый и самый безопасный способ поправить регистры. Он лечит большинство случаев с «висящими» и устаревшими движениями.

Где найти обработку

КонфигурацияГде искать
БП 3.0Операции → обработка «Групповое перепроведение документов»
ЗУП 3.1, УТ 11, КА 2, ERPАдминистрирование → Обслуживание → группа «Корректировка данных»
Любая конфигурацияВсе функции → Обработки и поиск по слову «перепроведение»

Команда Все функции появляется в меню «Сервис и настройки» после включения флажка «Отображать команду Все функции» в параметрах.

Пошагово

  1. Укажите период. Начало — дата, с которой пошло расхождение. Конец — текущая дата.
  2. Выберите организацию, если в базе их несколько.
  3. Оставьте режим, при котором обработка не останавливается на первой ошибке. Список проблемных документов она выведет в конце.
  4. Запустите и не работайте в базе до окончания.
  5. Откройте отчёт с ошибкой ещё раз.

Порядок документов важен. Перепроведение идёт по дате и времени. Если документ стоит в 00:00:00, а приход на тот же склад — в 12:00:00, расход может уйти в минус. Тогда поправьте время документа, а не регистр.

Как ускорить массовое перепроведение

На базе с годами истории перепроведение может длиться часами. Опытные администраторы отключают использование итогов на время операции:

  1. Откройте Управление итогами (раздел ниже).
  2. Выключите использование итогов для нужных регистров.
  3. Перепроведите документы.
  4. Включите итоги обратно. Платформа пересчитает их сама.

Пока итоги выключены, отчёты по остаткам строятся очень медленно. Делайте это вне рабочего времени и не забудьте включить итоги обратно.

Пересчёт итогов из режима Предприятия

Итоги — служебные таблицы, где платформа хранит готовые остатки и обороты. Отчёты берут цифры оттуда, а не суммируют все движения заново. Если итоги разошлись с движениями, отчёт врёт при правильных документах.

Обработка «Управление итогами»

Путь: Все функции → Стандартные → Управление итогами. В конфигурациях на БСП есть и вход через Администрирование → Обслуживание → Корректировка данных — «Управление итогами и агрегатами».

Откройте режим полных возможностей. Там видны все регистры и действия:

  • Пересчет итогов — полный пересчёт по всем движениям выбранного регистра;
  • Пересчет текущих итогов — быстрее, обновляет только актуальные итоги;
  • Установить период рассчитанных итогов — переносит границу, до которой итоги хранятся заранее;
  • Включить / выключить использование итогов — тот самый приём для ускорения.

Начните с пересчёта текущих итогов по одному регистру. Если ошибка осталась — полный пересчёт.

Пересчёт итогов не трогает движения. Он лечит только ошибку «документы правильные, отчёт нет». Если движения сами неверные, пересчёт ничего не изменит.

Исправление на уровне базы: Конфигуратор

Когда ошибка в структуре данных — дубли записей, битые ссылки, ошибки записи — переходите к Конфигуратору.

Тестирование и исправление

  1. Откройте базу в режиме Конфигуратор.
  2. Выберите Администрирование → Тестирование и исправление.
  3. Отметьте проверки:
    • «Реиндексация таблиц информационной базы» — лечит неуникальность записей;
    • «Проверка логической целостности информационной базы»;
    • «Проверка ссылочной целостности информационной базы»;
    • «Пересчет итогов».
  4. Выберите режим «Тестирование и исправление». Режим «Тестирование» только покажет ошибки.
  5. В блоке ссылок на несуществующие объекты выберите «Не изменять». Так вы увидите проблему, не потеряв данные.
  6. Нажмите «Выполнить».

Для этой процедуры нужен монопольный доступ к базе.

Всех пользователей нужно вывести из базы. Их сеансы будут прерваны, несохранённые данные пропадут. Планируйте запуск на вечер или выходные.

Запуск из командной строки

На серверах ТиИ удобно запускать по расписанию ночью. Пример для файловой базы:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /IBCheckAndRepair -ReIndex -LogIntegrity -RecalcTotals /Out "D:\Logs\tii.log"

Номер версии в пути замените на свой. Результат смотрите в файле, указанном в /Out.

Физическая проверка файловой базы

Если ТиИ падает с ошибкой, повреждён сам файл 1Cv8.1CD. Для этого в каталоге bin платформы лежит утилита chdbfl.exe. Запустите её при закрытой базе, укажите путь к файлу и поставьте флажок исправления ошибок. Работайте только с копией файла.

Ручная корректировка записей регистров

Иногда документа-виновника нет. Например, остатки перенесли из старой базы с ошибкой. Тогда записи правят вручную отдельным документом-корректировкой.

  • 📘 БП 3.0 — документ «Операция» в Операции → Операции, введенные вручную. В его форме через меню Ещё выбираются регистры для корректировки, а не только проводки.
  • 📦 УТ 11, КА 2, ERP — документ «Корректировка регистров». Ищите его в Администрирование → Обслуживание или через Все функции → Документы.

Правила, которые спасут от новых ошибок:

  1. Корректируйте на дату, с которой пошло расхождение, а не на сегодня. Иначе история останется кривой.
  2. В комментарии напишите причину и номер документа-виновника.
  3. Не правьте записи, у которых есть живой регистратор. Перепроведение этого документа перезапишет вашу правку.

Пример из практики

Склад в УТ 11 показывает минус 40 штук по одному товару на 1 марта. Отчёт «Движения документа» по всем документам за февраль ничего не находит. Запрос по регистру показывает 40 штук расхода от документа, который помечен на удаление и не проведён. Его так оставил сбойный обмен с магазином.

Решение заняло пять минут. С документа сняли пометку удаления, провели его и сразу отменили проведение — при отмене платформа очищает движения. Затем документ снова пометили на удаление. Отрицательный остаток исчез. Ручная корректировка не понадобилась.

Редактировать записи регистра напрямую через консоль или стандартную форму регистра технически можно, но такие правки не видны в журнале документов. Через полгода никто не вспомнит, откуда взялась цифра.

Как не допускать сбоев в регистрах

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

Регламент обслуживания базы
Выполнено: 0 / 6

Для клиент-серверных баз добавьте регламентное обслуживание СУБД: обновление статистики и перестроение индексов. Это задача администратора SQL, а не 1С, но на скорость пересчётов она влияет напрямую.

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

Можно ли перепровести документы, пока другие работают в базе?
Да, монопольный доступ для этого не нужен. Но пользователи будут видеть меняющиеся остатки, а блокировки замедлят их работу. Лучше запускать вечером.
После перепроведения стало хуже. Как вернуть?
Только из резервной копии. Отменить массовое перепроведение кнопкой нельзя. Поэтому копия перед операцией обязательна.
Почему после пересчёта итогов остаток всё равно неправильный?
Значит, ошибка в самих движениях, а не в итогах. Ищите документ-виновник отчётом «Движения документа» или запросом по регистру.
Сколько длится Тестирование и исправление?
Зависит от размера базы. Для файловой базы на 2–3 ГБ это обычно десятки минут, для серверной на сотни гигабайт — несколько часов.
Удалит ли ТиИ мои данные?
Может, если в настройках выбрать удаление объектов с частичной потерей данных или очистку ссылок. Для первого прогона ставьте «Не изменять» и смотрите отчёт.