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

12.07.19

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

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
UDP клиент - Внешняя компонента
.zip 331,86Kb ver:1
1 1 850 руб. Купить
UDP сервер
.7z 587,74Kb ver:1
1 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Программа состоящая из 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С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

14400 руб.

20.08.2024    43422    236    123    

220

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

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

16000 руб.

10.11.2023    19524    76    39    

92

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

20400 руб.

06.12.2023    17663    67    10    

101

Инструменты администратора БД Системный администратор Программист 1С v8.3 1C:Бухгалтерия Платные (руб)

Брандмауэр для сервера 1С включает в себя управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    33863    146    18    

52

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

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

14400 руб.

29.04.2020    39609    117    152    

82

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

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

5000 руб.

12.05.2020    31208    142    100    

98

Инструменты администратора БД Системный администратор Программист 1С v8.3 1C:Бухгалтерия Платные (руб)

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

140000 руб.

10.08.2012    124962    9    122    

195
Для отправки сообщения требуется регистрация/авторизация