1С8: Прогресс выполнения - на сервере и в COM соединении

12.07.19

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

Программа состоящая из UDP клиента (внешняя компонента) и сервера (программа) - клиент отправляет сообщения, сервер принимает. Можно получать сообщения из COM соединения. Работает только если сервер и клиент находятся в одной сети.

Скачать исходный код

Наименование Файл Версия Размер
UDP клиент - Внешняя компонента
.zip 331,86Kb
1
.zip 1 331,86Kb 1 Скачать
UDP сервер
.7z 587,74Kb
1
.7z 1 587,74Kb 1 Скачать

Программа состоящая из UDP клиента (внешняя компонента) и сервера (exe - программа)  - клиент отправляет сообщения, сервер принимает.

При запуске UDP клиента (на сервере и в COM соединении), он возвращает порт на котором запустился (диапазон портов указывается в ВК).

UDP сервер запускается на указанном порту, и получает широковещательные сообщения.

Если UDP сервер будет не доступен, это никак не повлияет на работу UDP клиента. (1С тормозить не будет)

 

UDP сервер - приложение 1cProgress.exe, запускается с параметром "порт", например: "1cProgress.exe 50500"

Не забываем создать правило в брандмауэре, для портов.

Имя класса компоненты: "УДПКлиент"

Функции и процедуры внешней компоненты:

Порт = ВК.Запустить(ПортНачальный, ПортКонечный, ШироковещательныйАдрес);

Аналог: Begin

Запускает UDP клиента, при запуске ищется свободный порт из указанного диапазона.

Порт - порт на котором запущен UDP клиент

ПортНачальный - начальный порт из диапазона (по умолчанию 50500)

ПортКонечный - начальный порт из диапазона (по умолчанию 50500)

ШироковещательныйАдрес - широковещательный адрес, например: 192.168.1.255

ВК.Прогресс(ТекстСостояния, ТекстСообщения, ПроцентВыполнения);

Аналог: Progress

Отправляет сообщение на UDP сервер.

ТекстСостояния - выводится под прогрессбаром

ТекстСообщения - выводится в окно сообщений (добавляется новая строка)

ПроцентВыполнения - прогрессбар

ВК.Закрыть();

Аналог: Closed

Отправляет сообщение "закрытия" на UDP сервер.

При получении, окно прогресса закроется.

******************************************************************

Логи UDP клиента (на 1С сервере имя пользователя "USR1CV8"): C:\Users\<имя пользователя>\Documents\UDP_Progress.log

 

Пример моей реализации:

ОбщийМакет.УДПКлиент - двоичный файл "УДПКлиент.zip" 

ОбщийМакет.УДПСервер - двоичный файл "1cProgress.exe"  

Общий модуль: УДП_Сообщения

&НаСервере
Функция ПодключитьУДПКомпоненту() Экспорт 
    
    КомпУст=Ложь;
    Попытка
        КомпУст=ПодключитьВнешнююКомпоненту("ОбщийМакет.УДПКлиент","компонента",ТипВнешнейКомпоненты.Native);
    Исключение
        ЗаписьЖурналаРегистрации("УДПКлиент",УровеньЖурналаРегистрации.Ошибка,,"Произошла исключительная ошибка при подключении компоненты!");
    КонецПопытки;
    Если Не КомпУст Тогда
        ЗаписьЖурналаРегистрации("УДПКлиент",УровеньЖурналаРегистрации.Ошибка,,"Произошла ошибка при подключении компоненты!");
    КонецЕсли;
        
    УДПКлиент = Новый("AddIn.компонента.УДПКлиент");
    Порт = УДПКлиент.Запустить(50500,50600,"192.168.10.255");
    
    Попытка
        СтруктураКомпонента = Новый Структура("УДПКлиент",УДПКлиент);
        АдресУДПКлиент = ПоместитьВоВременноеХранилище(СтруктураКомпонента,Новый УникальныйИдентификатор);
        Возврат Новый Структура("АдресУДПКлиент,Порт",АдресУДПКлиент,Порт);
    Исключение
        ЗаписьЖурналаРегистрации("УДПКлиент",УровеньЖурналаРегистрации.Ошибка,,ОписаниеОшибки());
        Возврат Неопределено;
    КонецПопытки;
    
