Оповещение приложений 1С об изменении данных на сервере

Публикация № 128273 17.05.12

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

Продукт позволяет реализовать взаимодействие нескольких экземпляров 1С между собой и сервера баз данных MSSQL посредством использования службы очередей сообщений. Может использоваться для следующих задач: оповещение о наступлении внешнего события, получение оповещения о внесении изменений в базу MS SQL, оповещение о завершении длительных операций.

Для свободного скачивания доступна полная версия.

 

Использование службы очередей сообщений PAUTMessageService в конфигурациях 1С

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

Введение

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

  1. Для отображения актуальных данных из какого-либо справочника у разработчиков 1С конфигураций нет механизма получения оповещения от сервера баз данных или приложения изменившего данные. Для этих целей в упрощённом варианте применяется обновление по таймеру.
  2. Выполнение длительных операций возможно с использованием объекта «Фоновое задание», и существующий механизм позволит «узнать» о том, когда задание завершено, но приложение осуществляющее проверку завершения задания не может выполнять каких-либо других действий. Поэтому разработчикам приходится «отмечать» на сервере баз данных, что операция завершена, а на клиентских приложениях снова пользоваться таймерами.
  3. При разработке любой системы приближенной к системам реального времени разработчикам 1С приходится «изобретать» механизм взаимодействия приложений, отвлекаясь от реализации прикладной задачи. К таким продуктам можно отнести системы управления складскими запасами и др.
  4. Разработчикам 1С приходится состыковывать свои продукты с другими учётными системами, «узнавая» об изменениях в «чужих» данных с задержкой.

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

В своей реализации мы предлагаем следующее:

  1. Службу очередей сообщений – простую в установке и использовании;
  2. Универсальную для всех релизов 1С внешнюю компоненту взаимодействия с этой службой;
  3. Расширенная хранимая процедура для СУБД MSSQL также взаимодействующая со службой;
  4. Приложение позволяющее создавать триггеры в базах данных 1С, которые могут оповестить об изменениях в справочниках, документах и других объектах.

На схеме 1 отображено взаимодействие всех предлагаемых компонентов продукта в распределённой сети. Фактически взаимодействие и обмен сообщениями осуществляется экземплярами службы PAUTMessageService установленными на всех узлах сети. Каждый хост может быть наделён одной из указанных ролей или все компоненты продукта могут быть установлены на одном узле.

Схема взаимодействие компонентов продукта

Схема 1. Взаимодействие компонентов продукта.

Сценарий развёртывания компонентов продукта:

  1. На клиентские ПК устанавливается инсталляционный пакет «AddIn нотификации объектов 1С.msi» в который входит служба очередей сообщений и необходимые библиотеки;
  2. На компьютер являющийся сервером баз данных 1С с развёрнутым сервером MSSQL устанавливаем пакет «PAUT Core 1.3.msi»;
  3. На компьютер разработчика устанавливаем пакет «Менеджер нотификации объектов 1С.msi» содержащий приложение для управления триггерами производящими оповещение клиентских приложений об изменении информации в базе данных.

 

Далее будет описано работа службы PAUTMessageService, использование внешней компоненты «PAUT1CObjNotify.dll» и приложения «Менеджер нотификации объектов 1С».

Служба очередей сообщений PAUTMessageService

Служба реализует простой механизм асинхронного взаимодействия приложений с использованием очередей сообщений. Реализована схема подписки на сообщения с сохранением состояния. Необходимо определится с терминологией в контексте данной задачи:

Сообщение – это блок данных, передаваемый от одного приложения к другому через цепочку служб обмена сообщениями. Содержимое блока данных определяется программистом использующим службы обмена сообщениями и является «понятным» как для отправляющей, так и для принимающей стороны. Каждому сообщению назначается произвольное наименование.

Приложение – программа «желающая» передать данные запакованные в именованное сообщение другому экземпляру программы или другому приложению «ожидающему» получения сообщений.

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

Асинхронная передача – вариант реализации, при котором приложения отправляющие сообщения в очередь могут немедленно продолжить свою работу, а приложения желающие получить сообщение не «ждут» его, а получают оповещение о приходе сообщения, не приостанавливая свою работу для его обработки.

Подписчик (слушатель) – приложение, регистрирующееся на получение сообщений по определённому имени. Регистрация может быть осуществлена на удалённом сетевом узле, на котором развёрнута служба PAUTMessageService. Тогда при поступлении сообщения с таким именем подписчик будет оповещён об этом событии.

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

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

Служба PAUTMessageService фактически является TCP сервером, принимающим входящие соединения. Так как сети строятся с использованием маршрутизаторов, в данной реализации был заложен механизм преодоления трансляторов сетевых адресов (NAT) для передачи сообщений между «закрытыми» сетями.

Что бы использовать функционал службы сообщений в своих разработках, в поставку продукта включена клиентская библиотека «PAUTMessageServiceClient.dll». Она передаёт вызовы в службу и выполняет обратные вызовы (оповещения о принятых сообщениях) из службы.

Внешняя компонента «PAUT1CObjNotify.dll»

Данная внешняя компонента работает в 1С версий 7.7, 8.0 - 8.2. Она взаимодействует со службой очередей сообщений PAUTMessageService через клиентскую библиотеку «PAUTMessageServiceClient.dll» и фактически является «обёрткой» для осуществления вызовов из конфигураций 1С. Разработчики конфигураций 1С могут использовать эту компоненту для обмена сообщениями между своими приложениями 1С и для взаимодействия со сторонними продуктами, использующими клиентскую библиотеку службы очередей сообщений PAUTCommandService.

Чтобы создать экземпляр объекта компоненты, необходимо объявить переменную для объекта.

Перем глСлужбаСообщений Экспорт;

 

Создание экземпляра в различных версиях 1С различно.

В версии 1С 7.7

Если ЗагрузитьВнешнююКомпоненту("PAUT1CObjNotify.dll") = 1 Тогда

  глСлужбаСообщений = СоздатьОбъект("Addin.PAUT1CObjNotify");

  Сообщить("Компонента PAUT1CObjNotify загружена"); Иначе

  Сообщить("Компонента PAUT1CObjNotify не загружена!");

КонецЕсли;

 

В версии 1С 8.х

Попытка

  ЗагрузитьВнешнююКомпоненту("PAUT1CObjNotify.dll");

  глСлужбаСообщений = Новый("Addin.PAUT1CObjNotify");

  Сообщить("Компонента PAUT1CObjNotify загружена");

Исключение

  Сообщить(ОписаниеОшибки());

  Сообщить("Компонента PAUT1CObjNotify не загружена!", СтатусСообщения.Внимание);

КонецПопытки

 

После успешной загрузки компоненты можно регистрироваться в качестве слушателя сообщений и посылать другим слушателям сообщения. Далее представлены все функции компоненты и аргументы этих функций.

Регистрирует клиента на определенное сообщение.

ЗарегистрироватьНаХосте(НаименованиеСобытия, НаименованиеХоста, "");

 

НаименованиеСобытия – строка определяющая на какое событие следует зарегистрироваться в службе событий.

НаименованиеХоста – строка определяющая имя компьютера или его IP адрес на котором будет осуществлена регистрация на событие. Если значение будет пустой строкой, то регистрация будет выполнена на локальном компьютере.

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

Разрегистрирует клиента с указанного наименования сообщения.

РазрегистрироватьНаХосте(НаименованиеСобытия, НаименованиеХоста);

 

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

Генерирует сообщение, которое должны получить ранее зарегистрированные на него слушатели.

СгенерироватьСобытиеНаХосте(НаименованиеСобытия, ДанныеСобытия, НаименованиеХоста);

 

ДанныеСобытия – это строка представляющая собой любые данные которые будут переданы зарегистрированным слушателям на указанное НаименованиеСобытия.

НаименованиеХоста – строка определяющая имя компьютера или его IP адрес на котором будет осуществлена генерация событие. Если значение будет пустой строкой, то событие будет сгенерировано на локальном компьютере.

Для того чтобы в 1С реагировать на сгенерированные события, нужно выполнить ряд действий которые различны в разных версиях 1С.

В версии 1С 7.7

Нужно воспользоваться глобальной процедурой ОбработкаВнешнегоСобытия

Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) Экспорт

  Перем Инфо;

  Сообщить("ВнешнееСобытие: Источник=" + Источник + "; Событие=" + Событие + "; Данные=" + Данные); 

  Если (Источник = "PAUTMessageService") Тогда

    Данные = СтрЗаменить(Данные, "|", РазделительСтрок);

    // Идентификатор службы того кто послал событие

    Инфо = СтрПолучитьСтроку(Данные, 1);

    // Идентификатор мессанжера того кто послал событие

    Инфо = СтрПолучитьСтроку(Данные, 2);

    // Наименование хоста того кто послал событие

    Инфо = СтрПолучитьСтроку(Данные, 3);

    // IP адреса того кто послал событие

    Инфо = СтрПолучитьСтроку(Данные, 4);

    // Наименование события

    Инфо = Событие;

    // Данные события

    Инфо = СтрПолучитьСтроку(Данные, 5);

  КонецЕсли

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

 

В версии 1С 8.х

Можно воспользоваться  глобальной процедурой ОбработкаВнешнегоСобытия в глобальном модуле приложения или процедурой ВнешнееСобытие формы.

Процедура ОбработкаВнешнегоСобытия(Источник, Событие, Данные) Экспорт

  Сообщить("ОбработкаВнешнегоСобытия: Источник=" + Источник + "; Событие=" + Событие +

    "; Данные=" + Данные);

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


Процедура ВнешнееСобытие(Источник, Событие, Данные) Экспорт

  Перем Инфо;

  Сообщить("ВнешнееСобытие: Источник=" + Источник + "; Событие=" + Событие +

    "; Данные=" + Данные);

  Если (Источник = "PAUTMessageService") Тогда

    Данные = СтрЗаменить(Данные, "|", Символы.ПС);

    // Идентификатор службы того кто послал событие

    Инфо = СтрПолучитьСтроку(Данные, 1);

    // Идентификатор мессанжера того кто послал событие

    Инфо = СтрПолучитьСтроку(Данные, 2);

    // Наименование хоста того кто послал событие

    Инфо = СтрПолучитьСтроку(Данные, 3);

    // IP адреса того кто послал событие

    Инфо = СтрПолучитьСтроку(Данные, 4);

    // Наименование события

    Инфо = Событие;

    // Данные события

    Инфо = СтрПолучитьСтроку(Данные, 5);

   КонецЕсли

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

 

