gifts2017

Ночное восстановление последовательности документов (фоновым заданием)

Опубликовал Артем * (SmArtist) в раздел Обработки - Обработка документов

Внешняя обработка служит для восстановления последовательности документов в БП 3.0 за месяц, по расписанию, фоновым заданием на сервере 1С.
Подключается как дополнительная обработка в режиме пользователя.

За основу была взята обработка: http://infostart.ru/public/401469/ автора: http://infostart.ru/profile/225675/

Она была доработана мной в соответствии с задачей на предприятии следующим образом (что добавлено):

  1. В имени файла логово .txt теперь присутствует имя базы на SQL, чтобы при параллельном запуске фонового восстановления последовательности несколько баз не обращались к одному файлу для записи.
  2. В лог пишутся причины по которым восстановление не началось (последовательность уже восстановлена, установлена дата запрета, ошибка в коде и т.д.)
  3. В некоторых случаях отправка лога выполняется только на почту программисту, чтобы не грузить пользователя техническими сообщениями.
  4.  Код обработки опирается на Дополнительный реквизит (флаг) "ВосстановитьБлижайшейНочьюПоследовательностьЗаМесяц" в карточке Организации. Сделано это для того, чтобы фоновое задание запускалось каждую ночь, но восстановление последовательности происходило только если пользователь накануне взвел в карточке Организации этот флаг. При начале восстановления флаг снимается, чтобы следующей ночью обработка не пыталась снова восстанавливать последовательность (т.к. пользователь мог не успеть подготовить следующий месяц к закрытию).
  5. Чтобы пользователь мог оперативно понять на каком дне сейчас происходит перепроведение документов после каждого успешно проведенного дня (или после каждого десятого в зависимости от флага в карточке Организации "ОтправлятьПисьмоЧерезКаждыеДесятьДней") отправляется письмо на почту (возможность впринципе отправлять письма была до моей доработки).

Преимущества обработки перед типовым функционалом восстановления последовательности:

  1. Можно установить расписание восстановления последовательности, допустим на ночь.
  2. При восстановлении последовательности перепроведение документов выполняется не за весь месяц в одной транзакции а по дням рекурсивно, что позволяет, в случае допустим аварийного завершения сохранить границу последовательности на последнем удачно проведенном дне (типовой функционал в этом случае сбрасывает последовательность в начало).
  3. Пишется лог: в файл и на почту на случай аварийного завершения процесса восстановления последовательности.
  4. Не требуется доработка конфигурации.

Ограничения обработки:

  1. Она была дописана под базу БП 3.0, в которой одна организация. Соответственно если вы хотите восстанавливать последовательность по нескольким организациям базы, нужно как вариант, дописать запуск процедуры восстановления в цикле по Организациям.
  2. Обкатана только на серверных базах (используется сейчас в 12 рабочих базах БП 3.0).

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

Наименование Файл Версия Размер
ФоновоеВосстановлениеПоследовательности_БП3.0 19
.epf 10,32Kb
04.05.16
19
.epf 1 10,32Kb Скачать

См. также

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

Комментарии

1. И. Серебряков (apd1c) 09.03.16 14:19
Файл скачал. Как болванка, для отшлифовки напильниками, наверное годится. Плюс, что код открыт.
Не боится ли автор получить на свой ящик, зашитый в коде, добрую кучу успешных или не очень сообщений об обмене?
Ну и ящик-отправитель, с объявленным в коде паролем тоже не обеспечит ему безопасности :)
2. Артем * (SmArtist) 10.03.16 06:04
(1) apd1c, автор боится, огромное спасибо:) Собирался убрать и забыл. Сейчас убрал и перезалил. А по поводу напильника и болванки не согласен, механизм стабильно работает по сей день. Подставить свои почтовые адреса это же не допиливание))
3. pallid *** (white_sochi) 29.04.16 23:31
Можно уже в расширение настройки всякие запилить для фона.
Список получателей, список админов
чистка версионирования после фона
У нас в текущей версии каждому ответственному шлется его персональный лог
А админам весь + техническая информация и тд, а так же ответственные по ком есть ошибки, но их еще нет в списках получателей
4. pallid *** (white_sochi) 29.04.16 23:37
Реализован поиск уже выполняющегося данного фонового задания, чтобы не допустить несколько параллельных перепроведений одного и того же месяца (такое возможно, когда восстановление последовательности не успело завершиться за ночь, и пользователь решил запустить фоновое задание еще раз ручным запуском или когда фоновое задание запустилось следующей ночью).

А такое бывает? я думал что фон не паралелится, для этого у него и есть ключ
5. Артем * (SmArtist) 04.05.16 07:50
(4) white_sochi, правильно думали, сейчас проверил, действительно задания сами отслеживают себя по ключу, не знал о таком функционале, спасибо, вырезаю этот кусок.
6. Иван Гладкий (ingladkiy) 17.06.16 13:44
Спасибо, будем смотреть
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа