Смена даты в 1С 8.3: от рабочей даты сеанса до массового переноса документов

· 9 мин

Содержание

Изменить дату в 1С Предприятие можно на трёх уровнях. Если нужно, чтобы новые документы сами создавались прошлым числом, меняют рабочую дату сеанса. Если ошиблись в одном документе — правят поле даты в его шапке и перепроводят. Если перенести надо десятки документов — используют обработку группового изменения или внешний код.

Системную дату компьютера ради этого трогать не нужно. В клиент-серверной базе она вообще не поможет: время берётся с сервера. А закрытый период ни один из способов не откроет — для него есть отдельная настройка даты запрета.

Какой способ смены даты выбрать

Сначала определите, что именно нужно поменять. От этого зависит и путь, и риски.

ЗадачаСпособЧто затрагиваетРиск
Вбить пачку документов прошлым числомРабочая дата сеансаТолько значение даты по умолчанию в новых документахНет, данные не меняются
Исправить дату одного документаПоле даты в шапке + перепроведениеДвижения этого документаНизкий, если период открыт
Перенести документ в закрытый периодВременная смена даты запретаУчёт закрытого месяцаСредний: нужно перезакрыть месяц
Перенести много документовГрупповое изменение реквизитов или внешняя обработкаДвижения всех документовВысокий без резервной копии
Сдвинуть время сеанса в целомЧасовой пояс базы / время сервераВсе пользователиВысокий, только администратору

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

Что вам нужно сделать с датой?

Рабочая дата: как поменять дату текущего сеанса в режиме Предприятия

Рабочая дата — это значение, которое 1С подставляет по умолчанию в новые документы, отчёты и фильтры. Механизм есть в самой платформе 8.3, поэтому работает одинаково в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других типовых конфигурациях.

Как установить рабочую дату

  1. Откройте главное меню — кнопку с тремя полосками в левом верхнем углу окна программы.
  2. Выберите Сервис → Параметры.
  3. Найдите в окне параметров блок «Рабочая дата» (в разных версиях платформы он может стоять на отдельной вкладке) и переключитесь с «Использовать текущую дату компьютера» на ручное значение и укажите нужное число.
  4. Нажмите «Применить» или «ОК».

После этого новый документ откроется не сегодняшним числом, а установленным. Время в документе подставится текущее.

Рабочая дата хранится в настройках конкретного пользователя и не сбрасывается сама. Закончили вводить старые документы — верните «текущую дату», иначе через неделю обнаружите, что все новые накладные датированы прошлым кварталом.

Чем рабочая дата не является

  • 🔹 Она не переносит уже проведённые документы.
  • 🔹 Она не открывает закрытый период: дата запрета действует независимо.
  • 🔹 Она не влияет на других пользователей и на регламентные задания.
  • 🔹 Она не меняет серверное время, по которому пишется журнал регистрации.

Как поменять дату документа в 1С вручную

Самый частый случай: кассир провёл ПКО завтрашним числом, кладовщик — накладную не тем днём. Исправляется в самом документе.

  1. Откройте документ из журнала или списка.
  2. В шапке рядом с номером найдите поле даты («от …»).
  3. Введите новую дату вручную или выберите в календаре. Время можно оставить.
  4. Нажмите «Провести и закрыть».

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

Что проверить после смены даты

  • 📌 Номер документа. В большинстве конфигураций номера уникальны в пределах года. Перенесли документ из января в декабрь прошлого года — номер может совпасть с существующим, и программа откажется записывать. Очистите номер, 1С присвоит новый.
  • 📌 Последующие документы. Если перенесли поступление товара на дату позже его продажи, продажа «повиснет» без остатка. Перепроведите период.
  • 📌 Закрытие месяца . Дата ушла в уже закрытый месяц — закрытие придётся выполнить заново.
  • 📌 Связанные документы. Счёт-фактура, созданный на основании, свою дату не поменяет. Исправьте его отдельно.

Если документ проведён в 23:59, а вы меняете только число, время останется прежним. Для документов одного дня порядок проведения определяется именно временем, поэтому иногда стоит поправить и его.

Работа с датами в режиме Конфигуратор

Частый вопрос: «Можно ли поменять дату документов через Конфигуратор?» Напрямую — нет. Конфигуратор работает с метаданными и администрированием базы, а не с пользовательскими данными. Таблицы документов из него не редактируются.

Чем Конфигуратор полезен в теме дат:

  • 🛠 Отладка с нужной датой. Запустите отладку, установите рабочую дату в открывшемся сеансе — и проверяйте, как форма или отчёт ведут себя «вчера».
  • 🛠 Выгрузка базы Администрирование → Выгрузить информационную базу в файл .dt перед массовыми правками. Это самая надёжная страховка.
  • 🛠 Поиск, где дата берётся. Глобальный поиск по модулю на ТекущаяДата() и ТекущаяДатаСеанса() показывает, откуда конфигурация подставляет даты.

Разница между этими функциями важна, если правите доработанную базу:

ФункцияОткуда берёт время
ТекущаяДата() на клиентеЧасы компьютера пользователя
ТекущаяДата() на сервереЧасы сервера 1С
ТекущаяДатаСеанса()Время сервера с учётом часового пояса сеанса