Источник – При вызове указанных процедур во всех версиях 1С, этот параметр всегда равен строке "PAUTMessageService".

Событие – Строка равная значению строки НаименованиеСобытия на которое было выполнена регистрация события.

Данные – Строка содержащая в себе информацию о компьютере который сгенерировал событие и данные которые он передал в строке ДанныеСобытия во время вызова функции СгенерироватьСобытиеНаХосте. Вся эта информация разделена вертикальной чертой "|". Из примеров видно как можно ее распарсить.

Получение оповещений об изменении информации в базе данных

Для получения оповещений об изменении информации в базах данных 1С, развёрнутых с использованием СУБД MSSQL, разработана библиотека, реализующая расширенную хранимую процедуру. Эта хранимая процедура, используя службу очередей сообщений PAUTMessageService, может оповещать зарегистрированных слушателей об изменении информации в базе данных MSSQL. Исполняемые файлы для этой хранимой процедуры входят в инсталляционный пакет «PAUT Core 1.3.msi», который необходимо развернуть на сервере MSSQL. Так как на компьютере, являющемся сервером баз данных может быть несколько экземпляров серверов MSSQL, процесс регистрации расширенной хранимой процедуры необходимо выполнить вручную. Для этого в папке «%CommonProgramFiles%\PAUT\1.3\udf_mssql» расположено приложение «MSUDFNotifyInstaller.exe». При его запуске будет предложен выбор экземпляра сервера и после прохождения аутентификации произведена регистрация.

Вызывать эту хранимую процедуру можно из триггеров, срабатывающих на изменение данных в необходимых таблицах. Код этих триггеров можно писать вручную, а можно воспользоваться специально разработанным приложением «Менеджер нотификации объектов 1С» для их автоматической генерации. Сначала рассмотрим хранимую процедуру и пример кода триггеров для тестовой таблицы «TestTable».

Синтаксис вызова расширенной хранимой процедуры

 exec master.dbo.PAUTNotify @NotifyName, @NotifyData;

@NotifyName –  Строка содержащая наименование сообщения;

@NotifyData – Строка содержащая данные которые будут переданы слушателям зарегистрированные на сообщение @NotifyName.

 

Код создания таблицы «TestTable»

 /*Создание тестовой таблицы для демонстрации оповещения изменений*/

create table [dbo].[TestTable]

(

 [ID] bigint identity(1,1) NOT NULL,

 [Data] varchar(100),

  primary key (ID)

)

go

 

Код трёх триггеров: на удаление, вставку и обновление данных в таблице «TestTable»

 /*Создание триггера на удаление из таблицы*/

create trigger [dbo].[TestTableDel] on [dbo].[TestTable] after delete as

begin

  set nocount on;

  declare @IDStr varchar(1024);

  select @IDStr = cast(ID as varchar(100)) from deleted

  exec master.dbo.PAUTNotify 'TestTable_delete', @IDStr;

end

go

 

/*Создание триггера на вставку в таблицу*/

create trigger [dbo].[TestTableIns] on [dbo].[TestTable] after insert as

begin

  set nocount on;

  declare @IDStr varchar(1024);

  select @IDStr = cast(ID as varchar(100)) from inserted

  exec master.dbo.PAUTNotify 'TestTable_insert', @IDStr;

end

go

 

/*Создание триггера на обновление в талице*/

create trigger [dbo].[TestTableUpd] on [dbo].[TestTable] after update as

begin

  set nocount on;

  declare @IDStr varchar(1024);

  select @IDStr = cast(ID as varchar(100)) from inserted

  exec master.dbo.PAUTNotify 'TestTable_update', @IDStr;

end

go

 

Эти триггеры будут выполняться при удалении, вставки и изменении данных в таблице. Размещённый в них код вызова расширенной хранимой процедуры произведёт генерацию события на локальном компьютере. Таким образом, удалённые приложения, которые зарегистрируются на компьютере сервере баз данных на события 'TestTable_delete', 'TestTable_insert', 'TestTable_update' будут получать оповещения, когда кто-либо внесет изменения в таблицу [TestTable]. И в качестве данных передаваемых клиенту будут значения поля [ID] той записи, с которой произвели изменения. По этому идентификатору клиентские приложения смогут обновить всю необходимую информацию.

Менеджер нотификации объектов 1С

В инсталляционный пакет входит приложение (Рис. 1), упрощающее выполнение всех описанных выше операций для разработчиков 1С конфигураций. Это приложение может подключается к базам данных 1С различных версий, расположенных на MSSQL серверах. Оно отображает объекты 1С, в привычном для 1С программистов виде и соответствующие им таблицы в базе данных.

 Внешний вид приложения «Менеджер нотификации объектов 1С»

Рис. 1. Внешний вид приложения «Менеджер нотификации объектов 1С».

Слева отображен список алиасов для подключения к SQL базам данных 1С. На данном рисунке в приложении зарегистрировано два алиаса для 1С версии 7.7 и версии 8.1. Сверху над списком находится панель инструментов, с помощью которой можно выполнять редактирование списка алиасов, устанавливать и разрывать соединения для соответствующего алиаса и открывать редактор триггеров для какого-либо объекта 1С.

