1с как сделать паузу между исполнением кода

Как сделать, задать паузу при выполнении кода?

Если это какая-нибудь обработка и запускается на клиенте(у пользователя) то можно использовать обработчик ожиданий у встроенных функций:
Код 1C v 8.х

Для паузы можно использовать следующие примеры:
Код 1C v 8.х

1с как сделать паузу между исполнением кода. print. 1с как сделать паузу между исполнением кода фото. 1с как сделать паузу между исполнением кода-print. картинка 1с как сделать паузу между исполнением кода. картинка print. Если это какая-нибудь обработка и запускается на клиенте(у пользователя) то можно использовать обработчик ожиданий у встроенных функций: Код 1C v 8.х

Похожие FAQ

Еще в этой же категории

Ключевые слова и Изображения

Слова упорядочены по частоте использования в тексте

Изображения

Если нужна просто пауза, а не точное время ожидания, то можно ещё так:

Вот тут чувак еще один способ предложил: «В итоге я понял, что нормальной реализации с помощью языка 1С нету, так как в большинстве случаев используется подключение Wscript.Wshell, и видимо не просто так. Но использовать первый вариант я совершенно не хотел, из за записи файла на диск.

У меня был небольшой опыт работы c VBScript, поэтому я знал, что в скрипт можно переадавать параметры. Этим я и воспользовался. Был написан простой скрипт ожидания, который принимал один параметр:

Этот файл необходимо положить на сервер(для вызова на сервере) и на клиент(для вызова на клиенте), в моём случае(сервер терминалов), я положил файл на оба сервера(терминальный и на сервер 1С).

Теперь у нас есть скрипт который будет ждать столько, сколько мы скажем, осталось его вызвать из программы.

Вызов происходит в две строчки кода:

Я положил процедуру в общий модуль на клиенте, и в общий модуль на сервере, так же в параметр задал ПутьХраненияФайла. Вот таким образом с помощью Wscript, без постоянного создания файлов скрипта можно реализовать паузу в работе кода с минимальным значением

Источник

1с как сделать паузу между исполнением кода. SearchSiteYes. 1с как сделать паузу между исполнением кода фото. 1с как сделать паузу между исполнением кода-SearchSiteYes. картинка 1с как сделать паузу между исполнением кода. картинка SearchSiteYes. Если это какая-нибудь обработка и запускается на клиенте(у пользователя) то можно использовать обработчик ожиданий у встроенных функций: Код 1C v 8.х

1С 8.3 Пауза в коде процедуры/функции

1с как сделать паузу между исполнением кода. kod 1c 1cnik.by. 1с как сделать паузу между исполнением кода фото. 1с как сделать паузу между исполнением кода-kod 1c 1cnik.by. картинка 1с как сделать паузу между исполнением кода. картинка kod 1c 1cnik.by. Если это какая-нибудь обработка и запускается на клиенте(у пользователя) то можно использовать обработчик ожиданий у встроенных функций: Код 1C v 8.х

Если ЗадержкаВСекундах = 0 Тогда
Сообщить ( «Не задана задержка!» );
Возврат
КонецЕсли;

Если ТранзакцияАктивна () Тогда
ЗафиксироватьТранзакцию ();
КонецЕсли;

Сообщить ( «старт паузы в: » + ТекущаяДата ());

Если Вариант = «Ping» Тогда //не грузит процессор

ИначеЕсли Вариант = «smaharbA» Тогда //не грузит процессор

Для к = 1 По ЗадержкаВСекундах Цикл
ПолучитьCOMОбъект ( «winmgmts:» ). ExecNotificationQuery ( «Select * from __instancemodificationevent where TargetInstance isa ‘Win32_UTCTime'» ). NextEvent ();
КонецЦикла;

ИначеЕсли Вариант = «Пустой цикл» Тогда // загрузка процессора до 100%

ДатаЗавершенияПаузы = ТекущаяДата () + ЗадержкаВСекундах ;
Пока ТекущаяДата () ДатаЗавершенияПаузы Цикл
ОбработкаПрерыванияПользователя ();
КонецЦикла;

ИначеЕсли Вариант = «Sleep» Тогда // нужна установленная программа sleep.exe

ИначеЕсли Вариант = «DynamicWrapper» Тогда // используется внешняя библиотека. д.б. установлена KERNEL32.DLL

ИначеЕсли Вариант = «SleepJs» Тогда // используется WScript.Shell

УдалитьФайлы ( КаталогВременныхФайлов ()+ «sleep.js» ); // обязательно чистим каталог

ИначеЕсли Вариант = «SleepVbs» Тогда // используется WScript.Shell

SignS = Формат ( ТекущаяДата (), «ДФ=yyyyMMddhhmmss» );
ПутьScript = КаталогВременныхФайлов ()+ «SleepScript» + SignS + «.vbs» ;

УдалитьФайлы ( ПутьScript ); // обязательно чистим каталог

ИначеЕсли Вариант = «TimeoutWS» Тогда // используется WScript.Shell

ИначеЕсли Вариант = «Timeout» Тогда // используется WScript.Shell, но показывает черное окно при каждом старте паузы

Сообщить ( «финиш паузы в: » + ТекущаяДата ());

Источник

Как сделать паузу в коде?

Эта статья расскажет о способах написания пауз на встроенном языке 1С:Предприятие 8, их достоинствах и недостатках. Также Вы узнаете, какой способ является самым оптимальным с точки зрения потребляемых ресурсов компьютера.

Использование пауз в 1С — стародавняя головная боль. До сих пор этот механизм никак не реализован на уровне платформы. Поэтому программистам приходится изобретать велосипеды и ходить по граблям.

1). Использование целочисленных циклов

