v7: периодический запуск отчёта в открытой базе в определённое время? возможно ли? #417704


#0 by MrZLO
возможно ли такое организовать... переодический запуск отчёта в открытой базе в определённое время? вариант с назначенным заданием и запуском базы не прокатывает
#1 by MrZLO
вопрос без ответа?
#2 by ДенисЧ
ОбработкаОжидания
#3 by Guk
через обработку ожидания тоже не прокатывает?...
#4 by Жеглофф
Возможно
#5 by KRV
Про обработка "ОбработкаОжидания" еще не успели сказать?  а про ЖКК?
#6 by bvn13
хм. А обработкуОжидания еще никто не предложил?
#7 by MrZLO
ясно, спасибо
#8 by Злопчинский
автор, поищи "Золушка" - тебе в самый раз
#9 by ДенисЧ
Вот блин... А обработку ожидания так никто и не предложил...
#10 by Torquader
Можно и без обработки ожидания. Первый вариант - написать внешнюю компоненту, которая сама будет отслеживать время запуска и вызывать событие, которое ловить в обработке внешнего события. Второй вариант - через DDE-запрос открываем форму с обработчиком, который выполняет нужное нам действие (тут надо быть осторожным, так как вызов по DDE может выполниться в разрыв основного алгоритма - тут будут проблемы с транзакциями, если их использовать). Третий вариант - написание сервиса, который будет "изображать" нажатие на определённую клавишу (то есть ручным способом открывать нужную нам обработку). Удачи. P.S. обработка ожидания плоха тем, что она может быть только одна (точнее одна на каждую открытую форму).
#11 by Cthulhu
: ну вощет из "только одной" можно вызывать сколько хочешь.. это так, между прочим..
#12 by Злопчинский
все уже придумали до вас... на инфостарте смотри у Василия Душелова "генеартор событий" - там можно взвести будильник на нужное время...
#13 by Torquader
вызвать можно что угодно, а работать будет только последняя. Основная проблема в том, что неизвестно, что происходит с базой - закрыли её или нет - поэтому, отслеживался всё равно должна быть не в 1С, а самостоятельной программой, чтобы уметь запустить 1С, если её ещё не запустили.
#14 by Cthulhu
: попробуй по слогам перечитать .. особенно предлог "ИЗ".. :))
#15 by Torquader
не знаю, как у вас, но у меня, не работает: Вызываем: Где функции глобального модуля: И что мы видим - Idle2 успешно работает, а Idle1 - нет. Или вы хотите сказать, что вызывать можно сколько угодно раз ? Но важен же результат, а не возможность вызова.
#16 by NS
И  Зачем нужно несколько обработок ожидания? Ты что в одной не можешь обработать время и понять что нужно запустить?
#17 by Torquader
да я уже понял, о чём речь. Просто, если одно действие надо делать раз в минуту, а другое раз в час, то придётся каждую минуту что-то делать и проверять, а раз в час не наступил ли. Кроме того, если мы производим отключение обработки (запланировали и аннулировали), то ситуация становится "совсем интересной". Просто, при работе в браузере было, что обработок ожидания может быть столько, сколько хочется - и там это действительно бывает необходимо, так как разные части формы могут обрабатываться по разному и должны быть независимыми друг от друга, а также то, что можно запускать действительно отложенные обработки (которые могут исполнится только один раз). Переписывать в 1С весь механизм работы с обработками - это не так сложно, но не очень удобно. Проще уже писать отдельный менеджер для запуска, а обработку ожидания использовать только для обработки вызовов по DDE не внутри кода. P.S. очень умная 1С при вызове по DDE может открыть форму в момент проведения документа, и если в этой форме при запуске мы хотим провести другой документ, то имеем полный облом, так как из одного другой не проводится. Удачи.
#18 by Злопчинский
блин, вроспользуйся Душелововским генератором событий и нагенери себе все что надо с любыми периодами
#19 by КонецЦикла
Шедулер предлагали? Вы еще андронный коллайдер Васи Пупкина порекомендуйте...
#20 by Злопчинский
за все время единствеенными задачами что выполнял на 1Ске регулярно были задачи при старте системы один раз в сутки...
#21 by КонецЦикла
У нас есть и каждые 15 мин, тупо из шедулера... иногда сбоит, но, думаю, гораздо меньше чем самописки
#22 by Злопчинский
шедулером робота запускаете?
#23 by Torquader
Если задача "ёмкая по времени", то надо запускать в отдельном сеансе, так как в противном случае пользователь будет жаловаться, что у него 1С "тормозит". Если задачка типа "поменять параметр у справочника" или "найти какой-то элемент", то лучше, конечно, в сеансе пользователя, так как лишнее время на открытие и закрытие "роботизированного сеанса". С другой стороны, а что может выполнять 1С сама ? Частые проверки (в фоновом режиме) нужны только для того, чтобы один пользователь "увидел", то, что сделали другие пользователи (вывод сообщений или имитация обработки событий). Редкие запуски нужны для синхронизации 1С с "кем-то не 1С-ным", так им самое то - в другом сеансе. P.S. при запуске всегда интереснее, так как пользователь ещё не начал работать и не заметит, что что-то происходит.
#24 by NS
Не понял, чем может помешать частый запуск обработкиОжидания? Если выполняется только проверка на время, то никого она затормозить не может.
#25 by Иду
а это качается?
#26 by MrDenis
Возможно подойдет вот это 1С Планировщик
#27 by Lama12
Хм... странно... вроде в условиях не сказано что процесс должен быть автоматизирован... Нанимаем тайца за 30$ в неделю. Он в нужное время запускает отчет.
#28 by polOwnik
Вариант ответа на вопрос, так как он сформулирован В глобальном модуле: В проц. ЗапуститьОтчет 1. Анализ заданного времени запуска 2. Если время совпадает, что-то типа ПутьФайлаОтчета="......."; КонецЕсли; В отчете в проц.ПриОткрытии: КонецЕсли; Вопрос в том, где хранить время запуска. Как вариант- константы
#29 by dk
+1 Если нужно взаимодействие с пользователем - обработка ожижания и запуск в сеансе пользователя Если нужно взаимодействие с базой - запуск в отдельном сеансе ну тут завизит от частоты запуска: - Если к утру сформировать отчеты или обмен сделать, то разовый запуск - Если период запуска менее 30 минут, то проще один сеанс робота держать - Если период запуска более 30 минут, то проще каждый раз запускать новый сеанс 1С
#30 by beholder
Еще можно замутить файлик с раширением .vbs а в нем написать типа Function WriteToLog(TextToWrite) User="DasRobot" pass="123" PathToERT="Z:BaseExtFormsDO_001.grpxxx.ert" ================ А потом запускать этот файлик как тебе хочется через шедулер.
#31 by smaharbA
в адинес есть прекрасное место для подлянок
#32 by Злопчинский
ГДЕ????
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С