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


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

Универсальная обработка «Проведение документов» предназначена для фонового проведения документов без включения монопольного режима в информационной базе 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 не будет опубликован. Обязательные поля помечены *