На рисунке 2 показан вид приложения после установления подключения к алиасу «Тестовая база данных 1С версии 8.1».

Внешний вид приложения после подключения к базе данных

Рис. 2. Внешний вид приложения после подключения к базе данных.

В правой части окна отображается дерево объектов 1С с соответствующей таблицей хранения. В данном случае в тестовой базе создан только один объект «СправочникАвтоОбновления». По двойному клику на любом из объектов будет предложено создать для таблицы этого объекта три триггера подобные тому, как описаны выше для тестовой таблицы, по необходимости тело триггера можно отредактировать под свои нужды. Не рекомендуется изменять наименования триггеров.

Как видно на рисунке напротив имени этого справочника стоит галочка, это означает что для соответствующей таблицы хранения, в нашем случае «_Reference1» уже созданы три триггера на удаление, добавление и изменение.

Для того что бы выставить эту галочку достаточно сделать двойной клик указателем мыши, после чего откроется диалог на создание необходимых триггеров (Рис. 3). Стоит обратить внимание на то, что наименование сообщения генерируемое в триггерах складывается из наименования базы данных, наименования объекта 1С и действия выполняемого над таблицей этого объекта. Для того чтобы получать оповещения обо всех изменениях объекта «СправочникАвтоОбновления», нужно зарегистрироваться на все три события:

  1. Test01_СправочникАвтоОбновления_добавление;
  2. Test01_СправочникАвтоОбновления_изменение;
  3. Test01_СправочникАвтоОбновления_удаление.

Создание триггеров для объекта «СправочникАвтоОбновления»

Рис. 3. Создание триггеров для объекта «СправочникАвтоОбновления».

В качестве данных, при генерации события, будет посылаться «Код», соответствующей записи в справочнике, для того чтобы в коде 1С можно было выполнить необходимые манипуляции с этой записью. Для разных типов объектов 1С будут посылаться различные данные. Детально это описано в таблице №1.

 

Тип объекта 1С

Поле таблицы хранения

1С версии 7.7

Системные

Первичный ключ

Справочник

Code

Документ

IDDoc

Регистр

Первичный ключ

Календарь

Первичный ключ

Журнал расчетов

Первичный ключ

1C версии 8.х

Системные

Первичный ключ

Справочники

_Code

Документы

_Number

Регистры

Первичный ключ

Календари

Первичный ключ

Журналы расчетов

Первичный ключ

Планы обмена

_Code

Последовательности

Первичный ключ

Журналы документов

Первичный ключ

Перечисления

Первичный ключ

Планы видов характеристик

_Code

Планы счетов

_Code

Регистр сведений

Первичный ключ

Регистр накопления

Первичный ключ

Регистр бухгалтерии

Первичный ключ

Регистр расчета

Первичный ключ

План видов расчета

_Code

Бизнес процесс

_Number

Задача

_Number

Таблица №1. Соответствия объектов 1С и данных посылаемых при генерации событий.

Если в приложении сделать двойной клик по объекту напротив которого уже стоит галочка, то откроется диалог, предлагающий удалить эти три триггера у соответствующей таблицы объекта (Рис. 4).

Удаление триггеров для объекта «СправочникАвтоОбновления»

Рис.4. Удаление триггеров для объекта «СправочникАвтоОбновления».

В приложении так же есть возможность отредактировать уже созданные триггеры. Для этого нужно выделить объект с галочкой и нажать на соответствующую кнопку  в панели инструментов. После этого откроется редактор SQL кода триггеров (Рис. 5). В помощь разработчику, в левой части окна расположен список таблиц с их полями, которые можно использовать при редактировании триггеров. Можно внести любые необходимые изменения в этот код и при нажатии кнопки «Применить» будет осуществлена попытка внести изменения в метаданные базы. Сообщения об ошибках выдаваемых серверам баз данных отображаются в области «Сообщения».

Редактирование триггеров объекта «СправочникАвтоОбновления»

Рис. 5. Редактирование триггеров объекта «СправочникАвтоОбновления».

Демонстрационные конфигурации 1С

В комплект поставки включены примеры, демонстрирующие возможности продукта:

  1. Примеры позволяющие взаимодействовать нескольким экземплярам конфигураций 1С различных версий между собой и с приложениями, написанными на других языках программирования;
  2. Пример конфигурации 1С 8.1 с автоматическим обновлением справочника по сигналу от сервера баз данных;
  3. Пример конфигурации 1С 7.7 с автоматическим обновлением справочника по сигналу от сервера баз данных;

Первый пример состоит из двух конфигураций 1С расположенных по пути «%CommonAppDataFolder%\PAUT\Manager1CObjNotify\1.0\Demo» в каталоге «Demo1C8File» и в каталоге «Demo1C7File». Это файловые варианты конфигураций, не требующие сервера баз данных. Конфигурации загружают внешнюю компоненту «PAUT1CObjNotify.dll» и обе могут выступать как в роли подписчика на сообщения, так и в роли отправителя сообщений. На панели инструментов обеих конфигураций есть кнопка «Демонстрация службы сообщений». При её нажатии отобразится форма (Рис. 6). При открытии формы будет произведена попытка загрузки внешней компоненты. При успехе в окне «Служебные сообщения» появится строка «Компонента PAUT1CObjNotify загружена», в случае ошибки появится строка «Компонента PAUT1CObjNotify не загружена!».

 Пример 1С «Демонстрация службы сообщений»

Рис. 6. Пример 1С «Демонстрация службы сообщений».

Предлагается следующий алгоритм демонстрации работы службы сообщений:

  1. Установите дистрибутив с примерами на двух компьютерах;
  2. На первом компьютере запустите приложения 1С 7 и 8 с демонстрационными конфигурациями.  Далее нажмите кнопку «Зарегистрировать» в обоих приложениях не изменяя другие настройки;
  3. На втором компьютере также запустите две демонстрационные конфигурации, но укажите в поле «Наименование хоста» имя или IP адрес первого компьютера. Далее также нажмите кнопку «Зарегистрировать»;
  4. Теперь можно нажать кнопку «Сгенерировать событие» в любой конфигурации на любом компьютере. Сообщение появится в поле «Информация событий» всех конфигураций которые ранее зарегистрировались в качестве слушателей.

Также в дистрибутив службы сообщений «PAUT Core 1.3.msi» включены примеры, аналогичные данному и реализованные на языках программирования: Delphi XE2, Builder XE2, VisualStudio 2010 C#. Если запустить любой из этих примеров, то он тоже будет способен получать события от 1С:Предприятия и так же оповещать зарегистрированных слушателей. Это покажет использование службы сообщений для взаимодействия программ разработанных на различных языках программирования.

Необходимо отметить следующее:

  1. Можно запустить неограниченное кол-во конфигураций на неограниченном количестве хостов;
  2. Для взаимодействия в реальных сетях необходимо чтобы сетевые узлы корректно «разрешали» указанные NETBIOS или DNS имена в IP адреса и по необходимости были выполнены дополнительные настройки службы сообщений;
  3. Во всех примерах, в поле «Наименование события» указано идентичное значение. При разработке реальных приложений программист может использовать любое количество произвольных имен сообщений, производя их регистрацию и выполняя генерацию оповещений;
  4. Поле «Данные события» является произвольной строкой служащей для передачи необходимой информации между приложениями;
  5. Поле «Идентификатор службы» не используется и служит в отладочных целях.

Следующие два примера размещённые в каталогах «Demo1C7MSSQL» и «Demo1C8MSSQL» идентичны и показывают получение оповещения от сервера баз данных об изменении информации в объектах 1С. Рассмотрим пример для 1С 8. Для успешной демонстрации этого примера необходимо выполнить следующие условия:

  1. необходим MSSQL сервер, на котором установлен инсталляционный пакет «PAUT Core 1.3.msi»;
  2. Необходимо зарегистрировать, в системной базе «Master», расширенную хранимую процедуру «PAUTNotify», для этого в папке «%CommonProgramFiles%\PAUT\1.3\udf_mssql» расположено приложение «MSUDFNotifyInstaller.exe»;
  3. Базу данных на MSSQL сервере, в которой будет храниться конфигурация, необходимо называть «Test01», так как это внесено в исходный код;
  4. Пример необходимо запускать с компьютера сервера баз данных или менять исходный код примера указывая IP адрес хоста в необходимом параметре функции «РазрегистрироватьНаХосте» описанной выше.

Демонстрация второго примера «Справочник автоматического обновления»

Рис. 7. Демонстрация второго примера «Справочник автоматического обновления».

В конфигурации этого примера создан объект «СправочникАвтоОбновления». При открытии этого справочника в 1С:Предприятии загружается внешняя компонента «PAUT1CObjNotify.dll» и выполняет регистрации на локальном компьютере на три события:

  1. Test01_СправочникАвтоОбновления_добавление;
  2. Test01_СправочникАвтоОбновления_изменение;
  3. Test01_СправочникАвтоОбновления_удаление.

 Этот пример следует запускать в двух экземплярах. При внесении изменений в справочник в первом экземпляре приложения 1С:Предприятия, все изменения так же будут отображаться во втором экземпляре 1С:Предприятия. На рисунке 7 отображен запущенный пример 1С:Предприятия с открытым справочником «СправочникАвтоОбновления».

Любые информационные сообщения поступающие от сервера баз данных протоколируются в стандартное окно «Служебные сообщения».

Заключение

Разработанный продукт является достаточно простым в установке и развёртывании, предлагает разработчикам понятный API, являющийся в тоже время очень гибким. С его помощью можно строить распределённые программные системы работающие в реальном времени. Для интеграции разработанных конфигураций 1С с другими информационными системами, исходный код которых не доступен для модификации, можно использовать возможности продукта VisualBatch. Он также базируется на службе очередей сообщений PAUTMessageService и является свободно распространяемым.

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

Наименование Файл Версия Размер
Нотификация объектов 1С.rar

.rar 99,62Mb
32
.rar 99,62Mb 32 Скачать
Руководство по работе с продуктом Менеджер нотификации объектов 1С.pdf

.pdf 674,19Kb
14
.pdf 674,19Kb 14 Скачать
Руководство по установке Менеджера нотификации объектов 1С.pdf

