gifts2017

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

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

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

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

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

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

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

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

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

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

Есть нюансы:

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

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

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

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

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

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

См. также

Подписаться Добавить вознаграждение

Комментарии

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

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