Пауза без загрузки процессора. Внешняя компонента Native API на C++

Публикация № 1214070

Разработка - Разработка внешних компонент

Внешняя компонента Native API C++ Пауза Sleep

Внешняя компонента Native API на C++ для Win32 и Win64 позволяет установить паузу на заданное количество секунд без загрузки процессора.

Внешняя компонента позволяет установить паузу на заданное количество секунд без загрузки процессора. Разработана по технологии Native API, можно использовать как на клиенте, так и на сервере. Только для операционной системы Windows, как 32-х разрядной, так и 64-х разрядной. 

Установка внешней компоненты для типовой конфигурации на БСП:

1. Перейдите в раздел НСИ и администрирование - Печатные формы, отчеты и обработки - Внешние компоненты. 

2. Нажмите "Добавить из файла", выберите zip-архив с  компонентой, заполните идентификатор, версию и наименование (например: Pause, 1.0, Пауза), нажмите "Записать и закрыть".

Можно в конфигураторе добавить zip-архив в макет с типом "Двоичные данные" и использовать из макета.

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

Время паузы указывается в миллисекундах (Для установки паузы на 5 секунд нужно указать 5000).

Кнопка "Установить" - устанавливает компоненту на клиента. 

Кнопка "Тест" - для проверки работоспособности компоненты.

Пример вызова паузы:

ВКом = Новый("AddIn.Pause.Pause");
ВКом.Pause(2000);
ВКом.Пауза(2000); //можно на русском

Компонента тестировалась на конфигурации Управление торговлей, редакция 11 (11.4.10.57), подойдет для абсолютно любой конфигурации (даже самописной), так как компоненту можно загрузить в макет и использовать оттуда. Папку с проектом на С++ можно использовать как шаблон для разработки собственной внешней компоненты или доработать текущую.

Скачать файлы

Наименование Файл Версия Размер
Внешняя компонента
.zip 113,32Kb
20.03.20
0
.zip 113,32Kb Скачать
Обработка для тестирования (в макете есть архив с внешней компонентой)
.epf 127,61Kb
21.03.20
0
.epf 127,61Kb Скачать
Проект на С++ для Microsoft Visual C++ 2019
.zip 9,81Mb
21.03.20
1
.zip 9,81Mb 1 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. capitan 1516 21.03.20 19:03 Сейчас в теме
Не хочу расстраивать но в БСП уже сделали паузу без загрузки процессора.
korableg; acanta; ifal; +3 Ответить
2. DNN13 24 21.03.20 19:33 Сейчас в теме
3. capitan 1516 21.03.20 23:16 Сейчас в теме
4. tormozit 5759 22.03.20 08:05 Сейчас в теме
(3) В файловой базе работает?
8. capitan 1516 22.03.20 13:00 Сейчас в теме
(4)Работает во всех вариантах баз 100%
Код сюда не буду постить ибо копирайто.
Посмотрите в любой типовой конфигурации поиском Пауза(
5. leemuar 22.03.20 10:05 Сейчас в теме
(3) фоновые задания нагружают сервер. Особенно в ситуации, когда при наличии множества интеграций с паузами, этих пауз делается десятки и сотни
6. ltfriend 478 22.03.20 10:58 Сейчас в теме
(3) фоновым заданием можно сделать паузу, например в 200 мс или в 500 мс?
14. capitan 1516 22.03.20 18:48 Сейчас в теме
(6)и в 1 мкс тоже не поставить. Стесняюсь спросить, зачем нужна пауза в полсекунды и сколько по вашему займет подключение внешней компоненты?
16. ltfriend 478 23.03.20 08:48 Сейчас в теме
(14) Подключить компоненту можно один раз, а паузу вызывать сколько угодно раз. Зачем? Да простой пример - сайт ВКонтакте ограничивает частоту запросов не более 5 раз в секунду. Попробуйте без паузы в 200 мс выгрузить, например 1000 товаров (да хоть 100) и не получить ошибку 6 - "Слишком много запросов в секунду".
7. sergling 31 22.03.20 12:31 Сейчас в теме
(3) не получается поставить паузу в фоновом задании
13. capitan 1516 22.03.20 18:46 Сейчас в теме
(7)МенеджерФоновыхЗаданий (BackgroundJobsManager)
ОжидатьЗавершенияВыполнения (WaitForExecutionCompletion)
Доступен, начиная с версии 8.3.13.
Синтаксис:
ОжидатьЗавершенияВыполнения(<ФоновыеЗадания>, <Таймаут>)
22. sergling 31 25.03.20 20:17 Сейчас в теме
(13) я имею ввиду что мне в самом фоновом задании нужно делать паузу в определенных местах кода
9. PowerBoy 2955 22.03.20 15:18 Сейчас в теме
Ну вот пауза без загрузки проца:

Функция Ожидать(ВремяОжидания) Экспорт
    
    Если ВремяОжидания <> 0 Тогда
        
        НастройкиПрокси = Новый ИнтернетПрокси(Ложь);
        НастройкиПрокси.НеИспользоватьПроксиДляЛокальныхАдресов = Истина;
        НастройкиПрокси.НеИспользоватьПроксиДляАдресов.Добавить("127.0.0.0");
        
        Попытка
            Loopback = Новый HTTPСоединение(
                "127.0.0.0",,,,НастройкиПрокси,
                ВремяОжидания);
            Loopback.Получить(Новый HTTPЗапрос());
			Возврат Истина;
        Исключение
            Возврат Ложь;
        КонецПопытки;
        
    КонецЕсли;
    
КонецФункции
Показать
11. leemuar 22.03.20 15:24 Сейчас в теме
(9) запустите сразу 100 пауз и замерьте потребление ресурсов (в том числе сетевых)
12. capitan 1516 22.03.20 18:44 Сейчас в теме
(11)
запустите сразу 100 пауз и замерьте потребление ресурсов

подключите сразу 100 внешних компонент и замерьте потребление ресурсов
Вероятность, что 100 одновременно работающих пользователей поставят паузу в одно и то же время очень невелика
А вот на 100 развернутых баз 100% придется подключить 100 внешних компонент.
15. leemuar 22.03.20 23:07 Сейчас в теме
(12) Спасибо что копируете мой стиль, это приятно. Ничего не будет при подключении 100 внешних компонент, мы проверяли и замеряли :) Возможно вы немного не в курсе как компонента располагается и переиспользуется в памяти.

