Перенос документа на другую дату в 1С 8.3 без сбоев в учёте
Содержание
Дату в журнале операций 1С меняют не в самом журнале, а в документе: откройте строку двойным щелчком, исправьте поле даты в шапке (рядом с номером, после «от») и нажмите Провести и закрыть. Журнал — это только список, он показывает дату из документа и сам ничего не хранит.
Если поле даты не даёт сохранить изменения, почти всегда мешает дата запрета изменения данных или закрытый период. Правила одинаковы для документов любого вида; пути меню даны для 1С 8.3 с интерфейсом «Такси», основной пример — 1С:Бухгалтерия 3.0.
Когда приходится менять дату операции в 1С
В 1С 8.3 «журналом операций» обычно называют список документов: Операции → Операции, введённые вручную, журналы документов в разделах Покупки, Продажи, Банк и касса или отчёт Журнал проводок. Во всех случаях дата принадлежит документу.
Типичные поводы для правки:
- 📅 документ ввели «сегодняшним» числом, а событие было раньше — например, накладную от поставщика внесли через неделю после получения товара;
- 🔄 перепутали месяц или год при ручном вводе (12.01 вместо 01.12);
- 📦 продажа оказалась в программе раньше поступления, и появились отрицательные остатки;
- 🧾 ручная операция с корректировкой должна попасть в другой квартал;
- 🕐 два документа одного дня стоят в неправильном порядке: дата верная, время нет.
Не путайте дату документа и входящую дату. В поступлении товаров есть поле «Дата» (дата учёта у вас) и номер с датой документа поставщика. Если неверна только дата из бумаги контрагента — правьте входящие реквизиты, а не дату документа. Учёт при этом не сдвинется.
Как поменять дату в журнале операций: ручной способ
Ручной способ подходит, когда исправить нужно один или несколько документов.
Шаг 1. Найдите документ
Откройте нужный список. Если документов много, нажмите Ctrl+F и ищите по номеру или сумме. Отбор по периоду ставится кнопкой выбора периода над списком.
Если вы нашли проводку в Журнале проводок, откройте документ-регистратор из строки двойным щелчком по колонке документа.
Шаг 2. Исправьте дату и время
В шапке документа поле даты содержит и время. Его можно ввести вручную в формате ДД.ММ.ГГГГ ЧЧ:ММ:СС или выбрать в календаре.
Время важно, когда в один день проведено несколько связанных документов. Программа учитывает документы в порядке «дата + время». Поступление в 10:00 и реализация в 09:00 того же дня дадут отрицательный остаток на момент продажи.
Шаг 3. Проведите документ заново
Нажмите Провести и закрыть. Простое «Записать» у проведённого документа тоже перепроведёт его, но лучше явно провести и посмотреть результат.
После проведения откройте проводки кнопкой ДтКт в форме документа: даты проводок должны совпасть с новой датой.
Что происходит с номером
Номера документов в 1С уникальны в пределах года. Если вы переносите документ в другой год, программа проверит номер на уникальность в новом году. При совпадении появится сообщение о неуникальном номере — очистите поле номера, и при записи присвоится следующий свободный.
Перед правкой документа, который уже попал в отправленную отчётность или передан контрагенту по ЭДО, решите, нужна ли корректировка. Изменение даты в базе не отменяет уже сданную декларацию и не меняет документ у контрагента.
Если дату изменить не даёт: дата запрета и закрытый период
Самая частая причина отказа — установлена дата запрета изменения данных. Программа сообщает, что документ нельзя записать, потому что дата попадает в закрытый период. Причём проверяется и старая, и новая дата: перенести документ ни из закрытого периода, ни в закрытый период не получится.
Где посмотреть настройку в Бухгалтерии 3.0: Администрирование → Настройки пользователей и прав, флажок и ссылка «Даты запрета изменения». Дата может быть общей, отдельной для организации или для конкретного пользователя.
Что делать:
- Убедитесь, что правка действительно нужна именно в закрытом периоде. Обычно период закрывают после сдачи отчётности.
- Попросите ответственного (главного бухгалтера или администратора) временно сдвинуть дату запрета.
- Внесите исправление.
- Верните дату запрета на место сразу после правки.
Не меняйте дату запрета «на минутку» без согласования. Пока она снята, любой пользователь может случайно перепровести документы прошлых периодов, по которым уже сдана отчётность.
Другие причины, по которым поле даты недоступно или запись не проходит:
- 🔒 у пользователя нет прав на изменение этого вида документов;
- 📄 документ сформирован автоматически обработкой (например, закрытием месяца) — его дату задаёт сама обработка;
- 🔗 по документу введены подчинённые документы — дата сохранится, но подчинённые могут оказаться раньше основания, и логика учёта нарушится;
- ⛔ другой пользователь в этот момент редактирует тот же документ — дождитесь, пока он закроет форму.
Массовое изменение дат: что можно и чего ждать
Когда нужно перенести десятки документов (например, весь пакет поступлений за неделю съехал на месяц), правка по одному занимает много времени. Варианты такие.
Групповое изменение реквизитов
В Бухгалтерии 3.0 есть обработка группового изменения реквизитов: Администрирование → Обслуживание → Корректировка данных. Во многих списках её же можно вызвать для выделенных строк через меню Ещё.
Обработка рассчитана на реквизиты шапки и табличных частей. Дату документа она меняет не во всех релизах. Если поля «Дата» в списке изменяемых нет — значит, этим инструментом её не перенести, и нужен другой способ.
Универсальная обработка группового изменения
Для 8.3 широко используется внешняя универсальная обработка групповой обработки справочников и документов. Она позволяет выбрать документы по отбору и установить новое значение даты, затем записать или провести их.
Ограничения у неё общие для любой массовой правки:
- она подчиняется дате запрета изменения;
- она не знает учётного смысла — перенесёт и то, что переносить нельзя;
- ошибки проведения выводятся в сообщениях, и их легко пропустить, если документов сотни.
Сравнение способов
| Способ | Когда подходит | Риски |
|---|---|---|
| Ручная правка в форме | 1–20 документов | Почти нет: видно каждую проводку |
| Групповое изменение реквизитов | Однотипные документы, если поле «Дата» доступно | Может не поддерживать дату |
| Универсальная внешняя обработка | Десятки и сотни документов | Переносит всё подряд, ошибки теряются в сообщениях |
| Своя обработка с кодом | Сложное правило переноса (сдвиг на N дней, по условию) | Нужен программист и тест на копии |
Массовую правку делайте только после резервной копии базы (Администрирование → Обслуживание → Резервное копирование и восстановление для файловой базы или выгрузка .dt из Конфигуратора). Откат сотен документов вручную — это дни работы.
Регламентные операции и закрытие месяца: дату не правят руками
Документы, которые создаёт Операции → Закрытие месяца, датируются последним днём месяца. Это амортизация, закрытие затратных счетов, расчёт финансового результата, регламентные операции по НДС и налогу на прибыль.
Менять у них дату вручную не нужно и вредно. Если регламентная операция попала не в тот месяц:
- Откройте закрытие месяца за тот период, где операция ошибочна.
- Отмените выполнение операций (команда отмены доступна по самой операции в списке).
- Перейдите на нужный месяц и выполните закрытие там.
То же правило для документов, привязанных к периоду: начисление зарплаты, отражение зарплаты в учёте, начисление резервов. У них важен не столько день, сколько месяц начисления. Перенос такого документа на другую дату внутри месяца ничего не даёт, а перенос в другой месяц ломает связку с расчётом.
Если вы переносите обычный документ (поступление, реализацию, выписку) в месяц, который уже закрыт, после правки обязательно перезапустите закрытие месяца за этот и все последующие месяцы. Иначе себестоимость, финансовый результат и налог на прибыль останутся посчитанными по старым данным.
Изменение даты документов через код: когда это оправдано
Программная правка нужна, если правило переноса нельзя задать отбором. Например: «все ручные операции, созданные пользователем Иванова за март, сдвинуть на 1 день вперёд, но только проведённые».
Делается это во внешней обработке, код выполняется на сервере. Пример процедуры для сдвига дат на заданное число дней:
&НаСервере
Процедура СдвинутьДатыНаСервере(НачалоПериода, КонецПериода, СдвигДней)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Док.Ссылка КАК Ссылка
|ИЗ
| Документ.ОперацияБух КАК Док
|ГДЕ
| Док.Дата МЕЖДУ &НачалоПериода И &КонецПериода
| И НЕ Док.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| Док.Дата";
Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
ДокОбъект.Дата = ДокОбъект.Дата + СдвигДней * 86400;
Попытка
Если ДокОбъект.Проведен Тогда
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
Иначе
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
Исключение
Сообщить("Не перенесён " + Строка(Выборка.Ссылка) + ": "
+ КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Что важно в этом примере:
ОперацияБух— имя документа ручной операции в Бухгалтерии 3.0. Для других видов подставьте своё имя из дерева конфигурации.- Дата в 1С хранится с точностью до секунды, поэтому сдвиг на сутки — это
86400секунд. - Непроведённые документы только записываются: код не проводит то, что было намеренно оставлено черновиком.
- Ошибки не останавливают обработку, а выводятся в сообщения с указанием документа.
Не используйте ОбменДанными.Загрузка = Истина, чтобы «пробить» запись. Этот режим отключает проверки, в том числе дату запрета, а при записи с проведением движения могут не сформироваться корректно. Обработку сначала прогоняйте на копии базы.
Ошибки при переносе дат и как их избежать
Здесь собраны промахи, которые проявляются не сразу, а через месяц-два.
- ❌ Перенесли поступление, забыли про реализацию. Товар «пришёл» позже, чем «ушёл». Остатки уходят в минус, себестоимость считается неверно. Переносите связанные документы вместе или проверяйте остатки на дату продажи.
- ❌ Перенесли документ через границу квартала по НДС. Счёт-фактура остался в книге покупок прошлого квартала, а поступление уже в новом. Проверьте документ «Счёт-фактура полученный» и записи книги покупок или продаж.
- ❌ Сдвинули документ, по которому есть оплата. Платёж оказался раньше отгрузки — вместо зачёта долга образовался аванс, а с ним и НДС с аванса у продавца.
- ❌ Исправили дату в копии базы для эксперимента и забыли, где правили. Перед работой убедитесь по заголовку окна, что открыта нужная база.
- ❌ Не включили историю изменений. Без неё потом не узнать, кто и когда поменял дату. В общих настройках администрирования можно включить хранение истории изменений объектов.
Проверка учёта после изменения дат
Короткая правка одного документа проверяется по его проводкам. После переноса пакета документов проверьте учёт шире.
- Групповое перепроведение. В Бухгалтерии 3.0 оно есть в разделе
Администрирование → Проведение документов. Перепроведите период с самой ранней из затронутых дат по текущий месяц. - Закрытие месяца. Выполните его заново для всех месяцев начиная с самого раннего затронутого.
- Оборотно-сальдовая ведомость. Сравните остатки по счетам 41, 10, 60, 62 до и после правки. Отрицательное сальдо по 41 или 10 — сигнал, что продажа стоит раньше поступления.
- Экспресс-проверка. В разделе
Отчётыесть экспресс-проверка ведения учёта — она находит отрицательные остатки, документы без счетов-фактур и разрывы в книгах НДС. - Отчётность. Если перенос затронул период, по которому сдана декларация, сформируйте её заново и сравните с отправленной. Расхождение — повод для уточнённой декларации.