Перепроведение всех документов в 1С 8.3: подготовка, запуск, проверка результата

· 10 мин

Содержание

Перепровести базу 1С проще всего штатной обработкой: в 1С:Бухгалтерии 3.0 это раздел Операции → «Проведение документов», где задаётся период и запускается групповое перепроведение. Для конфигураций без такой обработки используют внешнюю обработку со скриптом, который проводит документы по порядку дат. Перед любым из способов нужна резервная копия: перепроведение переписывает движения всех документов за период, и откатить его кнопкой нельзя.

Выбор способа зависит от задачи. Перепровести один месяц после исправления остатков — штатная обработка, 10–30 минут. Перепровести несколько лет после смены учётной политики — ночной запуск на копии базы, проверка и только потом перенос в рабочую.

Зачем и когда перепроводят документы

Перепроведение — это повторный запуск алгоритма проведения для уже проведённых документов. Каждый документ заново формирует проводки и движения по регистрам с учётом текущих данных базы.

Типичные причины:

  • 📅 документы вводили задним числом, и списание по ФИФО или средней посчитано по неверным остаткам;
  • ⚙️ изменили учётную политику или настройки параметров учёта за прошлый период;
  • 🔄 загрузили данные обменом, и часть документов пришла без движений;
  • 🛠 после исправления справочников (счёт учёта номенклатуры, вид операции) нужно обновить проводки;
  • 📉 закрытие месяца сообщает, что последовательность документов нарушена и требуется перепроведение.

Если проблема в одном-двух документах, перепроводить всю базу не нужно. Откройте документ, нажмите «Провести» — и проверьте проводки. Массовое перепроведение оправдано, когда ошибка затрагивает цепочку: себестоимость, остатки, взаиморасчёты.

Подготовка базы перед перепроведением

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

Резервная копия

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

Вариант базыКак сделать копию
ФайловаяВыгрузить .dt через Конфигуратор (Администрирование → Выгрузить информационную базу) или скопировать папку с файлом 1Cv8.1CD, когда все пользователи вышли
Клиент-сервернаяПолная резервная копия средствами СУБД (MS SQL, PostgreSQL); выгрузка .dt — как дополнительная

Выгрузка .dt на большой базе идёт долго и блокирует работу. Для серверной базы копия средствами СУБД быстрее и надёжнее.

Снимок «до»: что сохранить для сравнения

Сформируйте и сохраните в файл отчёты за весь период перепроведения:

  1. Оборотно-сальдовую ведомость по всем счетам.
  2. ОСВ по счетам 41, 10, 43 с развёрнутым субконто по номенклатуре — здесь чаще всего меняется себестоимость.
  3. ОСВ по 60 и 62 — расчёты с контрагентами.
  4. Регламентированную отчётность, уже сданную за этот период (декларации по НДС и налогу на прибыль).

После перепроведения те же отчёты сравнивают с сохранёнными. Без снимка «до» вы не узнаете, что изменилось и почему.

Даты запрета изменения и закрытые периоды

Если в базе включены даты запрета изменения, документы раньше этой даты не перепроведутся — программа выдаст ошибку о запрете. Настройка находится в разделе Администрирование (в БП 3.0 — в настройках проведения документов).

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

Готовность к перепроведению
Выполнено: 0 / 6

Штатные способы перепровести документы в 1С

Групповое перепроведение в 1С:Бухгалтерии 3.0

  1. Откройте раздел Операции → «Проведение документов».
  2. Укажите период: начало — дата, с которой появилась ошибка, конец — текущая дата или конец нужного месяца.
  3. Нажмите «Провести».
  4. Дождитесь окончания. Документы, которые не провелись, программа покажет списком с причинами.

Обработка проводит документы в хронологическом порядке. Регламентные операции закрытия месяца (амортизация, списание расходов, закрытие счетов 20, 25, 26) после перепроведения нужно выполнить заново — через Операции → «Закрытие месяца», месяц за месяцем, от раннего к позднему.

В помощнике «Закрытие месяца» БП 3.0 есть пункт перепроведения документов за месяц. Если программа сама его предлагает, удобнее перепроводить отсюда: обработка сразу продолжит закрытие.

Если обработки в меню нет

В других конфигурациях команда группового проведения может называться иначе или лежать в другом разделе. Найдите её через «Все функции»:

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

В ЗУП 3.1 и УТ 11 массовое перепроведение всей базы делают реже: там документы связаны расчётами и резервами, и массовый перезапуск требует понимания, как устроена конфигурация. Если штатной обработки нет, используйте внешнюю из следующего раздела — только на копии базы.

