Перепроведение документов и пересчёт итогов в 1С 8.3: от одной накладной до всей базы за год
Содержание
Пересчитать документы в 1С значит провести их заново, чтобы программа заново сформировала движения: проводки, остатки, себестоимость. Один документ перепроводят кнопкой Провести в его форме или из списка. Документы за период в 1С:Бухгалтерии 3.0 пересчитывают обработкой «Групповое перепроведение документов
» из раздела Операции или шагом «Перепроведение документов» в помощнике Операции → Закрытие месяца. Если после этого остатки в отчётах всё равно расходятся с движениями, пересчитывают итоги регистров: Конфигуратор → Администрирование → Тестирование и исправление, флажок «Пересчёт итогов».
Это разные операции. Перепроведение меняет сами движения документов. Пересчёт итогов движения не трогает, он лишь заново суммирует то, что уже записано в регистрах. Путать их не стоит: пересчёт итогов не исправит неверную себестоимость, а перепроведение не вылечит испорченную таблицу итогов.
Перед массовым перепроведением сделайте резервную копию базы: Конфигуратор → Администрирование → Выгрузить информационную базу (файл .dt) или штатный бэкап СУБД. Перепроведение за закрытый период меняет уже сданную отчётность.
Когда документы действительно нужно перепроводить
Перепроведение нужно, когда движения документов перестали соответствовать данным. Типичные поводы:
- 📅 Изменили документ задним числом. Исправили количество в поступлении за март, а в апреле уже были продажи. Себестоимость списания в апрельских реализациях посчитана по старым данным.
- 🔢 Нарушена хронология. Реализацию провели раньше поступления, получили отрицательный остаток на складе, затем ввели поступление более ранней датой.
- ⚙️ Поменяли учётную политику или настройки. Сменили способ оценки запасов, включили учёт по складам или партиям, изменили счёт учёта в номенклатуре.
- 🔄 Загрузили данные обменом. Документы пришли из другой базы без проведения или в неверном порядке.
- 🛠️ Обновили конфигурацию. В описании релиза разработчик прямо пишет, что после обновления нужно перепровести определённые документы за период.
- 📊 Закрытие месяца сообщает об ошибке. Помощник показывает, что требуется перепроведение, и не даёт выполнить следующие шаги.
Если менялся только справочник (например, переименовали контрагента), перепроводить ничего не нужно: документы ссылаются на элемент, а не хранят его название.
Перепроводят не «всё подряд за всю историю», а период с даты самого раннего изменения до текущей даты. Исправили документ от 15 марта — проводите с 1 марта.
Групповое перепроведение документов за период
Основной способ для 1С:Бухгалтерии 3.0. Обработка проводит документы строго в хронологическом порядке, поэтому остатки и себестоимость в каждом следующем документе считаются от уже исправленных предыдущих.
Порядок действий в 1С:Бухгалтерии 3.0
- Попросите пользователей завершить работу. Документы, открытые другими, обработка провести не сможет.
- Откройте раздел
Операциии найдите в нём команду «Групповое перепроведение документов». - Укажите период: дату начала (день самого раннего изменения или начало того месяца) и дату окончания.
- Выберите организацию, если в базе их несколько и исправления касаются одной.
- Запустите перепроведение и дождитесь окончания. Ход виден по индикатору.
- Изучите сообщения в нижней части окна: в них перечислены документы, которые провести не удалось.
На базе небольшой фирмы перепроведение квартала занимает несколько минут. В крупной базе с десятками тысяч реализаций в месяц оно может идти часами, поэтому большие периоды запускают вечером или в выходные.
Как проверить результат
Перед запуском сформируйте оборотно-сальдовую ведомость за период и сохраните её. После перепроведения постройте ту же ведомость с теми же настройками и сравните. Обычно меняются счета 41, 43, 90 и 20: там отражается себестоимость.
- ✅ Изменились только суммы себестоимости и связанные с ними обороты — перепроведение сделало то, что нужно.
- ⚠️ Изменилась выручка или задолженность контрагентов — ищите документ, у которого поменялись данные, и разбирайтесь, почему.
- ⚠️ Обороты не изменились вовсе — проверьте, попал ли исправленный документ в выбранный период и организацию.
Если период уже отчётный, разницу в сданных декларациях придётся оформлять уточнёнкой. Решение об этом принимает главный бухгалтер, а не тот, кто запускал обработку.
Перепроведение через закрытие месяца
В Бухгалтерии 3.0 помощник Операции → Закрытие месяца сам следит за тем, нарушилась ли последовательность. Если вы изменили документ задним числом, в списке операций месяца появляется шаг «Перепроведение документов». Его выполняют перед остальными регламентными операциями. Помощник перепроводит документы только за нужный месяц и только там, где это требуется.
Этот путь удобен бухгалтеру: не нужно гадать, с какой даты проводить. Групповая обработка подходит, когда период длинный или помощник ничего не предлагает, а вы точно знаете, что движения неверны.
Если команды нет в разделе
В типовых конфигурациях на БСП обработки доступны через Все функции. Включите эту команду: Главное меню → Сервис → Параметры, флажок «Отображать команду “Все функции”». Затем откройте Главное меню → Все функции → Обработки и найдите в списке обработку с «перепроведением» в названии.
Ручное перепроведение из списка документов
Когда документов десяток, групповая обработка не нужна. Их проводят прямо из списка.
- Откройте журнал нужного вида документов, например
Продажи → Реализация (акты, накладные, УПД). - Отсортируйте список по дате по возрастанию.
- Выделите документы:
Shift+ клик выделяет диапазон,Ctrl+ клик добавляет отдельные строки. - Выполните команду
Провестииз контекстного меню (правая кнопка мыши) или из менюЕщё.
Платформа проводит выделенные документы по одному сверху вниз. Если один документ не провёлся, остальные продолжат проводиться, а ошибка появится в окне сообщений.
Где ручной способ подводит
- ❌ Несколько видов документов. Поступления в одном журнале, реализации в другом. Проведя сначала все реализации, а потом все поступления, вы снова нарушите хронологию. Для смешанных видов используйте журнал всех документов или групповую обработку.
- ❌ Длинный период. Выделить и провести тысячу строк можно, но ошибки потеряются среди сообщений.
- ❌ Отменить проведение нужно отдельно. Если документ надо снять с учёта, а не исправить, используйте команду
Отмена проведения, а не удаление.
Для одного документа проще всего открыть его и нажать Провести или Провести и закрыть. Посмотреть новые движения можно сразу: кнопка с проводками (Дт/Кт) в командной панели документа открывает отчёт о движениях по всем регистрам.
| Способ | Когда подходит | Риски |
|---|---|---|
Кнопка Провести в документе | 1–5 документов | Нет |
| Выделение в списке | До сотни документов одного вида | Нарушение порядка при разных видах |
| Шаг в «Закрытии месяца» | Изменения в пределах месяца | Почти нет, помощник сам выбирает документы |
| Групповое перепроведение | Квартал, год, много видов | Долго, блокирует работу пользователей |
| Своя обработка на встроенном языке | Нестандартный отбор | Ошибка в коде заденет много документов |
Пересчёт итогов и восстановление последовательности
Итоги регистров накопления и бухгалтерии платформа хранит в отдельных таблицах, чтобы отчёты строились быстро. Иногда эти таблицы расходятся с движениями: после аварийного отключения, сбоя диска, обрыва связи с сервером СУБД. Признак — остаток в ОСВ не совпадает с суммой оборотов по тому же счёту в карточке, хотя документы проведены верно.
Пересчёт итогов в Конфигураторе
- Сделайте резервную копию базы .
- Убедитесь, что в базе никто не работает : для тестирования и исправления нужен монопольный режим. Сеансы пользователей придётся завершить, поэтому операцию проводят вне рабочего времени.
- Откройте базу в режиме
Конфигуратор. - Выберите
Администрирование → Тестирование и исправление. - Оставьте флажок «Пересчёт итогов». Остальные флажки (реиндексация, проверка логической и ссылочной целостности) включайте, если подозреваете более серьёзное повреждение.
- Нажмите
Выполнитьи дождитесь окончания.
Пересчёт итогов без Конфигуратора
В режиме 1С:Предприятие есть стандартная обработка «Управление итогами»: Главное меню → Все функции → Стандартные → Управление итогами. На вкладке со всеми функциями доступна команда пересчёта итогов, можно выбрать отдельные регистры. Это удобно, когда пароля к Конфигуратору нет или нужно пересчитать один регистр, не останавливая работу всей базы на долгий срок.
В обработке «Управление итогами» задают и период рассчитанных итогов. Если итоги рассчитаны только до прошлого года, отчёты за текущий месяц строятся медленнее. Сдвиг периода вперёд ускоряет их без всякого перепроведения.
Последовательность документов
В конфигурациях, где есть объект «Последовательность», платформа запоминает границу: момент времени, до которого документы проведены в правильном порядке. Изменили документ раньше границы — граница сдвигается назад. Восстановить последовательность значит перепровести всё от границы до текущей даты.
В Бухгалтерии 3.0 этим занимается закрытие месяца, отдельной кнопки искать не нужно. В отраслевых и самописных конфигурациях восстановление последовательности обычно вынесено в отдельную обработку. Её ищут через Все функции → Обработки по слову «последовательность».
Перепроведение собственной обработкой на встроенном языке
Своя обработка нужна, когда типовой отбор не подходит. Например, перепровести только реализации одного склада или только документы, которые изменил конкретный пользователь. Код выполняется на сервере, документы выбираются запросом в порядке момента времени.
&НаСервереБезКонтекста
Процедура ПерепровестиНаСервере(ДатаНачала, ДатаОкончания)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Док.Ссылка КАК Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК Док
|ГДЕ
| Док.Проведен
| И Док.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
|
|УПОРЯДОЧИТЬ ПО
| Док.МоментВремени";
Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ДатаНачала));
Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(ДатаОкончания));
Выборка = Запрос.Выполнить().Выбрать();
Проведено = 0;
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
Попытка
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
Проведено = Проведено + 1;
Исключение
Сообщить(СтрШаблон("Не проведён %1: %2",
Выборка.Ссылка, КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
КонецПопытки;
КонецЦикла;
Сообщить(СтрШаблон("Перепроведено документов: %1", Формат(Проведено, "ЧГ=0")));
КонецПроцедуры
Как пользоваться:
- В Конфигураторе создайте внешнюю обработку
(
Файл → Новый → Внешняя обработка), добавьте форму, на неё два поля дат и кнопку. - Из обработчика кнопки вызовите
ПерепровестиНаСервере(Объект.ДатаНачала, Объект.ДатаОкончания). - Сохраните файл .epf и откройте его в рабочей базе через
Главное меню → Файл → Открыть. - Сначала проверьте на копии базы.
Пример берёт один вид документов. Чтобы проводить несколько видов в общей хронологии, объедините их в запросе через ОБЪЕДИНИТЬ ВСЕ и сортируйте объединённый результат по моменту времени.
Обработка не проверяет дату запрета изменения: если для периода она установлена, запись выдаст исключение, и документ окажется в списке непроведённых. Это правильное поведение. Не обходите его в коде флагом ОбменДанными.Загрузка: при нём подписки и проверки не срабатывают, движения могут записаться не полностью.
Почему документы не перепроводятся и что с этим делать
Ещё одна ошибка не даёт сообщений вовсе. Документы перепровели, а регламентные операции месяца оставили прежними. Амортизация, списание косвенных расходов и финансовый результат посчитаны по старым данным. После перепроведения заново выполните закрытие каждого затронутого месяца, начиная с самого раннего, иначе прибыль в отчётности не сойдётся с новыми оборотами.