Конфигурация appsettings.json v.24.2
Ниже представлены настройки, разделённые на секции, с описанием ключей.
Важно!
В версии 24.2 мы улучшили структуру ключей, выделив часть из раздела «SystemSettings» в отдельные секции.
Несмотря на то, что совместимость ключей осталась, настоятельно рекомендуем перенести используемые настройки в новые секции.
В дальнейших обновлениях мы планируем полностью перенести все ключи из секции SystemSettings
в соответствующие секции.
Настройки СУБД SqlClient
Старое расположение настроек:
"SystemSettings": {
"DataSourceType": "0",
"Server": "",
"DataBase": "",
"UseCommonLogin": false,
"MaxPoolSize": 0,
"AppPoolTimeout": 300,
"UserName": "",
"Password": "",
"AuthSecretKey": "secret string for authenticate"
}
Новое расположение настроек:
"SqlClient": {
"DataSourceType": "",
"Server": "",
"DataBase": "",
"UserName": "",
"Password": "",
"MaxPoolSize": 0,
"ConnectionTimeout": 15,
"CommandTimeout": 3600,
"AppPoolSize": 0,
"AppPoolTimeout": 300,
"PoolTransactions": false,
"Traced": false
},
Наименование | Описание |
---|---|
DataSourceType | Тип источника СУБД. 0 - MSSQL, 3 - PostgreSQL. |
Server | Имя сервера. |
DataBase | Имя базы данных. |
UserName | Имя пользователя подключения к БД. |
Password | Пароль подключения к БД. |
MaxPoolSize | Размер пула на уровне драйвера. |
ConnectionTimeout | Таймаут соединения, в секундах. По умолчанию - 15. |
CommandTimeout | Таймаут выполнения команд, в секундах. 0 - бесконечный. |
AppPoolSize | Размер пула на уровне приложения (максимальное число одновременно открытых соединений). Отрицательные значения и ноль (по умолчанию) отключают этот пулинг; рекомендуется задавать значение меньше, чем Maximum Pool Size (например, Maximum Pool Size = 350, App Pool Size = 300). |
AppPoolTimeout | Таймаут получения соединения из пула на уровне приложения, в секундах. По умолчанию - 300. |
PoolTransactions | Использовать транзакции для пула соединений драйвера. |
Traced | Трассировать sql-запросы (OpenTelemetry). |
Или можно использовать специализированную строку соединения Connection
, которая дублирует группу ключей:
DataSourceType, Server, DataBase, UserName, Password, MaxPoolSize, ConnectionTimeout, CommandTimeout
.
"SqlClient": {
"Connection": "<строка соединения>",
"AppPoolSize": 0,
"AppPoolTimeout": 300,
"AppPoolTimeout": false,
"Traced": false
},
Пример строки соединения "Connection" для MSSQL базы:
"Connection": "Data Source Type=MSSQL; Data Source=ServerName; Initial Catalog=DataBaseName; User ID=user; Password=1; Max Pool Size=100; Command Timeout=3600",
Пример строки соединения "Connection" для PostgreSQL базы:
"Connection": "Data Source Type=PostgreSQL; Host=127.0.0.1; Port=5434; Database=db1; User ID=user; Password=1; Maximum Pool Size=100; Command Timeout=3600",
Настройки кэша списка ListCache
Добавлена дополнительная секция "ListCache", которая переопределяет значение SystemSettings/SqlCache, и является настройкой кэша только для списка, а не глобальной.
"ListCache": {
"DataInSession": false,
"PoolTransactions": false,
"SqlCache": "<строка соединения>",
"Interval": 6000,
"UseDailyScheduler": true,
"DailyAtHourAndMinute": ["06:00", "21:00"]
},
Наименование | Описание |
---|---|
DataInSession | Служебная настройка. Хранить данные в сеансовых таблицах. Рекомендуется false. Ключ на переходный период, чтобы можно было бы вернуться к прежней реализации. |
PoolTransactions | Служебная настройка. Использовать DB-транзакции для пула соединений. |
SqlCache | Строка соединения к SQL-кэшу. |
Interval | Временной интервал очистки в секундах. |
UseDailyScheduler | Флаг использования дневного расписания для очистки. |
DailyAtHourAndMinute | Дневное расписание с указанием часов работы. |
Пример строки соединения "SqlCache" для SQLite базы кэша:
"SqlCache": "Data Source Type=SQLite; Data Source=.\\temp\\db\\wrk.db3",
Пример строки соединения "SqlCache" для PostgreSQL базы кэша:
"SqlCache": "Data Source Type=PostgreSQL; Host=127.0.0.1; Port=5434; Database=database; User ID=user; Password=; Application Name=cache; Maximum Pool Size=550; App Pool Size=500; CommandTimeout=60; ExpirationMode=absolute; ExpirationTimeout=36000",
- Подробнее можно узнать в статье Кэширование.
Настройки выгрузки неактивных документов из памяти ОЗУ DX
Офисные редакторы могут автоматически освобождать оперативную память сервера (ОЗУ), переводя в спящий режим (выгружая на диск) неактивные открытые документы.
"DX": {
"EnableHibernation": true,
"HibernateTimeout": "00:05:00",
"HibernatedDocumentsDisposeTimeout": "00:30:00",
"HibernateAllDocumentsOnApplicationEnd": true
},
Наименование | Описание |
---|---|
EnableHibernation | Включение гибернации |
HibernateTimeout | Период до выгрузки документа из ОЗУ на диск |
HibernatedDocumentsDisposeTimeout | Период до удаления выгруженного документа с диска |
HibernateAllDocumentsOnApplicationEnd | Перевести в спящий режим все документы при добавлении |
Настройки для фоновых служб очистки SYS-таблиц SysCleaner
"SysCleaner":
{
"Mode": 3,
"Connections": [],
"ScheduleDateSettings":
{
"Interval": 0,
"UseDailyScheduler": true,
"DailyAtHourAndMinute" : ["03:00"]
},
"ScheduleRidSettings":
{
"Interval": 300,
"UseDailyScheduler": false,
"DailyAtHourAndMinute" : ["01:00"]
}
},
Наименование | Описание |
---|---|
Mode | Режим работы для фоновой службы: 1 - строки подключения из коллекции Connections 2 - динамическое добавление в коллекцию очистки при создании подключения 3 - оба варианта |
Connections | Строки подключения к БД, для очистки |
ScheduleDateSettings | Настройка расписания для фоновой службы очистки SYS-таблиц по дате: Interval - Временной интервал очистки в секундах. UseDailyScheduler - Флаг использования дневного расписания для очистки, по умолчанию true. DailyAtHourAndMinute - Дневное расписание с указанием часов работы. |
ScheduleRidSettings | Настройка расписания для фоновой службы очистки SYS-таблиц по RID: Interval - Временной интервал очистки в секундах. UseDailyScheduler - Флаг использования дневного расписания для очистки, по умолчанию false. DailyAtHourAndMinute - Дневное расписание с указанием часов работы. |
Настройки автоудаления содержимого TEMP TempCleanerSettings
"TempCleanerSettings": {
"Enabled": true,
"Period": "1.00:00:00",
"ObsolescencePeriod": "06:00:00",
"Paths": ["temp"],
"ExceptSubpaths": ["logs", "Data"],
"SearchPattern": "*.*",
"SearchOption": "AllDirectories"
},
Наименование | Описание |
---|---|
Enabled | true - включить; false - выключить. |
Period | Периодичность запуска очистки (первый запуск при старте сервиса, далее с периодом Period). Значение 1.00:00:00 равно одному дню. |
ObsolescencePeriod | Период устаревания. Если с момента последнего доступа к файлу прошло более ObsolescencePeriod дней, то файл считается неактуальным и удаляется. |
Path | Список каталогов (относительно BaseDirectory) в которых необходимо удалять устаревшие файлы. |
ExceptSubpaths | Каталоги (относительно каждого из Paths) в которых запрещено удаление. |
SearchPattern | Шаблон поиска файлов. |
SearchOption | Опции поиска: 0 - TopDirectoryOnly (только текущий каталог), 1 - AllDirectories (текущий и все подкаталоги). |
Настройки аутентификации Authentication
Настройки для аутентификационных cookie Cookie
"Authentication": {
"BuiltInJwtBearer": {
"SecurityKey": "bwdC&YiKXcPWt^lREtnckN!hiQ8Dw%H8",
},
...
"Cookie": {
"SlidingExpiration": true,
"ExpireTimeSpan": "08:00:00"
}
...
}
Наименование | Описание |
---|---|
SlidingExpiration | Продление срока действия при активности пользователя (скользящий срок действия). |
ExpireTimeSpan | Время жизни cookie. 08:00:00 - время жизни 8 часов. |
Подробнее см. в Устаревание пользовательских сессий
Настройки OpenID Connect для КС-ID OpenIdConnect
"Authentication": {
"BuiltInJwtBearer": {
"SecurityKey": "bwdC&YiKXcPWt^lREtnckN!hiQ8Dw%H8",
},
...
"OpenIdConnect": {
"Authority": "",
"ClientId": "",
"ClientSecret": "",
"Scope": [ "openid", "profile","offline_access" ],
"ValidateIssuerName": true,
"RemoteAuthenticationTimeout": "31.00:00:00"
},
...
},
Наименование | Описание |
---|---|
ClientId | Идентификатор клиентского приложения (зарегистрированного в КС ID). |
Authority | Адрес сервиса аутентификации |
ClientSecret | Секрет клиентского приложения (зарегистрированного в КС ID) |
Scope | [ \"openid\", \"profile\", \"offline_access\" ] - список запрашиваемых scope'ов (настраивается при регистрации в КС ID). |
ValidateIssuerName | true (см. примечание п.2). |
Примечание OpenIdConnect для KC-ID
- Обязательные значения "Scope":
["openid", "profile"]
."offline_access"
- желателен к использованию, нужен для получения токена обновления (продление сессии пользователя без автоматического выхода и необходимости выполнения повторного входа) - "ValidateIssuerName" - издатель токена должен соответствовать 1:1 с адресом указанным в секции "Authority" (если в токене будет издатель https://test1.ru:443/ а в "Authority" https://test1.ru/ - это будет считаться ошибкой).
Примечание OpenIdConnect для Альфа-ID
В Альфа-ID scope "offline_access"
не используется.
Настройки встроенного генератора JWT BuiltInJwtBearer
"Authentication": {
...
"BuiltInJwtBearer":{
"SecurityAlgorithm": "HmacSha256",
"SecurityKey": "",
"PrivateKeyPemFile": "",
"PublicKeyPemFile": "",
"TokenLifetimeMinutes": 60
}
...
},
Наименование | Описание |
---|---|
SecurityAlgorithm | Алгоритм шифрования JWT: например, HmacSha256 или RsaSha256. |
SecurityKey | Ключ для симметричного алгоритма. |
PrivateKeyPemFile PublicKeyPemFile | Пути к файлам с ключами в формате PEM для асимметричного алгоритма. |
TokenLifetimeMinutes | Время жизни токена авторизации в минутах. |
- Подробнее о
BuiltInJwtBearer
в статье Обязательная конфигурация аутентификации в appsettings.Production.json
Настройки планировщика задач TaskScheduler
Настройки для подключения к удаленному серверу планировщика задач.
"TaskScheduler": {
"Url": "",
"Timeout": 100,
},
Наименование | Описание |
---|---|
Url | Адрес подключения к планировщику задач. |
Timeout | Таймаут подключения. |
Фильтрация IP-адресов SafeListSettings
"SafeListSettings": {
"SafeListEnabled": false,
"SafeList": ""
},
Наименование | Описание |
---|---|
SafeListEnabled | Включение фильтрации IP адресов |
SafeList | Список адресов IPv4 или IPv6, разделённых запятой или точкой с запятой, с которых разрешено подключение. Если необходимо запретить подключение с какого-либо адреса, перед нужным адресом ставят спецсимвол ~. Если список пуст, то подключение разрешено со всех адресов. Если в списке единственный символ ~, то подключение запрещено со всех адресов. |
Настройки сервиса очередей MessageBroker
Для работы Сервиса печати и сервиса ЭОД (при наличии).
Брокером очередей является RabbitMQ.
"MessageBroker": {
"Enabled": false,
"Traced": false,
"Address": "amqp://admin:1@127.0.0.1:5672"
},
Наименование | Описание |
---|---|
Enabled | false - отключить работу с брокером; true - включить работу с брокером. |
Traced | false - выключить трассировку в Jaeger; true - включить трассировку в Jaeger. |
Address | Адрес подключения к брокеру очередей (RabbitMQ): amqp://<логин>:<пароль>@<ip-адрес>:<порт> |
Настройки прокси WebProxy
"WebProxy": {
"Enabled": false,
"UseDefaultProxy": false,
"Address": "https://host:3128/",
"UserName": "",
"Password": "",
"BypassProxyOnLocal": false,
"BypassList": []
},
Наименование | Описание |
---|---|
Enabled | false - отключить; true - включить. |
UseDefaultProxy | false - не использовать системный прокси-сервер; true - использовать системный прокси-сервер. |
Address | Адрес прокси-сервера. |
UserName | Имя пользователя. |
Password | Пароль пользователя. |
BypassProxyOnLocal | false - не использовать прокси-сервер для локальных (внутрисетевых) адресов; true - использовать прокси-сервер для локальных (внутрисетевых) адресов. |
BypassList | Список URI, доступ к которым осуществляется напрямую, а не через прокси-сервер. |
Настройки сервиса новостей NewsService
"NewsService": {
"Address": "",
"Timeout": 60
},
Наименование | Описание |
---|---|
Address | Адрес подключения к сервису новостей. |
Timeout | Таймаут подключения. |
Настройки сервиса мониторинга ошибок ErrorMonitoringService
Старое расположение настроек:
"SystemSettings": {
"ErrorMonitoringURL": "",
"ErrorMonitoringToken": ""
}
Новое расположение настроек:
"ErrorMonitoringService": {
"Url": "",
"Token": "",
"Timeout": 60
},
Наименование | Описание |
---|---|
Url | Адрес подключения к сервису мониторинга: https://mon.keysystems.ru/ksmon/. |
Token | Токен, выданный службой сопровождения. |
Timeout | Таймаут подключения. |
Настройки пути для реверс прокси ServiceSettings
Старое расположение настроек:
"SystemSettings": {
"PathBase": ""
}
Новое расположение настроек:
"ServiceSettings": {
"PathBase": ""
},
Наименование | Описание |
---|---|
PathBase | Виртуальный каталог веб-приложения. |
Во избежание ошибки Failed to load resource: the server responded with a status of 404 ()
данный параметр является обязательным.
Более подробную информацию см. в разделе Возможные проблемы после установки приложения.
Контроль неудачных попыток ввода пароля LoginAttempt
Старое расположение настроек:
"SystemSettings": {
"LoginAttemptsNumber_comment": "Число попыток ввода пароля до блокировки (0 - неограниченно)",
"LoginAttemptsNumber": 10,
"LoginLockPeriod_comment": "Время блокировки (сек)",
"LoginLockPeriod": 600,
"LoginLockNotify_comment": "Уведомлять администратора о блокировке. Используется для сообщения о блокировке IP при неудачных попытках",
"LoginLockNotify": false,
...
}
Новое расположение настроек:
"LoginAttempt": {
"MaxAttempts":"5",
"Period":"300",
"UseXForwardedFor": null,
"IncorrectLoginTimeout": 1000
},
Наименование | Описание |
---|---|
MaxAttempts | Количество попыток до блокировки учетной записи (допустимо от 3 до 10). |
Period | Период блокировки повторных попыток, в секундах (допустимо от 180 до 3600 сек). |
UseXForwardedFor | Учитывать заголовок X-Forwarded-For при блокировке учетной записи. Указать true при использовании обратного прокси на сервере. Значение null трактуется как true для linux-систем и false для windows-систем. |
IncorrectLoginTimeout | Задержка между неудачными попытками входа под одной учетной записью, в миллисекундах. |
Настройки SslPolicy SslPolicy
"SslPolicy" : {
"CheckRemoteCertificateHost": true,
"CheckRemoteCertificateAuthenticity": true
},
Наименование | Описание |
---|---|
CheckRemoteCertificateHost | true - проверять удаленный узел сертификата; false - не проверять удаленный узел сертификата. |
CheckRemoteCertificateAuthenticity | true - проверять подлинность удаленного сертификата; false - не проверять подлинность удаленного сертификата. |
Настройки отображения логотипа или герба и названия региона/госоргана в навигаторе UseEmblem
"SystemSettings": {
"UseEmblem": false,
...
}
Наименование | Описание |
---|---|
UseEmblem | true - отображать логотип или герб и название региона/госоргана в навигаторе; false - отображать логотип или герб и название региона/госоргана в навигаторе. |
Настройки SQL кэша SqlCache
Приведены доступные варианты настроек SQL кэша. По-умолчанию - SQLite.
База кэша SQLite
"SystemSettings": {
"SqlCache": "Data Source Type=SQLite; Data Source=.\\temp\\db\\wrk.db3",
...
}
Наименование | Описание |
---|---|
Data Source Type | Тип источника данных. |
Data Source | Источник данных. |
База кэша PostgreSQL
"SystemSettings": {
"SqlCache": "Data Source Type=PostgreSQL; Host=127.0.0.1; Port=5434; Database=cache; User ID=user; Password=0; Application Name=cache; Maximum Pool Size=550; App Pool Size=500;",
...
}
Наименование | Описание |
---|---|
Data Source Type | Тип источника данных. |
Host | Хост сервера базы данных. |
Port | Порт сервера базы данных. |
Database | Имя базы данных. |
User ID | ID (логин) пользователя базы данных. |
Password | Пароль пользователя базы данных. |
Application Name | Наименование базы данных кэша. |
Maximum Pool Size | Размер пула на уровне драйвера. |
App Pool Size | Размер пула на уровне приложения. |
Подробнее о SQL кэше в разделе Кэширование.
Настройки NoSQL кэша NoSqlCache
Принцип хранения временных данных быстрого доступа [memory/redis/tarantool
]. все кроме memory
требует строки соединения.
Memory
"SystemSettings": {
"NoSqlCache": "memory",
...
}
Redis
"SystemSettings": {
"NoSqlCache": "redis: 127.0.0.1:6379, user=user, password=",
...
}
Наименование | Описание |
---|---|
NoSqlCache | redis - адрес развернутого NoSQL сервера; user - имя пользователя; password - пароль пользователя. |
Tarantool
"SystemSettings": {
"NoSqlCache": "tarantool: user:1@127.0.0.1:3301",
...
}
Наименование | Описание |
---|---|
NoSqlCache | tarantool - тип развернутого NoSQL сервера; user - имя пользователя; 1 - пароль пользователя; 127.0.0.1:3301 - адрес развернутого NoSQL сервера. |
Подробнее о NoSQL кэше в разделе Кэширование.
Подробнее о дополнительных параметрах в строке подключения см. в статье.
Настройки SessionStorage для кэша SessionStorage
Используемый для SessionStorage кеш (sql, nosql).
SessionStorage представляет собой временное хранилище информации, которая удаляется после закрытия браузера.
SQL
"SystemSettings": {
"SessionStorage": "sql",
...
}
NoSQL
"SystemSettings": {
"SessionStorage": "nosql",
...
}
Подробнее о SessionStorage в разделе Кэширование.
Разрешать сбрасывать пароль AllowRecoveryPassword
"SystemSettings": {
"AllowRecoveryPassword": "true",
...
}
Запрещенные для входа пользователи disabledUsersd
"SystemSettings": {
"disabledUsers": "",
...
}
Тайм-аут подключения к Ajax AjaxConnectTimeout
"SystemSettings": {
"AjaxConnectTimeout": 3600000,
...
}
Размер пакета в байтах при отправке файла на сервер PacketSize_IL
"SystemSettings": {
"PacketSize_IL": 262144,
...
}
Пользовательский заголовок содержащий IP в Request для схем со шлюзами CustomClientIPHeader
Без указания настройки используется X-Forwarded-For.
"SystemSettings": {
"CustomClientIPHeader": "",
...
}
Настройки отправителя системных сообщений DbMailingAccount
Используется для отправки сообщений по внутренней почте.
"SystemSettings": {
"DbMailingAccountLogin": "",
"DbMailingAccountPassword": "",
...
}
Наименование | Описание |
---|---|
DbMailingAccountLogin | Логин отправителя системных сообщений. |
DbMailingAccountPassword | Пароль отправителя системных сообщений. |
Уведомлять о об истечении срока клиентского сертификата (за ... дней) NumDaysWarnBeforeCertEnd
"SystemSettings": {
"NumDaysWarnBeforeCertEnd": "",
...
}
Сервис оправдательных документов AlternativeUploadService
Переопределяет значение из БД.
"SystemSettings": {
"AlternativeUploadService": "",
...
}
Показывать предпросмотр Excel и Word оправдательных документов PreviewPrimaryImage
Функционал очень сильно нагружает сервер.
"SystemSettings": {
"PreviewPrimaryImage": true,
...
}
Настройки сервиса авторизации (СА) Authorization
"SystemSettings": {
"AuthorizationType": 0,
"AuthorizationService": "",
"AuthorizationAccountLogin": "",
"AuthorizationAccountPassword": "",
...
}
Наименование | Описание |
---|---|
AuthorizationType | 0 - не используя сервис авторизации. 0 и указан сервис авторизации - 2 кнопки - авторизации по сертификату(с СА) и по логину/паролю(без СА). 1 - 1 кнопка - авторизации по логину/паролю(с СА). 2 - 0 кнопок - авторизации по сертификату(с СА) автоматически сразу. 3 - 2 кнопки - авторизации по сертификату(с СА) и по логину/паролю(с СА). 4 - 0 кнопок - авторизации через ЕСИА. 5 - 3 кнопки - авторизации по сертификату(с СА), по логину/паролю(с СА) и через ЕСИА. 6 - 0 кнопок - авторизация через ЕСИА многопользовательский логин. |
AuthorizationService | URL сервиса авторизации. |
AuthorizationAccountLogin | Используется для создания пользователя в базу из СА, для восстановления пароля. Логин менеджера авторизации. |
AuthorizationAccountPassword | Пароль менеджера авторизации. |
Настройка языка приложения AppLocale
"SystemSettings": {
"AppLocale": "ru-RU",
...
}
Страница админского входа Admin
Активируется по /?pg=admin.
https://yourwebsite/pathbase/?pg=admin
"SystemSettings": {
"AdminCPLogin": "admin",
"AdminCPPassword": "admin",
"AdminCPAllowedIP": "192.168.0.0/8,10.0.0.0/8",
"AllowRemoteAdministration": "1",
...
}
Наименование | Описание |
---|---|
AdminCPLogin | Имя пользователя администратора (произвольный логин, не привязан к рабочей БД). |
AdminCPPassword | Пароль администратора. |
AdminCPAllowedIP | IP по которым разрешена форма админского входа. Пример: 192.168.0.0/24,10.0.0.0/8. |
AllowRemoteAdministration | Удаленное администрирование: 0 - разрешено с исключениями, по умолчанию; 1 - разрешено; 2 - запрещено. |
Административные ключи
Административные ключи менять которые зачастую не нужно.
Могут быть изменены для поиска ошибок.
"SystemSettings": {
"AppServer": "",
"CacheStorageType": 3,
"SettingsCheckInterval": "600",
"SchemaCheckInterval": "3600",
"ConnectionType": "SignalR",
"debugState": "on",
"ServiceSchemaURL": "",
...
}
Наименование | Описание |
---|---|
AppServer | Сервер приложений. |
CacheStorageType | Тип хранилища кэша. |
SettingsCheckInterval | Интервал обновления настроек документа. |
SchemaCheckInterval | Интервал обновления схемы документ. |
ConnectionType | Тип соединения. |
debugState | Вид отображения ошибок. values=(system/off/on). |
ServiceSchemaURL |
Портал (веб-торги)
"SystemSettings": {
"pAdmName": "mc",
"pAdmPass": "",
"UserRegisterLogin": "",
"UserRegisterPass": ""
...
}
Наименование | Описание |
---|---|
pAdmName | Имя администратора ПОРТАЛА. |
pAdmPass | Пароль администратора ПОРТАЛА. |
UserRegisterLogin | Пользователь для регистрации пользователей (для торгов). |
UserRegisterPass | Пароль пользователь для регистрации пользователей (для торгов). |
Ссылка на руководство пользователя Admin
Ссылка на руководство пользователя в "Меню - Справка и поддержка".
"HelpAndSupportInfo": {
"UserManualUrl": ""
}
Имя приложения для отображения на форме авторизации UserApplicationName
"SystemSettings": {
"UserApplicationName": ""
...
}
Наименование | Описание |
---|---|
UserApplicationName | Имя приложения. |
Менеджер системных сообщений
"SystemSettings": {
"DbNewsAccount": "news",
"DbNewsPassword": "1",
...
}
Наименование | Описание |
---|---|
DbNewsAccount | Логин менеджера системных сообщений. |
DbNewsPassword | Пароль менеджера системных сообщений. |