Перейти до змісту

Активація служб

Службові програми — абхард, абрест і абасин — приймають запити лише з токеном доступу. Щоб Каса, Склад чи Сервіс могли з ними працювати, профілю робочого місця потрібні коди токенів кожної ввімкненої в ньому служби. Отримати їх і записати в профіль можна однією кнопкою у "Складі" або з "Лаунчера".

Сам профіль має існувати до активації (див. Установка). Профіль default токенів не отримує.

Активація зі "Складу"

  1. «Службове» → «Редактор конфігурації», вузол «Профілі», оберіть профіль.
  2. Натисніть «Активувати служби (Абхард, Абрест, Абасин) для обраного профілю».
  3. Якщо в профілі абхард (або інша служба) вказаний як 127.0.0.1, "Склад" спитає, де працюють служби профілю:

    • На цьому комп'ютері — ви зараз за тим самим комп'ютером, де працюватиме профіль. Активація піде на 127.0.0.1.
    • На іншому комп'ютері (вказати IP-адресу) — "Склад" запитає поточну адресу робочого місця і використає її лише для активації; у профілі залишиться 127.0.0.1. Якщо за цією адресою служба не відповідає, адресу буде запитано ще раз.

    Питання ставиться один раз за натискання і стосується всіх служб профілю з адресою 127.0.0.1. Для профілю, під яким запущено сам "Склад", воно не ставиться. 4. Якщо абхард ініціалізовано саме цим натисканням, "Склад" запропонує, що зробити з його первинним токеном адміністратора — тим, який лаунчер використовує, щоб стежити за станом абхарда і відкривати його вікно: - Скопіювати в буфер обміну — щоб одразу вставити в launcher.yaml як AbhardToken вузла цього робочого місця; - Зберегти у файл... — у текстовий файл, ім'я якого вже підставлено: token_<адреса робочого місця>.txt, або token_<профіль>.txt, якщо активація йшла на 127.0.0.1; - Не зберігати — якщо лаунчер для цього абхарда не потрібен.

    Сам первинний токен більше ніде не зберігається. Якщо його не збережено, у launcher.yaml можна вписати токен ролі administrator цього профілю з вкладки «Токени» (див. нижче) — лаунчер працюватиме з ним так само. 5. Після активації з'явиться звіт: що активовано, що пропущено і чому, за якою адресою відбувалась активація. Коди токенів "Склад" одразу записує в профіль і зберігає його.

Натискати кнопку повторно безпечно — хоч після кожної зміни профілю. Вже активовані служби лишаються з тими самими токенами.

Якщо у відповідь на питання натиснути «Скасувати», служби з адресою 127.0.0.1 буде пропущено; решту служб профілю "Склад" активує як звичайно.

Кілька профілів з однією службою

Кожна службова програма ініціалізується лише один раз: вона видає первинний токен адміністратора далі ініціалізувати її вдруге неможливо. Для всіх наступних профілів, що працюють з тією самою службою, "Склад" знаходить серед уже виданих токенів ті, які служба приймає, і записує в профіль їхні коди. Нових токенів при цьому не створюється. Так відбувається, зокрема, коли:

  • на одному комп'ютері кілька профілів — для різних користувачів чи різних робочих місць — працюють з одним абхардом;
  • на одному комп'ютері два робочі місця з двома абхардами на різних портах — кожен абхард ініціалізує свій перший профіль;
  • абрест і абасин спільні для всієї установки, тож активує їх лише перший профіль, а решта отримує вже видані токени;
  • абхард раніше ініціалізовано з лаунчера.

У звіті це виглядає як два рядки поспіль, і це нормально:

Помилка 401 при ініціалізації служби abhard: службу вже ініціалізовано, потрібен раніше виданий токен адміністратора
abhard: служба вже ініціалізована, використано наявні токени abhard_kasa1_*.

Коди в профілі при цьому належать тому профілю, який ініціалізував службу (abhard_kasa1_... у прикладі вище) — так і має бути.

Якщо жоден токен з бази служба не приймає, у звіті буде порада видалити файл токенів служби. Так буває, коли базу відновлено з резервної копії, старішої за ініціалізацію, або коли токени видалено з бази вручну. Видаліть на тому комп'ютері, де працює служба, файл abhard.json (abrest.json, abasyn.json) — див. Службові програми — і натисніть кнопку активації ще раз. Усі профілі, що вже працювали з цією службою, після цього потрібно активувати заново.

Ініціалізація абхарда з лаунчера

  1. Оберіть вузол у дереві підключень, поставте позначку «Підставити профіль» і виберіть профіль каси.
  2. Натисніть «Abhard». Лаунчер візьме першу адресу абхарда з профілю, замінить 127.0.0.1 на адресу вибраного вузла і під'єднається.
  3. Якщо абхард ще не ініціалізований, лаунчер ініціалізує його: видає токени для трьох ролей і зберігає їх у базі під кодом вибраного профілю. Адміністраторський токен лаунчер записує у launcher.yaml до вузла з тією самою адресою абхарда (AbhardToken); якщо такого вузла немає, токен виводиться в лог — перенесіть його до launcher.yaml вручну.

Вікно абхарда відкривається лише для профілю, в якого в блоці location вказано касу з налаштованим ПРРО. Для іншого профілю лаунчер відповість «Для каси за адресою … не налаштовано ПРРО» і нічого не робитиме — активуйте такий профіль зі "Складу".

Лаунчер не записує коди токенів у профіль. Після ініціалізації з лаунчера відкрийте цей профіль у "Складі" і натисніть кнопку активації: "Склад" знайде щойно видані токени і пропише їхні коди. Абрест і абасин лаунчер не ініціалізує взагалі — вони активуються тією ж кнопкою зі складу.

Перелік токенів

Усі видані токени з їхніми кодами показує "Склад": довідник працівників, вкладка «Токени». Код складається з назви служби, назви профілю, що ініціалізував службу, і ролі: abhard_kasa1_worker. Каса обирає токен за роллю працівника, який зараз працює; права ролей описано на сторінці Abhard, розділ «Токени доступу».

Повідомлення у звіті активації

Повідомлення Що робити
службу вимкнено в профілі, пропущено Поставте enabled: true у блоці служби, якщо вона потрібна цьому профілю.
URL не задано в конфігурації, пропущено Вкажіть адресу служби в urls блоку служби.
адреса … веде на цей комп'ютер, а IP-адресу робочого місця … не вказано Питання про розташування служб або запит адреси скасовано. Натисніть кнопку ще раз.
адресу цього робочого місця не внесено до whitelist служби Додайте адресу комп'ютера, з якого ви активуєте, до whitelist у конфігурації служби.
Помилка 0 при ініціалізації служби … Служба не відповідає: не запущена, адреса хибна або недоступна з вашої мережі.
жоден токен з бази до неї не підходить Див. кінець розділу «Кілька профілів на одній службі».