.pdf 372,84Kb
12
.pdf 372,84Kb 12 Скачать
Руководство по установке Addin нотификации объектов 1С.pdf

.pdf 415,88Kb
13
.pdf 415,88Kb 13 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. oleshko_alexey 2 10.04.13 17:59 Сейчас в теме
а где скачать VisualBatch ?
Сайт не работает
2. dzuyba 45 19.04.13 08:35 Сейчас в теме
Здравствуйте. Возможно сайт был отключен на небольшой период. Но сейчас он включен и можно качать. Извиняюсь за то что так поздно заметил ваше сообщение.
3. KotMurza 11.05.13 14:14 Сейчас в теме
Огромное спасибо за разработку!
Чесно говоря, я долго "тормозил" с ее внедрениемм.
Но когда наконец-то дошли руки - я "реально прибалдел" от того, насколько все просто и чЁтко!

Любые задачи, которые раньше решались по таймингу - циклическим опросом чего-то-там - теперь можно спокойно перевестив "асинхрон".

Еще раз: БЛАГОДАРЮ и РЕКОМЕНДУЮ!
4. dzuyba 45 20.05.13 12:31 Сейчас в теме
Здравствуйте, KotMurza!
Благодарим за ваш отзыв.
Работаем над следующей версией.
5. KotMurza 10.07.13 14:36 Сейчас в теме
В процессе эксплуатации версии 1.3 обнаружил пренеприятнейшее явление:
компьютер не в домене, ОС Win8, 1сv7:
метод СгенерироватьСобытиеНаХосте выполняется больше 5 секунд - чрезвычайно ощутимая пауза.
Анамнез пока не установлен, есть подозрения на DNS, хотя сама 1С функционирует нормально и нет никаких сетевых проблем.

Честно говоря, вообще не понимаю смысла в генерации события "на хосте". Почему нельзя генерировать "просто сообщение" (без привязки к хосту). А те, кто подписался на это сообщение - его "слушают"...

П.С. Сайт PAUT.RU не работает...
6. dzuyba 45 24.07.13 07:48 Сейчас в теме
(5) KotMurza,

Добрый день.

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

"Служба сообщений" входит в дистрибутив "PAUT Core" его последняя версия 1.4.
Нумерация версий у "Нотификация объектов 1С" своя, последняя 1.2 и она использует "PAUT Core" версии 1.4.

Задержка может быть только из-за долгого разрешения имени в адрес.
вопрос: Хост который указываете параметром в СгенерироватьСобытиеНаХосте в одной сети с вызывающим ПК?


Смысл в генерации события на хосте в следующем:
Клиенты регистрируются на каком-то хосте и «ждут» когда придёт оповещение.
Но сгенерить событие может не только сам сервер, но и любой другой хост.
Поэтому есть возможность вызвать функцию с указанием имени хоста на котором есть слушатели этого события.
Если источником события является сам сервер – то он генерит локальное событие.
7. roadman 30.04.14 06:25 Сейчас в теме
Очень полезная штука, знаю, куда прикрутить...
8. artemka 02.06.14 09:42 Сейчас в теме
Скажите, а компонента будет работать в сеансе сервера 1с без клиентов?
У меня есть 2 сервера 1с. После того как на 1-ом произошло какое-либо событие он должен оповестить 2-ой сервер о нем. Функция ЗагрузитьВнешнююКомпоненту доступна только в толстом клиенте, соответственно через внешние события не передать.
stanislav1esnik; +1 Ответить
9. pashaapex 08.09.14 20:29 Сейчас в теме
10. mas-prog1c 25.02.15 18:34 Сейчас в теме
(9) pashaapex, присоединяюсь, очень нужная вещь для 8.3
11. pbazeliuk 1930 04.10.16 22:41 Сейчас в теме
12. dzuyba 45 06.10.16 17:30 Сейчас в теме
(11) pbazeliuk, Да, проект жив. Поправлю приложение для работы с 1С 8.3 и выложу обновлённый дистрибутив.
13. Varsaavius 13.02.17 11:33 Сейчас в теме
Добрый день. Планируется ли выпуск версии под 8.3? ):
15. dzuyba 45 16.02.17 14:27 Сейчас в теме
(13) Добрый день. Сегодня мы выложили новую версию продукта в которую добавили пример для файловой базы данных 1с83.
16. gorvin 104 23.02.17 13:27 Сейчас в теме
(15) Добрый день. А где можна найти эту новую версию продукта?
Спасибо.
17. пользователь 27.02.17 10:39
Сообщение было скрыто модератором.
...
14. dzuyba 45 16.02.17 14:26 Сейчас в теме
Добрый день. Сегодня мы выложили новую версию продукта в которую добавили пример для файловой базы данных 1с83.
18. demientut 26 10.08.17 13:34 Сейчас в теме
сайт недоступен. Обидно. Скачал то что есть, но она максимум на 8.2.
Автор!!! Может на инфостарте лучше обновите!
20. dzuyba 45 22.08.17 19:29 Сейчас в теме
(18)Работу сайта восстановил. Переезжал на новый хостинг.
22. stiv1968 13.09.17 10:41 Сейчас в теме
(20) Скачать ничего нельзя, рисунка CAPTCHA нет на экране
Прикрепленные файлы:
19. yaxinr 57 17.08.17 06:22 Сейчас в теме
21. demientut 26 25.08.17 13:31 Сейчас в теме
"Welcome to nginx on Fedora!" вот что на сайте
23. stiv1968 04.10.17 10:55 Сейчас в теме
Captcha появилась, но теперь отсутствуют файлы
Прикрепленные файлы:
24. stiv1968 28.11.18 17:59 Сейчас в теме
Windows 7 SP1 64bit
Прикрепленные файлы:
25. kembrik 3 09.06.21 11:22 Сейчас в теме
Добрый день, а проект жив ещё? На сайте скачал что было, где-то версия 1.4, где то 1.3 где то 1.6, не проясните что по 8.3? Качать инфостартовские обработки за СМ?
Оставьте свое сообщение