КонецФункции



&НаСервере
Функция ПолучитьКомпоненту(АдресУДПКлиент) Экспорт 
    
    Попытка
        Если НЕ ПустаяСтрока(АдресУДПКлиент) Тогда
            Подключение = ПолучитьИзВременногоХранилища(АдресУДПКлиент).УДПКлиент;
            Возврат Подключение;
        КонецЕсли;
    Исключение
        Возврат Неопределено;
    КонецПопытки;
    
КонецФункции



&НаСервере
Процедура ОсвободитьКомпоненту(АдресУДПКлиент) Экспорт 
    
    УдалитьИзВременногоХранилища(АдресУДПКлиент);
    
КонецПроцедуры

 

Модуль формы, обработки:

&НаСервере
Функция КомандаНаСервере()
    
    Возврат УДП_Сообщения.ПодключитьУДПКомпоненту();
        
КонецФункции



&НаСервере
Процедура Проверка(АдресУДПКлиент)
    
    Об=УДП_Сообщения.ПолучитьКомпоненту(АдресУДПКлиент);
    ы = 100000;
    Для ф=1 По ы Цикл 
        Справочники.Контрагенты.НайтиПоКоду("1527278");
        Если (ф%1000) = 0 Тогда //каждые 1000
            Об.Прогресс("Выгрузка: "+Строка(ф)+" из "+Строка(ы) ,"Выгруженно: "+Строка(ф),ф/ы*100);
        КонецЕсли;
    КонецЦикла;
    Об.Закрыть();
    УДП_Сообщения.ОсвободитьКомпоненту(АдресУДПКлиент);

КонецПроцедуры



&НаКлиенте
Процедура Команда(Команда)
    
    ПараметрыПодключения = КомандаНаСервере();
    Если НЕ ПараметрыПодключения = Неопределено Тогда 
        //ПараметрыПодключения.АдресУДПКлиент
        //ПараметрыПодключения.Порт
        Попытка
            ПолучитьОбщийМакет("УДПСервер").Записать(КаталогВременныхФайлов()+"UDPServer.exe");
        Исключение
        КонецПопытки;
        ЗапуститьПриложение(КаталогВременныхФайлов()+"UDPServer.exe "+Формат(ПараметрыПодключения.Порт,"ЧГ=0"));
        Проверка(ПараметрыПодключения.АдресУДПКлиент);
    КонецЕсли;

КонецПроцедуры

 

внешняя компонента прогрессбар прогресс на сервере сообщение UDP процесс выполнения отслеживание

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

14400 руб.

06.12.2023    3775    20    1    

42

Infostart УДиФ: Управление данными и формами 1С

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    4738    12    2    

38

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2280 руб.

14.01.2013    178937    1085    0    

862

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    28179    83    146    

61

Медиадисплей. Рекламный информационный монитор для покупателя.

Разработка внешних компонент POS терминал Рабочее место Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Реклама, PR и маркетинг Управленческий учет Платные (руб)

Монитор покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Можно использовать в качестве графического меню-борда в кафе и видеовывески. Управление выводом на телевизор через hdmi-приставку на базе Windows или Android. В качестве устройства отображения можно использовать Android-планшеты, фоторамки с Android, монитор любого Windows-компьютера, доступного по сети. Настраивается ЛЮБОЙ ДИЗАЙН экрана!

16800 руб.

30.05.2017    52314    34    69    

43

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11903    5    9    

7

Внешняя компонента печати PDF (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    35349    108    127    

112

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61637    90    59    

74
Оставьте свое сообщение