Offline iş və sinxronizasiya
İnternetsiz satış, lokal baza, sinxronizasiya statusları və konflikt idarəetməsi.
Necə işləyir
POS ekranı açılanda sistem məhsul kataloqunu brauzerin lokal bazasına (IndexedDB) yükləyir. Bundan sonra satış üçün internetə ehtiyac qalmır — məhsul axtarışı, barkod oxunuşu, qiymət hesablanması və səbətin idarəsi tam lokal aparılır.
İnternet var:
Barkod → lokal baza → səbət → satış → server → təsdiq
İnternet yoxdur:
Barkod → lokal baza → səbət → satış → lokal növbə (pending)
İnternet qayıdanda → server → təsdiq → synced
Lokal bazada nə saxlanılır
- Məhsullar: ad, SKU, qiymət səviyyələri, ƏDV, qalıq
- Barkodlar (variant barkodları daxil)
- Miqdara görə qiymət pillələri
- Variantlar
- Müştərilər: ad, telefon, qrup, borc, kredit limiti
- Cari növbə məlumatı
- Gözləyən satışlar və ödənişləri
Təkrarın qarşısının alınması
Hər satışa yaradılan anda unikal UUID verilir. Server bu UUID-ni
yoxlayır: əgər həmin UUID artıq qeydə alınıbsa, yeni satış yaradılmır — mövcud satış
qaytarılır və əməliyyat duplicate kimi işarələnir.
Bu, şəbəkə kəsilməsi zamanı "göndərildi, amma cavab gəlmədi" ssenarisində eyni satışın iki dəfə düşməsinin qarşısını alır — kassirin heç nə etməsinə ehtiyac yoxdur.
Sinxronizasiya statusları
| Status | Mənası |
|---|---|
pending | Lokal yaradılıb, hələ göndərilməyib |
syncing | Serverə göndərilir |
synced | Uğurla qeydə alınıb |
duplicate | Artıq mövcud idi — təkrar yaradılmadı |
error | Xəta baş verib, təkrar cəhd tələb olunur |
Xəta baş verdikdə
Sinxronizasiya xətası satışı bloklamır — kassir işləməyə davam edir. Xəta admin panelində Sinxronizasiya bölməsində görünür: hansı cihazdan, hansı satış, hansı səbəb. Səbəb aradan qaldırıldıqdan sonra "Təkrar cəhd" düyməsi ilə əməliyyat yenidən növbəyə qoyulur.
Ən çox rast gəlinən səbəblər:
- Anbarda kifayət qədər məhsul yoxdur (mənfi stok qadağandırsa)
- Müştərinin kredit limiti aşılıb
- Məhsul silinib və ya deaktiv edilib
Eyni anda bir neçə kassa
Eyni məhsula bir neçə kassadan satış gələndə server əməliyyatları sıra ilə, hər biri üçün ayrıca kilid altında işləyir. Satış heç vaxt sırf stok mənfi olur deyə itmir — ya qeydə alınır, ya da səbəbi göstərilməklə xəta kimi işarələnir və admin görür.
Şirkət ayarlarında mənfi stoka icazə aktivləşdirilə bilər. Topdan satışda bu bəzən lazım olur (mal yoldadır, amma satış artıq edilir). Bu halda offline satışlar heç vaxt xəta vermir, qalıq isə müvəqqəti mənfi görünə bilər.
Kataloqun yenilənməsi
POS internetə qoşulu olduqda kataloqu arxa planda yeniləyir. Əl ilə yeniləmək üçün kassa ekranındakı Yenilə düyməsindən istifadə edin — yeni məhsullar, dəyişmiş qiymətlər və qalıqlar lokal bazaya yazılır.
Windows üçün ayrıca proqram
Kassa brauzerdə tam işləkdir. Kiosk rejimində açmaq üçün Chrome-u belə başladın:
chrome.exe --kiosk --app=https://sizin-domen.az/kassa
Bu rejimdə ünvan sətri və nişanlar gizlənir, kassir yalnız satış ekranını görür. Masaüstü üçün ayrıca paketləmə (Tauri / Electron) də mümkündür — arxitektura buna hazırdır.