DocFlow

После разбора дата оказалась в будущем

Как это выглядит

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

Коротко

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

Почему так происходит

  1. 01Перепутаны день и месяц

    Пока оба числа не больше двенадцати, различить порядок невозможно без внешнего знания. 05.08 и 08.05 — обе даты допустимы, и выбор делается наугад.

  2. 02Двузначный год истолкован не так

    «26» в дате читается как 2026 или как 1926 в зависимости от правила. Excel применяет своё правило порога, и дата уезжает на век при внешне корректной записи.

  3. 03Дата собрана из разных частей документа

    Если день взят из одной строки, а месяц из другой — например, из подписи и из шапки, — получившаяся дата не существует ни в одном месте документа.

Как понять, что причина именно эта

Как починить

Проверка диапазона в реестре

  1. 1.Добавьте правило: дата документа не позже даты получения и не раньше, чем на разумный срок.
  2. 2.Подсветите строки, нарушающие правило.
  3. 3.Проверяйте подсвеченные по оригиналу, а не переставляйте день с месяцем автоматически.

не чинит: Ловит только выходящие за границы даты. Перестановка внутри допустимого диапазона — например, 05.08 вместо 08.05 — так не находится.

Задать формат даты при импорте явно

  1. 1.Импортируйте через мастер и укажите порядок частей даты для колонки.
  2. 2.Проверьте несколько строк по оригиналу до загрузки всего файла.

не чинит: Работает, если во всём файле порядок одинаков. При смешанных форматах внутри одного файла явное указание не спасёт.

Когда мы не нужны

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

Что с этим делает наша выгрузка

Дату документа выгружаем строкой в виде «05.08.2026», в одном порядке по всей выгрузке — день, месяц, год. Это не защищает от неверного толкования на этапе разбора, но исключает второй слой ошибок при импорте в Excel. Автоматической проверки «дата не в будущем» в текущей версии нет.

Вопросы

Почему нельзя автоматически переставить день и месяц?

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

Какие даты стоит проверять всегда?

Все, где обе части не больше двенадцати: именно там перестановка неразличима. Это примерно две трети дат в году, но проверка автоматическая и занимает одну формулу.

Пилот · 1 990 ₽ за 30 дней

Если ошибка не в Excel, а в самих документах

Пилот на 30 дней: пришлите самый неудобный счёт, разберём вручную под ваш формат и вернём готовую таблицу.

Первый счёт разбираем вручную под ваш формат. Списание разовое, автопродления нет. Источник перехода: seo/oshibki/data-v-budushchem.