bdd2

Изменение времени документов. Для ТиС 7.7

Опубликовал Виктор Левченко (lvictor58) в раздел Обработки - Обработка документов

Тема уже не новая. Просто хочу поделиться своим вариантом ее решения, аналогов которому на просторах Инфостарта не нашел.

Не так давно столкнулся с двумя ситуациями, которые для сотрудников фирм, обратившихся ко мне за помощью, были неприемлемы.

В одном случае из-за проведения документа, который был создан вечером предыдущего дня, а затем после смены даты проведен утром текущего дня, сбилась ТА на время, близкое к концу дня, а документы, проводимые в большом количестве в течение дня, уперлись в метку 23:59:59 и после нескольких десятков отказывались проводиться.

Еще один случай был связан с переходом на зимнее время, который не должен был быть. Но в этом случае достаточно было воспользоваться тем, что было изобретено ранее, сдвинув каждый документ на 3600 секунд на временной оси.

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

Как с этим работать.

Все документы за выбранный день (или интервал) выгружаются в таблицу значений. Затем считывается информация из журнала регистрации о фактическом времени записи и проведении этих документов. Идентификация идет по внутреннему ID документа, который присутствует в записях журнала.

Там, где обнаруживаются несоответствия по времени, проставляется крыж: этот объект подлежит модификации.

Есть нюансы:

  1. Обработка использует функционал, позволяющий производить чтение «на лету», без необходимости создавать копию. Но если файл лога большой, то процесс его чтения может занять о-о-очень продолжительное время, что не есть гуд во время рабочего дня. Лучше средствами 1С:Монитор  заархивируйте «дела давно минувших дней». Архивация происходит быстро.
  2. Для тех, кто работает с распределенной базой данных:  актуальную информацию Вы можете получить только в месте создания документа. Та и запускайте обработку.  Чужие (т.е. не принадлежащие текущей информационной базе) она игнорирует.
  3. Документы, созданные программно (обработками - автоматически) следов, к сожалению не оставляют.

Перед нажатием на кнопку «Выполнить» настоятельно рекомендую просмотреть полученную таблицу. Снять или проставить крыжи, исправить время создания или проведения. Или указать его там, где отсутствует: можно как среднее между тем, что известно по строке / колонке выше и ниже редактируемого значения.

Ну и после всего не забудьте в монопольном режиме установить ТА на последний проведенный документ!

Опробована на 1С:Торговля и склад.

Скачать файлы

Наименование Файл Версия Размер
файл обработки
.ert 176,50Kb
03.02.16
3
.ert 1.001 176,50Kb 3 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Сергей (Che) Коцюра (CheBurator) 3366 03.02.16 22:33 Сейчас в теме
из-за проведения документа, который был создан вечером предыдущего дня, а затем после смены даты проведен утром текущего дня, сбилась ТА на время, близкое к концу дня,

- бред чистой воды, если сегодня проводить непроведенный документ который лежит во вчера - ничего НЕ СБИВАЕТСЯ, система предсказуемо ставит документ. Фраза про сбилось показывает лишь непонимание работы штатного движка
2. Сергей (Che) Коцюра (CheBurator) 3366 03.02.16 22:37 Сейчас в теме
Задумка вообщем ясна
Но непонятно малость
Если документ создан - то есть записан - но не проведен - вчера в 11:30
А теперь сегодня в 9:00 его проводим - извините, откуда вы возьмете время которым документ должен быть проведен во вчерашнем дне? Время записи документ это совсем не время когда он должен быть проведен
3. Виктор Левченко (lvictor58) 123 12.02.16 11:36 Сейчас в теме
(2) CheBurator,
Я исходил из реальной ситуации. А как это получилось: Х/З! Это объяснял чел, который проводил тот документ. Причем подобная ситуация происходила несколько раз. Просто обратились ко мне когда все уперлось в 23:59:59.
4. Виктор Левченко (lvictor58) 123 12.02.16 11:58 Сейчас в теме
(2) Промоделировал ситуацию в их базе. При записи документа с измененной датой выскакивает окошко "Время документа" где по-умолчанию переключатель стоит на времени его записи. И если ничего не менять, то все будет как раз именно так! Документ-то не новый, для которого время устанавливается в соответствии с настройками параметров оперативного учета. А пользователи "по-умолчанию" тупо жмут на кнопки, даже не пытаясь читать сообщения. Потому что осмыслить прочитанное для большинства из них просто нереально. И не потому, что все они поголовно тупые. Просто ни кто из них никогда не вникал в тонкости учета в 1С, хотя в анкетах при приеме на работу пишут типа: знаю 1С на "вери гуд"!
5. Сергей (Che) Коцюра (CheBurator) 3366 17.03.16 15:49 Сейчас в теме
(4) "Потому что осмыслить прочитанное для большинства из них просто нереально."
- порадовал ;-)