|     0
            - 28.05.2015 - 13:14
           |      
                    Использую следующий код в процедуре &НаСервере: Для Каждого СтрокаТЗ из ТЗ Цикл WshShell = Новый COMОбъект("WScript.Shell"); WshShell.Popup(ТекстСообщения2,3,"Загрузка оборотов",64); КонецЦикла; Окно не закрывается по таймауту через 3 секунды (2-й параметр метода), висит до интерактивного нажатия. Причем, если окно 1С свернуть, то popup отрабатывает нормально - появится и пропадет само. Где собака порылась? Как заставить срабатывать таймаут? Самое интересное, что и послать команду нажатия клавиши SendKey() не могу - она ждет завершения предыдущего метода (popup).  |    |  
|     1
            - 28.05.2015 - 14:34
           |      Для Каждого СтрокаТЗ из ТЗ Цикл WshShell = Новый COMОбъект("WScript.Shell"); ... Ой.  |    |  
|     2
            - 28.05.2015 - 14:39
           |  (1) Пока в отладке обработка, потом отлакирую. Мне бы побороть хрень с сабж. |   |  
|     3
            - 28.05.2015 - 14:45
           |  2-US1C > Не надо ЭТО отлакировывать. |   |  
|     4
            - 28.05.2015 - 14:48
           |  (3) Хорошо. Не буду. |   |  
|     5
            - 28.05.2015 - 15:22
           |     
			
			
                4-US1C > Уффф... Во-первых, в VSH можно использовать подпрограммы, выводя всяческие создания объектов из-под циклов. Во-вторых, вообще неча что-то выводить таким варваским способом на монитор. Это ты явно злоупотребляешь терминалом: а если у нас сеть? Просто сеть, а? В третьих, есть наработанные методики вывода сообщений на экран пользователю. Есть метод сообщения через всплывающее окно. Есть простейший метод, когда сообщения, выданные в серверном режиме, проявляются после возврата в клиентский (ты его не хочешь, понятно из сабжа). Наконец, есть метод, когды ты в серверном режиме организуешь сам независимое всплывающее окно, и выводишь инфу туда. Вариант прогресса при обновлении, например: на форме зарезервирован для этого реквизит, и обработка (в серверном режиме) этот реквизит постоянно изменяет.  |    |  
|     6
            - 28.05.2015 - 15:31
           |     
			
			
                (5) Спасибо за развернутый ответ. Насчет создания объектов в цикле уже понял. Обработка будет крутиться у меня на локальном компе - никому проблем не создам. Сообщения стандартные не устраивают. Через реквизит формы попробовал использовать метод Состояние() - не взлетело. Т.е. сначала показал мне прогрессбар 1% и окно пропало, все остальное осталось за кадром до окончания обработки. Как заставить его висеть на протяжении всей обработки?  |    |  
|     7
            - 28.05.2015 - 15:42
           |  6-US1C > Щаз, поищу. |   |  
|     8
            - 28.05.2015 - 16:06
           |     
			
			
                6-US1C > Посмотри на инфостарте у Душелова (баллов не требует). У него есть примерчик вывода сообщений в процессе обработки запроса. Через Состояние(<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>) Там всего ничего: форма с кнопкой, и вся музыка в модуле формы: Запускается в сервере Запрос, потом результат просматривается, одновременно генерируя сообщение в правом нижнем углу. Там вообщено, иллюстрация прогресса, но ничто не мешает таким способом и сообщать что-то внятное.  |    |  
|     9
            - 28.05.2015 - 16:13
           |  (8) По абонементу. |   |  
|     10
            - 28.05.2015 - 16:21
           |  9-US1C > Смотри личку. |   |  
|     11
            - 28.05.2015 - 16:28
           |  (10) Спасибо! Щас буду внедрять в свою. |   |  
|     12
            - 28.05.2015 - 17:10
           |  (10) Засада. Там цикл в процедуре &наКлиенте обращается к серверной процедуре, затем в процедуре &НаКлиенте генерит Состояние(). У меня весь цикл в серверной процедуре. |   |  
|     13
            - 28.05.2015 - 17:40
           |     
			
			
                12-US1C > Ну, снабди свою обработку формой. Её ведь можно и не открывать ;) А вот модулем формы снабдить вполне. Как-то разделить придется. С сервера выдачи нет без клиента.  |    |  
 Интернет-форум Краснодарского края и Краснодара |