Di sekitar box office online baru-baru ini, kegembiraan liar, pada 1 Juli 2019, penundaan terakhir berakhir, jadi saya harus berurusan dengan masalah ini. Mereka yang memiliki 1C atau sistem lain terutama tidak dapat memaksakan, tetapi jika Anda memiliki sistem yang Anda tulis sendiri, maka integrasi dengan register kas online juga jatuh di pundak Anda.
Pengalaman saya berguna untuk integrasi dengan meja kas Atol dalam mode pertukaran data jaringan, program Anda dapat mengirim data ke server web Atol baik di localhost dan di jaringan lokal, Anda dapat mengirimnya bahkan dari browser AJAX, bahkan dari server melalui CURL, oleh karena itu, tidak peduli apa bahasa perangkat lunak perusahaan Anda ditulis, semuanya cross-platform.
Saya telah menemukan kantor tiket Atol 30f - mesin tik sederhana dengan kotak hitam (FN), tepat ketika semua logika untuk memesan adalah pada perangkat lunak eksternal, dan bukan pada perangkat lunak yang dibangun di kasir. Selain itu, perangkat jenis ini relatif murah, dibandingkan dengan perangkat Android.
Saya juga ingin mencatat bahwa "spesialis" dari beberapa perusahaan yang terlibat dalam dukungan tidak tahu sama sekali bahwa Atoll dengan versi 10 memiliki server web bawaan pada driver yang menerima pekerjaan JSON, terlebih lagi, driver ini juga dapat diinstal di linux, menilai dengan jumlah solusi siap pakai pada raspberry, saya dapat berasumsi bahwa itu juga dapat diinstal di sana, dalam distribusi versi ke 10 dari driver, installer untuk arm hadir.
Skema yang direncanakan adalah sesuatu seperti ini - ada CRM yang berjalan di server di jaringan lokal, dibuka dari browser, dari cek sisi server akan dikirim ke PHP melalui curl dan dicetak di kasir. Dan meja kas itu sendiri terhubung ke komputer di Windows di jaringan yang sama.
Mereka mengatakan bahwa jika Anda tidak mengaktifkan kasir, maka ia dapat bekerja dalam mode printer dan mencetak bahwa cek tidak valid, tetapi saya tidak dapat memverifikasinya, saya harus melakukan penny sales dan retur.
Pengemudi versi kesepuluh diunduh di
sini .
Sebelum menginstal, Anda harus menginstal
Java dengan kedalaman bit yang sama dengan driver, jika tidak, server web checkbox tidak akan tersedia, jika Anda menginstal driver KKT 64-bit, maka Java x64.
Tampaknya, secara logis, Anda perlu menginstal driver 64-bit pada sistem 64-bit, tetapi beberapa perangkat lunak 32-bit tidak akan dapat bekerja dengannya (seperti ini berlaku untuk 1C jika 32-bit).

Pada akhir instalasi ada tanda centang - untuk mengkonfigurasi server web, jika tidak diinstal, maka Anda harus pergi ke browser di
127.0.0.1 : 16732 / pengaturan, centang kotak "aktifkan server" dan simpan.


Setelah itu, Anda perlu me-restart server melalui START-> ATOL-> restart ...
Saya juga ingin segera memperingatkan Anda bahwa jika Anda memulai server web, maka aplikasi lokal tidak akan dapat mengakses PKC, saya bekerja keras untuk waktu yang lama, menginstal driver, menjalankan tes driver Cct, dan dia memberi tahu saya bahwa port sedang sibuk dan hanya itu, saya memanggil dukungan teknis dari penjual lokal, di sana mereka bilang kita tidak tahu harus berbuat apa, lalu saya membebani komputer sepuluh kali, menginstal ulang driver, tidak ada yang membantu.
Secara umum, setelah Anda mengaktifkan dan me-restart server, dan sebelum itu Anda mematikan server dan memeriksa pencetakan teks biasa melalui utilitas yang disediakan atau hanya memeriksa koneksi - Anda dapat melanjutkan.
Layanan web ini tidak memiliki perlindungan kata sandi, jadi Anda harus segera mengkonfigurasi firewall Windows atau perangkat lunak lain sehingga hanya komputer yang diperlukan yang dapat mengakses port 16732, dalam situasi saya ini adalah server tempat CRM menjalankan.
Komunikasi dengan layanan web umumnya merupakan topik terpisah, sangat menarik ...- Hasilkan uuid unik untuk pekerjaan itu
- Kami mengirim tugas menggunakan metode POST
- Kami mogok di layanan web, menunggu hasil tugas dengan UUID kami, mungkin selama beberapa detik tugas kami akan memiliki status menunggu, atau kesalahan dapat terjadi jika ada sesuatu yang salah dalam permintaan ...
Dan kemudian saya akan memberikan versi yang berfungsi, ini cocok untuk situasi di mana pembayaran hanya satu metode, dan tidak begitu banyak bagian dalam bentuk tunai dan bagian non-tunai, itu juga menggunakan sistem pajak default, PPN belum dihitung, saya ingin menambahkan kode, kemudian menyebarkannya, tetapi Saya pikir masih ada orang yang membutuhkan informasi ini sebelum 1 Juli daripada setelahnya. Saya harus mengatakan segera bahwa kelas perlu perbaikan, banyak mentah, tidak ada penanganan kesalahan, semuanya dilakukan dalam beberapa jam tanpa memperhitungkan membaca dokumentasi, kode ini lebih sebagai contoh dan saya menyarankan Anda untuk mempelajari
dokumentasi dengan sangat rinci dan menyesuaikannya dengan proses spesifik Anda.
kode php untuk contoh bekerja dengan api (hanya digunakan untuk tujuan pendidikan)<?php Class AtolWebDriver { protected $addr="127.0.0.1",$port="16732"; public $timeout = 30;
Ada beberapa kekurangan di sini yang akan saya perbaiki
- Membulatkan pecahan saat menghitung jumlah, Anda harus membulatkan ke sen, jika tidak, Anda bisa mendapatkan 1,000000001 atau 0,999999999
- Dengan ejaan yang benar dari sisa logika program, ini biasanya tidak terjadi, tetapi selama tes saya menemukan diri saya pada kenyataan bahwa tugas tersebut mengembalikan hasil kesalahan, dan saya sedang menunggu siap
Ya, dalam proses implementasi, saya takut menangkap banyak kesalahan, misalnya, jika tugasnya lama menunggu dalam status menunggu, maka lebih baik untuk menghapusnya dari antrian, jika tugas berikutnya akan menggantung selama beberapa menit, saya menangkap kesalahan seperti itu sekali, saya tidak berharap bahwa itu akan dicetak dan di sini saya duduk, tetapi melompat dan dicetak segera dua cek berturut-turut dikirim sebelumnya ...
Secara umum, adalah mungkin untuk mengumpulkan perolehan dari situs di masa depan, jika mereka tidak memiliki cek online, sampai Anda memutuskan untuk mengakuisisi mana yang harus dikacaukan. Tetapi solusinya adalah, lebih mungkin sebagai ide untuk solusi, waktu akan memberi tahu bagaimana box office ini akan berakar.
Peringatan , bagi mereka yang tidak sengaja membaca artikel dan tidak terlalu kompeten dalam masalah keamanan -
layanan web ini tidak memiliki enkripsi (https), tidak memiliki otorisasi , bahkan jika digunakan hanya pada jaringan lokal - konfigurasikan perlindungan untuk akses ke port.