Внешняя обработка и скрипт перепроведения

Когда штатного инструмента нет или нужно перепровести только определённые виды документов, пишут внешнюю обработку. Она собирает все проведённые документы за период, сортирует их по дате и проводит по одному.

Создайте в Конфигураторе внешнюю обработку (Файл → Новый → «Внешняя обработка»), добавьте на форму два поля дат и кнопку. В модуле формы:

&НаСервереБезКонтекста
Процедура ПерепровестиНаСервере(НачалоПериода, КонецПериода)

    Список = Новый ТаблицаЗначений;
    Список.Колонки.Добавить("Дата");
    Список.Колонки.Добавить("Ссылка");

    Для Каждого МетаДок Из Метаданные.Документы Цикл
        Если МетаДок.Проведение <> Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
            Продолжить;
        КонецЕсли;
        Запрос = Новый Запрос;
        Запрос.Текст = СтрШаблон(
            "ВЫБРАТЬ Д.Ссылка КАК Ссылка, Д.Дата КАК Дата
            |ИЗ Документ.%1 КАК Д
            |ГДЕ Д.Проведен И Д.Дата МЕЖДУ &Начало И &Конец", МетаДок.Имя);
        Запрос.УстановитьПараметр("Начало", НачалоДня(НачалоПериода));
        Запрос.УстановитьПараметр("Конец", КонецДня(КонецПериода));
        Выборка = Запрос.Выполнить().Выбрать();
        Пока Выборка.Следующий() Цикл
            ЗаполнитьЗначенияСвойств(Список.Добавить(), Выборка);
        КонецЦикла;
    КонецЦикла;

    Список.Сортировать("Дата");

    Для Каждого Строка Из Список Цикл
        Попытка
            Объект = Строка.Ссылка.ПолучитьОбъект();
            Объект.Записать(РежимЗаписиДокумента.Проведение);
        Исключение
            ЗаписьЖурналаРегистрации("Перепроведение",
                УровеньЖурналаРегистрации.Ошибка, , Строка.Ссылка, ОписаниеОшибки());
        КонецПопытки;
    КонецЦикла;

КонецПроцедуры

Что важно в этом скрипте:

  • ✅ берутся только документы с флажком «Проведен» — черновики и помеченные на удаление не трогаются;
  • ✅ ошибка одного документа не останавливает обработку, а пишется в журнал регистрации;
  • ⚠️ сортировка идёт по дате с точностью до секунды; документы с одинаковым временем проведутся в произвольном порядке. Для большинства задач это не критично, но для складского учёта со списанием в одну секунду проверьте результат;
  • ⚠️ скрипт проводит всё подряд, включая регламентные документы закрытия месяца. В БП их лучше исключить из списка по имени вида документа и выполнить заново через помощник.

Внешняя обработка вызывает те же процедуры проведения, что и кнопка «Провести». Но она не знает о логике помощников конфигурации. Запускайте её сначала на копии базы.

Для ограничения видами документов добавьте перед запросом проверку Если СписокВидов.Найти(МетаДок.Имя) = Неопределено Тогда Продолжить; КонецЕсли;, где СписокВидов — массив нужных имён.

Перепроведение в файловой и клиент-серверной базе

Сам алгоритм одинаков, различаются скорость, блокировки и нагрузка на оборудование.

ПараметрФайловая базаКлиент-серверная база
Где выполняется проведениеНа компьютере, где открыта база (или на сервере публикации)В рабочих процессах сервера 1С
Работа других пользователейСильно замедляется, возможны ошибки блокировкиВозможна, но документы периода будут блокироваться
СкоростьОграничена диском, где лежит 1Cv8.1CDЗависит от СУБД, памяти и дисков сервера
Типичная проблемаСетевой диск и антивирус, проверяющий файл базыРост журнала транзакций СУБД, нехватка места

Файловая база

  • Запускайте перепроведение на компьютере, где физически лежит база, а не по сети — разница в скорости бывает в разы.
  • Попросите пользователей выйти. Монопольный режим для проведения не нужен, но одновременная работа даёт конфликты блокировок и замедляет всех.
  • Добавьте папку базы в исключения антивируса на время работ.

Клиент-серверная база

  • Запускайте во внерабочее время. Проведение одного документа — это транзакция, и пока она идёт, пересекающиеся данные заблокированы для других.
  • На MS SQL с полной моделью восстановления журнал транзакций за ночь может вырасти на десятки гигабайт. Проверьте свободное место на диске с журналом заранее.
  • Длительную операцию удобнее запускать в фоновом задании, чтобы закрытие клиента не прерывало работу.

Если перепроведение «зависло», не завершайте рабочий процесс сервера 1С без необходимости: оборвутся сеансы всех пользователей этой базы, а текущая транзакция откатится. Сначала посмотрите в консоли кластера, какой сеанс выполняет операцию и сколько он уже работает.

Проверка результата и ошибки после перепроведения

После завершения сравните отчёты с сохранёнными. Совпадение ОСВ по счетам, где ничего не должно было измениться (51, 68, 69, 70), подтверждает, что процесс прошёл без потерь. Изменения по 41, 10, 43, 90 — ожидаемы, если причиной была себестоимость.

Затем разберите документы, которые не провелись. Их список выдаёт штатная обработка; для внешнего скрипта откройте журнал регистрации (Администрирование → «Обслуживание» → «Журнал регистрации») с отбором по событию «Перепроведение».

Диагностика: выберите симптом

Если после перепроведения отчёты всё равно показывают странные остатки, запустите пересчёт итогов: «Все функции» → «Стандартные» → «Управление итогами». Это безопасная операция, она не меняет движения документов, а только пересчитывает накопленные итоги регистров.

Если перепроведение не исправило учёт

Бывает, что документы проведены без ошибок, а остатки по-прежнему не сходятся. Вероятные причины и проверка:

  1. Ошибка в самих данных, а не в движениях. Неверная цена в поступлении или не тот счёт учёта перепроведением не исправятся — исправьте документ и проведите его.
  2. Не выполнено закрытие месяца после перепроведения. Себестоимость продаж в БП 3.0 окончательно считается регламентной операцией, а не документом реализации.
  3. Повреждение базы. Если при проведении появляются системные ошибки платформы, нужен Конфигуратор → Администрирование → «Тестирование и исправление». Эта операция требует монопольного доступа: все пользователи должны выйти. Запускайте её только после резервной копии.
  4. Ручные операции. Операции, введённые вручную, перепроведение не пересчитывает: в них то, что ввёл бухгалтер. Проверьте их отдельно по журналу операций.

Если хотите посмотреть, что изменилось в конкретном документе, восстановите резервную копию «до» в отдельную базу и сравните проводки документа в двух базах. Это быстрее, чем гадать по итоговым отчётам.

Как реже перепроводить базу и ускорить процесс

Массовое перепроведение — признак того, что учёт ведётся с разрывами. Несколько привычек сокращают потребность в нём:

  • 📌 Даты запрета изменения. Установите дату запрета на конец последнего закрытого периода — ввод задним числом станет невозможен без осознанного решения.
  • 📌 Ввод в хронологии. Поступления — раньше реализаций. Если документ пришёл с опозданием, ставьте ему корректное время дня, чтобы он встал перед расходом.
  • 📌 Ежемесячное закрытие. Закрывайте каждый месяц, не накапливайте квартал. Перепроведение одного месяца идёт минуты, года — часы.
  • 📌 Регулярное обслуживание. Для серверной базы — плановое обновление статистики и обслуживание индексов в СУБД. Для файловой — периодическое тестирование и исправление по регламенту.
  • 📌 Перепроведение по частям. Большой период перепроводите по месяцам: ошибку в марте исправите до того, как она испортит апрель–декабрь.

Ускоряет процесс и железо: SSD под базу или под файлы СУБД сокращает время проведения заметнее, чем добавление памяти.

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

Можно ли работать в базе во время перепроведения?
Технически да, монопольный режим не нужен. Но проведение будет медленнее, а пользователи получат ошибки блокировок. Лучше выбрать нерабочее время.
Сколько длится перепроведение базы?
Зависит от числа документов и железа. Месяц небольшой организации — минуты, несколько лет крупной торговой базы — часы, иногда ночь. Оценить можно по пробному прогону одного месяца на копии.
Изменится ли сданная отчётность?
Отчёт, уже отправленный в налоговую, не изменится сам. Но если вы его переформируете, цифры могут отличаться. При расхождении налоговой базы подают уточнённую декларацию.
Чем перепроведение отличается от пересчёта итогов?
Перепроведение заново формирует движения документов. Пересчёт итогов не трогает движения, а только пересчитывает сохранённые суммы регистров. Пересчёт быстрее и безопаснее, но ошибку в проводках не исправит.
Что делать, если перепроведение прервалось на середине?
Уже проведённые документы остаются с новыми движениями, текущий откатывается. Запустите процесс заново с той же даты — повторное проведение безопасно — или восстановите резервную копию, если результат вызывает сомнения.