Web сервер атол linux

Web сервер атол linux

С 3 августа 2017 восстановление лицензий производится ТОЛЬКО через СервисДеск
Просьба обращаться к партнерам компании для оформления заявок в СД

Группа: Новички
Сообщений: 19
Регистрация: 30.7.2018
Пользователь №: 175 475

Модифицируем своё программное обеспечение для работы с ККМ АТОЛ.
Установили драйвера ДТО 10.3 на linux ubuntu.
Все установилось хорошо. Тестовая утилита работает прекрасно.

А вот WEB-сервер при запросе отвечает:

HTTP ERROR 500
Problem accessing /about. Reason:
Server Error
Caused by:
org.apache.jasper.JasperException: Unable to compile class for JSP:

Параметры системы:
ОС Lubuntu 16.04.4 LTS

fptr10.log
——————
2018.07.18 21:16:49.064 T:86FBBB40 INFO [FiscalPrinter] Информация о системе
2018.07.18 21:16:49.064 T:86FBBB40 INFO [FiscalPrinter] Версия ОС: Linux version 4.10.0-28-generic (buildd@lgw01-22) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1

16.04.2-Ubuntu SMP Thu Jul 20 10:19:13 UTC 2017
2018.07.18 21:16:49.064 T:86FBBB40 INFO [FiscalPrinter] Центральный процессор: Intel® Celeron® CPU N3060 @ 1.60GHz
2018.07.18 21:16:49.064 T:86FBBB40 INFO [FiscalPrinter] Оперативная память: Ram = 1847 / 1123, Swap = 1879 / 1879, High = 992 / 338
2018.07.18 21:16:49.064 T:86FBBB40 INFO [FiscalPrinter] Библиотека собрана с помощью GCC 4.3.2
2018.07.18 21:16:49.064 T:86FBBB40 INFO [FiscalPrinter] Версия библиотеки: 10.3.0

java -version
———————
openjdk version «1.8.0_03-Ubuntu»
OpenJDK Runtime Environment (build 1.8.0_03-Ubuntu-8u77-b03-3ubuntu3-b03)
OpenJDK Server VM (build 25.03-b03, mixed mode)

Полный текст ошибки (http.txt) и файлы логов во вложении.
На компьютере с windows всё работает нормально.

Тех.поддержка

Группа: Администраторы
Сообщений: 54 612
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717

У себя проверяли под suse

openjdk version «1.8.0_171»
OpenJDK Runtime Environment (IcedTea 3.8.0) (build 1.8.0_171-b11 suse-27.19.1-x86_64)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)

Группа: Новички
Сообщений: 19
Регистрация: 30.7.2018
Пользователь №: 175 475

А на 32 битной не тестировали?

Web-сервер выдает внутреннюю ошибку и пишет:

«Syntax error, parameterized types are only available if source level is 1.5 or greater»

При поиске по этой ошибке везде идет рекомендация сменить настройку в IDE перед компиляцией.
Вот три ответа, которые исправили такую ошибку:

————————-
My guess would be that while you run eclipse itself with JDK 1.6, it’s actually configured with a different default jre.
See Window->preferences->java->Installed JREs and make sure that the checked JRE is 1.6.
If the default JRE is indeed 1.6, chances are that it’s a project specific setting. See that the project is configured to use the right JRE.
—————————
Если вы используете Eclipse IDE, щелкните правой кнопкой мыши проект, свойства goto, компилятор Java, установите флажок Включить параметры проекта и установите уровень соответствия компилятора более 1,5. Я решил эту проблему, установив ее на 1.6.
—————————
Ошибка указывает на то, в чем проблема. Вы используете цикл for-each:
for(int temp : xabc)
< System.out.println(temp); >
Этот синтаксис был добавлен только в Java 1.5, поэтому вы, похоже, компилируетесь с использованием более старой версии. Вам нужно скомпилировать свой код, используя более современную версию java.
—————————

Читайте также:  Линукс операционная система что это такое

Тех.поддержка

Группа: Администраторы
Сообщений: 54 612
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717

Группа: Новички
Сообщений: 19
Регистрация: 30.7.2018
Пользователь №: 175 475

Работает java нормально. С другими приложениями проблем нет.
Спрашивали на форумах по linux, ubuntu, java и т.д.
Все посылают к разработчике веб-сервера, говорят — это внутренняя проблема именно в нем.

Группа: Новички
Сообщений: 3
Регистрация: 3.9.2018
Пользователь №: 183 707

В сборке в зависимостях старая версия JDT.
Поменяйте /usr/lib/AtolFptrWebServer/org.eclipse.jdt.core-3.8.2.v20130121.jar на более свежий из мавена. У меня заработало с jdt 4.4.2:
http://central.maven.org/maven2/org/eclips. 2/ecj-4.4.2.jar

Тех.поддержка

Группа: Администраторы
Сообщений: 54 612
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717

Источник

Установка ККМ АТОЛ в linux

Материал из Пингвиньи радостей

Статья об Установке ККМ АТОЛ в linux

Установка ККМ АТОЛ в linux это процесс установки и настройки драйверов и программ для обеспечения работы контрольно-кассовых машин АТОЛ в операционной системе Linux.

Установка ККМ состоит из этапов:

Описание установки приведено на примере ККМ Атол 30Ф в Debian Stretch.

Официальный сайт производителя: www.atol.ru

Содержание

Установка драйвера ККМ

Изготовитель ККМ Атол не включает Драйвер ККМ в комплект поставки, а предлагает осуществлять самостоятельное скачивание его со своего сайта.
Распространение и использование драйвер ККМ является бесплатным.

Для установки драйвера ККМ на примере v10.3.0

  • осуществляется загрузка драйвера 10.3.0.zip
  • извлекаются драйвера для выбранного дистрибутива и архитектуры
  • устанавливается драйвер, например в Debian Stretch amd64
  • изменяются права доступа к устройству в файле /etc/udev/rules.d/90-atol-fptr.rules
  • добавляется пользователь-кассир в группу драйвера ККМ

Подключается ККМ и проверяется доступ к ней

Установка программного обеспечения кассира

Программное обеспечения кассира это набор программ, обеспечивающий актоматизацию учёта товара, услуг и приёма оплаты при их реализации в том числе в соответствии с 54-ФЗ.
Фирма АТОЛ предлагает следующие linux-версии программ автоматизации рабочего места кассира :

Для обеспечения работы программ АТОЛ требуется установка Менеджера лицензий.

Настройка пересылки данных ОФД

Требование пересылки данных оператору фискальных данных (ОФД) вытекает из 54-ФЗ.
Пересылка данных ОФД может быть осуществлена

  • самой ККМ
  • пользовательской кассовой программой, например Frontol Simple
  • специализированной утилитой передачи данных ОФД EthernetOverUSB.

Обновление прошивки ККМ Атол

Обновление прошивки ККМ фирмs Атол платное. Для получения прошивки на действующую ККМ требуется осуществить её оплату по выбранному плану и дождаться получения программы обновления.
Дальнейшее трудностей не вызывает, например для Атол 30Ф:

Источник

Опыт интеграции онлайн кассы Атол с собственной торговой CRM

Вокруг онлайн касс в последнее время дикий ажиотаж, 1 июля 2019 заканчивается последняя отсрочка, поэтому и мне пришлось заняться этим вопросом. Тем, у кого 1С или другая система особо можно не напрягаться, но если у вас собственная самописная система, то на ваши плечи ложится еще и интеграция с онлайн-кассами.

Читайте также:  Линукс манджаро 32 бит xfce live

Мой опыт пригодится для интеграции с кассами Атол в режиме обмена данными по сети, ваша программа может отправлять данные на web-сервер Атол как на локалхост, так и по локальной сети, можно хоть из браузера AJAX отправлять, хоть с сервера через CURL, поэтому, неважно на каком языке написан ваш корпоративный софт, всё кроссплатформенно.

