Skip to content

Загальна інформація

Комплект програм "Рахівниця" можна розділити на три частини - сервер, клієнти, та службові програми. Сервер - це база даних під керуванням Firebird 3.0+ та набір скриптів що їх обслуговують. Клієнти - це ті програми з котрими безпосередньо працює користувач - Склад, Каса, Сервіс, Барком. Починаючи з версії 3.2 винесено в окремий інсталятор і наведено лад з додатковими службовими програмами, з якими користувач не працює безпосередньо але котрі необхідні для роботи комплексу - Абхард, Абасин, та Абрест.

Сервер та службові програми є кросплатформними (Win/Lin/Mac). Клієнтські програми є бінарниками Windows проте оптимізовані для роботи з wine і через нього можуть запускатись і в Linux і в MacOS.

Установка на Windows

Інсталятор сервера

Інсталятор клієнтаських програм

Інсталятор службових програм

Ручна установка

Фактично, те що робить інсталятор сервера можна робити повністю руками - звантажити і встановити дистрибутив Firebird під вашу систему і архів бази даних. Далі у файлі додати наступну секцію:

abacus = c:\Abacus\abacus.fdb
{
       UserManager = Legacy_UserManager
       WireCrypt = Disabled
       AuthServer = Legacy_Auth
       AuthClient = Legacy_Auth
       DefaultDbCachePages = 32768
       DefaultDbCachePages = 128K # 2GB RAM for the DB
       LockMemSize = 16M
}
Після чого виконати наступну команду у командному рядку:

"C:\Program Files\Firebird\Firebird_3_0\gbak.exe" -user sysdba -pass masterkey -p 16384 -c abacus.fbk localhost:abacus

Інсталятор клієнтських програм в принципі єдине що робить окрім розпаковки каталога c:\Abacus (по замовчуванню, звісно це можна змінити), це намагається автоматично зареєструвати робоче місце у базі даних. Тобто цілком можна скопіювати відповідний каталог з іншої машини і додати конфігурацію хоста у базі даних самостійно.

Службові програми також можна просто скопіювати з іншої машини. Єдиний нюанс - вони працюють як служби (сервіси) Windows, тому кожну з них потрібно запустити у консолі з правами адміністратора з ключем --install після чого відповідна програма сама створить службу для себе. Аналогічно, запущена з ключем --uninstall видалить свою службу.

Установка на Linux

Коли ми говоримо Linux, маємо на увазі Debian та похідні від нього (Ubuntu, Mint, тощо).

Перша за все потрібно додати конфігурацію репозиторію для Abacus:

wget -O- https://dev.abacus.in.ua/repo/abacus.key | gpg --dearmor > /etc/apt/keyrings/abacus-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/abacus-keyring.gpg] https://dev.abacus.in.ua/repo/ trixie main" > /etc/apt/sources.list.d/abacus.list
apt update

Замість trixie вкажіть ваш дистрибутив. На даний момент підтримуються bullseye, bookworm, trixie для Debian та jammy і noble для Ubuntu i Mint. Проте в цілому вони максимально взаємозамінні і швидше за все для будь-якої версії Ubuntu підійде jammy або noble, і для будь-якого Debian - bullseye чи trixie.

Далі, програми ставляться або в консолі з допомогою apt або графічним менеджером пакунків.

apt install abacus-server # установка сервера
apt install abhard abrest abasyn #установка службових програм

Набір клієнтських програм вимагає встановленого wine після чого аналогічно до Windows можна або запустити віндовий інсталятор або скопіювати з іншої машини папку Abacus.

Ручна установка

Для сервера потрібно встановити Firebird з репозиторіїв:

apt install firebird3.0-server
Конфігурація бази даних аналогічна до Windows лише зміни вносяться у цей файл. Аналогічно, команда для розпакування бази даних відрізняється лише шляхом, точніше його відсутністю:

gbak -user sysdba -pass masterkey -p 16384 -c abacus.fbk abacus

Оновлення

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