Перепроведение в 1С 8.3: от одного документа до всей базы за квартал
Содержание
Один документ перепровести просто: откройте его и нажмите Провести — программа удалит старые движения и запишет новые. Документы за месяц или квартал в 1С:Бухгалтерии 3.0 перепроводят через Операции → Групповое перепроведение документов: указываете период и запускаете обработку. Она проходит документы по порядку дат и в конце показывает, что провести не удалось.
Перепроводить приходится после правки задним числом: поменяли учётную политику, исправили приход, добавили забытую накладную. Способ зависит от объёма: для пары документов хватит кнопки, для квартала нужна обработка, а для выборочного пересчёта — отбор по регистру.
Когда нужно перепроводить документы и что сделать до начала
Перепроведение нужно, если изменилось что-то, от чего зависят проводки уже проведённых документов:
- 📄 исправили документ прошлого периода (количество, цену, склад, счёт учёта);
- 📥 ввели задним числом документ, который меняет остатки, например поступление товаров раньше реализации;
- ⚙️ поменяли учётную политику или настройки параметров учёта за прошедший период;
- 🧮 исправили счёт учёта в карточке номенклатуры или в регистре счетов учёта, и старые документы должны взять новый счёт;
- 🔄 загрузили документы обменом без проведения или с ошибками.
Перепроведение переписывает движения. Если кто-то вручную правил проводки, а документ не отмечен как ручная корректировка, такие правки пропадут.
Перед массовым перепроведением сделайте резервную копию базы. Откатить сотни документов к прежним движениям другим способом нельзя.
Последний пункт часто пропускают зря. Сформируйте оборотно-сальдовую ведомость за период до запуска и сохраните её. После перепроведения сравните: так вы увидите, что именно изменилось, и сможете объяснить разницу.
Как перепровести документ вручную: один или несколько из списка
Один документ
- Откройте журнал документов
нужного вида, например
Покупки → Поступление (акты, накладные, УПД). - Откройте документ двойным щелчком.
- Нажмите
Провести(документ останется открытым) илиПровести и закрыть. - Проверьте результат кнопкой
Дт/Кт— она открывает проводки и другие движения документа.
Для проведённого документа команда Провести работает как перепроведение: старые движения удаляются, новые формируются по текущим данным документа и справочников.
Несколько документов прямо из списка
Выделите нужные строки в журнале: с зажатым Ctrl — по одной, с Shift — диапазон. Затем выберите Провести в меню Ещё или в контекстном меню правой кнопки. Программа проведёт выделенные документы по очереди и сообщит об ошибках внизу окна.
💡 Перед выделением отсортируйте список по дате по возрастанию. Тогда документы пойдут в хронологическом порядке, и реализация не проведётся раньше поступления, которое обеспечивает её остатком.
Этот способ годится для 5–30 документов одного вида. Если затронуты разные виды документов или счёт идёт на сотни, переходите к групповой обработке.
Отменить проведение, а потом провести снова
Иногда документ проще сначала распровести (Отмена проведения в меню Ещё), поправить и провести заново. Это нужно, когда изменения в документе мешают его записи в проведённом состоянии, или когда надо временно убрать его из учёта, пока исправляются более ранние документы.
Групповое перепроведение документов за период
В 1С:Бухгалтерии 3.0 есть штатная обработка. Порядок такой:
- Откройте раздел
Операции, в группе закрытия периода выберитеГрупповое перепроведение документов. - Укажите начало и конец периода. Берите период от даты первого изменённого документа до конца последнего месяца, где есть движения.
- Если в базе несколько организаций, выберите нужную, чтобы не перепроводить чужие документы.
- Нажмите
Перепровести. - Дождитесь окончания. Документы, которые провести не удалось, обработка покажет списком — их разбирают по одному.
Обработка проводит документы в порядке дат и времени, поэтому зависимые операции выстраиваются правильно. За год в базе небольшой фирмы это занимает минуты, в базе с десятками тысяч документов — часы.
Если в учётной политике выбран метод ФИФО или документы меняли сильно задним числом, при закрытии месяца обработка Закрытие месяца сама может предложить перепроведение документов первым шагом. Соглашайтесь: она выполнит его за нужный месяц и только потом возьмётся за расчёт себестоимости.
После группового перепроведения заново выполните закрытие месяца за все месяцы, начиная с месяца первого изменения. Перепроведение не пересчитывает регламентные операции: амортизацию, списание расходов, корректировку себестоимости, финансовый результат.
Какой способ выбрать
| Способ | Когда подходит | Риски |
|---|---|---|
Кнопка Провести в документе | Исправили один документ, остатки других не затронуты | Последующие документы останутся со старыми движениями |
Выделение в списке → Провести | До нескольких десятков документов одного вида | Легко нарушить порядок дат без сортировки |
Групповое перепроведение документов | Изменения задним числом, учётная политика, месяц или квартал целиком | Долго на больших базах, переписывает все движения периода |
| Своя обработка по регистру | Нужно перепровести только документы одного регистра или одного счёта | Нужен программист и тест на копии |
Последовательность документов: почему порядок важен
Многие документы при проведении смотрят на остатки на свою дату. Реализация списывает товар по средней или по ФИФО — значит, сумма её проводки зависит от всех поступлений и списаний до неё. Если вставить поступление в прошлое, реализации после него остаются с «чужой» себестоимостью, пока их не перепровести.
Отсюда простые правила:
- 🕐 перепроводить нужно не только исправленный документ, а всё, что идёт после него в том же учёте;
- 📅 порядок — строго по дате и времени, от ранних к поздним;
- ⏱️ если два документа одного дня зависят друг от друга, следите за временем: документ с меньшим временем проводится первым.
Время документа
У каждого документа есть дата и время. Если поступление и реализация введены одним днём, а у реализации время раньше, она может провестись с нехваткой остатка. Исправьте время у одного из них прямо в поле даты документа и перепроведите оба.
Как проверить, что последовательность восстановлена
Откройте оборотно-сальдовую ведомость по счёту 41 или 10 с разбивкой по номенклатуре. Тревожные признаки:
- ❗ отрицательное сальдо по количеству или сумме;
- ❗ товар с нулевым количеством, но ненулевой суммой («висящие копейки» или рубли);
- ❗ разные итоги до и после перепроведения там, где вы ничего не меняли.
В старых конфигурациях на обычных формах (УПП, Комплексная автоматизация 1.1) порядок контролировал отдельный механизм последовательностей: программа хранила границу, до которой документы проведены правильно, и восстанавливала последовательность отдельной обработкой. В Бухгалтерии 3.0 этой роли нет: контроль идёт через закрытие месяца и групповое перепроведение.
Перепроведение документов по одному регистру
Бывает, что пересчитать нужно только часть учёта. Например, исправили настройку счетов учёта номенклатуры и хотите перепровести лишь документы, которые двигают товары, не трогая банк и зарплату. Перепроведение всего периода в этом случае лишнее и долгое.
Решение — сначала найти документы-регистраторы нужного регистра, потом провести только их. Регистратор — это документ, который записал движение в регистр. Список регистраторов за период получают запросом, например в консоли запросов (внешняя обработка для разработчика):
ВЫБРАТЬ
Движения.Регистратор КАК Регистратор,
МИНИМУМ(Движения.Период) КАК Период
ИЗ
РегистрБухгалтерии.Хозрасчетный КАК Движения
ГДЕ
Движения.Период МЕЖДУ &НачалоПериода И &КонецПериода
И Движения.СчетДт.Код = "41.01"
СГРУППИРОВАТЬ ПО
Движения.Регистратор
УПОРЯДОЧИТЬ ПО
Период
Запрос возвращает документы, где в дебете был счёт 41.01, отсортированные по дате. Для другого счёта поменяйте код; для регистра накопления замените источник на РегистрНакопления.<Имя> и уберите условие по счёту.
Полученный список дальше проводят двумя способами:
- Вручную — если документов десяток: открыть каждый из результата и провести.
- Программно — внешней обработкой из следующего раздела.
Этот приём не находит документы, которые должны были сделать движение по регистру, но не сделали — например, проведённые с ошибкой счёта. Их ищите в журнале документов фильтром по виду и периоду.
Автоматизация: своя обработка и запуск по расписанию
Когда перепроведение повторяется каждый месяц или затрагивает выборочные документы, его поручают внешней обработке. Пример — серверная процедура для обработки с управляемой формой. Она получает список регистраторов из запроса выше и перепроводит каждый, собирая ошибки.
&НаСервере
Процедура ПерепровестиНаСервере(НачалоПериода, КонецПериода)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Движения.Регистратор КАК Регистратор,
| МИНИМУМ(Движения.Период) КАК Период
|ИЗ
| РегистрБухгалтерии.Хозрасчетный КАК Движения
|ГДЕ
| Движения.Период МЕЖДУ &НачалоПериода И &КонецПериода
| И Движения.СчетДт.Код = ""41.01""
|СГРУППИРОВАТЬ ПО
| Движения.Регистратор
|УПОРЯДОЧИТЬ ПО
| Период";
Запрос.УстановитьПараметр("НачалоПериода", НачалоДня(НачалоПериода));
Запрос.УстановитьПараметр("КонецПериода", КонецДня(КонецПериода));
Выборка = Запрос.Выполнить().Выбрать();
Всего = 0;
Ошибок = 0;
Пока Выборка.Следующий() Цикл
ДокументОбъект = Выборка.Регистратор.ПолучитьОбъект();
Если ДокументОбъект = Неопределено Или Не ДокументОбъект.Проведен Тогда
Продолжить;
КонецЕсли;
Всего = Всего + 1;
Попытка
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение,
РежимПроведенияДокумента.Неоперативный);
Исключение
Ошибок = Ошибок + 1;
Сообщить(СтрШаблон("%1: %2", Строка(Выборка.Регистратор),
КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
КонецПопытки;
КонецЦикла;
Сообщить(СтрШаблон("Перепроведено: %1, с ошибками: %2",
Формат(Всего - Ошибок, "ЧН=0; ЧГ=0"), Формат(Ошибок, "ЧН=0; ЧГ=0")));
КонецПроцедуры
Что важно в этом коде:
- 🔹 непроведённые документы пропускаются — обработка не проводит то, что бухгалтер сознательно оставил черновиком;
- 🔹 режим
Неоперативныйподходит для документов прошлых дат, оперативный контроль остатков на текущий момент здесь не нужен; - 🔹 ошибка одного документа не останавливает цикл, а попадает в сообщения с названием документа;
- 🔹 порядок задан сортировкой по периоду, как в штатной обработке.
Для неспециалиста есть готовый вариант — универсальная обработка «Групповая обработка справочников и документов». В ней отбирают документы по виду и условиям и применяют к ним действие «Провести». Отбор гибче, чем в штатном групповом перепроведении, но порядок дат при смешанных видах документов контролируйте сами.
Запуск без участия пользователя
Обработку можно запускать ночью из планировщика Windows. Платформа открывает базу и сразу выполняет внешнюю обработку
по параметру /Execute:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Base\Buh" /N"Робот" /P"пароль" /Execute"D:\Scripts\Perepr.epf"
Логику в этом случае пишут в обработчике открытия формы обработки, а в конце закрывают сеанс. Для пользователя-робота заведите отдельную учётную запись с нужными правами и не храните пароль администратора в bat-файле.
Сначала прогоните обработку на копии базы и сравните оборотно-сальдовую ведомость до и после. Только потом ставьте задание на рабочую базу.
Если документы не перепроводятся: причины и решения
Обработка закончила работу, но часть документов в списке ошибок. Разбирайте их по одному: откройте документ, нажмите Провести и прочитайте сообщение внизу формы. Оно почти всегда называет причину.
Администрирование → Пользователи и права → Даты запрета изменения, после перепроведения дату возвращают обратно.Если после перепроведения цифры не сошлись
- 🔍 Сравните сохранённую ОСВ с новой и найдите счёт с разницей.
- 🔍 Откройте карточку счёта и найдите документ, у которого изменилась сумма.
- 🔍 Проверьте, не была ли у этого документа ручная корректировка движений. Документы с флажком ручной корректировки при проведении сохраняют свои движения, а без флажка — теряют ручные правки.
- 🔍 Если разница сидит в себестоимости, повторите закрытие месяца — перепроведение само её не пересчитывает.
Если ничего не помогает, восстановите базу из копии, сделанной перед запуском, и перепроведите период по месяцам, проверяя ОСВ после каждого.