В базах с хорошим количеством интеграций busy-loop паузы существенно снижают производительность сервера и клиента. В отличие от использования шедуллера ОС, который используется во внешней компоненте
10. Steelvan 22.03.20 15:20 Сейчас в теме
На этом сайте уже присутствуют минимум три родных dll с методом задержки Pause().
Ищутся и находятся простым поиском по сайту.
17. Infactum 286 23.03.20 09:08 Сейчас в теме
Полезная нагрузка этих компонент с паузой - одна строка кода
std::this_thread::sleep_for(...)

Но даже при этом авторам компонент обычно лень собрать кроссплатформенно.
18. savostin.alex 67 23.03.20 10:21 Сейчас в теме
Попытка
Для Счетчик = 1 По 3 Цикл
ПолучитьCOMОбъект("winmgmts:").ExecNotificationQuery("Sel ect * fr om __instancemodificationevent where TargetInstance isa 'Win32_UTCTime'").NextEvent();
КонецЦикла;
Исключение
КонецПопытки;
19. starik-2005 2051 23.03.20 15:55 Сейчас в теме
(18) а без com, и чтобы на Linux работало?
20. savostin.alex 67 24.03.20 01:50 Сейчас в теме
21. starik-2005 2051 24.03.20 09:03 Сейчас в теме
(20) https://yandex.ru/turbo?text=https%3A%2F%2Fandreyex.ru%2Flinux%2Fkomandy-linux-i-komandy-shell%2Fispolzovanie-komandy-sleep-v-skriptah-bash-v-linux%2F

Просто ВыполнитьКомандуСистемы("sleep 0.05") для 5 мс ожидания. В первый раз будет чуть дольше, дальше закешируется и будет летать. И это не кушает ресурсов (см сцылку).
Оставьте свое сообщение

См. также

Получение фото с веб-камеры

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент

Получение фото с веб-камеры без ActiveX. Внешняя компонента по технологии Native API. Использует Microsoft Media Foundation.

1 стартмани

25.03.2020    1244    5    berezdetsky    8       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Быстрая печать этикеток (ZPL, EPL, TSPL, EZPL, GEPL, TSPL-EZ)

Инструменты и обработки Программист Архив с данными v8 v8::УФ 1cv8.cf Абонемент ($m) Разработка внешних компонент

Качественная и быстрая печать на внутреннем языке принтеров этикеток.

4 стартмани

02.02.2020    2562    17    Johny_v    5       

Сканирование по TWAIN в 1С (обычные и управляемые формы)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Разработка внешних компонент

Обработка показывает пример, как можно в 1С проводить сканирование с помощью компоненты TWAIN.

3 стартмани

03.01.2020    2188    13    Diana.dedov.91    0       

Онлайн-курс «Автоматизация процессов управления МТО: методика сбора и формализации требований» с 1 апреля по 13 мая 2020 года. Промо

