Проведение документов


Фоновое проведение документов

Универсальная обработка «Проведение документов» предназначена для фонового проведения документов без включения монопольного режима в информационной базе 1С:Предприятия.

При конфликте блокировок при проведении документа, через паузу документ повторно запускается на проведение.

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

Выполнение проведения по таймеру.

v4.0
Добавил проведение по счету и учел замечания пользователей в комментариях.

Новая версия обработки см. //infostart.ru/public/167865/.

 

 

47 Comments

  1. German

    Интересный ход…. конем так сказать…. + за идею….

    Reply ↓
  2. support

    тест

    Reply ↓
  3. Ворона

    будем смотреть

    Reply ↓
  4. Zlodey

    Нормальная такая обработка.

    Только надо добавить таймер удобно, поставил и ушел, код не смотрел, но вдруг если в документе ошибка тогда обработка не проведёт документы Попытка нам поможет и документы которые не провелись тоже надо как то учитывать

    Reply ↓
  5. Zlodey

    http://infostart.ru/projects/1246/ вроде работает

    Reply ↓
  6. tormozit

    (5) Не совсем хорошая идея. Лучше бы просто залил в виде личного файла и дал ссылку здесь в комментах или автору лично.

    Reply ↓
  7. tormozit

    Кстати, когда я писал подобную обработку, то выводил в спец. панель с двумя закладками списки проведенных и не проведенных документов в результате работы обработки. Это очень удобно. Потом из списка непроведенных документов можно быстро открывать документы и разбираться, в чем дело.

    Reply ↓
  8. German

    (7) смысл ??? тогда во всем проведении … если у тебя что то не провелось …. теряется. Все по порядку нужно

    Reply ↓
  9. PowerBoy

    Добавил:

    1.Пауза между проводками не грузит процессор (можно использовать в терминале)

    2.Настройки минимальной и максимальной паузы между проводками

    Reply ↓
  10. German

    (9)а WScript.Sleep разве грузил?

    Reply ↓
  11. PowerBoy

    (10)WScript.Sleep — работает не на всех компах.

    В чем причина не разобрался, то ли в политиках компа, то ли антивирус, то ли еще что.

    Испробовал все варианты. Пауза с pingom работает вроде везде..

    Reply ↓
  12. JohnyDeath

    (11) Может на этих машинах следует переустановить (или поставить более новую версию) Windows Script Host? Сейчас последняя вроде как 5.6

    Reply ↓
  13. PowerBoy

    Добавил новую опцию в настройки:

    Удалять движения документа, если его не удается перепровести.

    Reply ↓
  14. tormozit

    (8) По порядку — для последовательностей нужно) А есть еще и документы, которые не входят в и не влияют на последовательности.

    Reply ↓
  15. artbear

    При попытке использования с УПП ругается 🙂

    {Форма.Форма(27,11)}: Процедура или функция с указанным именем уже определена (УстановитьВидимостьКолонок)

    Процедура <<?>>УстановитьВидимостьКолонок() //Экспорт

    {Форма.Форма(769,2)}: Недостаточно фактических параметров (УстановитьВидимостьКолонок)

    <<?>>УстановитьВидимостьКолонок();

    В УПП в общем модуле РаботаСДиалогами уже есть метод с таким наименованием.

    ЗЫ мелочь, конечно 🙂 но четко показывает недостатки глобальных модулей восьмерки 🙁

    Reply ↓
  16. artbear

    Если документ проводится очень быстро (что очень удивительно для восьмерки 🙂 ), то выдается ошибка

    {Форма.Форма(875)}: Деление на 0

    СкоростьПроведения = ИндикаторОбработки/(ТекущаяДата()-ВремяСтарта)*60;

    PS мелочь, но все-таки 🙁

    Reply ↓
  17. PowerBoy

    (15)(16) Спасибо. Ошибки исправил.

    Reply ↓
  18. artbear

    Еще есть совершенно неотмеченная засада 🙁

    Зачем-то по умолчанию включен следующий режим — если проведенный ранее док не проводится в данной обработке, то он делается непроведенным!!

    ИМХО это совсем не есть гуд 🙁

    Для пользователей это будет огромнейшим и неприятнейшим сюрпризом 🙁

    Reply ↓
  19. PowerBoy

    (18)У меня как раз противоположное мнение, если мы перепроводим документы то должны быть полностью уверены в правильном результате. Оставив старые движения не

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

    Reply ↓
  20. vahrushev

    Спасибо.

    Reply ↓
  21. PowerBoy

    Обновил версию до 2.0

    Добавил параметр настройки: Прекратить проведение документов по первой ошибке проведения.

    Добавил страницы «Проведенных» и «Не проведенных» документов.

    При успешном проведении флажок отметки в списке документов теперь сбрасывается.

    При проведении в списке показывается текущий проводимый документ.

    Reply ↓
  22. PowerBoy

    Обновил версию до 3.0

    Добавил запуск обработки по таймеру.

    Reply ↓
  23. azernot

    Значит типа + и всё такое..

    Что ещё мне понадобилось:

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

    — После остановки по таймеру — возможность выхода из системы (потому как сообщения пишутся в лог, а для его записи — нужен корреутный выход).

    — очистка лог-файла от всякого мусора (можно сделать сообщения о времени проведения и прогнозах — опциональным?)

    Reply ↓
  24. azernot

    Также неплохо бы запонять список видов документов регисраторами выбираемого регистра.

    Reply ↓
  25. kola

    Все таки не плохо бы добавить монопольный режим и выгонялку пользователей.

    Reply ↓
  26. z-alexey

    Плюс! Пожелаения

    1. сделать информацию о скороости не в сообщения, а в статус-строку

    2. Возможность указывать период не в отборе (ну не удобно это больше или равно придумывать) а сделать это где-то в шапке.

    Reply ↓
  27. Olga_bpz

    (23) полностью поддерживаю.

    Обработка нужная, очень для нас актуальная.

    Выключение по таймеру и вывод сообщений об ошибках в лог-файл очень нужны.

    У нас тоже на автомате стоит перезагрузка сервера и архив утром. А удаленка не всегда работает, да и вставать в 5:30 в законный выходной нет никакого желания.

    (22) Александр! Спасибо вам большое! И жирный плюс.

    Ещё одно пожелание: галочки в настройке об отмене проведения при ошибке не видно. Нет уверенности в каком состоянии она находится. Было бы неплохо вывести её на форму рядом с временем запуска по таймеру.

    При входе в обработку она взводится по умолчанию и восстановление сохранённых настроек на неё не распространяется. У нас в базе есть непроведённые документы и выловить документы с отменённым проведением будет сложно, если обработка завершится аварийно.

    Reply ↓
  28. AKV77

    Присоединяюсь к (27). Выключение по таймеру у себя добавил, но как писать в лог-файл пока неразобрался. Однозначно БОЛЬШОЙ ПЛЮС.

    Reply ↓
  29. AKV77

    Версию с моими доработками выложил http://www.infostart.ru/projects/4308/

    Reply ↓
  30. AKV77

    (+29) Основное что доработано: 1. Остановка по таймеру с последующим завершением программы 2.Пример bat-файла для запуска 8 ки с возможностью сохранения сообщений выдаваемых при проведении документов в log-файл.

    Reply ↓
  31. palka

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

    Reply ↓
  32. palka

    Объект = Ссылка.ПолучитьОбъект();

    Если Объект.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда

    Объект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);

    Сообщить(«»+Ссылка+» — Проведен в » + ТекущаяДата());

    Иначе

    Объект.Записать(РежимЗаписиДокумента.Запись);

    Сообщить(«»+Ссылка+» — Записан в » + ТекущаяДата());

    КонецЕсли;

    Reply ↓
  33. yku

    Отличная вещь! Спасибо.

    Reply ↓
  34. PowerBoy

    Добавил проведение по счету и учел замечания пользователей в комментариях.

    Reply ↓
  35. Asdam

    (34) Обнаружен глюк.

    Если в ТЗ «ТабличноеПолеВидыОбъектов» добавить несколько видов документов и сохранить настройку формы, поставив флаг «Использовать при открытии», потом в конфигураторе удалить любой вид документа, который был добавлен в ТЗ, сохранить и запустить конфигурацию и попытаться открыть обработку, то получим сообщение об ошибке.

    Reply ↓
  36. bes-kkm

    Нужная обработка, спасибо разработчику.

    Reply ↓
  37. alexch8

    Интересный вариант. Пока погоняю в тестовом режиме.

    Reply ↓
  38. VitalyK

    Спасибо, очень полезная обработка.

    Reply ↓
  39. igo-osetro

    спасибо автору очень полезная и нужная обработка! А то приходится тут перепроводить и тестить многое )))

    Reply ↓
  40. Tur_gad

    Задумка хорошая но реализация пока что хромает, подумай еще над обработкой

    Reply ↓
  41. dj_serega

    вот недавно столкнулся с проблемой: нужно перепровести документы, но не выганять пользователей (ибо работы много 🙁 ).

    Спасибо.

    Reply ↓
  42. OrsoBear

    Спасибо за обработку, необычное решение.

    Подскажите, а для управляемого приложения на линукс-сервере что-то подобное можно сделать?

    Reply ↓
  43. amadeus2011

    добрый день, обработка хорошая,можно добавить в нее расписание, чтобы задать время когда она должна выполняться

    Reply ↓
  44. KroVladS

    За обработку cпасибо.

    Использовал несколько раз на разных базах.

    Очень помогла.

    Reply ↓
  45. free-lancer-2018

    Неплохая обработка, но не мешало бы добавить в неё по умолчанию режим «проведение только проведенных документов».

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

    Так что будьте осторожны 🙂

    Reply ↓
  46. rjhonson

    Отличная и очень полезная обработка

    Reply ↓
  47. progr-2008

    (8)Был открыт документ, например.

    Так все-равно перепроводить придется.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *