Не так давно столкнулся с двумя ситуациями, которые для сотрудников фирм, обратившихся ко мне за помощью, были неприемлемы.
В одном случае из-за проведения документа, который был создан вечером предыдущего дня, а затем после смены даты проведен утром текущего дня, сбилась ТА на время, близкое к концу дня, а документы, проводимые в большом количестве в течение дня, уперлись в метку 23:59:59 и после нескольких десятков отказывались проводиться.
Еще один случай был связан с переходом на зимнее время, который не должен был быть. Но в этом случае достаточно было воспользоваться тем, что было изобретено ранее, сдвинув каждый документ на 3600 секунд на временной оси.
Суть моего метода заключается в восстановлении фактического времени создания, проведении (или перепроведении) документов из файла журнала регистрации, и он может быть единственно достоверным для решения ситуации, описанной в первом случае.
Как с этим работать.
Все документы за выбранный день (или интервал) выгружаются в таблицу значений. Затем считывается информация из журнала регистрации о фактическом времени записи и проведении этих документов. Идентификация идет по внутреннему ID документа, который присутствует в записях журнала.
Там, где обнаруживаются несоответствия по времени, проставляется крыж: этот объект подлежит модификации.
Есть нюансы:
- Обработка использует функционал, позволяющий производить чтение «на лету», без необходимости создавать копию. Но если файл лога большой, то процесс его чтения может занять о-о-очень продолжительное время, что не есть гуд во время рабочего дня. Лучше средствами 1С:Монитор заархивируйте «дела давно минувших дней». Архивация происходит быстро.
- Для тех, кто работает с распределенной базой данных: актуальную информацию Вы можете получить только в месте создания документа. Та и запускайте обработку. Чужие (т.е. не принадлежащие текущей информационной базе) она игнорирует.
- Документы, созданные программно (обработками - автоматически) следов, к сожалению не оставляют.
Перед нажатием на кнопку «Выполнить» настоятельно рекомендую просмотреть полученную таблицу. Снять или проставить крыжи, исправить время создания или проведения. Или указать его там, где отсутствует: можно как среднее между тем, что известно по строке / колонке выше и ниже редактируемого значения.
Ну и после всего не забудьте в монопольном режиме установить ТА на последний проведенный документ!
Опробована на 1С:Торговля и склад.