"Предупреждение" с таймаутом -- не обрабатывается... #125939


#0 by Блик
Написал робота, чтобы делать обмен по УРИБ автоматом. В глобальнике в ПриНачалеРаботыСистемы проверка на определенного пользователя, потом бесконечный цикл. В начале цикла стоит:Предупреждение("Ожидание команды",Константа.ВремяОжидания);Константу поставил в 600 (чтобы раз в 10 минут проверял папку на полученные файлы). Так вот цикл не отработал НИ РАЗУ. Система уходит в таймаут в Предупреждении такое впечатление что навечно. Робот крутится на W2003 Server в одном из пользовательских сеансов.ОбработкуОжидания использовать не стал на всякий случай (вдруг он за 10 минут не успеет обработать всю загрузку/выгрузку?).С чем может быть связана такая бодяга?
#1 by VZ
Во-первых, в представленном тобой алгоритме трудно найти ошибку.Во-вторых существуют утилиты, позволяющие реагировать на появление конкретного файла в конкретном месте конкретным образом. Например, это умеет делать nCron - широко известный планировщик. И, вроде как, на проклабе была длл-ка, формирующая прерывание при появлении файла в оговоренном месте.
#2 by zzz
2 Форма.ОбработкаОжидания( "процаТвоя", 600)плюс проверка в "процаТвоя" завершённости предыдущего процесса (выстави флаги)
#3 by abk
Еще вариант: запуск 1с планировщиком заданий каждые 10 мин. с определенным юзером, кот. в ПриНачалеРаботыСистемы запустит оперделенную процедуру. Гарантирован отказ входа такого юзера при уже загруженном.
#4 by Блик
Я не хочу завязываться на разные планировщики. Мне нужно решить задачу стандартными средствами 1С., Я хочу иметь возможность в любой момент запустить процедуру обмена просто нажав "ОК".Вопрос-то не в этом, а в том, что предупреждение по таймауту не снимается!А, черт, надо попробовать на другой машине запустить, а я балда еще не попробовал...
#5 by Блик
Да, и в твоем варианте в случае повтороного входа гарантировано получим ка экране окошко, которое можно будет снять только вручную.
#6 by Очкарик
А я использую умения оутлука запускать батник.Типа, письмо пришло, --> батник --> страрт 1С с нужным юзером и действия всякие там...А оутлук к серверу зацеплен по IMAPу, и значит, как только прикатило письмецо, запускается 1С.-------------------------Всё нормально фунциклирует, и уже давольно давно...
#7 by Очкарик
+ 6, проблемы , подобные сняты, и не возникают., Даже, если база не запустилась, или кто монопольно в ней, или еще чего.
#8 by Блик
Не понял... Как ты снимешь предупреждение "Каталог пользователя занят"??? Письмо пришло ладно, а если мне отправить надо? А если два письма придут с небольшим промежутком, пока конфигуратор работает?
#9 by Очкарик
8, это всё решено.Комлекс всяких мер... :)У меня так заказы от торгашей с КПКшек принимаются, + еще всякое, ну и рассылается всяий хлам по запросикам...
#10 by Очкарик
8, мыло оставь, скину тебе один МылАдресок, сможешь убедиться...
#11 by Блик
Туманно как-то... "Комплекс всяких мер"... У тебя что, окно "Каталог пользователя занят" не появляется??По-любому надо в цикле проверять наличие файлов в папке, потом кидать их в CP, те что скопировал, удалять, потом запускать на загрузку.Опять же робот фунциклирует в рамках рабочей базы, потому как в справочник "Подразделения" кидается инфа про то, когда почта отправлена, когда принята...И вообще, это отход от темы. Вопрос основной: почему по таймауту предупреждение не снимается?Цикл не отрабатывается даже элементарный:
#12 by Блик
КонецЦикла;Слова "Поехали" я так и не дождался.
#13 by Очкарик
11, окно не появляется.По поводу "окна", если у юзера не выбран рабочий каталог, то можно с этим логином зайти в 1С хоть сто раз одновременно. Но в твоем случае это не катит.-----------Просто я считаю, что держать постоянно запущенной 1С для робота не есть гуд.ИМХО.Есть всякие там регламенты, работа с конфигурацией, снял процесс, и забыл потом запустить. А так, мне это пофигу, письма будут ждать, пока не появится возможность их обработать, и как только она появится, они обработаются, _без_участия_человека_.
#14 by Очкарик
#15 by Блик
Помимо всего прочего в цикле есть проверка на наличие определенного файла, по которому 1С отрубается, так что снять робота совершенно не проблема (запустить тоже не проблема -- отдельно крутится батник, который запускает 1С по наличию файла). Опять же робот нужен в составе рабочей конфы, потому как следит за полями в справочнике "Подразделения" и выгружает почту только куда надо, а не всем подряд. А какая разница? "Ожидание команды"-то на экране висит, значит мы в цикле...
#16 by Блик
апну-ка я до завтра, а завтра буду смотреть как на другой машине отрабатывает...
#17 by smaharbA
Да уж...
#18 by Witch
Про запуск батника аутлуком расскажи подробнее, плиз.Если можно - в почтуwwwitch # mail . ru
#19 by kurilkin
Вроде, если сделать окно 1с не активным, таймер у тебя в Предупреждении остановится. Как только активизируешь окно 1С, он продолжит считать, вот такие дела.
#20 by Очкарик
18, намылил...
#21 by Блик
Разве???А что значит "неактивным"? В сеансе оно активное, а если я переключусь в другой сеанс?Щас пойду смотреть, однако.
#22 by Defender aka LINN
Угу. №19 прав однако.
#23 by Блик
Ё-мое... Какая пакость однако. А что, "Обработка ожидания" нормально отрабатывает в этом случае?
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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