Перепроведение документов в 1С 8.3: по одному, списком, обработкой и кодом
Содержание
Перепровести один документ в 1С 8.3 просто: откройте его и нажмите Провести или Провести и закрыть. Несколько документов перепроводят из списка: выделите строки и выполните команду Провести в командной панели. Весь период в Бухгалтерии 3.0 перепроводят обработкой Операции → Групповое перепроведение документов, которая проводит документы строго по порядку дат.
Выбор способа зависит от масштаба. Поправили одну реализацию — хватит формы документа. Исправили цену в пяти поступлениях — удобнее список или журнал. Поменяли учётную политику, остатки или задним числом внесли документ, от которого зависит себестоимость, — нужен групповой проход за весь период. Если перепроведение надо запускать регулярно или по особому отбору, пишут внешнюю обработку .
Когда документы нужно перепроводить и что при этом происходит
Проведение — это запись движений документа в регистры: проводки, остатки товаров, взаиморасчёты, книги покупок и продаж. При перепроведении программа удаляет старые движения документа и формирует их заново по текущим данным. Сам документ не меняется, меняется только его след в учёте.
Перепроводить приходится в таких случаях:
- 📦 задним числом введено поступление, а реализации после него уже списали товар по старой себестоимости;
- ⚙️ изменена учётная политика или настройки параметров учёта;
- ✏️ в справочниках исправили данные, которые влияют на проводки: счёт учёта номенклатуры, вид договора, ставку НДС;
- 🔄 после загрузки данных из другой базы документы пришли непроведёнными или с неполными движениями;
- 🧾 закрытие месяца сообщает, что документы требуют перепроведения.
Перепроведение не исправляет ошибки в самих документах. Если в реализации неверный контрагент, сначала поправьте документ, потом проводите.
Есть одна ловушка. У документов, в которых бухгалтер вручную правил проводки (флажок ручной корректировки на вкладке движений), программа при проведении движения не перезаполняет. Групповой проход такие документы «не лечит» — их проверяют и правят отдельно.
Как перепровести один документ из его формы
Способ подходит, когда исправлена одна операция и вы знаете, какие документы после неё она затрагивает.
- Откройте документ из журнала или списка.
- Внесите исправления, если они нужны.
- Нажмите
Провести— документ останется открытым, и можно сразу посмотреть результат. КнопкаПровести и закрытьпроведёт и закроет форму. - Проверьте движения кнопкой
Дт/Ктв командной панели документа (в Бухгалтерии 3.0). Там видны проводки и, на отдельных вкладках, движения по регистрам.
Если документ после проведения остался с пометкой «не проведён», программа выводит сообщение с причиной внизу формы. Причины разобраны в последнем разделе.
Перепровести непроведённый документ и проведённый — одна и та же операция. Отменить проведение, не удаляя документ, можно командой Отмена проведения в меню Ещё формы или списка.
Ручной способ опасен одним: легко забыть про документы, которые зависят от исправленного. Перепровели поступление 5 марта — реализации с 6 марта по 31 марта по-прежнему держат старую себестоимость. В таких случаях переходите к групповому способу.
Перепроведение нескольких документов из списка и журнала
В интерфейсе «Такси» в любом списке документов и в журнале документов работает множественное выделение:
Shift+ клик — выделить диапазон строк;Ctrl+ клик — добавить отдельные строки;Ctrl+A— выделить все строки, видимые в списке с учётом отбора.
После выделения нажмите Провести в командной панели или найдите эту команду в меню Ещё. Программа проведёт документы по одному и сообщит о тех, что провести не удалось.
Чтобы выделить только нужное, сначала настройте отбор. В меню Ещё → Настроить список задайте отбор по периоду, организации, контрагенту или складу и отсортируйте список по дате по возрастанию.
Проводите документы из списка только в хронологическом порядке. Список, отсортированный по номеру или контрагенту, перепроведёт документы вразнобой: реализация может пройти раньше поступления, и программа покажет нехватку остатков, которой на самом деле нет.
В Бухгалтерии 3.0 удобно работать через журнал операций (Операции → Журнал операций). Он показывает документы всех видов вперемешку, по дате. Отберите период, выделите строки и проведите — так в один проход попадут и банковские выписки, и реализации, и поступления.
| Способ | Когда выбирать | Риски |
|---|---|---|
| Форма документа | Исправлен один документ, зависимых нет | Забыть про следующие по дате документы |
| Список или журнал | 5–50 документов одного периода | Неверная сортировка, пропуск документов другого вида |
| Групповая обработка | Изменения влияют на весь период | Долго на большой базе, блокировки при работе пользователей |
| Внешняя обработка | Нестандартный отбор, регулярный запуск | Ошибка в коде затронет сотни документов |
Групповое перепроведение документов в Бухгалтерии 3.0
Штатная обработка проводит все документы за период в правильной последовательности и сама учитывает время документов внутри одного дня.
- Откройте
Операции → Групповое перепроведение документов. Если пункта не видно, наберите «перепроведение» в поиске по меню. - Укажите период. Начинать стоит с даты самого раннего изменения, заканчивать — текущей датой или концом закрытого месяца.
- Нажмите
Перепровести. - Дождитесь окончания. В конце обработка покажет документы, которые не провелись, с текстом ошибок.
- Откройте каждый проблемный документ, устраните причину и перепроведите его вручную. Потом запустите обработку снова с даты этого документа.
После перепроведения выполните закрытие месяца заново за все затронутые месяцы (Операции → Закрытие месяца). Без этого себестоимость, финансовый результат и амортизация останутся старыми.
На базе с сотнями тысяч документов обработка может работать часами. Запускайте её вечером или в выходной, когда пользователи не вводят документы: параллельная работа приводит к конфликтам блокировок и обрывам проведения.
Перед групповым проходом сделайте резервную копию базы
. Для файловой базы — выгрузка .dt через Конфигуратор (Администрирование → Выгрузить информационную базу) или копия каталога базы при закрытой программе. Для клиент-серверной — резервная копия средствами СУБД. Если перепроведение «поломает» учёт, вернуться можно будет за минуты.
Перепроведение в Управлении торговлей, ERP и ЗУП
В Управлении торговлей 11 и ERP аналогичная обработка находится в разделе НСИ и администрирование, в группе обслуживания и корректировки данных; название в разных релизах может отличаться, поэтому её проще найти поиском по слову «перепроведение». Логика та же: период, запуск, отчёт об ошибках.
В ЗУП 3.1 массовое перепроведение нужно редко: расчёты строятся на документах начислений, которые перерассчитывают, а не перепроводят. Если начисления изменились, обычно пересчитывают документ «Начисление зарплаты и взносов» и проводят его заново.
Нарушенная последовательность и перепроведение при закрытии месяца
Многие механизмы учёта зависят от порядка документов. Себестоимость списания, зачёт авансов, распределение затрат считаются по данным на момент документа. Когда вы меняете документ в прошлом, всё, что проведено после него, становится недостоверным.
В Бухгалтерии 3.0 это отслеживается автоматически. Если после исправления задним числом открыть Операции → Закрытие месяца, обработка покажет, что требуется перепроведение, и добавит в список регламентных операций отдельный шаг перепроведения документов за месяц. Этот шаг проводит документы месяца по порядку и только потом выполняет остальные операции.
Порядок исправления задним числом:
- Исправьте документ в прошлом периоде.
- Откройте закрытие месяца за этот период.
- Выполните закрытие: шаг перепроведения пройдёт первым.
- Повторите закрытие для всех следующих месяцев до текущего — каждый месяц опирается на остатки предыдущего.
Если в базе установлена дата запрета изменения, исправить и перепровести документы в закрытом периоде не получится. Дату задают в разделе Администрирование → Настройки пользователей и прав. Её сдвигает ответственный за базу, и только после согласования: по закрытому периоду уже может быть сдана отчётность.
Автоматизация: внешняя обработка и запуск по расписанию
Своя обработка нужна, если отбор нестандартный: например, перепровести только реализации одного склада за квартал или все документы, созданные обменом. Код ниже выбирает документы по порядку и проводит каждый, записывая ошибки, но не останавливаясь на них.
&НаСервере
Процедура ПерепровестиНаСервере(НачалоПериода, КонецПериода)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Док.Ссылка КАК Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК Док
|ГДЕ
| Док.Проведен
| И Док.Дата МЕЖДУ &Начало И &Конец
|УПОРЯДОЧИТЬ ПО
| Док.МоментВремени";
Запрос.УстановитьПараметр("Начало", НачалоДня(НачалоПериода));
Запрос.УстановитьПараметр("Конец", КонецДня(КонецПериода));
Выборка = Запрос.Выполнить().Выбрать();
Ошибок = 0;
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
Попытка
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Ошибок = Ошибок + 1;
Сообщить(СтрШаблон("%1: %2", Выборка.Ссылка,
КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
КонецПопытки;
КонецЦикла;
Сообщить(СтрШаблон("Готово, ошибок: %1", Формат(Ошибок, "ЧН=0; ЧГ=0")));
КонецПроцедуры
Что важно в этом примере:
УПОРЯДОЧИТЬ ПО Док.МоментВременисортирует по дате и времени документа, а при совпадении — по ссылке. Это тот же порядок, который использует учёт.Записать(РежимЗаписиДокумента.Проведение)выполняет полноценное проведение со всеми проверками конфигурации, как кнопка в форме.- Ошибки не прерывают цикл, а выводятся списком с представлением документа.
Если нужно провести документы разных видов вперемешку, запрос строят по журналу документов или объединением таблиц нескольких видов документов, а сортируют по общему моменту времени.
Запуск обработки без участия пользователя — через параметр командной строки /Execute:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "D:\Bases\Buh" /N "Робот" /P "пароль" /Execute "D:\Tools\Perepost.epf" /DisableStartupMessages
Для клиент-серверной базы вместо /F указывают /S "сервер\база". Чтобы обработка стартовала сама, в её форме код запуска помещают в обработчик открытия. Такой bat-файл ставят в Планировщик заданий Windows на ночное время.
Пароль в bat-файле хранится открытым текстом. Создайте для запуска отдельного пользователя 1С с минимальными правами, достаточными для проведения, и ограничьте доступ к файлу.
Проверяйте свою обработку на копии базы. Ошибка в отборе перепроведёт не 50 документов, а 50 тысяч.
Почему документ не перепроводится: диагностика
Ошибки проведения при массовом проходе почти всегда сводятся к нескольким типам. Найдите свой симптом:
Если сообщение в форме неинформативное, смотрите журнал регистрации: Администрирование → Обслуживание → Журнал регистрации. Отберите события по пользователю, который запускал проведение, и по уровню «Ошибка». В журнале видно, на каком документе и с каким текстом оборвалась транзакция.
Для клиент-серверной базы при частых блокировках полезно проверить, какие сеансы держат базу. Список активных пользователей открывается в Администрирование → Обслуживание → Активные пользователи. Завершать чужие сеансы перед проведением можно только после предупреждения: пользователи потеряют несохранённые данные.
Частые вопросы
Меняется ли номер или дата документа при перепроведении?
Можно ли перепровести документы, которые помечены на удаление?
Пометить на удаление / Снять пометку, потом проводите.