Самый старый (встречал такие шедевры еще на платформе 1с:Предприятие 7.7), самый грубый и самый ресурсоемкий способ — использование цикла, ограниченного целым числом:

Грубый — потому что невозможно точно предсказать, сколько будет длиться цикл, ведь скорость его выполнения напрямую зависит от вычислительной мощности компьютера. Ресурсоемкий — потому что процесс 1С занимает 100% ресурсов ПК.

Его мы однозначно отметаем!

2). Использование цикла с датой

Другой древний способ, чуть более точный, но такой же ресурсоемкий — использование цикла, ограниченного датой:

По-прежнему, точность данного алгоритма оставляет желать лучшего, т.к. погрешность может составлять 100 и более миллисекунд. Да и быстродействие не на высоте.

Его мы тоже отметаем!

3) Использование обработчиков ожидания

При работе с формами для реализации повторяющихся во времени действий, можно воспользоваться механизмом обработчиков ожидания:

Из плюсов метода: точность и низкое потребление ресурсов ПК. Из недостатков этого метода можно отметить ограниченность его использования только клиентской частью приложения (на сервере обработчики ожидания не работают). Кроме того, его невозможно использовать для вставки в выполняемый код, т.к. обработчики 1С задействованы только в свободное от основных вычислений время.

4) Использование скриптов WShell

Но у приведенной процедуры есть свои недостатки: вряд ли удастся использовать ее на платформе Linux или веб-клиенте.

Источник

Пауза в выполнении кода

(29) реально на прошлой работе выгребал тонны вопросов и предупреждений вставленых в проведение :),
а еще хранение таблиц и списков (со ссылками) в реквизите документа и справочника, и еще много чего.

человек который это написал к тому времени возомнил себя мего 1с ником и ушел внедрять УПП

Ну флудеры. Я себя почувствовал ТСом из ветки про уничтожение инфы на хардах. Одинесеры разделились на два лагеря:
1) копрокодеров, которым положить, что проц загружается на 100% и нифига при этом не делает
2) Vbs, который делает все необходимое, не нагружает проц и реализовать в нем можно хоть лилового черта в малиновую крапинку(это я про ping, sleep, что_еще_такое_предлагали?)

p.s. Очень надеюсь вырваться в пятницу на миста-встречу в Москве на Бауманской, заодно и посмотрим друг на друга 🙂

1с как сделать паузу между исполнением кода. empty. 1с как сделать паузу между исполнением кода фото. 1с как сделать паузу между исполнением кода-empty. картинка 1с как сделать паузу между исполнением кода. картинка empty. Если это какая-нибудь обработка и запускается на клиенте(у пользователя) то можно использовать обработчик ожиданий у встроенных функций: Код 1C v 8.х

(68) Правда, не понимаю, имеем интервал 12 секунд, нужно выполнить конкретное действие.
Исходя из видения задачи по сообщениям в этой теме

тьфу блин, инфы 60 строк, 5 страниц, 12 строк на каждой, 30 секунд.

ПриСозданииНаСервере
создаем страницы программно, таблицы на них тоже программно,

вызываем процедуру, которая получит данные и заполнит таблицы. Более сервер не дергаем, пока в этом нет необходимости.

ПриОткрытии
Подключаем обработчик ожидания, который будет переключать страницы.
Второй обработчик с таким интервалом с каким нужно обновлять данные (брать из базы)

Источник

Реализация паузы выполнения кода, используя Wscript

Начну с того, что я нашел и почему мне это не подошло. Мои требования были такими, необходимо было остановить выполнение кода на 0.1-0.5 секунды, клиент-серверный вариант работы, управляемые формы, тонкий клиент, пауза на клиентской части.

1) Первый вариант, который я нашел, был таким:

Я даже хотел начать его использовать, но потом подумал, что постоянно создавать файл не эффективное решение.

2)Второй вриант был довольно таки удобный, и подходил бы мне, если бы можно было поставить задержку менее секунды:

3)Вариант с циклом и проверкой времени был отметен, как ересь, в связи с нагрузкой на процессор, и минимальным временем в 1 секунду.

4)Этот вариант вообще достаточно странный, я уж решил что это именно то, что мне нужно, но потом посмотрел и понял, что нужен некий файлик sleep. Без него выдаётся ошибка 0x80070002. А качать из интернета файл sleep.exe не очень хочется.

5)Был еще вариант с предупреждением и выбором из списка с таймером, но там опять же минимальная пауза 1 сек + еще окна лишние.

В итоге я понял, что нормальной реализации с помощью языка 1С нету, так как в большинстве случаев используется подключение Wscript.Wshell, и видимо не просто так. Но использовать первый вариант я совершенно не хотел, из за записи файла на диск.

У меня был небольшой опыт работы c VBScript, поэтому я знал, что в скрипт можно переадавать параметры. Этим я и воспользовался. Был написан простой скрипт ожидания, который принимал один параметр:

Этот файл необходимо положить на сервер(для вызова на сервере) и на клиент(для вызова на клиенте), в моём случае(сервер терминалов), я положил файл на оба сервера(терминальный и на сервер 1С).

Теперь у нас есть скрипт который будет ждать столько, сколько мы скажем, осталось его вызвать из программы.

Вызов происходит в две строчки кода:

Я положил процедуру в общий модуль на клиенте, и в общий модуль на сервере, так же в параметр задал ПутьХраненияФайла. Вот таким образом с помощью Wscript, без постоянного создания файлов скрипта можно реализовать паузу в работе кода с минимальным значением

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *