Skip to content

Настройка сервиса

Для успешного функционирования сервиса печати требуется выполнение следующих ключевых условий:

Сервер сообщений

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

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

Чтобы подключить сервер сообщений:

  1. Зайдите в сервис «Управление БД».
  2. Разверните узел рабочей базы.
  3. Найдите «Сервер сообщений (отсутствует)» в списке.
  4. Вызвав контекстное меню, создайте или присоедините базу.

Подключенный сервер сообщений выглядит так:

1737465400885-715

После входа в «Бюджет-NEXT» у всех пользователей в области навигационной панели отобразится раздел почты. 1737465657986-311

Сервис ОД

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

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

Чтобы проверить настройку хранилища ОД:

  1. Перейдите в настройку:
    Настройки: НАСТРОЙКИ \ Первичные документы \ Хранилище первичных документов
  2. В настройке «Хранилище» указан тип «Веб-сервер».
  3. В настройке «Адрес сервиса» прописан адрес сервиса ОД.

1737381492175-448

Создание очереди

Общая информация об очередях

Для описания работы сервиса печати мы предоставляем две базовые очереди в качестве примера:

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

Однако важно отметить, что количество очередей может быть расширено в зависимости от потребностей вашей системы.

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

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

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

PostgreSQL

Чтобы создать очередь:

  1. Зайдите в сервис Управления БД.
  2. Разверните дерево базы, откройте режим «Сервер печати».
  3. Нажмите в тулбаре кнопку «Создать».

create-db-pg.png

  1. В окне создания очереди заполните все обязательные поля.

Ниже приведено подробное описание каждого параметра:

Рекомендуется использовать один сервер и базу для печати и обработки.

  • Идентификатор – задается автоматически.
  • Наименование – укажите наименование очереди.
    Например, для общей очереди: Общая очередь.
  • Включен - Переключатель для включения или выключения очереди.
    Убедитесь, что поле установлено в состояние Включен, если очередь должна быть активна.
  • Описание - Краткое описание очереди.
    Например: Очередь для обработки стандартных запросов на формирование отчетов.
  • Сервер (обработка) - Сервер базы данных, с которого будут обрабатываться запросы.
  • БД (обработка) - База данных, которая обрабатывает запросы.
  • Сервер (печать) - Сервер базы данных, с которого будут запрашиваться отчеты.
  • БД (печать) - База данных, из которой будут получены необходимые данные для формирования отчетов. Если настроена репликационная база данных, рекомендуется использовать её, чтобы минимизировать нагрузку на основную базу данных.
  • Вложенная очередь - Наименование вложенной очереди. Имя берется из файла конфигурации appsettings.Production.json сервиса печати.
    По умолчанию используется наименование print для очереди общего назначения; для привилегированной очереди -print_adm.

create-db-pg-adm

  1. Сохраните изменения.

MSSQL

Чтобы создать очередь:

  1. Зайдите в сервис Управления БД.
  2. Разверните дерево базы, откройте режим «Сервер печати».
  3. Нажмите в тулбаре кнопку «Создать».

1737627586193-792

  1. В окне создания очереди заполните все обязательные поля.

Ниже приведено подробное описание каждого параметра:

  • Идентификатор – задается автоматически.
  • Наименование – укажите наименование очереди.
    Например, для общей очереди: Общая очередь.
  • Включен - Переключатель для включения или выключения очереди.
    Убедитесь, что поле установлено в состояние Включен, если очередь должна быть активна.
  • Описание - Краткое описание очереди.
    Например: Очередь для обработки стандартных запросов на формирование отчетов.
  • Сервер (печать) - Сервер базы данных, с которого будут запрашиваться отчеты.
  • БД (печать) - База данных, из которой будут получены необходимые данные для формирования отчетов. Если настроена репликационная база данных, рекомендуется использовать её, чтобы минимизировать нагрузку на основную базу данных.
  • Вложенная очередь - Наименование вложенной очереди. Имя берется из файла конфигурации appsettings.Production.json сервиса печати.
    По умолчанию используется наименование print для очереди общего назначения; для привилегированной очереди -print_adm.

173856454693443-146

  1. Сохраните изменения.

6. Создайте следом привилегированную очередь print_adm по примеру общей очереди.

17376275586193-792

Подключение брокера сообщений к веб-приложению или сервису приложения

Убедитесь, что ваше веб-приложение или сервис приложения версии 25.1 и выше.

Откройте файл конфигурации appsettings.Production.json веб-приложения (сервиса приложения) и добавьте секцию соединения с брокером сообщений RabbitMQ:

appsettings.Production.json
json
  "MessageBroker": {
    "Enabled": true,
    "Traced": false,
    "Address": "amqp://admin:1@<ip-address>:5672"
  },
НаименованиеОписание
Enabledtrue - включить работу с брокером.
Tracedfalse - выключить трассировку в Jaeger.
AddressАдрес подключения к брокеру сообщений (RabbitMQ):
amqp://<логин>:<пароль>@<ip-адрес>:<порт>

Настройка базы SQL-кэша (не является обязательной настройкой)

База SQL-кэша используется для внутреннего журналирования обмена сообщениями между следующими компонентами системы:

  • клиентом,
  • брокером,
  • воркерами.

Она не предназначена для использования на прикладном уровне и не влияет на логику работы сервиса печати. База кэша не хранит данные предметной области (например, печатные формы и т.д.).

База служит общим хранилищем для отслеживания состояния задач, передачи данных между компонентами и обеспечения отказоустойчивости при асинхронной обработке.

1. Если в веб-прилжении используется база кэша PostgreSQL:

База SQL-кэша должна быть общей для сервиса печати и веб-приложения, так как оба компонента взаимодействуют с одним и тем же брокером и воркерами.

Ключ Sqlcache в файле конфигурации appsettings.Production.json сервиса печати должен быть настроен на использование PostgreSQL, чтобы обеспечить согласованность и корректное функционирование механизма обмена сообщениями.

Чтобы подключить SqlCache PostgreSQL в сервисе печати:

  1. Откройте файл конфигурации appsettings.Production.json веб приложения.
  2. Скопируйте полностью весь ключ "SqlCache".
  3. Откройте файл конфигурации appsettings.Production.json сервиса печати.
  4. Закомментируйте существующий ключ "SqlCache", т.к. он содержит информацию о подключении к базе данных кэша SQLite.
appsettings.Production.json
json
  "SystemSettings": {
    ...
    "SqlCache": "Data Source Type=SQLite; Data Source=/var/www/html/wsks_54431/temp/db/wrk.db3", 
    "SqlCache_disable": "Data Source Type=SQLite; Data Source=/var/www/html/wsks_54431/temp/db/wrk.db3", 
    ...
  }
  1. Вставьте ранее скопированный ключ.
appsettings.Production.json
json
  "SystemSettings": {
    ...
    "SqlCache_disable": "Data Source Type=SQLite; Data Source=/var/www/html/wsks_54431/temp/db/wrk.db3",
    "SqlCache": "Data Source Type=PostgreSQL; Host=; Port=5434; Database=web_cache1; User ID=ws_user; Password=123; Application Name=cache; Maximum Pool Size=550; App Pool Size=500; CommandTimeout=600", 
    ...
  }
  1. Сохраните изменения и перезапустите сервис печати.

2. Если в веб-прилжении используется база кэша SQLite:

Тип хранилища не имеет значения.
Но крайне рекомендуется подключить PostgreSQL базу кэша к веб-приложению.

© 2003—2026 ООО «Кейсистемс». Все права защищены.