На примере реального отчета показывается, как заставить 1С выполнять одновременно 1, 2 и более заданий, в то время как пользователь продолжает спокойно работать с базой.
Для организации фоновых процессов используется OLE и WSH. Внешние компоненты не используются. Сам отчет выводит в таблицу документы базы вместе со всеми реквизитами шапок и табличных частей. Отчет простенький, но универсальный и весьма ресурсоемкий (что в данном случае является плюсом).
В связи с тем, что используется OLE, необходимо выполнение двух условий: база не должна быть запущена в монопольном режиме; в базе должен быть заведен пользователь с именем "process", паролем "system" и пустым пользовательским каталогом (то есть с каталогом по умолчанию) - это необходимо для того, чтобы было возможно создание нескольких одновременных OLE-подключений. В дальнейшем разработчик может сам организовать доступ к базе по своему усмотрению.
Возможно запустить одновременно несколько отчетов. В таблице запущенных процессов отображается время старта, время завершения, статус выполнения каждого отчета. Возможно прекратить формированание любого отчета, щелкнув по ячейке колонки "Убить". Если пользователь закрывает форму отчета до окончания формирования, то "убиваются" все незавершенные отчеты из списка. То есть важным условием является не закрывать форму отчета до окончания его (их) формирования. Можно часть кода (процедуру обработки ожидания) вынести в глобальный модуль, тогда это условие будет являться уже необязательным.
Во время выполнения отчета (отчетов) можно заниматься другими делами, то есть работать с базой в полном объеме. Когда один из отчетов завершается, на экран будет выведена таблица завершенного отчета.
В связи с тем, что используется OLE, необходимо выполнение двух условий: база не должна быть запущена в монопольном режиме; в базе должен быть заведен пользователь с именем "process", паролем "system" и пустым пользовательским каталогом (то есть с каталогом по умолчанию) - это необходимо для того, чтобы было возможно создание нескольких одновременных OLE-подключений. В дальнейшем разработчик может сам организовать доступ к базе по своему усмотрению.
Возможно запустить одновременно несколько отчетов. В таблице запущенных процессов отображается время старта, время завершения, статус выполнения каждого отчета. Возможно прекратить формированание любого отчета, щелкнув по ячейке колонки "Убить". Если пользователь закрывает форму отчета до окончания формирования, то "убиваются" все незавершенные отчеты из списка. То есть важным условием является не закрывать форму отчета до окончания его (их) формирования. Можно часть кода (процедуру обработки ожидания) вынести в глобальный модуль, тогда это условие будет являться уже необязательным.
Во время выполнения отчета (отчетов) можно заниматься другими делами, то есть работать с базой в полном объеме. Когда один из отчетов завершается, на экран будет выведена таблица завершенного отчета.
Файлы обработки:
- Fonovoe_vypolnenie_otchetov_i_obrabotok_v_1S77.ert Для скачивания нужна регистрация
-
В этой группе 1С
- Прямое редактирование реквизитов табличных частей документов, справочников и движений
- Копирование документов
- Сравнение проводок по документам за период (SQL)
- Заполнение колонки ТЧ значением
- Перенос объектов между одинаковыми конфигурациями
- Контроль фактических отгрузок (несложно изменить на контроль чего либо в любой конфигурации 7.7)
- Экспорт ведомостей на выплату из ЗиК 2.3 в БП 1.6
- Бюджет: Печать входящих платежных поручений из программы СЭД (Казначейство)