Рабочая дата из параметров сеанса — отдельное значение: его возвращает функция РабочаяДата(), и именно она подставляется в новые документы.

Сдвиг времени всей базы

Если у сотрудников из Новосибирска документы ложатся московским временем, менять часы на сервере не надо. В конфигурациях на БСП часовой пояс базы задаётся в разделе Администрирование → Общие настройки. Программно это делает УстановитьЧасовойПоясИнформационнойБазы().

Смена часового пояса или системного времени сервера влияет на всех пользователей и регламентные задания сразу. Делайте это вне рабочего времени и предупредите коллег.

Закрытый период: почему 1С не даёт изменить дату и как это обойти легально

Типовые конфигурации защищают сданную отчётность датой запрета изменения. Если документ лежит до неё (или вы пытаетесь перенести его туда), 1С не даст записать изменения и покажет сообщение о запрете с указанием даты.

Где настраивается дата запрета

В Бухгалтерии 3.0, ЗУП 3.1 и УТ 11 механизм общий (из БСП):

  1. Откройте Администрирование → Проведение документов (в ЗУП и УТ раздел может называться иначе — ищите блок «Даты запрета изменения» в разделе «Администрирование»).
  2. Убедитесь, что флажок «Даты запрета изменения» включён, и перейдите по ссылке настройки.
  3. Посмотрите, какая дата стоит для всех пользователей и есть ли персональные исключения.

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

Порядок правки в закрытом периоде

  1. Согласуйте правку с главным бухгалтером: в закрытом периоде уже может быть сдана отчётность.
  2. Администратор сдвигает дату запрета на день раньше нужного документа. Лучше — только для одного пользователя, а не для всех.
  3. Пользователь правит документ.
  4. Выполняется повторное закрытие месяца за все месяцы, начиная с изменённого.
  5. Дата запрета возвращается обратно.

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

Рядом с датой запрета изменения есть похожая настройка — дата запрета загрузки данных из других программ. Она останавливает обмен, а не ручные правки. Путать их не стоит.

Массовое изменение дат обработками

Когда переносить нужно не один документ, а все поступления за неделю, вручную долго. Варианты такие.

Групповое изменение реквизитов

В типовых конфигурациях на БСП обработка доступна в разделе Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов.

  1. Выберите вид документов.
  2. Задайте отбор: период, организацию, склад.
  3. Выберите реквизит для изменения и новое значение.
  4. Запустите изменение и посмотрите итог: какие объекты не записались и почему.

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

Внешняя обработка

Минимальный код, который переносит выбранные документы на новую дату с сохранением времени и перепроведением. Выполняется на сервере:

&НаСервере
Процедура ПеренестиДокументыНаСервере(МассивСсылок, НоваяДата)

    Для Каждого Ссылка Из МассивСсылок Цикл
        ДокОбъект = Ссылка.ПолучитьОбъект();
        ВремяДокумента = ДокОбъект.Дата - НачалоДня(ДокОбъект.Дата);
        ДокОбъект.Дата = НачалоДня(НоваяДата) + ВремяДокумента;
        Попытка
            Если ДокОбъект.Проведен Тогда
                ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
            Иначе
                ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
            КонецЕсли;
        Исключение
            Сообщить(СтрШаблон("Не перенесён %1: %2",
                Строка(Ссылка), КраткоеПредставлениеОшибки(ИнформацияОбОшибке())));
        КонецПопытки;
    КонецЦикла;

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

Код не обходит дату запрета: если период закрыт, запись упадёт с ошибкой, и документ попадёт в сообщения. Так и задумано.

Перед массовым переносом дат
Выполнено: 0 / 5

Массовый перенос в рабочей базе без копии — плохая идея. Откатить сотню перепроведённых документов назад можно только из резервной копии.

Почему не стоит менять системную дату компьютера

Старый приём «перевести часы Windows на вчера» в 8.3 работает плохо:

  • 🕐 В клиент-серверной базе дата сеанса берётся с сервера. Часы на вашем ПК ничего не изменят.
  • 🕐 В файловой базе сдвинутые часы сбивают время в журнале регистрации и в документах, путают порядок проведения.
  • 🕐 Сертификаты электронной подписи и обмен с операторами ЭДО проверяют время. С неверной датой отправка отчётности и документов начинает сбоить.
  • 🕐 Регламентные задания и обновления, привязанные ко времени, срабатывают не тогда.

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

Частые ошибки при смене даты и что с ними делать

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

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

Видят ли другие пользователи мою рабочую дату?
Нет. Рабочая дата сохраняется в настройках конкретного пользователя и на коллег не действует.
Можно ли поставить рабочую дату в будущем?
Да. Платформа не ограничивает направление: документ создастся будущим числом. Проводить его заранее имеет смысл только если учёт это допускает.
Меняется ли дата в журнале регистрации, если поменять дату документа?
Нет. Журнал фиксирует фактическое время события по часам сервера, а не дату документа.
Почему после смены даты отчёт за прошлый месяц не изменился?
Скорее всего, отчёт открыт с прежними настройками или не перепроведены зависимые документы. Сформируйте отчёт заново и проверьте, выполнено ли перезакрытие месяца.
Можно ли обойти дату запрета изменения через Конфигуратор?
Нет, данные документов в Конфигураторе не редактируются. Законный путь — администратор временно сдвигает дату запрета.