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

12.07.19

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

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

Файлы

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

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

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

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

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

24900 руб.

20.08.2024    67732    356    163    

312

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

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

17000 руб.

10.11.2023    25188    93    46    

102

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 1С 8.3 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.04.2026, версия 1.4.1, работает в 1С:ФРЕШ!

24400 руб.

06.12.2023    22653    80    10    

113

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

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

14640 руб.

29.04.2020    50085    135    162    

92

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    1594    2    0    

20

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    45880    31    13    

49

Чистка данных Инструменты администратора БД Администрирование 1С 8.3 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

23999 руб.

20.02.2026    1221    1    0    

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