См. также

Разработка внешней компоненты по технологии Native API. Мониторинг файловой системы в 1С

Разработка внешних компонент Платформа 1С v8.3 Россия Абонемент ($m)

Пример разработки внешней компоненты по технологии Native API для мониторинга выбранной папки файловой системы (изменение, переименование, удаление) файлов.

1 стартмани

12.03.2023    3399    2    binx    3    

44

Конвертор из PDF

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

Native компонента для рендеринга PDF в картинки, и (или) извлечения текста из PDF файлов.

2 стартмани

25.01.2023    1903    13    bmk74    8    

22

Внешняя компонента JSON-валидатор

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

Внешняя компонента под ОС семейства windows, реализующая функционал по проверке соответствия json-пакета заданной схеме ("Валидация").

1 стартмани

09.01.2023    1770    2    Prometeus2011    2    

16

Программный скриншотер для вставки скриншотов из буфера обмена для платформ 1С 8.3 и 8.2

Разработка внешних компонент Абонемент ($m)

В статье описана вставка картинки из буфера обмера в Тонкий и Толстый Клиент 1С УФ и ОФ через разработанную утилиту на платформах 1С 8.3.20 и 1С 8.2.12. Технически использование данного скриншотера подойдет и для более старых версий 1С (8.1, 8.0 или даже 7.7). Приведен пример кода вставки картинки для асинхронного режима работы 1С 8.3.

1 стартмани

02.06.2022    2132    2    user1206119    10    

4

Пишем внешнюю компоненту для 1С, NativeAPI на С++, для ОС Linux, с использованием Qt Creator

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

В статье рассмотрен процесс создания внешней компоненты для 1С в среде Qt Creator для операционной системы Linux (ubuntu, debian, mint и им подобных). На примере компоненты для сбора данных от внешней аппаратуры и сохранение их в базе, посредством 1С. В качестве внешней аппаратуры в данном примере будем использовать Arduino UNO.

1 стартмани

13.05.2022    7497    4    user1779098    34    

61

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Делаем табло в обозревателе из 1Ски с нуля за полчаса. Без бутстрапов, реактов и ангуляров. Жизнетрюки от kuzkov.info

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

02.05.2022    8169    124    Steelvan    0    

66

Внешняя Native API компонента совместно с функционалом фреймворка Qt

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

В данном примере реализована интеграция внешней компоненты, написанной с использованием технологии Native API и фреймворка Qt.

1 стартмани

20.02.2022    5474    8    tav_74    2    

17

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

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

29.11.2021    7722    19    Prometeus2011    14    

36

Внешняя компонента для мобильного приложения

Разработка внешних компонент Мобильная разработка Мобильная платформа Россия Абонемент ($m)

Внешняя компонента для дополнения мобильной платформы некоторыми функциями.

1 стартмани

02.11.2021    7854    27    Prometeus2011    45    

35

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

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

Распознавание речи в мобильном приложении 1С на Android

Мобильная разработка Разработка внешних компонент Мобильная платформа Абонемент ($m)

Внешняя компонента для мобильной платформы 1С, работающая в связке с отдельной службой и позволяющая реализовать распознавание речи в мобильном приложении на Android.

1 стартмани

15.07.2021    9109    8    salexdv    6    

35

Внешняя компонента на python

Разработка внешних компонент Абонемент ($m)

Технология создания и примеры кросc-платформенной внешней компоненты на python.

1 стартмани

10.03.2021    9388    14    aou1c    15    

12

Внешняя компонента: Android tools

Мобильная разработка Разработка внешних компонент Платформа 1С v8.3 Мобильная платформа Абонемент ($m)

Несколько дополнительных функций для мобильного приложения\клиента под Android. Размер архива внешних компонент под архитектуры ARM и x86 - 390KB.

1 стартмани

12.01.2021    13058    37    KAV2    46    

15

Использование встроенного сканера ТСД на Android в мобильном клиенте и мобильном приложении (драйвер сканера Android для 1С)

Разработка внешних компонент Мобильная разработка Платформа 1С v8.3 Абонемент ($m)

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

3 стартмани

09.10.2020    49161    362    ltfriend    215    

105

Мониторинг учетных записей пользователей Windows Server 2008/2012

Разработка внешних компонент Информационная безопасность Россия Абонемент ($m)

Программа позволяет отслеживать журнал событий безопасности действий над учетными записями пользователей (удаление, создание, блокировка, смена пароля и т.д.), и отправлять на E-mail уведомление системному администратору в случае изменения конфигурации пользователей Windows Server.