Мне на опыты попалась касса Атол 30ф — это такая простая печатная машинка с черным ящиком (ФН), так раз подходит, когда вся логика по составлению заказов лежит на внешнем софте, а не на софте, встроенном в кассу. К тому же, аппараты такого типа относительно недорогие, по сравнению с андроидными аналогами.

Отдельно хочу заметить, что «специалисты» некоторых компаний, занимающиеся поддержкой вообще не в курсе, что у Атол с 10й версии есть встроенный веб-сервер в драйвере, который принимает JSON-задания, более того, этот драйвер можно установить и на linux, судя по количеству готовых решений на малинках, могу предположить что там тоже можно установить, в дистрибутиве 10й версии драйвера установщик для arm присутствует.

Планируемая схема примерно такая — есть CRM, которая крутится на сервере в локальной сети, ее открывают из браузеров, с серверной стороны на PHP через curl будут отправляться чеки и печататься на кассе. А сама касса подключена к любому компу на Windows в этой же сети.

Говорят что если не активировать кассу, то она может работать в режиме принтера и печатать что чек недействительный, но мне это проверить не удалось, пришлось делать копеечные операции продажи и возврата.

Драйвер десятой версии скачиваем вот тут.

Перед установкой нужно установить Java той же разрядности, что и драйвер, иначе галочка web-сервер не будет доступна, если устанавливаете 64 битный драйвер ККТ, то и Java x64.

Вроде бы по логике нужно на 64 битную систему ставить 64 битный драйвер, но некоторый софт 32 битный не сможет с ним работать (вроде и к 1С такое относится, если она 32 битная).

В конце установки есть галочка — конфигурировать веб-сервер, если ее не поставили, то надо зайти в браузере на 127.0.0.1:16732/settings, поставить галочку «активировать сервер» и сохранить.

После этого нужно перезагрузить сервер через ПУСК->АТОЛ->перезапустить…

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

Читайте также:  Экраны установки mac os

В общем, после того, как вы активировали и перезапустили сервер, а перед этим выключили сервер и проверили через поставляемую утилиту печать простого текста или просто проверили связь — можно приступать.

Этот веб-сервис не имеет никакой защиты по паролю, поэтому нужно сразу настроить брандмауэр Windows или другой софт, чтобы по порту 16732 могли обращаться только нужные компы, в моей ситуации это сервер на котором крутится CRM.

Общение с веб-сервисом вообще отдельная тема, очень интересная.

  1. Генерируем уникальный uuid для задания
  2. Отправляем задание методом POST
  3. Долбимся на веб-сервис, ожидая результата задания с нашим UUID, может быть так, что несколько секунд у нашего задания будет висеть статус wait, а может возникнуть error, если в запросе что-то не так сформировали.

А дальше приведу рабочий вариант, он подходит для тех ситуаций, когда оплата только одним методом, а не так что часть налом и часть безналом, еще в нем используется система налогообложения по умолчанию, еще не высчитывается НДС, хотел дописать код, потом выкладывать, но думаю остались еще такие люди, которым до 1 июля эта информация нужнее, чем после. Сразу скажу, что класс требует доработки, много сырого, нет обработки ошибок, всё сделано за пару часов без учета чтения документации, данный код больше как пример и советую очень детально изучить документацию и адаптировать под ваши конкретные процессы.

Тут есть такие недоработки, которые я еще поправлю

  1. Округление дробей при подсчете сумм, нужно округлять до копеек, иначе можно получить 1.000000001 или 0.999999999
  2. При правильном написании остальной логики программы такое обычно не возникает, но в ходе тестов я поймал себя на том, что задание вернуло результат error, а я ждал ready

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

В целом можно и с сайта в будущем собирать эквайринги, если в них не будет онлайн-чеков, пока не определились какой эквайринг привинтить. Но решение такое, больше наверно как идея для решения, время покажет как приживется эта касса.

Предупреждение, тем, кто невнимательно прочитал статью и не очень компетентен в вопросе безопасности — данный веб-сервис не имеет шифрования (https), не имеет авторизации, даже если это используется только в локальной сети — настройте защиту на доступ к порту.

Источник

Оцените статью