Цель курса - повысить полноту и качество сбора и формализации требований к автоматизации процессов управления материально-техническим обеспечением. Курс основан на процессном подходе, позволяет в полном объеме выявить и учесть все факторы, влияющие на специфику процессов управления МТО. Участники курса получают теоретические знания в области организации процессов управления МТО и готовый инструментарий для сбора и формализации требований по автоматизации этих процессов (шаблоны, опросники, модели).

40000 рублей

Вставка картинки из буфера обмена (JavaScript + внешняя компонента)

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Разработка внешних компонент

Вставка картинки из буфера обмена с помощью JavaScript в поле HTML в web-клиенте и с помощью внешней компоненты в тонком/толстом клиенте. Механизм протестирован на платформах 8.2 и 8.3 Для запуска опубликованной конфигурации требуется платформа релиза не ниже 8.3.14.

1 стартмани

05.12.2019    1775    Andreyyy    1       

Клиент событий в «бесконечном» HTTP-соединении для 1С: Предприятие 8

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Native Компонента в отдельном потоке обрабатывает пакеты событий, в "бесконечном" http соединении и передаёт данные в очередь внешних событий.

10 стартмани

02.12.2019    1964    1    starovton    5       

DevOps для 1С. Онлайн-курс проходит с 16 апреля по 11 июня 2020 года. Промо

Данный онлайн-курс предусматривает изучение процессов DevOps, их применение при разработке на платформе 1С. В результате прохождения онлайн-курса вы сможете: настроить ПО необходимое для проведения проверок и тестирования, создавать сценарии тестирования и объединять их в комплексные процессы, создавать скрипты для автоматизации процессов DevOps.

12000 рублей

Управление окнами и мониторами в 1С

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf 1С:Франчайзи, автоматизация бизнеса Windows Абонемент ($m) Сервисные утилиты Разработка внешних компонент

Управление размерами, активностью и положением окон из 1С с возможностью вывода окон на второй монитор и запретом изменения окна.

1 стартмани

28.10.2019    5811    5    Grigoriy251    3       

Маленькая и скромная мобильная внешняя компонента

Вопрос Программист Архив с данными v8 Абонемент ($m) Разработка внешних компонент

Изваять простенькую мобильную компоненту на 1С для android не так-то просто. Посему назло отдельным супостатам, не желающим делится исходниками, представляю весь свой скромный труд на публичный суд.

1 стартмани

21.10.2019    6068    1    ripreal1    16       

Екатеринбург.Online: Голосование продолжается Промо

Продолжается голосование за доклады на INFOSTART MEETUP Екатеринбург.Online! Лучшие из них попадут в окончательную программу онлайн-митапа! Присоединяйтесь к голосованию и покупайте билеты - 3 000 рублей за 8 часов продуктивной пятницы!

3000

Native внешняя компонента для оповещения по UDP или TCP

Инструменты и обработки Программист Архив с данными v8 Windows Абонемент ($m) Разработка внешних компонент

Native внешняя компонента для оповещения по UDP или TCP, которая реализует возможность в 1С передавать сообщения с сервера на клиента. Исходный код компоненты также представлен.

1 стартмани

06.10.2019    5644    12    vdv2701    25       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Native внешняя компонента для передачи по UDP

Инструменты и обработки Программист Архив с данными v8 УТ10 Россия Windows Абонемент ($m) Разработка внешних компонент

Внешняя компонента Native-API для организации передачи с использованием UDP.

1 стартмани

29.07.2019    2288    4    axae    0       

Лучшие программы за прошедший месяц Промо

Инфостарт подготовил ТОП-25 самых продаваемых и популярных на текущий момент программ. При формировании списка учитывается аналитика продаж и запросы клиентов за последний месяц.

Менеджер буфера обмена. Нативная внешняя компонента win 32/64

Инструменты и обработки Программист Расширение (cfe) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Добавляет возможности получения информации из почтовых вложений или файлов с других рабочих столов (RDP) с помощью операций копирования/вставки. Может «прослушивать»: любые изменения буфера обмена; нажатие клавиш соответствующих вставке (paste); нажатие клавиш копирования (copy); drop операции. Это новая реализация аналогичной компоненты https://infostart.ru/public/379695/, но теперь не C#, а С++ нативно для x32 / x64. (см. http://youtu.be/-PaWWFfbYo4)

1 стартмани

26.06.2019    3630    13    Bww    21       

Обработка вывода на печать QR-кода и штрихкодов в различных форматах (одномерные и двумерные)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Разработка внешних компонент Ценники

Обработка предназначена для вывода на печать QR-кода и штрихкодов в различных форматах без установки дополнительных ActiveX компонент. Тестировалась на чистой базе платформы 1С:Предприятие 8.3 (8.3.14.1630), а так же в конфигурациях Бухгалтерия предприятия КОРП, редакция (3.0.69.35) и на Бухгалтерия предприятия (3.0.70.30)