3 стартмани

10.09.2020    6441    0    ClickUp    0    

2

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

Внешняя компонента на C# для парсинга страниц через Phantom JS на сервере 1С х32,х64

Инструментарий разработчика Разработка внешних компонент WEB-интеграция Мессенджеры и боты Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

PhantomJS - это браузер без окна, используемый для автоматизации взаимодействия с веб-страницами. PhantomJS предоставляет JavaScript API, обеспечивающий автоматическую навигацию, снимки страницы, эмуляции поведение пользователя, что делает его распространенным инструментом, используемым для запуска модульных тестов на основе браузера в автономной системе, такой как среда непрерывной интеграции . PhantomJS основан на WebKit, что делает его похожей на Safari и Google Chrome средой просмотра. Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией BSD.

1 стартмани

06.08.2020    11168    8    DrZombi    7    

22

Универсальная обертка для использования NATIVE компонент на платформе 1С 7.7, 8.0 и 8.1

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

Используете 1С 7.7, 8.0 или 8.1 и вас раздражает, что под вашу 1С уже не выпускаются современные компоненты. А хотелось бы?

1 стартмани

07.07.2020    12077    10    karpik666    5    

15

Нано HTTP сервер - внешняя компонента для мобильного приложения 1C, на Android

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

Нано HTTP сервер на терминале сбора данных "ATOL Smart.Lite android 7.0". Работает только с GET и POST запросами. Аутентификация BASE64. Не поддерживает HTTPS и не передает файлы. В прикрепленном архиве исходники на компоненту (С++ и java для Android Studio 3.6.2), ЦФ - мобильного приложения и тестовая обработка.

1 стартмани

22.06.2020    12139    20    SanyMaga    27    

18

Перехват сканирования Android Native API

Разработка внешних компонент Мобильная разработка Мобильная платформа Абонемент ($m)

Native компонента для перехвата сканирования шк и передачу в мобильную 1С.

1 стартмани

29.04.2020    18533    90    evgeny43    82    

18

Работа с 1С:Аналитика Промо

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

4500 рублей

Внешняя компонента Native API для управления окнами и буфером обмена, получения снимков окон Windows и Linux

Разработка внешних компонент Управляемые формы Россия Абонемент ($m)

Внешняя компонента Native API для Windows и Linux с исходными кодами на C++. Возможности компоненты: получение списка окон и списка процессов, управление размерами и положением окна, снимок окон и снимок экрана, доступ к данным буфера обмена, взаимодействие по протоколу WebSocket.

2 стартмани

16.04.2020    11519    24    kandr    13    

29

Android Java и NativAPI C++ внешняя компонента для широковещательных сообщений (отправка и прием). Подключаем сканер ШК и клавиатуру к "1С мобильное приложение"

Оптовая торговля Розничная торговля Сканер штрих-кода Разработка внешних компонент Мобильная разработка Мобильная платформа Оптовая торговля, дистрибуция, логистика Абонемент ($m)

Подключаем сканер ШК и клавиатуру к "1С мобильное приложение", на терминале сбора данных "ATOL Smart.Lite android 7.0". Работаем с буфером обмена. В архиве к теме; 1. исходник компоненты (папка package готовый zip); 2. исходник "AccessibilityService" для перехвата клавиатуры (папка package готовый apk); 3. cf - тестовая конфигурация

1 стартмани

15.04.2020    17493    102    SanyMaga    102    

20

Конвертация PDF в 1С

Разработка внешних компонент Абонемент ($m)

COM-компонента для работы с PDF (32/64 bit)

4 стартмани

31.03.2020    30627    149    SerVer1C    143    

75

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

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

25.03.2020    19981    179    berezdetsky    51    

27

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

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

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

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

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

4 стартмани

02.02.2020    21743    76    Johny_v    20    

33

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

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

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

3 стартмани

03.01.2020    14788    48    Denr83    0    

20

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

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

21.10.2019    20726    17    ripreal1    34    

67

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

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

06.10.2019    22233    50    vdv2701    40    

48

Внешняя компонента для получения веса с весовых терминалов

Разработка внешних компонент Абонемент ($m)

Читает вес с БУ4263М1, Mettler Toledo IND310, CAS-6000, НВТ-9, FT-11, VT-220

5 стартмани

02.09.2019    10071    14    alexey_kurdyukov    4    

5

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

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

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

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

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

2 стартмани

22.05.2019    21042    64    MGemini    3    

16

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

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

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

1 стартмани

28.02.2019    15240    22    xxxAndricxxx    5    

15

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Оповещение пользователей в трее с обратной связью через DLL

Разработка внешних компонент Россия Абонемент ($m)

Библиотеки для 32 и 64 клиентов для оповещения пользователей в трее с обработкой кликов во внешних событиях.

1 стартмани

20.02.2019    9216    9    xxxAndricxxx    8    

2

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

Разработка внешних компонент Кассовые операции ККМ Платформа 1С v8.3 1С:Розница 1С:Управление торговлей 11 Россия Абонемент ($m)

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

1 стартмани

30.12.2018    37114    188    Matveymc    31    

28

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

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

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

1 стартмани

16.11.2018    32997    160    nomadon    74    

32

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

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

12.11.2018    23301    60    KAV2    121    

80