7.7 Установить таймаут

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Alex007, 11 май 2016.

  1. TopicStarter Overlay
    Alex007
    Offline

    Alex007

    Регистрация:
    4 апр 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, мне необходимо задержать выполнение модуля на некоторое время, как это сделать?
    т.е.
    Код:
    Процедура Выполнить()
        Действие1();
    //- тут пауза х сек.
       Действие2();
    КонецПроцедуры
  2. LordMaverick
    Offline

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.429
    Симпатии:
    372
    Баллы:
    104
    или через вставку пустого цикла (надо подбирать),
    или, если допустимо, через вывод предупреждения, там можно задать время отображения в секундах

    PS
    такое КРАЙНЕ НЕ ЖЕЛАТЕЛЬНО делать в обработках проведения доков
  3. TopicStarter Overlay
    Alex007
    Offline

    Alex007

    Регистрация:
    4 апр 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Забыл уточнить, там сперва идет не Действие1(), а ФормаОткрыть("Отчет....."). И мне нужно в эту форму ввести пароль и нажать "ОК", а потом далее по модулю запустить процедуру Действие2(). Через вывод Вопроса, Предупреждения с таймаутом не получается, т.к. форма этого Предупреждения закрывает форму вызываемого отчета. Видимо задача невыполнима такая.
  4. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Здравствуйте.
    А почему нельзя ввести пароль через метод ВвестиСтроку() (в нем, кстати, и таймаут есть) и уже потом открывать другую форму отчета?
  5. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    А вообще, очень многое нестандартное можно сделать через скрипты. Например так:
    Код:
    Процедура глПауза(Сек)
        scr = СоздатьОбъект("WScript.Shell");
        scr.Run("sleep "+СокрЛП(Число(Сек)),0,1);
    КонецПроцедуры;
    man37 нравится это.
  6. TopicStarter Overlay
    Alex007
    Offline

    Alex007

    Регистрация:
    4 апр 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Вставил в обработку, задал перем Сек=10; но при запуске выскакивает в табло
    err scr.Run("sleep "+СокрЛП(Число(Сек)),0,1); и все стопорится. Скажите, WScript.Shell который пытаюсь создать он встроен или еще загрузить его нужно?
  7. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Он может быть отключен политикой домена, например.
  8. TopicStarter Overlay
    Alex007
    Offline

    Alex007

    Регистрация:
    4 апр 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    win2003 -> RDP. Там тоже может быть отключен?
  9. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Всем привет!
    А можете подробно объяснить, чего Вы хотите добиться? У меня, например, получилось вывести форму отчета по Валютам и вывести запрос на пароль с таймаутом. Никакие окна не закрылись.
    Код:
        Сообщить("Часть 1");
        ОткрытьФорму("Отчет.КурсыВалют", Контекст);
        Если ВвестиСтроку(Стр, "Введите пароль",4,0,3) = 1 Тогда
            Если Стр = "4321" Тогда
                Сообщить("Это правильный пароль!");
            КонецЕсли;
        Иначе
            Сообщить("Пароль неверный!");
        КонецЕсли;
        Сообщить("Часть 2");
    Может и не нужно открывать дополнительные формы?
  10. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    На сервере оно тем более может быть запрещено политикой безопасности или уровнем доступа аккаунта.
  11. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Вот еще вариант скрипта. В любом случае, для выполнения нужны права администратора.

    Код:
    Процедура глПауза(Сек)
        scr = СоздатьОбъект("WScript.Shell");
        scr.Run("ping 127.0.0.1 -n "+СокрЛП(Число(Сек)+1),0,1);
    КонецПроцедуры;
    Взято с Инфостарта http://infostart.ru/public/191403/
  12. TopicStarter Overlay
    Alex007
    Offline

    Alex007

    Регистрация:
    4 апр 2016
    Сообщения:
    19
    Симпатии:
    0
    Баллы:
    1
    Да может и не нужно, тема такая: Есть обработка, которая ч/з ОЛЕ работает с доками в другой базе (перенос, корректировка). Хочу ее доделать и передать в "надежные" руки юзверя. У этой обработки простая формочка, на которой 2 кнопки- 1-Подключиться() ( к другой базе) 2- Сформировать(). Задумка такая: ПриОткрытии() кнВыполнить .Доступность(0); (чтобы юзверь не тыкал и не пытался работать с не подключенной еще базой). Он жмет на кнПодключиться(), которая открывает форму другой обработки ("ВводПароля") с единственным окошком для ввода пароля. И только после подключения Сформировать.Доступность(1); ПриЗакрытии()- обрубается ОЛЕ, чтобы не подвешивал вторую базу
    вот код
    PS
    Но это все шлифовка, можете подсказать мне по основному вопросу- в другой теме. Это куда важнее для меня сейчас
    http://1c-pro.ru/threads/ole-obmen-mezhdu-bazami.57453/#post-378775

    Код:
    Процедура Подключиться()
    //    Сек=10;
         ОткрытьФорму("Отчет.ВводПароля");
    //     scr = СоздатьОбъект("WScript.Shell");
    //   scr.Run("sleep "+СокрЛП(Число(Сек)),0,1);
    
     
     
    Если глПодклОЛЕ=1 тогда
           Форма.Сформировать.Доступность(1);
           Форма.КнПодключить.Доступность(0);
    КонецЕсли;
    
    КонецПроцедуры
    
    
    Последнее редактирование: 12 май 2016
  13. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Так и делайте ввод пароля через ВвестиСтроку, как у меня в примере выше. Не нужна там отдельная форма.
    По OLE обмену Бухгалтерский Угодник лучше подскажет, у меня опыта в этом нет.
  14. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.520
    Симпатии:
    407
    Баллы:
    104
    так откройте форму МОДАЛЬНО
  15. MaxxaM
    Offline

    MaxxaM Опытный в 1С

    Регистрация:
    16 окт 2007
    Сообщения:
    288
    Симпатии:
    2
    Баллы:
    29
    Варианты
    1. ВвестиСтроку()
    2. Использовать ОбработкаОжидания( );
    3. Вариант с WScript
Похожие темы
  1. 197319
    Ответов:
    49
    Просмотров:
    12.748
  2. Fiska
    Ответов:
    20
    Просмотров:
    884
Загрузка...

Поделиться этой страницей