2 стартмани

22.05.2019    6038    25    MGemini    2       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

DLL для подключения к Asterisk (32/64 клиенты)

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент Телефония, SIP

Подключение к Астериску и получение событий "Newchannel","BridgeEnter","Hangup" через ОбработкаВнешнегоСобытия.

1 стартмани

19.03.2019    5070    10    xxxAndricxxx    14       

DLL для обмена между 1С (и не только) через UDP порты (32/64 клиенты)

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Россия Windows Абонемент ($m) Разработка внешних компонент

Библиотеки для создания функционала для прослушивания портов из 1С и отправки сообщений на удаленный udp порт.

1 стартмани

28.02.2019    4494    6    xxxAndricxxx    1       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

Внешняя компонента для ping (под win)

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент

Цель: выполнение ping из 1С без использования команд системы. Может быть полезна разработчикам для проверки доступности компьютеров.

1 стартмани

05.01.2019    3997    2    milut    0       

Эмулятор ККМ по стандарту ФФД 1.1

Инструменты и обработки Программист Архив с данными v8 Розница УТ11 Россия Windows Кассовые операции Абонемент ($m) Разработка внешних компонент ККМ

Эмулятор драйвера ККМ по стандарту ФФД 1.1 предназначен для использования всех возможностей программы, при отсутствии физической кассы. Подойдет как программистам при разработке интерфейса РМК, например, так и пользователям для тестирования возможностей программы.

1 стартмани

30.12.2018    15136    113    Matveymc    21       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Внешняя компонента для считывателя карт ACS 122/1281 (БПО)

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент Ридер магнитных карт

Внешняя компонента для считывателя бесконтактных карт ACS 122/12 для подсистемы подключаемого оборудования.

1 стартмани

11.12.2018    4496    24    eugenevk    26       

WebSocket Клиент / Сервер. Внешний компонент

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Абонемент ($m) Разработка внешних компонент

Реализация протокола WebSocket. Клиентская часть для взаимодействия с внешними сервисами. Серверная часть для организации собственного сервера, принимающего клиентские соединения в многопоточном режиме. Возможно взаимодействие RabbitMQ Slack Asterisk и другие

1 стартмани

16.11.2018    9598    58    nomadon    42       

Онлайн-интенсив "1C:Предприятие для программистов: Бухгалтерские задачи" с 22 июня по 8 июля 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для решения задач бухгалтерского учета. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Бухгалтерия” и прочих прикладных решений, в которых реализованы соответствующие механизмы для автоматизации бухгалтерских задач.

4900 рублей

Внешняя компонента для выполнения регулярных выражений

Инструменты и обработки Программист Архив с данными v8 Абонемент ($m) Разработка внешних компонент

Внешняя Native API компонента для выполнения регулярных выражений на платформе 1С:Предприятие 8. Написана на C++. Используется движок boost::regex (v 1.69, v 1.68 - для Android). Версия синтаксиса Perl Compatible Regular Expressions.

1 стартмани

12.11.2018    9081    25    KAV2    59       

Native компонента для 8.3, реализующая метод sleep()

Инструменты и обработки Программист Архив с данными v8 Россия Windows Абонемент ($m) Разработка внешних компонент

Внешняя Native 64-битная компонента для 1C 8.3, которая реализует метод sleep() - паузу выполнения кода. Пауза для большой устойчивости сделана платформозависимой и требует WinAPI. Ид компоненты - AddIn.AddInNativeSleep.NativeSleep.

1 стартмани

16.10.2018    5378    3    ripreal1    9       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

TextRadar - нечеткий поиск в тексте

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Абонемент ($m) Разработка внешних компонент Поиск данных

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

1 стартмани

19.09.2018    11901    15    TSSV    14       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 20 апреля по 15 мая 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

Класс-обработка “Работа с картами Яндекс”

Инструменты и обработки Программист Конфигурация (md, cf) v8 Абонемент ($m) Разработка внешних компонент WEB

Как показать точку или маршрут на карте Яндекс. Как получить координаты по строке адреса (геокодирование).

1 стартмани

01.08.2018    17826    170    RSConsulting    15       

Распознавание лиц (off-line). Демонстрационная база.

Инструменты и обработки Системный администратор Пользователь Руководитель проекта Архив с данными v8 Абонемент ($m) Разработка внешних компонент

Распознавание лиц входит в нашу жизнь стремительными темпами, бизнес стремится за событиями. В публикации находится описание и пример использования нейросетей для распознавания лиц.

1 стартмани

17.07.2018    13222    75    nomadon    45