Инструкция compas-client
Содержание руководства
- Установка «compas-client» в Windows
- Настройка «compas-client» после установки
- Настройка сервера (в режиме менеджера)
- Управление безопасностью и SSL
- Настройка брандмауэра Windows
- Авторизация ERP Компас через Compas-Client
- Установка и настройка сервера API
- Подключение стороннего внешнего сервиса к API
- Настройка конкретной функциональности API
Compas-Client — это специализированная система обновления и управления дистрибутивом ERP Компас.
Программа может быть установлена в одном из двух режимов:
- Режим менеджера (М) — устанавливается на одном персональном компьютере (как правило, на рабочем месте администратора системы). Выступает в роли локального сервера для пользовательских рабочих мест и централизованно управляет ими.
- Режим пользователя (П) — устанавливается на все остальные рабочие места конечных пользователей в организации.
Установка «compas-client» в Windows
Для развёртывания системы на персональном компьютере выполните следующие шаги:
- Скачайте актуальный установщик
compas-client_Setup.exeсо страницы репозитория: repo.compas.ru/update/?type=list - Запустите загруженный файл и завершите установку в одном из режимов, описанных ниже.
Рекомендуемый метод
Тихая установка является приоритетной, так как она в автоматическом режиме конфигурирует систему и перезапускает все связанные службы без лишних вопросов пользователю.
Вариант 1. Тихая установка (рекомендуется)
Этот метод позволяет установить compas-client с одновременным применением параметров конфигурации. Установка проходит полностью в автоматическом режиме (скрытом), не запрашивая у пользователя даже выбор директории назначения.
М) Установка в режиме менеджера
Для тихой установки серверной части выполните команду:
compas-client_Setup.exe /S -i_am_manager true
Важно для администратора
При выборе этого варианта дальнейшая настройка сервера сильно упрощается. После завершения процесса переходите к разделу Настройка сервера (в режиме менеджера).
П) Установка в режиме пользователя
Для тихой установки клиентской части выполните команду (подставив адрес вашего сервера):
compas-client_Setup.exe /S -manager_address http://<Ваш_адрес_ПК_менеджера>
Клиентская установка в автоматическом режиме завершена.
Обязательная проверка службы
После завершения установки убедитесь, что в системе запущена служба compas-client.
Если служба не запустилась, изучите лог-файл по следующему пути:
C:\Users\Public\ERP_Compas\service\compas-client\log
Внимание
Использовать другие варианты установки (с ручным вводом параметров) следует исключительно в тех случаях, когда тихая установка по каким-то причинам невозможна.
Вариант 2. Установка с запросом места назначения
При таком запуске установщик отобразит стандартные диалоговые окна выбора пути, но автоматически применит указанный режим работы.
М) Установка в режиме менеджера
compas-client_Setup.exe -i_am_manager true
П) Установка в режиме пользователя
compas-client_Setup.exe -manager_address http://<Ваш_адрес_ПК_менеджера>
Вариант 3. Обычный запуск (последующая ручная настройка)
Если запустить установщик без передачи аргументов, система развернется по умолчанию в режиме пользователя и потребует дальнейшей конфигурации.
compas-client_Setup.exe
Настройка «compas-client» после установки
М) Конфигурация режима менеджера
Если вам необходимо переключить уже установленную утилиту в режим менеджера, вы можете использовать графический интерфейс управления либо отредактировать конфигурационный файл вручную.
Способ 1. Через графический интерфейс «Управление сервисами»
- Запустите ярлык «ERP Компас» на рабочем столе.
- В правом нижнем углу нажмите кнопку «Настройки» (либо нажмите правой кнопкой мыши по иконке в трее и выберите «Управление сервисами»).
- В открывшемся окне настройте следующие параметры:
- Режим менеджера — переведите в положение ДА.
- ID клиента — введите уникальный идентификатор (для его получения обратитесь на горячую линию поддержки ERP Компас).
Окно конфигурации параметров режима менеджера и авторизации
Способ 2. Изменение конфигурационного файла вручную
- Перейдите по пути:
C:\ProgramData\ERP_Compas\service\conf\ - Откройте текстовым редактором файл
base.ini. - Найдите или создайте секцию
[base]и добавьте в неё директиву активации режима менеджера.
Итоговое содержимое файла base.ini должно выглядеть следующим образом:
[base]
manager = TRUE
П) Конфигурация режима пользователя
Для связывания клиентского рабочего места с главным сервером (менеджером) после обычной установки выполните ручную правку конфигурации:
- Перейдите в каталог:
C:\ProgramData\ERP_Compas\service\conf\ - Откройте для редактирования файл
compas_client.ini. - В секции
[client]укажите сетевой адрес компьютера-менеджера.
Итоговое содержимое файла compas_client.ini должно выглядеть так:
[compas_manager]
[client]
manager_address = http://<Ваш_адрес_ПК_менеджера>
Настройка сервера (в режиме менеджера)
После выполнения тихой установки
При развёртывании сервера командой тихой установки compas-client_Setup.exe /S -i_am_manager true система автоматически выполняет ключевые этапы первичной конфигурации:
- Инициализирует серверную часть и создаёт изолированную директорию для хранения данных приложения.
- Принудительно переводит утилиту в режим работы Менеджера.
- Автоматически добавляет разрешающее правило в брандмауэр Windows для приёма входящих HTTP/HTTPS-запросов процессом
compas_client.exe. - Генерирует самоподписанный SSL-сертификат безопасности, сохраняя созданный приватный ключ в закрытую директорию текущего пользователя.
Несмотря на то, что базовая автоматическая настройка полностью завершена, администратору необходимо выполнить несколько обязательных шагов:
- Настройка SSL-шифрования: Замените автоматически сгенерированный самоподписанный SSL-сертификат на доверенный корпоративный или публичный сертификат. Если это невозможно, временно отключите проверку доверия сертификатов (подробнее см. в разделе Управление безопасностью и SSL). Полностью отключать шифрование не рекомендуется.
- Первичный вход в веб-интерфейс: На рабочем месте менеджера откройте веб-браузер и перейдите на страницу панели управления сервером по одному из адресов (в зависимости от использования SSL):
- Без SSL (HTTP):
http://127.0.0.1:9945/ - С SSL (HTTPS):
https://127.0.0.1:9946/
- Без SSL (HTTP):
- Авторизация: Для входа используйте встроенную учетную запись администратора по умолчанию:
- Логин:
admin - Пароль:
password
- Логин:
Безопасность учетных данных
Сразу после первой успешной авторизации в системе в обязательном порядке смените стандартный пароль администратора на сложный и защищённый. Изменение пароля производится в меню «Профиль пользователя».
Взаимодействие с антивирусным ПО
Обязательно проверьте настройки установленного в вашей организации антивируса. Сетевые экраны сторонних антивирусных программ могут блокировать порты службы. Если служба compas-client блокируется антивирусом и вам не удаётся настроить исключения самостоятельно, обратитесь на горячую линию поддержки.
После обычной установки (без параметров)
Если программа была установлена стандартным запуском (без ключей), она разворачивается в режиме пользователя. Чтобы переключить её в режим менеджера и запустить серверную инициализацию, выполните в командной строке следующую команду:
"C:\Program Files\compas-client\compas_client.exe" -ini=i_am_manager:true
Выполнение данной команды полностью аналогично этапам автоматической конфигурации, которые происходят при тихой установке сервера. После её выполнения переходите к настройке SSL и смене стандартного пароля.
Управление безопасностью и SSL
Замена самоподписанного SSL-сертификата на доверенный
Для обеспечения максимального уровня безопасности и исключения предупреждений браузера рекомендуется заменить автоматически сгенерированный сертификат на доверенный (выпущенный вашим корпоративным удостоверяющим центром или публичным CA).
Для выполнения замены:
- Остановите системную службу compas-client.
- Поместите ваш публичный сертификат (в формате PEM) по следующему пути, заменив существующий файл:
C:\ProgramData\ERP_Compas\service\data\certificate.crt - Поместите соответствующий приватный ключ по следующему пути:
C:\Users\andreev\AppData\Roaming\ERP_Kompas\service\data\private.key - Запустите системную службу compas-client заново.
Отключение проверки доверия SSL-сертификата
Если вы используете самоподписанный сертификат в закрытом контуре локальной сети и вам необходимо отключить валидацию цепочки доверия (чтобы клиенты не блокировали соединение), выполните следующие правки:
- На стороне сервера (менеджера):
Откройте файлC:\ProgramData\ERP_Compas\service\conf\base.ini, найдите раздел[base]и добавьте (или измените) строку:
[base]
ssl_verify = false
- На стороне рабочих мест (пользователей):
Откройте файлC:\ProgramData\ERP_Compas\service\conf\compas_client.ini, найдите раздел[AUTH]и добавьте (или измените) строку:
[AUTH]
ssl_verify = false
Полное отключение HTTPS (переход на незащищенный HTTP)
По умолчанию вся система compas-client спроектирована для работы по защищенному протоколу HTTPS. Если по техническим причинам вам необходимо полностью отключить шифрование трафика и перевести сервер на протокол HTTP, выполните следующие настройки:
- На стороне сервера (менеджера):
Откройте файлC:\ProgramData\ERP_Compas\service\conf\base.ini, найдите раздел[base]и установите значениеfalseдля параметраuse_ssl:
[base]
use_ssl = false
- На стороне рабочих мест (пользователей):
Откройте файлC:\ProgramData\ERP_Compas\service\conf\compas_client.ini, найдите раздел[AUTH]и аналогично отключите параметрuse_ssl:
[AUTH]
use_ssl = false
Настройка брандмауэра Windows
После завершения полной тихой установки в систему автоматически добавляются два новых разрешающих правила брандмауэра Windows под именем «compas_client»:
- Для исполняемого файла:
C:\Program Files\compas_client.exe - Для исполняемого файла службы:
C:\ProgramData\ERP_Compas\service\bin\compas_client.exe

Важно для администратора
- Если по причине ограничений прав или особенностей ОС правила не создались автоматически, создайте их вручную через стандартную оснастку брандмауэра, выбрав подходящие типы сетевых профилей (или все профили, если точная сетевая структура не определена).
- При деинсталляции пакета
compas-clientданные правила удаляются автоматически. Если этого не произошло, выполните их ручную очистку.
Авторизация ERP Компас через Compas-Client
В ERP Компас реализована возможность безопасной авторизации в СУБД с помощью проксирования через compas-client. Этот механизм исключает необходимость хранения паролей от баз данных на конечных рабочих местах пользователей.
Технические требования
Данный функционал доступен при использовании компонентов следующих версий (или более новых):
| Наименование компонента | Минимальная версия | Дата релиза |
|---|---|---|
| Модули ERP Компас | 12.86.04 |
04.06.2025 / 09.06.2025 |
| Библиотека xmoderncore.dll | 1.0.63 |
09.06.2025 |
| Утилита compas-client | 1.0.32 |
09.06.2025 |
Настройка на рабочем месте менеджера (администратора)
- Откройте веб-интерфейс панели управления сервером (перейдите по адресу
http://127.0.0.1:9945/илиhttps://127.0.0.1:9946/). - Перейдите в раздел управления подключениями и добавьте новую авторизацию, заполнив конфигурационные поля:
- Адрес сервера СУБД — сетевое имя или IP-адрес сервера MSSQL / PostgreSQL.
- Логин в СУБД — имя системного пользователя базы данных.
- Пароль к СУБД — пароль от указанной учетной записи базы данных.
- Группа — определяет тип и политику безопасности подключения:
- Групповой (общий) доступ — введите ключевое слово
all. Данный пароль будет автоматически применяться для всех пользователей, которым не назначен персональный доступ. Рекомендация: назначайте этой учетной записи в СУБД минимальный набор прав. - Личный доступ — оставьте поле пустым. Индивидуальная авторизация позволяет разграничить права доступа к таблицам и функциям СУБД для конкретных сотрудников, а также детально протоколировать их действия штатными средствами логирования самой СУБД.
- Групповой (общий) доступ — введите ключевое слово
Примеры интерфейса панели управления
Форма авторизации в панели управления Compas-Client
Просмотр списка настроенных учетных записей и авторизаций СУБД
Настройка на стороне программы Компас
Для активации прозрачной авторизации через compas-client на конечных рабочих местах пользователей (а также на ПК менеджера) необходимо включить соответствующий режим. Это можно сделать одним из двух способов:
Способ 1. Через графический интерфейс «Администратор БД»
- Откройте программу Компас и перейдите в пункт главного меню «Администратор БД».
- Выберите рабочую базу данных (по умолчанию «KOMPAS»).
- Перейдите на вкладку «Пользователь БД».
- Установите флажок (галочку) напротив пункта «Авторизация через Compas-Client».
(Обратите внимание: текстовое поле «Имя пользователя БД» в данном сценарии заполнять не требуется).

Способ 2. Через файл конфигурации компиляции базы данных
- Перейдите к директории с настройками вашей базы данных и откройте текстовым редактором файл
kompasdb.ini. - Найдите целевую секцию базы данных
[KOMPAS]. - Добавьте или измените строку управляющего параметра:
ini [KOMPAS] AuthCompasClient=1
Преимущества безопасности
После применения этих настроек авторизация доступа программных модулей к СУБД будет полностью делегирована утилите compas-client. Пароли от базы данных больше не сохраняются и не передаются в открытом виде на рабочие места пользователей, что полностью исключает их компрометацию.
Рекомендация по шифрованию данных
Для максимальной защиты передаваемых по сети учетных данных и токенов настоятельно рекомендуется использовать доверенный внутрикорпоративный или сертифицированный SSL-сертификат (подробнее см. в разделе настройки SSL).
Установка и настройка сервера API
В ERP Компас реализована возможность развёртывания локального сервера API для интеграции внешних систем и автоматической синхронизации данных. Сервер API принимает внешние запросы и транслирует их во внутренние бизнес-процедуры (БП) ERP Компас через стандартизированные конечные точки (endpoints).
Для запуска и настройки сервера API выполните следующие шаги:
Добавление и управление ключами API
- Авторизуйтесь в панели управления сервером на ПК менеджера (подробнее см. в разделе Первый вход в веб-интерфейс).

- В боковом меню перейдите в раздел «Ключи API».
- Нажмите кнопку добавления нового ключа. В появившемся поле «Имя API ключа» введите уникальный идентификатор латиницей (например, имя подключаемой внешней системы).
- Нажмите кнопку «Добавить». Секретный токен будет сгенерирован автоматически.

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

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

Настройка окружения erp-common и утилиты kadry_ctl
По своей архитектуре сервер API выполняет роль веб-шлюза: он принимает входящие сетевые запросы и передаёт их на исполнение консольным подпрограммам. Базовой средой исполнения является общесистемный проект «erp-common».
Примечание
Если в вашем дистрибутиве отсутствует каталог erp-common, отправьте официальный запрос на горячую линию поддержки ERP Компас для получения актуального пакета.
В состав erp-common входит консольная утилита kadry_ctl. Она отвечает за запуск бизнес-процедур системы в тихом консольном режиме, передаёт входные параметры внутрь БП и возвращает сформированный результат обратно веб-серверу для отправки клиенту.
Базовый план настройки среды erp-common:
-
Выполните установку и полную настройку службы
compas_client(согласно инструкциям, описанным в начале руководства). -
На рабочем месте администратора (где
compas_clientзапущен в режиме менеджера) настройте путь к конфигурационному файлу метаданных для утилитыkadry_ctl. Путь должен указывать непосредственно на директорию (папку), в которой расположен целевой файлkadry.cfg. Это может быть как ваш индивидуальный подпроект ERP, так и базовый файлkadry.cfgстандартного модуля кадров.

- Рекомендуется проверить физическое наличие всех компонентов в файловой системе сервера:
- Проект
erp-commonдолжен находиться в папке:
C:\Users\Public\ERP_Compas\Client\APPS - Исполняемый файл
kadry_ctl.exeдолжен присутствовать по пути:
C:\Users\Public\ERP_Compas\Client\APPS\erp-common\bin
- Проект
Ручная привязка пакета (при необходимости)
В ряде конфигураций может потребоваться явно объявить пакет в службе. Для этого откройте конфигурационный файл C:\ProgramData\ERP_Compas\service\conf\compas_client.ini (или base.ini) и добавьте в него следующие строки:
ini
[app/erp-common]
package: erp-common
- Если в каталоге
APPSпроектerp-commonполностью отсутствует, отправьте запрос на горячую линию поддержки.
Подключение стороннего внешнего сервиса к API
Сервер API предоставляет веб-интерфейс для запуска внутренних бизнес-процедур (БП) Компаса. Администратор может задействовать как стандартные БП из пакетов обновлений, так и добавлять свои собственные процедуры.
Для отправки запросов к API со стороны стороннего сервиса (например, с помощью утилиты Postman или бэкенда интеграции), настройте сетевое соединение согласно следующей технической спецификации:
Спецификация HTTP-запроса
| Параметр запроса | Устанавливаемое значение / Описание |
|---|---|
| Метод выполнения | POST |
| Адрес соединения (URL) | http://<адрес_сервера>:9945/api/bp (или https://<адрес_сервера>:9946/api/bp при SSL) |
| Заголовок Content-Type | application/json |
| Заголовок X-API-Id | <Имя_API_ключевого_слова> (заданное вами имя латиницей) |
| Заголовок X-API-Key | <Сгенерированный_API_токен> (уникальный ключ безопасности) |
Важно при выборе порта
Использование протокола (HTTP или HTTPS) и портов (9945 или 9946) напрямую зависит от того, включен ли у вас режим шифрования SSL в конфигурационных файлах (подробнее см. раздел Управление безопасностью и SSL).
Структура тела запроса (BODY)
Передаваемые данные должны отправляться в формате JSON-словаря. Обязательным является корневой параметр bp, содержащий системное имя вызываемой процедуры:
{
"bp": "имя_бизнес_процедуры",
"param1": "значение_параметра_1",
"param2": "значение_параметра_2"
}
Все дополнительные свойства и ключи, переданные внутри JSON-тела, автоматически транслируются утилитой в запускаемую бизнес-процедуру для последующей фильтрации записей или ветвления логики скрипта.

Настройка конкретной функциональности API
Разработка конкретных интеграционных функций сводится к написанию скриптов бизнес-процедур для утилиты kadry_ctl. Создавать и редактировать эти процедуры можно с помощью стандартного модуля кадров, настроенного на тот же конфигурационный файл метаданных (kadry.cfg), который использует kadry_ctl.
Локальная отладка бизнес-процедур через командную строку
Для проведения тестирования и отладки алгоритмов запустите командную строку Windows (cmd.exe) непосредственно из папки, где расположен ваш конфигурационный файл kadry.cfg, и выполните команду по следующему шаблону:
"C:/Users/Public/ERP_Compas/Client/APPS/erp-common/bin/kadry_ctl.exe" -bp=some_bp -input={"a":1}
Принцип работы отладки
Данная команда инициализирует выполнение бизнес-процедуры с системным именем some_bp и передаёт внутрь параметр a со значением 1. Обратите внимание, что все аргументы внутри ключа -input должны передаваться строго в валидном формате JSON.
Ограничение на длину параметров в консоли
Стандартная командная строка Windows имеет жесткое ограничение на максимальное количество символов в одной команде. Однако встроенный веб-сервер API умеет взаимодействовать с kadry_ctl через внутренние потоки данных (стэки), полностью обходя это ограничение при реальных интеграционных запросах от внешних систем.
Практический пример бизнес-процедуры (some_bp)
Ниже представлен пример исходного кода бизнес-процедуры для постраничной выгрузки кадровой картотеки на основе передаваемого номера страницы (page):
m_page = input.Value "page"
jsn = Json("{}")
m_qry = SQL "
DECLARE @PageNumber INT = " + String2SQL(m_page, false) + "; -- Номер страницы (1, 2, 3...)
DECLARE @RowsPerPage INT = 100; -- Количество записей на одной странице
SELECT TAB_N, FAMALY, IMY_OT, POL, DAT_PR, DOLGN
FROM (
SELECT TAB_N, FAMALY, IMY_OT, POL, DAT_PR, DOLGN,
ROW_NUMBER() OVER (ORDER BY TAB_N) AS RowNum
FROM KADRY
) AS MyResults
WHERE RowNum > (@PageNumber - 1) * @RowsPerPage
AND RowNum <= @PageNumber * @RowsPerPage
ORDER BY TAB_N;
"
i = 0
while not m_qry.Eof
i = i + 1
jsn2 = Json
jsn2.AddPair "TAB_N", m_qry.TAB_N
jsn2.AddPair "FAMALY", m_qry.FAMALY
jsn2.AddPair "IMY_OT", m_qry.IMY_OT
jsn2.AddPair "POL", m_qry.POL
jsn2.AddPair "DAT_PR", m_qry.DAT_PR
jsn2.AddPair "DOLGN", m_qry.DOLGN
jsn.AddPair str(i), jsn2
m_qry.goNext
wend
jsn.AddPair "count", i
return jsn.ToText
Пример JSON-тела (BODY) запроса к созданному API
Для вызова разработанной выше бизнес-процедуры и получения первой страницы данных (первых 100 сотрудников) внешняя система должна отправить следующий JSON-пакет:
{
"bp": "some_bp",
"page": 1
}