Универсальная обработка «Проведение документов» предназначена для фонового проведения документов без включения монопольного режима в информационной базе 1С:Предприятия.
При конфликте блокировок при проведении документа, через паузу документ повторно запускается на проведение.
Пауза между проведениями документов настраивается автоматически. При возникновении блокировок она увеличивается, а при нормальном проведении уменьшается
Выполнение проведения по таймеру.
v4.0
Добавил проведение по счету и учел замечания пользователей в комментариях.
Новая версия обработки см. //infostart.ru/public/167865/.
Интересный ход…. конем так сказать…. + за идею….
тест
будем смотреть
Нормальная такая обработка.
Только надо добавить таймер удобно, поставил и ушел, код не смотрел, но вдруг если в документе ошибка тогда обработка не проведёт документы Попытка нам поможет и документы которые не провелись тоже надо как то учитывать
(5) Не совсем хорошая идея. Лучше бы просто залил в виде личного файла и дал ссылку здесь в комментах или автору лично.
Кстати, когда я писал подобную обработку, то выводил в спец. панель с двумя закладками списки проведенных и не проведенных документов в результате работы обработки. Это очень удобно. Потом из списка непроведенных документов можно быстро открывать документы и разбираться, в чем дело.
(7) смысл ??? тогда во всем проведении … если у тебя что то не провелось …. теряется. Все по порядку нужно
Добавил:
1.Пауза между проводками не грузит процессор (можно использовать в терминале)
2.Настройки минимальной и максимальной паузы между проводками
(9)а WScript.Sleep разве грузил?
(10)WScript.Sleep — работает не на всех компах.
В чем причина не разобрался, то ли в политиках компа, то ли антивирус, то ли еще что.
Испробовал все варианты. Пауза с pingom работает вроде везде..
(11) Может на этих машинах следует переустановить (или поставить более новую версию) Windows Script Host? Сейчас последняя вроде как 5.6
Добавил новую опцию в настройки:
Удалять движения документа, если его не удается перепровести.
(8) По порядку — для последовательностей нужно) А есть еще и документы, которые не входят в и не влияют на последовательности.
При попытке использования с УПП ругается 🙂
{Форма.Форма(27,11)}: Процедура или функция с указанным именем уже определена (УстановитьВидимостьКолонок)
Процедура <<?>>УстановитьВидимостьКолонок() //Экспорт
{Форма.Форма(769,2)}: Недостаточно фактических параметров (УстановитьВидимостьКолонок)
<<?>>УстановитьВидимостьКолонок();
В УПП в общем модуле РаботаСДиалогами уже есть метод с таким наименованием.
ЗЫ мелочь, конечно 🙂 но четко показывает недостатки глобальных модулей восьмерки 🙁
Если документ проводится очень быстро (что очень удивительно для восьмерки 🙂 ), то выдается ошибка
{Форма.Форма(875)}: Деление на 0
СкоростьПроведения = ИндикаторОбработки/(ТекущаяДата()-ВремяСтарта)*60;
PS мелочь, но все-таки 🙁
(15)(16) Спасибо. Ошибки исправил.
Еще есть совершенно неотмеченная засада 🙁
Зачем-то по умолчанию включен следующий режим — если проведенный ранее док не проводится в данной обработке, то он делается непроведенным!!
ИМХО это совсем не есть гуд 🙁
Для пользователей это будет огромнейшим и неприятнейшим сюрпризом 🙁
(18)У меня как раз противоположное мнение, если мы перепроводим документы то должны быть полностью уверены в правильном результате. Оставив старые движения не
проведенных документов мы оставляем фактические ошибки учета. Да и бухгалтер сразу увидит непроведенный документ и исправит ошибку.
Спасибо.
Обновил версию до 2.0
Добавил параметр настройки: Прекратить проведение документов по первой ошибке проведения.
Добавил страницы «Проведенных» и «Не проведенных» документов.
При успешном проведении флажок отметки в списке документов теперь сбрасывается.
При проведении в списке показывается текущий проводимый документ.
Обновил версию до 3.0
Добавил запуск обработки по таймеру.
Значит типа + и всё такое..
Что ещё мне понадобилось:
— остановка в нужное время. На ночь зарядил, а утром приходить отключать — в лом, надо чтобы сам отключался, потому как сервак под утро перезагружается, да и пользователи могут пораньше прийти.
— После остановки по таймеру — возможность выхода из системы (потому как сообщения пишутся в лог, а для его записи — нужен корреутный выход).
— очистка лог-файла от всякого мусора (можно сделать сообщения о времени проведения и прогнозах — опциональным?)
Также неплохо бы запонять список видов документов регисраторами выбираемого регистра.
Все таки не плохо бы добавить монопольный режим и выгонялку пользователей.
Плюс! Пожелаения
1. сделать информацию о скороости не в сообщения, а в статус-строку
2. Возможность указывать период не в отборе (ну не удобно это больше или равно придумывать) а сделать это где-то в шапке.
(23) полностью поддерживаю.
Обработка нужная, очень для нас актуальная.
Выключение по таймеру и вывод сообщений об ошибках в лог-файл очень нужны.
У нас тоже на автомате стоит перезагрузка сервера и архив утром. А удаленка не всегда работает, да и вставать в 5:30 в законный выходной нет никакого желания.
(22) Александр! Спасибо вам большое! И жирный плюс.
Ещё одно пожелание: галочки в настройке об отмене проведения при ошибке не видно. Нет уверенности в каком состоянии она находится. Было бы неплохо вывести её на форму рядом с временем запуска по таймеру.
При входе в обработку она взводится по умолчанию и восстановление сохранённых настроек на неё не распространяется. У нас в базе есть непроведённые документы и выловить документы с отменённым проведением будет сложно, если обработка завершится аварийно.
Присоединяюсь к (27). Выключение по таймеру у себя добавил, но как писать в лог-файл пока неразобрался. Однозначно БОЛЬШОЙ ПЛЮС.
Версию с моими доработками выложилhttp://www.infostart.ru/projects/4308/
(+29) Основное что доработано: 1. Остановка по таймеру с последующим завершением программы 2.Пример bat-файла для запуска 8 ки с возможностью сохранения сообщений выдаваемых при проведении документов в log-файл.
Некоторые документы, как Корректировка записей регистров, не имеет проведения, а может быть только записан. Соответственно ругается на ошибку метода Записать()
Объект = Ссылка.ПолучитьОбъект();
Если Объект.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить Тогда
Объект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
Сообщить(«»+Ссылка+» — Проведен в » + ТекущаяДата());
Иначе
Объект.Записать(РежимЗаписиДокумента.Запись);
Сообщить(«»+Ссылка+» — Записан в » + ТекущаяДата());
КонецЕсли;
Отличная вещь! Спасибо.
Добавил проведение по счету и учел замечания пользователей в комментариях.
(34) Обнаружен глюк.
Если в ТЗ «ТабличноеПолеВидыОбъектов» добавить несколько видов документов и сохранить настройку формы, поставив флаг «Использовать при открытии», потом в конфигураторе удалить любой вид документа, который был добавлен в ТЗ, сохранить и запустить конфигурацию и попытаться открыть обработку, то получим сообщение об ошибке.
Нужная обработка, спасибо разработчику.
Интересный вариант. Пока погоняю в тестовом режиме.
Спасибо, очень полезная обработка.
спасибо автору очень полезная и нужная обработка! А то приходится тут перепроводить и тестить многое )))
Задумка хорошая но реализация пока что хромает, подумай еще над обработкой
вот недавно столкнулся с проблемой: нужно перепровести документы, но не выганять пользователей (ибо работы много 🙁 ).
Спасибо.
Спасибо за обработку, необычное решение.
Подскажите, а для управляемого приложения на линукс-сервере что-то подобное можно сделать?
добрый день, обработка хорошая,можно добавить в нее расписание, чтобы задать время когда она должна выполняться
За обработку cпасибо.
Использовал несколько раз на разных базах.
Очень помогла.
Неплохая обработка, но не мешало бы добавить в неё по умолчанию режим «проведение только проведенных документов».
А то, пользователь может напортачить, если привык работать с типовой обработкой и ожидает, что она по умолчанию трогает только проведенные документы.
Так что будьте осторожны 🙂
Отличная и очень полезная обработка
(8)Был открыт документ, например.
Так все-равно перепроводить придется.