# MiniKassir change log

## [1.8.19] - 2018-07-24 13:45
### Added
  ИНН кассира:
  * Добавлена загрузка поля 'ИНН кассира' из файла справочника.
  * Добавлена возможность редактировать поле 'ИНН кассира' в редакторе пользователей.
  * Добавлена запись в ФН tlv-тега 1203 'ИНН кассира' при: открытии/закрытии смены, закрытии чека.

## [1.8.18] - 2018-07-23 16:00
### Added
  * [Фин. сервер] Добавлена загрузка дополнительных ШК.
  * [КЯ] Добавлен перезапуск КЯ при ошибке D5 - критическая ошибка.
    Если в ответе на команду обнаружен код ответа, равный D5, то делается перезапуск КЯ и затем повторное выполнение команды.

## [1.8.17] - 2018-07-19 16:30
### Added
  * [Мастер фискализации] Добавлено сохранение всех параметров регистрации в БД. 
    Теперь при последующих фискальных операциях мастер восстанавливает предыдущие значения из БД, а не вычитывает их из КЯ.
    Это позволяет не терять предыдущие значения при обнулении таблиц КЯ.

## [1.8.16] - 2018-07-18 19:30
### Fixed
  * Если закрытие чека было неуспешным, то следующий документ мог не распечататься, т.к. печать чека осуществляется отложенно.
    При отмене чека добавлен сброс состояния отложенной печати (запись 0 в таблицу 10.1.30).

## [1.8.15] - 2018-07-16 16:30
### Added
  * В режиме регистрации по свободной цене добавлена 3-я страница меню, где доступны пункты: 'Мастер фискализации' и 'Удаленное управление'.

## [1.8.14] - 2018-07-12 19:15 (only for testing)
### Added
  * [Удаленное управление, vnc] В MiniKassir.ini добавлены настройки для удобства отладки. В релизной версии их следует устанавливать в false.
    ; Логировать ли все байты, пересылаемые от локального vnc-сервера на удаленный сервер управления.
    ShouldLogBytesFromLocal = true
    ; Логировать ли все байты, пересылаемые от удаленного сервера управления на локальный vnc-сервер.
    ShouldLogBytesToLocal = true

## [1.8.13] - 2018-07-11 18:25
### Changed
  * [Удаленное управление] Значение по умолчанию хоста изменено с 192.168.1.48 на check.shtrih-m.ru
    Значение используется только в случае, если до этого на устройстве не была установлена версия с поддержкой удаленного управления.
  * [Мастер фискализации] Теперь при фискализации в автономном режиме вкладку 'ОФД' можно не заполнять, т.к. данные на этой вкладке
    в автономном режиме являются избыточными и не передаются в КЯ.

## [1.8.12] - 2018-07-10 18:30
### Added
  Удаленное управление:
  * [Консоль] Добавлена возможность удаленно выполнять консольные команды.
  * [Vnc] Добавлена задержка на последующее соединение после дисконнекта.
  * Добавлена обработка HostNotFound.
### Changed
  * Включено обратно в MiniKassir.ini логирование ofd.

## [1.8.11] - 2018-07-04 11:30 (only for testing)
### Added
  * [Vnc] Добавлена возможность удаленного управления через сервер.
### Changed
  * [Мастер фискализации] Поле 'ИНН отв. лица' ('ИНН кассира') сделано необязательным для заполнения для любой версии ФФД.
    Было необязательным для версии ФФД 1.0, и обязательным для ФФД 1.05.
  * Выключено в MiniKassir.ini логирование ofd для удобства тестирования.

## [1.8.10] - 2018-06-21 18:40
### Fixed
  * В предыдущей версии перестал работать режим по свободной цене из-за новых проверок корректной работы вирт. клавиатуры в режиме внешней клавиатуры.
    Исправлено: режим по своб. цене снова работает, а также добавлен фикс для внешн. клавиатуры из режима с подбором.

## [1.8.9] - 2018-06-21 16:00
### Added
  * [Настройки КЯ] Добавлены настройки z-отчета: 'Сокращенный z-отчет', 'Печать видов оплат'.
    После запуска МиниКассира данной версии происходит запись данных настроек в КЯ с значением 0 (одноразовая операция).
  * [Виды оплат] Добавлена возможность изменения названия видов оплат.
### Fixed
  * Внешняя usb-клавиатура работала не всегда: зависело от того, откуда первый раз вызвали виртуальную клавиатуру.
    Баг появился с самого начала реализации поддержки внешн. клавиатуры: с версии 1.7.15

## [1.8.7] - 2018-06-19 16:40
### Added
  * Добавлено применение фикс. скидок по префиксам ШК.

## [1.8.6] - 2018-05-24 12:00
  * [Фин. сервер] При возврате по номеру чека добавлена передача тегов:
    Заводской номер фискального накопителя (ФН) чека основания
    Фискальный признак чека основания
    Номер фискального документа чека основания

## [1.8.5] - 2018-05-23 18:15
### Changed
  * [Фин сервер] Учтены последние изменения в тегах.

## [1.8.4] - 2018-05-23 11:00
### Fixed
  * [Предоплата, отгрузка] Теперь сумму аванса можно менять только в меньшую сторону от оставшейся предоплаты.
  * [Предоплата/Кредит] Исправлен алгоритм распределения предоплаты/кредита по позициям пропорционально сумме каждой позиции чека.
    Например, чек предоплаты: 1) Водка 3500р * 1 ; 2) Лепешка 20р * 1 ; 100% предоплаты = 3520р
    После распределения предоплаты выглядел так: 1) 3499.94 ; 2) 20.06, а теперь остается без изменений. 
    В других сценариях, где без изменений цены не обойтись, теперь эти изменения расчитываются более правильным способом.
  * [Форма оплаты] Могло выводится неверное сообщение "Сумма безнала не должна превышать итог чека", если в списке оплат был добавлен
    электронный вид оплаты и этот же вид оплаты хотели изменить. Ошибка возникала вследствии неправильного вычисления суммы 
    электронных видов оплат: введеное число всегда прибавлялось к текущей сумме электронных видов оплат без учета выбранного вида оплаты.
  * [Фин. сервер, кассовый чек] Изменены некоторые номера тегов в соответствии с изменившимся протоколом.
  * При возврате по номеру чека отсторнированные позиции подбираются как НЕ отсторнированные.
    Тоже самое касается других операций, использующих номер чека для подбора.
    Теперь отсторнированные позиции при подборе по номеру чека игнорируются.
### Added
  * [Предоплата] Добавлена возможность частичной отгрузки товаров.

## [1.8.3] - 2018-05-21 11:00
### Fixed
  * При закрытии чека предоплаты и чека отгрузки по предоплате не указывались признаки: предмет и способ расчета.
### Added
  * Добавлена загрузка пользователей и их прав из spr-файла.
  Фин. сервер, кассовый чек:
  * Добавлена выгрузка фиск. реквизитов чека: номер ФН, номер фиск. документа, фиск. признак.
  * Добавлена выгрузка признаков: предмет расчета и способ расчета.
  * Добавлена выгрузка кредита/предоплаты.

## [1.8.2] - 2018-05-15 19:40
### Changed
  * Считывание клавиатурных данных из /dev/input/event2 (и создание отдельного для этого потока) теперь происходит только 
    при включенном втором устройстве на момент запуска МиниКассира.

## [1.8.1] - 2018-05-15 12:40
### Added
  * Добавлено считывание клавиатурных данных из /dev/input/event2 для поддержки работы двух hid-устройств, включенных через usb-разветвитель.

## [1.8.0] - 2018-05-07 11:30
### Added
  * [!] Добавлена начальная реализция кредита и предоплаты (Настройки - Ещё - Кредит/Предоплата).
  * [БД счетчики] 
    - при инициализации из КЯ вычитываются все накопления видов оплат из расширенных К-регистров 
      (виды оплат от 5 до 13). Ранее вычитывались только от 1 до 4, т.к. K-регистры не были реализованы в КЯ.
    - при расчете выручки исплользуются накопления вплоть до 13 вида оплат включительно.
  * [Транзакции] Добавлена запись тр-ций оборота и накопления налогов с номером 5 и 6 (18/118 и 10/110).
    Ранее записывались только от 1 до 4.
### Changed
  * Теперь перед закрытием чека проверяется, не превысила ли смена 24 часа. Если да, то ни один шаг закрытия чека не выполняется.
    Ранее некоторые шаги выполнялись и их приходилось отменять.
  * [Мон сервер] Теперь время работы с момента включения считается не с момента запуска линукса, а с момента запуска мини-кассира,
    причем, по тому же алгоритму, что и время работы от аккумулятора. Это сделано для того, чтобы не было неясных 
    для пользователя значений этих показателей, когда они рассматриваются в паре.
### Fixed
  * [SmartSale] Теперь при отмене вместе с отменяемой суммой передается сумма оригинальной тр-ции, иначе отмена не работает.
  * [Транзакции] Для чеков расхода и возврата расхода неправильно расчитывались обороты и накопления налогов в чеке,
    т.к. вместо соотв-х регистров расхода, использовался всегда регистр возврата прихода.

## [1.7.48] - 2018-04-19 15:30
  * Добавлено право 'Только увеличение количества'. 
    Для его действия необходимо: выключить 'Изменение количества', включить 'Только увеличение количества'.
    Для полного запрета редактирования кол-ва нужно отключить оба права.
  * При переходе на данную версию ПО во всех ролях будут установлены новые добавленные права:
    'Только увеличение кол-ва' и 'Открытие тары'.
    (Данная функциональность стала возможной благодаря реализации версионности не только схемы БД, но и данных.)

## [1.7.47] - 2018-04-18 18:40
### Fixed
  * Приложение перезапускалось при закрытии чека, если убрать использование ЕГАИС и закрыть чек с акцизными товарами.
    Баг появился в v1.7.45
### Changed
  Открытие тары:
  * Теперь доступность этой функции не зависит от галки '1: Использовать' в настройках ЕГАИС.
  * Теперь можно подбирать в чек любой товар, а не только акцизный.
  * Если товар акцизный, то происходит запрос сканирования марки независимо от галки '1: Использовать' в настройках ЕГАИС.
    (Это касается только режима открытия тары. В остальных режимах галка '1: Использовать' по прежнему влияет на запрос сканирования марок).
  
  
## [1.7.46] - 2018-04-18 13:30
  * [ЕГАИС] Изменены значения следующих реквизитов:
    - number: вместо номера чека передается номер ФД
    - kassa: вместо зав. номера передается номер ФН
  Сеть:
  * Убран запуск dhchcd при использовании static ip.
  * Улучшен алгоритм обработки ошибки HostNotFound:
    - Алгоритм сделан потокобезопасным (используется глобальный мьютекс для всех обработчиков).
    - Теперь невалидным resolv.conf считается не только, когда он пустой, но и когда
      содержит только одну строку в точности следующего вида
      "\t\t\tdomain localdomain\t\t\t\tsearch localdomain\t\t\t\tnameserver \t\t\t\t\tnameserver \t\t\t\t\t"
      Опытным путем выяснено, что такая строка ошибочно формируется gprsdaemon'ом.
    - В случае использования dynamic ip и невалидном resolv.conf используется прежний алгоритм замещения resolv.conf 
      (используются файлы wlan0.dhcp и eth0.dhcp соответственно)
    - В случае использования static ip и невалидном resolv.conf в него перезаписываются dns из настроек для static ip.
  * Убрана ошибочная попытка задать static ip при старте приложения в случае, когда в настройках сети 
    выбрано использование стат. адреса, но при этом сеть задана другого типа. Например, задан тип сети wifi, 
    а использование стат. адреса задано для eth.

## [1.7.45] - 2018-04-17 14:45
  * Добавлена функция открытия тары. Для её использования необходимо:
    - выставить галку в настройках ЕГАИС 'Использовать'
    - выставить галку в настройках ЕГАИС 'Использовать открытие тары'
    - выставить право 'Открытие тары'
  * [Тр-ции] Тр-ция x-отчета выгружалась с константным номером документа 777, теперь номер берется из КЯ.
  * [Настройки инпас] Связь с процессингом со 2-й страницы перенесена на 3-ю для увеличения шрифта.

## [1.7.44] - 2018-04-11 21:30
  * [Мон сервер, статус ККМ] Время работы от аккумулятора неверно увеличивалось каждый раз при показе верхней панели. Исправлено.
  * Переименованы пункты меню:
    Сверка итогов:  'ТТК: сверка итогов' в 'Ярус: сверка итогов', 'SmartSale: сверка итогов' в 'Инпас: сверка итогов'
    Сетевой обмен: 'ТТК' в 'Ярус', 'SmartSale: пинпад' в 'Инпас'
  * Пункты 'Ярус: сверка итогов' и 'Инпас: сверка итогов' теперь доступны 
    только в случае выставления соответствующей галочки 'Использовать' в настройках.
  * При закрытии чека в КЯ из инф. сообщения убрано '[КЯ]'.
  * Добавлена вторая страница настроек инпаса:
    - теперь возможно выбрать tcp-соединение с пинпадом (пока нет возможности тестирования данной функциональности)
    - добавлен тип связи с процессингом: через ККМ (пока заблокирован в виду невозможности реализации на данный момент)

## [1.7.43] - 2018-04-09 17:10
  * [Мастер фискализации] Ввод хоста ОФД сделан более удобным.
    1) Если ввели валидный ip, то в КЯ пишется этот ip.
    2) Если ввели невалидный ip, то считается, что ввели имя хоста, и происходит попытка получения ip по этому имени.
       Если попытка неуспешна, то выводится ошибка, фискализации не происходит.
    3) Теперь ошибка записи хоста и/или порта ОФД не считается критичной ошибкой и пишется только в лог.
  * [Мон сервер] Если уровень сигнала wifi из команды iwconfig распарсился как 0dbm или вообще не распарсился, на сервер отсылается 0.
    Раньше в этом случае отсылалось 100.
  * Добавлена опция в меню: Настройки -> Сист. настройки -> Тех. обнуление
    При выполнении команды тех. обнуления удаляются все файлы КЯ, создаваемые им в процессе работы.

## [1.7.42] - 2018-04-06 15:00
  * [Фин сервер] Добавлена выгрузка для каждой позиции в чеке: 'Полное наименование группы' (разделитель '/').
  * [Мон сервер] Добавлена установка флага 'Флаг нахождения ККМ в состоянии ошибки' при наличии ошибки в статусе ККМ.
  * Добавлен вывод уровня сигнала gprs на верхнюю панель (обновляется каждые 20 секунд вместе с зарядом аккумулятора).

## [1.7.41] - 2018-04-05 16:30
  * [Фин сервер] Добавлена выгрузка в чеке для каждого товара: 'Признак акцизной маркировки', 'Акцизная марка'.
  * Добавлен вывод уровня сигнала wifi на верхнюю панель (обновляется каждые 20 секунд вместе с зарядом аккумулятора).

## [1.7.40] - 2018-04-03 21:10
  * Закрытие чека в КЯ происходит довольно долго, поэтому добавлен вывод сообщения о закрытие чека в КЯ, 
    чтобы пользователю было понятно, что касса не зависла.
  Режим внешнего соед-я:
  * [Fixed] Переставал работать примерно через минуту после запуска приложения, 
    поскольку в этом случае логирование данных ОФД отключалось некорректно 
    (сначало отключалось на экране внешн. соед-я, затем снова включалось в общем коде старта приложения).
  * Добавлено обновление ip каждые 15 секунд.

## [1.7.39] - 2018-03-30 13:00
  * Возврат: добавлено сохранение последнего выбранного режима подбора.
  * При выводе ip учитывается флаг RUNNING используемого сетевого интерфейса на экранах настройки сети и режиме внешн. соединения.
    Это более точно отражает наличие реальной рабочей сети.

## [1.7.38] - 2018-03-28 15:10
  * В режиме по своб. цене добавлены операции расхода и возврата расхода.
  * При запуске, перезапуске или завершении (kill) кассира  добавлена очистка закешированной памяти (см. MiniKassirD.sh)
  * MiniKassir.ini, добавлена настройка ShouldLogMemUsage. Если выставить в true, 
    то помимо статуса отправки ОФД данных логируется расход памяти МиниКассиром.
    Например: size=81648 resident=18572 shared=13120 text=2808 data=56328 (см. statm, http://man7.org/linux/man-pages/man5/proc.5.html)
      size     - total program size (same as VmSize in /proc/[pid]/status)
      resident - resident set size (same as VmRSS in /proc/[pid]/status)
      shared   - number of resident shared pages (i.e., backed by a file) (same as RssFile+RssShmem in /proc/[pid]/status)
      text     - text (code)
      data     - data + stack

## [1.7.37] - 2018-03-26 21:15
  * MiniKassir.ini, добавлены настройки:
    ShowDateTime - Показывать ли наверху текущее дату/время
    UsbHidWorker.IsEnabled - сервис, отвечающий за работу с устройствами через usb
    ChargePolling.IsEnabled - сервис мониторинга заряда
    GprsWorker.IsEnabled - работа с демоном gprs

## [1.7.36] - 2018-03-23 19:30
  * В открытом чеке сверка по протоколу smart sale была недоступна.
  * Добавлена возможность выключить логирование статуса отправки данных в ОФД и задавать интервал (см. MiniKassir.ini, KktOfdStatus)
  * [Minor] Если в настройках мон. и фин. сервера нажать Ок, то выводилось предупреждение о необходимости перезапуска ПО, 
    даже если настройки не менялись пользователем. Теперь выводится, только если были сделаны изменения.
  Обновление ПО:
  * Теперь обновление невозможно сделать до тех пор, пока пользователь не закроет смену сам. 
    Перед выбором пункта меню 'Обновление ПО с ...' выводится ошибка, если смена не закрыта.
    Ранее смена закрывалась по вопросу, но при этом не писались тр-ции и не выполнялся прочий важный код для закрытия смены.
  * Ранее при запросе обновления в качестве версии передавалась константа равная 1.
    Теперь при первом запросе передается 0, затем число из ответа сервера.
  * Добавлено автообновление (см. Настройки - Сист. настройки - Обновление ПО - Автообновление с сервера). По умолчанию выключено.
    При включенном автообновлении обновление скачивается с мон. сервера в ответ на статус ККМ при соотв-м флаге в ответе.
    Процедура обновления начинается при соблюдении следующих условий:
      - обновление полностью скачалось
      - смена закрыта
      - после ввода пароля, после закрытия смены, после выхода из меню.
    При закачивании обновления статус ККМ перестает отсылаться на сервер. 
    После полного закачивания обновления отправка статуса возобновляется, однако флаг обновления в ответе игнорируется
    до установки обновления или до перезагрузки устройства. Обновление закачивается заново спустя три часа после закачки, 
    если пользователь отказался от установки.

## [1.7.35] - 2018-03-21 13:10
  Редактор пользователей и их ролей:
  * В список можно было добавить нового пользователя или роль с одинаковым кодом. 
    Теперь выводится ошибка о существовании такого пользователя/роли (это же касается не только добавления, но и редактирования).
  * В редакторе роли в ui не обновлялись код и название роли после редактирования.
  Обновление ПО:
  * Закрытие смены выполнялось всегда перед началом процесса обновления. 
    Теперь выполняется после вопроса об обновлении 'Хотите установить новую версию?'.
    Выводится дополнительный вопрос о закрытии смены. Если пользователь отказывается, процедура обновления отменяется.
  * Если был открытый документ, то он отменялся, при этом смена оставалась открытой.
    Смена закрывалась, только если КЯ находилось в состоянии открытой смены (состояние 2 или 3).
    Теперь, после успешной отмены документа, добавлено закрытие смены.
  * При ошибке от сервера добавлен вывод в ui кода этой ошибки.

## [1.7.34] - 2018-03-20 12:30
  Статус ККМ:
  * Добавлена выгрузка 'Количество непереданных документов ФД', 'Дата-время первого непереданного документа ФД'
  * Добавлена выгрузка посл-й ошибки от КЯ.
  * Добавлена выгрузка посл-й ошибки от файлового обмена.
  * Интервал отправки статуса теперь можно изменить в MiniKassir.ini (по умолчанию 600с=10мин)

## [1.7.33] - 2018-03-19 18:30
  * Мастер фискализации перенесен на 3-ю стр-цу меню настроек + мелкие исправления надписей.
  * Если при закрытии чека возникала ошибка и закрытие было неуспешным, то могла распечататься копия последнего распечатанного документа.
  Сетевой обмен
  * Добавлена отправка статуса ККМ на мон. сервер.
  * Работа с мон. и фин. серверами разнесена по разным потокам.
    Флаги 'Использовать' фин. сервер и мон. сервер были взаимозависимы: 
    включение одного из них включало использование и другого сервера. Исправлено.

## [1.7.32] - 2018-03-07 17:50
  * Добавлен редактор товаров (Настройки: стр. 3)
  * [Мастер фискализации] Теперь нельзя менять ИНН и РНМ при перерегистрации без замены ФН.

## [1.7.31] - 2018-03-05 18:45
### Fixed
  * [Файловый обмен] При включенном архивировании и выгрузке на ftp или в сетевую папку внутри архива создавался файл с сложным названием. 
    Например, если для выгрузки был указан PosTransactions.zip, то файл внутри архива имел название PosTransactions.zip.0000000123456789.forUploading
    Теперь название более предсказуемо, т.е. убрано окончание(для вышеуказанного примера файл должен называться PosTransactions.rep)

## [1.7.30] - 2018-03-02 15:00
### Fixed
  * [Файловый обмен] Архивирование отчета приводило к выгрузке лишних тр-ций за предыдущие смены.
    Тр-ции накапливались в промежуточном файле (в случае флешки этот файл создавался на флешке, в остальных случаях - на устройстве).
    Теперь во всех случаях временный файл создается в спец. папке на устройстве и удаляется после создания архива.
  --- Опция 'Восстанавливать счетчики из ФН':
  * В X-отчете при автообнулении нал-ти печаталась строка 'ИНКАССАЦИЯ'. Теперь - НАЛ. В КАССЕ.
    'ИНКАССАЦИЯ' должно печататься при автообнулении только в z-отчете.
  * Операции внесения и выплаты не меняли регистр наличности.
    * Регистры нал-ти, внесения и выплаты обнулялись после z-отчета и перед каждым отчетом при обнаружении закрытой смены при автообнулении.
      Теперь обнуляются только после z-отчета (при включенном флаге КЯ 'Автообнуление нал.')
    * При закрытой смене в множество перечитываемых регистров из КЯ (был только 1: наличность) 
      добавлены 4 регистра (2 рег. внесения + 2 рег. выплаты)
    * При старте приложения для определения необходимости синхронизации рег-в в множество необнуляемых регистров 
     (зависящих от настройки автообнуления) добавлены рег-ры внесения и выплаты.

## [1.7.29] - 2018-02-26 20:10
### Fixed
  * Если выставить флаг фоновой загрузки и/или выгрузки для сети и/или ftp, затем выставить тип файлового обмена по usb, 
    то после перезапуска приложения оно будет крашиться всегда, т.е. постоянно перезапускаться.

## [1.7.28] - 2018-02-22 15:45
  Фискализация:
  * Перед началом отчета регистрации добавлена отмена открытого фискального документа, 
    если таковой имеется в ФН. Также, если после неуспешной фискализации остался открытый документ, он отменяется.
    Сделано для того, чтобы процесс фискализации можно было повторять "с нуля" в случае возникновения какой-либо ошибки. 
  * Добавлено вычитывание всех параметров из КЯ при перерегистрации за исключением:
    ИНН кассира, Продажа подакцизного товара, Проведение азартных игр, Проведение лотереи.
    Исключения связаны с тем, что нет простого и быстрого способа получить эти параметры из ФН.
    (В будущих версиях КЯ появится таблица 17 со всеми параметрами [пере]регистрации.)
  * Запись версии ФФД теперь происходит в начале фискализации.
  * Изменен нерабочий алгоритм перерегистрации: теперь используется команда перерегистрации вместо регистрации.
    Добавлено редактирование причины перерегистрации.

## [1.7.27] - 2018-02-21 01:00
### Added/Changed
  * Полностью переделан процесс фискализации на устройстве (см. Настройки - Ещё - Мастер фискализации).
    Убрано использование сервера авторегистрации. Редактирование параметров регистрации сделано более удобным.
    Добавлена возможность закрытия фискального режима.

## [1.7.26] - 2018-02-15 15:00
### Added/Changed
  * Полностью реализована поддержка SmartSale. Проведены базовые тесты (оплата, отмена/возврат, сверка).
### Fixed
  * [Обновление ПО с мон. сервера] Приложение перезапускалось, если приходили совершенно некорректные данные 
    (например, если некорректно настроили мон. сервер, типа, www.google.ru)

## [1.7.25] - 2018-02-13 01:00
### Fixed/Changed
  * [Заказы] Выгрузка 300-й тр-ции (тег <Document>) теперь учитывает любые изменения заказа, в частности, добавление новых позиций.
  * [Обновление ПО] Теперь перед началом обновления закрываются открытый док. и открытая смена.
    Если произошла ошибка, то выводится пользователю и обновление прерывается. 
    Ранее закрытие происходило без проверки на ошибки, без вывода их пользователю и без прерывания обновления в случае ошибок закрытия.

## [1.7.24] - 2018-02-09 18:45
### Fixed
  * [Обновление ПО] Исправлена миграция данных КЯ.

## [1.7.23] - 2018-02-09 10:35
### Fixed
  * Теперь в режиме внешнего соединения не происходит периодический запрос статуса отправки данных в ОФД.
    Это приводило к перезагрузке КЯ в связи с предыдущими фиксами.

## [1.7.22] - 2018-02-08 20:00
### Changed
  * Изменен код перезапуска КЯ при обнаружении отсутствия связи во время выполенения очередной команды КЯ. 
    Если связи с КЯ после запуска MiniKassir'a никогда не было, то перезапуск делается только 1 раз.
    (Если связь была, то перезапуск происходит бесконечное число раз, как и в предыдущей версии.)

## [1.7.21] - 2018-02-08 18:45
### Fixed
  * Добавлен перезапуск КЯ, если обнаружена потеря связи с ним.
  * Программа перезапускалась при пробитии нулевого чека и использовании явного указания СНО для секций.
### Added
  * Частично реализован протокол SmartSale и подключение пинпада по этому протоколу.

## [1.7.20] - 2018-02-05 12:30
### Added
  Добавлены опции файлового обмена по ftp и через сетевую папку: 
    * фоновая выгрузка отчета
    * фоновая загрузка справочника
### Fixed
  * [Фин. сервер] Скидка/Надбавка на чек не учитывалась в сумме каждой позиции чека. Теперь учитывается.
  Файловый обмен:
  * [Ftp] Если меняли только настройки архивирования, то они не сохранялись. Добавлено сохранение.
  * [Network] Путь к монтируемой сетевой папки при выгрузке отчета брался из пути к файлу справочника, а не из пути к файлу отчета.

## [1.7.19] - 2018-01-30 13:50
  Файловый обмен:
### Added
  * Добавлены опции архивирования отчета и справочника.
### Fixed
  * Не монтировалась сетевая папка, если на хосте Win10. Чтобы монтировалась, добавлен параметр vers=2.0
    Если не удалось подмонтировать с vers=2.0, то используется старая команда монтирования без указания версии.

## [1.7.18] - 2018-01-29 16:00
### Fixed
  * Во избежании рандомного пропадания настроек, теперь, помимо файла, настройки сохраняются в БД.
  
## [1.7.17] - 2018-01-17 13:30
### Added
  * Добавлена возможность задать таймауты на подключение и обмен с КЯ в меню (Системные настройки -> 2 страница -> Настройки КЯ).
    По умолчанию были 10с и 30с соответственно. Теперь по умолчанию: 20c и 120с.
  * Добавлена запись в БД тр-ции 54: Фискальные реквизиты чека.
### Fixed
  * Программа падала, если при снятии отчетов отсутствовала бумага. А именно: при снятии отчета появлялось подтверждение, 
    после подтверждения появлялось окно об отсутствии бумаги, после заправки бумаги и нажатия на ок печатался полностью отчет и затем приложение перезапускалось.
  * В тр-ции 80 (Возврат по номеру чека) в поле 'Код товара' писалась дата чека продажи в несоответствующем документации кассира формате: ISO 8601, DateTTime.
    Теперь пишется дата в таком формате: dd.MM.yy

## [1.7.16] - 2017-12-21 22:00
  * Добавлена возможность авторегистрации ККТ.
  * [Minor] Не работал ввод точки с numpad'a внешней клавиатуры. Теперь работает.

## [1.7.15] - 2017-12-12 03:00
  * Добавлена возможность ввода данных с внешней usb-клавиатуры.
  * Добавлена возможность задать число ведущих нулей в коде весового ШК.

## [1.7.14] - 2017-12-01 12:20
  * При выставления режима возврата режим подбора перестал переключаться в возврат по номеру чека. Исправлено.
  * Добавлен вид оплаты по умолчанию в меню 'Виды оплат'.
  Ftp:
  * Добавлен timeout на обмен данных (был только на подключение). Соответственно, теперь программа не висит
    до бесконечности в окне обмена. Таймауты вынесены в доп. настройки ftp (по умолчанию - 30с).
  * Добавлен прогресс закачивания/выгрузки данных в килобайтах в окне обмена.

## [1.7.13] - 2017-11-29 14:00
  * [ТР-ции] Теперь в поле 'Код кассира' пишется текущий код пользователя, а не админ. пароль от КЯ (30).
    Поэтому имя кассира теперь корректно выгружается на фин. сервер.
  * [ShtrihDataService] Исправлена ошибка host not found, если dns в resolv.conf не заполнены.
    При ошибке host not found выполняется операция замены resolv.conf и повторный запрос на сервер 
    (1 раз, если ошибка осталась, то возвращается пользователю).
  * [ShtrihDataService] Добавлено сохранение введенной цены товара, если выставлена соотв-я настройка 
    (по умолчанию, сохранение включено).
  * [Регистрация] После закрытия или отмены чека, а также в некоторых др. случаях режим подбора сбрасывался в режим 
    по умолчанию. Например, подобрали товар по ШК, закрыли чек, режим подбора переключился на дефолтный (Код). 
    Этот (некритичный) баг появился с введением прав (с v1.7.*). Возвращено старое поведение: режим не сбрасывается.
    
## [1.7.12] - 2017-11-28 13:45
  * Кардинально переработаны алгоритмы загрузки спр-в и выгрузки тр-ций. 
    Теперь они учитывают возможное плохое качество сетевой связи.
  * При выгрузке тр-ций, если возникла ошибка, добавлен диалог с возможностью повтора выгрузки.

## [1.7.11] - 2017-11-23 23:55
  * [!] Исправлен баг версии 1.7.10: запрос к БД, выбирающий чеки для фин. сервера. Появился в связи с добавлением тр-ции x-отчета.
  * [!] Исправлен баг версии 1.7.9a: приложение падает, если нет файла настроек.
  * Добавлена возможность авторизации в открытом чеке.

## [1.7.10] - 2017-11-23 20:00
  * Добавлена проверка архива бэкапа после копирования на флешку и перед восстановлением с флешки.
  * Добавлена запись тр-ции x-отчета. При снятии x-отчета добавлен вывод сообщения, что идет снятие x-отчета.

## [1.7.9a] - 2017-11-23 13:55
  * При загрузке настроек добавлен вывод в лог содержимого файла настроек.
  
## [1.7.9] - 2017-11-23 13:30
  * Запуск dhcp при старте программы происходит теперь только для eth0 и wlan0. Для ppp0 не запускаем.
  Настройки:
  * Перед загрузкой и после сохранения добавлен вызов sync().
  * При загрузке в лог добавлена запись о том, дефолтные или ранее сохраненные настройки загружены.
    Default settings loaded: /root/MiniKassir/MiniKassirState.ini not exist
    Previous settings loaded: /root/MiniKassir/MiniKassirState.ini

## [1.7.8] - 2017-11-23 12:30
  * [Налоги] Неправильно, что передавались в КЯ без учета СНО. 
    Теперь налоги не передаются в КЯ, если не ОСН (в тр-циях это уже было учтено).
  * Теперь после добавления нового пользователя можно не перезапускать программу: 
    можно сразу перелогиниться под новым пользователем.

## [1.7.7] - 2017-11-22 20:15
  * При перезагрузке устройства добавлено пояснение, что устройство после выключения следует включить кнопкой.
  Тесты:
  * Теперь тесты связи используют пинг для определения наличия реальной связи.
  * Добавлено предупреждение, что после тестов устройство будет перезагружено.
    После завершения тестирования добавлен принудительный перезапуск устройства, 
    т.к. сеть подвергается дополнительной настройки в тестах и откатить их назад нет возможности.
  * При печати результатов тестов выводился в графе 'Тестировал' всегда пароль администратора. 
    Теперь выводится имя текущего пользователя.

## [1.7.6] - 2017-11-22 03:30
  * Исправлено падение программы  при запуске, если отсутствовали ФН и бумага.
  * [Dns] Для wi-fi и ethernet добавлен дополнительный фикс: если возникла ошибка Host not found и /etc/resolv.conf пустой, то берется 
    /var/run/dhcpcd/resolv.conf/wlan0|eth0.dhcp и копируется в /etc/resolv.conf
  * [Тестирование wifi] Добавлен перезапуск dhcp.
  * [Отправка логов] Добавлена отправка gprsdem_sim_setup, wpa_supplicant.conf, /var/log/messages*
  * Добавлен вывод в лог размер флеш-памяти и ram при старте программы, в авторизации и в некоторых др. случаях.
  
## [1.7.5] - 2017-11-20 15:15
  * Добавлена перезагрузка модема, если последний запрошенный статус модема содержал ошибку.
    Проверка статуса для перезагрузки модема происходит каждые 90 секунд.

## [1.7.4] - 2017-11-16 21:30
  * Перестал работать режим регистрации по своб. цене. Программа бесконечно перезапускалась. Исправлено.
    Для данного режима возвращена старая схема работы с пользователями через таблицу КЯ.
  * [Ввод даты/времени] В диалоге ввода даты/времени было допустимо вводить некорректную дату и/или время. Вследствии этого в системе
    выставлялись неожиданные дата/время. Например, date 2017.18.28-10:51:07 выставляло в системе 6 месяц 18 года.
    Теперь данные проверяются перед установкой. При вводе некорректных данных показывается экран с ошибкой.
  * [Заказы] При загрузке заказа с фин. сервера виды оплат с одинаковым кодом теперь суммируются.

## [1.7.3] - 2017-11-15 23:30
  * Добавлено логирование обмена КЯ с ОФД (при запуске приложения, затем каждую минуту).

## [1.7.2] - 2017-11-15 19:00
  * Невозможно было авторизироваться, если таблица пользователей не читалась из КЯ (например, в режиме тех. обнуления).
    Теперь, если табл. польз. КЯ не читается и таблица пользователей в БД не заполнена, то работает пароль администратора,
    заданный в настройках.

## [1.7.1] - 2017-11-15 16:00
  * Добавлена реализация всех прав (до этого было реализовано только право настройки). 
  * Добавлен вывод в лог при успешном изменении статуса заказа на фин. сервере с информацией о заказе: uuid, status.
  * Теперь dhcpcd не тормозит ui-поток приложения, т.к. запускается асинхронно по отношению к приложению.
  * При регистрации товара можно было подобрать товар по ШК при помощи сканера в запрещенных режимах
    (внесение, выплата, отсутствие соединения с КЯ).
  * При задании скидок/надбавок можно было изменить тип фиксированной скидки. Теперь нельзя, т.к.
    ползунок с типом значения влияет только на ручную скидку независимо от выбранной в гриде скидки.

## [1.7.0] - 2017-11-13 18:10
  * [!] Добавлена поддержка пользователей и их прав (ролей).
    Добавлены соответствующие редакторы. 
    Добавлена общая настройка 'Выбирать пользователей при авторизации'.
    Добавлена возможность ввода пароля с программной клавиатуры и при помощи сканера.
    Настраивать можно все 25 прав, однако реализовано пока только одно: право настройки.
  * [Заказы] Добавлен вывод информации о клиенте на экране оформления чека заказа.
  * [Заказы] Нельзя подобрать товар в произв. чек после чека заказа (воспроизводится в зависимости от настроек редактирования заказа).
  * При очистке справочника товаров удалялись префиксы весовых ШК и фиксированные скидки. Теперь не удаляются.
  * При попытке закрыть пустой чек стало появляться сообщение о недопустимом минимуме итога чека.
    Возвращено старое поведение: ничего не выводится.
  * В MpayBackup.sh добавлен бэкап всех логинов и паролей.
  Фин. сервер:
  * Добавлена загрузка настроек: налогообложение по секциям, виды оплат.
  * Теперь для загрузки товаров, заказов и настроек используется один и тот же запрос данных.
  * Перестали приходить статусы заказов (проявлялось при одинаковом внутреннем номере заказа).
    Теперь в 300-ю и 154 тр-цию пишется не внутр. номер, а уник. ид заказа.
  * Не отправлялся uuid заказа в чеке.
  * Не была полностью реализована отправка всех видов оплат в чеке. 
    Наличные указывались со сдачей при использовании разных видов оплат.
    Теперь передаются все 16 видов оплат. Налиные передаются всегда без сдачи.

## [1.6.69] - 2017-10-31 15:00
### Added
  * [Фин. сервер] В статус обмена с фин. сервером добавлена возможность просмотра числа оставшихся пакетов для загрузки.
### Fixed
  * [Бэкап] В MpaySoftUpdate.sh добавлено выставление X атрибута для /root/MpayBackup.sh

## [1.6.68] - 2017-10-29 12:30
### Fixed
  * [Фин. сервер] Убран warning Unexpected tag из лога для тега 1030 (Наименование товара) при парсинге заказа.
    Исправлено распарсивание секции в заказе. Теперь она считается типом VLN, а не int16 (хотя это не соответствует документу протокола).
### Added
  * [ФН] Добавлено выключение ФН при отключении сети. Добавлено включение ФН при ошибке от КЯ 168(0xA1).
  * Добавлена возможность задать мин. и макс. итоги чека: Настройки -> Общие настройки -> 3-я страница.
    Если итог чека будет вне заданных переделов, выводится ошибка. Такой чек нельзя закрыть.
    
## [1.6.67] - 2017-10-24 20:00
### Added
  * [Ui] Добавлена возможность перемещаться в списках из конца в начало, из начала в конец.
### Fixed
  * [Z-отчет] При использовании БД-счетчиков и автообнулении наличности на чеке теперь печатается ИНКАССАЦИЯ вместо НАЛ. В КАССЕ

## [1.6.66] - 2017-10-20 20:00
### Changed
  * [Фин. сервер] Теперь токен сохраняется сразу же после успешной генерации. 
    Раньше сохранялся только после нажатия на 'Ок' в окне настроек.
  * Пункт меню 'Штрих датасервис' перенесен в 'Сетевой обмен'.

## [1.6.65] - 2017-10-20 13:20
### Added
  * [Фин. сервер] Добавлена загрузка заказов, выгрузка изменений статусов заказов (close, cancel).
  * [Подбор] Добавлено применение фильтра при подборе товаров по коду, артикулу, цене.
    Ранее применялся только к названию товара.
  * Добавлена возможность бэкапа и восстановления из него.
  * Добавлена загрузка товара из датасервиса, если товар не найден в локальной БД.
### Changed
  * При очистке справочников удалялись все заказы, кроме закрытых. Теперь, кроме закрытых и кроме отмененных.
    Это сделано для того, чтобы оставалась информация в БД не только о закрытых, но и отмененных заказах.
    Данная информация нужна при выгрузке заказов.
### Fixed
  * При удалении ТР-ций не удалялись отмененные заказы, а только закрытые 
    (которые были заданы в тр-ции типа 154, Связь с документом).
    Но при отмене заказа 154 ТР-ция не пишется, а пишется только 300. Теперь это учтено и удаляются также заказы, 
    заданные в 300 ТР-ции.
  * При удалении ТР-ций не корректно удалялись (т.е. не удалялись) связанные строки заказа. Исправлен запрос к БД.

## [1.6.64] - 2017-09-27 17:00
### Fixed
  * При старте приложение постоянно перезапускалось, если была ошибка запроса состояния ФН (исправление в QtKktLib).
    Например, если КЯ находилось в режиме тех. обнуления. Теперь возвращено старое поведение: вывод ошибки и возможность
    продолжить далее.

## [1.6.63] - 2017-09-26 10:30
### Added
  * Добавлена выгрузка 77 тр-ции на фин. сервер.

## [1.6.62] - 2017-09-25 18:40
### Added
  * Добавлен вызов dhcpcd при старте программы (команды: dhcpcd -xk, затем dhcpcd).
### Fixed
  * [Kkt] Регистр 241 (наличность) читался из КЯ при старте всегда, если смена закрыта. 
    Теперь читается при закрытой смене только если хотя бы один из БД-регистров не равен 0.

## [1.6.61] - 2017-09-25 14:30
### Fixed
  * [Kkt] Исправлена ошибка расчета итоговых показателей отчетов. 
    Использовался беззнаковый тип для значений счетчиков. Теперь используется знаковый.

## [1.6.60] - 2017-09-22 21:00
### Added
  * Добавлена запись в БД тр-ции 77 (Скидка чека в позиции).
  * Добавлена опция КЯ 'Восстанавливать счетчики из ФН', по умолчанию выключена.

## [1.6.59] - 2017-09-21 19:20
### Added
  * [Kkt] Повышена надежность счетчиков для x и z отчетов путем вычитывания пропущенных фиск. док-в из ФН.
### Changed
  * [Kkt] Теперь при использовании своих счетчиков печать x и z отчетов происходит посредством одного вызова 
    команды печати строки, а не нескольких.
  * [Kkt] Убран вывод в лог и консоль таблицы налогов и таблицы видов оплат.
  * При выходе из режима внеш. соединения БД с счетчиками очищается и заново синхронизируется с счетчиками КЯ.
  * Теперь налоги передаются в КЯ и пишутся в транзакции только если чек закрыватеся СНО = ОСН.
### Fixed
  * [Kkt] Реквизиты покупателя передавались в ФН в неправильной кодировке: 1251. Исправлена на 866.

## [1.6.58] - 2017-09-15 16:15
### Added
  * Реализованы собственные счетчики, необходимые для x и z отчетов. Хранятся в /root/MiniKassir/Dbs/QtKktLib.sqlite
    * Добавлена возможность печати x и z отчетов на основе собственных счетчиков.
    * [Транзакции] Добавлен расчет выручки и налички на основе собственных счетчиков.
### Changed
  * [Skok] Убран постоянный спам в консоль и лог одинаковых ошибок (например, Host not found).
    Теперь пишется только если статус отправки данных изменился.
    Также убраны малоинформативные сообщения вида:
      'Connecting to check.shtrih-m.ru:4950' или 'Sending open shift'

## [1.6.57] - 2017-09-13 13:00
### Fixed
  * При выгрузке файлового отчета не учитывались ошибки монтирования сетевой папки.
### Changed
  * Теперь вывод в консоль и лог от консольных команд более подробный.

## [1.6.56] - 2017-09-12 19:30
### Fixed
  ТТК: 
  * При распарсивании pds-чека возникала ошибка, если ТТК-тег содержал несколько pds-блоков (заголовок + содержимое).
  * Исправлена ошибка форматирования при следующем сценарии: left, center, right. 
    Теперь чек сверки итогов печатается с корректным форматированием.
  * Теперь если чек не закрылся по какой-либо причине, шлется отмена по ТТК, если до этого операция по ТТК была успешной.
  * При закрытии чека, если в настройках было выставлено Использовать ТТК = true, 
    выводилось сообщение об обмене по ТТК даже в случае, когда такого обмена не происходило.

## [1.6.55] - 2017-09-08 16:30
### Added
  * [ТТК] При закрытии чека и снятии z-отчета теперь выводится информационное сообщение об обмене данными по ТТК.
### Fixed
  * [Заказы] Поля 300-й ТР-ции payment_cash и payment_cashless всегда выгружались с нулевыми значениями.

## [1.6.54] - 2017-09-07 20:25
### Added
  * Реализована работа с эквайринговым терминалом по протоколу ТТК.

## [1.6.53] - 2017-09-06 22:00
### Changed
  * Убрано выключение ФН (чтобы понять почему он отключается при включении wifi).

## [1.6.52] - 2017-09-04 14:15
### Added
  * Добавлено выключение ФН при бездействии пользователя (выключение/включение осуществляется через КЯ).
### Fixed
  * В транзакцию закрытия чека номер чека всегда записывался константной = 1. Теперь берется сквозной номер из КЯ.
  * [Скидки] Алгоритм распределения чековой скидки в очень редких случаях мог приводить к зависанию (беск. цикл). Исправлено.

## [1.6.51] - 2017-08-31 18:20
### Fixed
  Фин. сервер:
  * Не правильный номер чека на фин. сервере для открытия/закрытия смены и внесения/выплаты. Передавалось постоянно возрастающее число.
    Теперь в поле 'Номер документа' передается номер чека.
  * При процентной скидке сумма скидки на фин. сервер не уходит - только процент. Сумма скидки должна быть всегда.

## [1.6.50] - 2017-08-29 21:00
### Added
  * [Заказы] Добавлена поддержка суммовых скидок на позиции (учитывается поле СуммаСкидки в заказе).
  * Добавлена возможность редактирования фиксированных скидок.
### Changed
  * Во избежании спама, теперь логируется только изменения минимального заряда аккумулятора.

## [1.6.49] - 2017-08-25 18:00
### Added
  * Добавлено логирование заряда аккумулятора.
### Changed
  * [Фин. сервер] Теперь при выключенной сети не происходит обращение на фин. сервер.
  * [Фин. сервер] Уменьшено логирование обмена с фин. сервером.
  * Убрано логирование нажатия клавиш.
### Fixed
  * При добавлении товара в чек не срабатывала прокрутка. Добавляемая позиция могла стать невидимой. Исправлено во всех таблицах.
  * Нужно учитывать все возможные способы изменения заказа и текущую настройку 'Редактирование заказа'.
    Сейчас можно всегда добавлять новую позицию или сторнировать существующую, что, очевидно, не верно.
    Также следует учесть в качестве изменения содержимого чека - изменение/добавление скидок.

## [1.6.48] - 2017-08-24 14:45
### Fixed
  * Запрашивается марка для разливного алкоголя. Исправлено.

## [1.6.47], [1.6.47(red kit)] - 2017-08-24 11:30
  RedKit: 
  * Добавлена доработка для Красного Кита (не фискальная печать чека).
  * Для уменьшения спама консоли и лога увеличен интервал ожидания между попытками отсылки данных на сервер 
    при возникновении ошибки: был 3с, стало - 2мин.
### Fixed
  * Если была установлена сеть Ethernet, то все равно велась работа с модемом. Теперь шлется команда выключения модема.

## [1.6.46] - 2017-08-23 19:00
### Fixed
  * [Usb] Улучшен алгоритм монтирования. Теперь используется не фиксированное устройство sda1, а sd*, кроме sda.

## [1.6.45] - 2017-08-23 16:10
  Исправления из-за реализации выключения сети:
  * [Gprs] Перестали передаваться настройки симки и запрос статуса при старте программы. Исправлено.
  * [WiFi] Теперь каждый раз при выключении wifi, шлется команда выключения модема.

## [1.6.44] - 2017-08-22 22:00
### Fixed
  * Если в процессе оформления чека нажать кнопку "Меню" (в списке должен значиться пункт "Отмена чека"), 
    то в этом режиме аппарат позволяет кассиру перейти на страницу настроек и производить любые изменения в настройках.
    Теперь это может делать только администратор (как при закрытом чеке).
  * [Minor] Логирование включения сети wifi осуществлялось с ошибкой.
    Было QiwiGprsdClient::sendBytes() Sending CMD_WIFI_ON_OFF on=0, должно быть on=1. На логику работы не влияло, только на лог.

## [1.6.43] - 2017-08-22 10:30
### Added
  * Добавлено выключение сети после бездействия пользователя для экономии заряда аккумулятора (Сист. настройки -> Выключение сети).

## [1.6.42] - 2017-08-21 13:30
### Fixed
  * [Скидки] Теперь скидки пересчитываются каждый раз при изменении содержимого чека.

## [1.6.41] - 2017-08-21 11:45
### Added
  * [Скидки] Добавлен алгоритм пропорционального распределения по позициям скидки на чек.
### Fixed
  * В режиме по свободной цене нельзя снять отчеты X и Z не под сис. админом.
    Теперь в режиме по своб. цене тоже работает настройка 'ZX-отчеты от сист. админ.'

## [1.6.40] - 2017-08-18 17:00
### Changed
  * Теперь переход в режим регистрации осуществляется сразу после закрытия чека ДО его печати.
### Fixed
  * Теперь печать егаис-чека вызывается ПОСЛЕ печати копии чека.

## [1.6.39] - 2017-08-17 18:45
### Changed
  * Теперь используется новый алгоритм закрытия чека в КЯ.
    1) Перед закрытием чека пишется 1 в поле 30 в табл.10
    2) Закрытие чека расшир (FF45).
       При полож. ответе:
    3) Запись ТР-ций в БД.
    4) Печать копии чека.

## [1.6.38] - 2017-08-17 16:45
  * [Весы] Вместо поля 'Положение дес. точки' теперь используется поле 'Степень'.

## [1.6.37] - 2017-08-17 15:20
  [Весы]
  * Исправлена генерация байт команды запроса характеристик весового канала.
  * Добавлен вывод байтов запроса при обмене с весами.
  
## [1.6.36] - 2017-08-17 09:50
### Added
  * [Usb] Перед работой с флешкой ее нужно смонтировать. После завершения работы с флешкой ее нужно отмонировать.
  * При работе с весами теперь учитывается поле 'Положение десятичной точки'.
### Changed
  * Программное выключение устройства теперь сделано через /dev/qiwipwr
  * [Заряд]
    1. При заряде показывать % заряда зеленым цветом
    2. Если нет заряда, и % из КЯ > того, который сейчас на экране, то не изменять.
### Fixed
  * В настройках ЕГАИС есть флажок Использовать. Если его не установить, то все равно марка запрашивается на акцизный товар. 
    Нужно сделать, чтобы если использовать ЕГАИС не установлено, то акцизные марки не запрашивать и в ЕГАИС ничего не отправлять.
    (В ЕГАИС ничего не отправлялось, однако сканирование марок все равно происходило.)
    
## [1.6.35] - 2017-07-25 18:00
### Fixed
  * Символ 'S' в штрих-коде передавался как 'R'.

## [1.6.34] - 2017-07-21 18:00
### Added
  * [Загрузка спр из файла] Добавлена обработка атрибута разливного алкоголя (id=33).
    Марка не запрашивается для товара, у которого атрибут 33 выставлен в 1.
  * [Весовые ШК] Добавлена возможность ручного ввода весовых ШК в режиме подбора ШК.
### Fixed
  * В режиме регистрации по своб. цене не работал пункт меню 'Авторизация'.

## [1.6.33] - 2017-07-20 22:30
### Fixed
  [Заказы]
  * После оформления чека заказа выставлялся дефолтный режим (приход или расход) и не обновлялся на экране.
    Теперь дефолтный режим выставляется ПОСЛЕ закрытия или отмены чека заказа.
  * Теперь возможно загружать заказы с одинаковым кодом товара в позициях.
    Раньше такие позиции замещали друг друга и в БД сохранялась последняя.
  * Удаление незакрытых заказов осуществлялось без удаления позиций этих заказов.
  * [!] Теперь происходит удаление всех позиций заказа перед его загрузкой.
### Changed
  * [Заказы] При оформлении чека заказа игнорируется опция объединения позиций с однинаковым товаром.
### Coded
  * [БД] Теперь создание всех таблиц и дальнейшие миграции происходят в одной транзакции (об этом было забыто).

## [1.6.32] - 2017-07-20 12:00
### Added
  * Добавлена возможность запускать кассир в режиме внешнего соединения при старте программы (см. 'Общие настройки').
### Changed
  * [Minor] Подправлено чтение кешируемых таблиц из КЯ (налоговых ставок, видов оплат): 
    читаются не до первой ошибки, а используя запрос структуры таблицы перед чтением.
    Теперь устройство не пикает при старте приложения вследствие ошибки чтения таблицы.

## [1.6.31] - 2017-07-19 20:10
### Fixed
  * После открытия смены некорректно записывался номер след. чека в ТР-ции 
    (теперь добавлена команда ожидания конца печати при открытии смены).

## [1.6.30] - 2017-07-19 18:40
### Added
  * Добавлен диалог подтверждения завершения режима внешнего соединения.
### Fixed
  * Перестал работать возврат по номеру чека. 
    Исправлено (1 - не обновлялась таблица в UI; 2 - иногда некорректно работало восстановление чеков из ТР-ций).

## [1.6.29] - 2017-07-19 14:40
### Fixed
  * [Тр-ции, отчет] Исправлены знаки сумм и кол-ва при записи ТР-ций в БД и последующей их выгрузке в отчет.

## [1.6.28] - 2017-07-19 09:40
### Added
  [Фин. сервер]
  * Добавлена выгрузка секции для позиции чека.
  * Добавлена выгрузка скидок/надбавок.

## [1.6.27] - 2017-07-18 18:45
### Changed
  * Весовые ШК добавлены в интерфейс (можно тестировать).

## [1.6.26] - 2017-07-17 16:00
### Added
  * Весовые ШК (пока ui скрыт, в БД добавлена соотв. таблица).
### Changed
  * [Логи] Теперь отправляются на мон. сервер все логи кассира, а не последние 2.

## [1.6.25] - 2017-07-17 11:00
### Fixed
  * Сообщение при задании сети wifi и последующей перезагрузки выводится теперь ДО задания параметров wifi.
    Иначе можно было подумать, что устройство зависло.

## [1.6.24] - 2017-07-14 11:40
### Added
  * Добавлена возможность закрывать чек с нулевым итогом (нулевой итог может быть следствием скидок).
### Fixed
  * [Spr-файл] Теперь товар удаляется вместе со всеми реквизитами, находящимися в таблицах, отличной от таблицы с товарами.
  * [Скидки] Если была ошибка из-за ограничения скидки, то после корректировки значения ошибка не пропадала с экрана, 
    хотя и было позволено задать скидку.
  * После закрытия чека из формы подбора без перехода в форму оплаты не обновлялась таблица с позициями, вследствие чего
    оставались 'зависшие' позиции на экране. На логику работы не влияло, т.к. на самом деле позиции удалялись из чека.

## [1.6.23] - 2017-07-13 14:15
### Added
  * [Фин. сервер] Добавлена загрузка секции для товаров.
  * [Скидки] Теперь процентные ограничения на скидки в настройках распространяются и на суммовые скидки.
### Fixed
  * [Фин. сервер] Теперь товар удаляется вместе со всеми реквизитами, находящимися в таблицах, отличной от таблицы с товарами.
    Также добавлено такое удаление перед загрузкой любого товара. Иначе могли оставаться неактуальные реквизиты товара.
    Сейчас зависимыми от таблицы с товарами считаются две таблицы: с штрихкодами и с признаком акцизности товара.
  * [Скидки] Исправлено некорректное задание ограничений на скидки в настройках (все значения преобразовывались в 1%).

## [1.6.22] - 2017-07-12 18:10
### Added
  * [Скидки] В настройках добавлена возможность задавать ограничения на скидки в процентах.
### Fixed
  * [Ftp] Не срабатывал таймаут на подключение к ftp и приложение зависало. Сейчас работает таймаут 30 сек.

## [1.6.21] - 2017-07-11 17:55
### Added
  * [Сеть] Добавлена возможность задания статического ip-адреса
    для wifi и ethernet (пока без отключения dhcp, т.к. неизвестно, как реализовать это отключение).
### Changed
  * Убран отчет по кассирам (не реализован в КЯ).

## [1.6.20] - 2017-07-11 00:10
### Added
  * Добавлены опции снятия отчетов перед закрытием смены по секциям, налогам и кассирам (см. 'Общие настройки').

## [1.6.19] - 2017-07-07 21:45
### Added
  * [Скидки] Добавлены новые алгоритмы распределения скидок на цены товара.
    Добавлена новая сущность: kkt-чек. Теперь есть логический (электронный) чек и kkt-чек, передаваемый в КЯ.
### Fixed
  * [Minor] В случае ошибки при закрытии чека в КЯ, даже если не было акцизных товаров в чеке, 
    в лог писалась строка об отсылки отмены в ЕГАИС (на самом деле реальной остылки не было, ибо акцизных товаров не было).
  
## [1.6.18] - 2017-07-06 16:00
### Added
  * Добавлен вывод сигнала gprs в настройках gprs-соединения.
### Changed
  * Скидки в процессе доработки.
### Fixed
  * Изменение кол-ва в обычном чеке при нажатии на клавишу '+' в режиме регистрации работало не всегда.
    Зависело от настройки редактирования заказа. Данная настройка не должна влиять на обычный чек.

## [1.6.17] - 2017-07-03 16:15
### Fixed
  * [ЕГАИС] После успешной отправки чека в ЕГАИС при закрытии чека возникало исключение вследствие неверной логики очистки текущих видов оплат.
    Это приводило к падению программы с SIGABRT.
  * [ЕГАИС] Поле sign печаталось некорректно: вместо hex-строки печатались ascii-коды символов.
  * Улучшена обработка фатальных исключений. 
    Возникали исключения, которые перед падением приложения, не логировались.
    Связано с багом QT, вследствие которого кастомная реализация метода QApplication.notify не всегда помогает отловить все исключения.
    Поэтому также добавлена обработка исключений в базовом классе формы.

## [1.6.16] - 2017-07-02 12:15
### Added
  * Добавлены скидки.

## [1.6.15] - 2017-06-23 18:00
### Fixed
  * [Фин. сервер] Сторнированные позиции выгружались как нормальные и как сторно. Теперь выгружаются только как сторно.
### Changed
  [Форма оплаты]
  * Как только сумма набралась нужная, сразу надо чек закрывать (последний ОК не нужен).
  * В таблице с оплатами надо не прибавлять, а замещать сумму.

## [1.6.14] - 2017-06-22 22:45
### Added
  * Добавлено Настройки -> Общие настройки -> ZX-отчёты от сист. админ. 
    Снятие z и x отчётов всегда от пароля сист. админ. независимо от текущей авторизации.

## [1.6.13] - 2017-06-21 15:10
### Added
  * Добавлен пункт меню Настройки -> Ещё -> Продолжить печать.
### Changed
  * Уменьшен размер бинарника более чем на 1мб (с 4.5мб до 3.2мб). Добавлен ключ линковки -Wl,--strip-all
### Fixed
  * Открытие смены и закрытие чека всегда производилось от сист. админ.

## [1.6.12] - 2017-06-16 14:30
### Added
  * При старте программы добавлена проверка даты посл. документа в ФН и текущей даты. Если расхождение велико 
    (допустимое расхождение указывается в настройках), то выводится диалог задания даты и времени.
    В диалоге ввода даты и времени добавлен вывод причины, по которой показывается данный диалог в начале программы.

## [1.6.11] - 2017-06-15 11:10
### Fixed
  [Заказы]
  * При отображении заказов выводилась итоговая сумма, полученная путем суммирования поля total каждой позиции заказа.
    Это было не верно, поскольку поле total на данный момент должно игнорироваться (наряду с полями amount, discountAmount и discountPercent).
    Теперь итоговая сумма заказа высчитывается путем суммирования суммы каждой позиции, полученной путем умножения кол-ва на цену.
  * При выходе с экрана подбора заказа сбрасывалось выделение текущего заказа в списке. Теперь сохраняется.
  * При подборе заказа по номеру, если заказ не найден, выводилось сообщение "Заказ с номером '%1' не найден".

## [1.6.10] - 2017-06-14 12:30
### Added
  * [Файловый обмен] Добавлена настройка 'Удалять спр-к после загрузки' для usb и сетевой папки (была только для ftp).
### Fixed
  * [Tcp] Исправлена часто возникающая ошибка 'Host not found' при подключении к удаленным серверам.
    Не удавалось зарезолвить ip хоста по его имени. Связана была с тем, что c-runtime library кешировала ДНС из файла
    /etc/resolv.conf в тот момент, когда они там ещё не прописаны (или прописаны старые).
    Решено вызовом системной функции res_init(), благодаря чему происходит перечитывание файла resolv.conf. Вызов
    происходит каждый раз при возникновении ошибки 'Host not found'.
  * [Файловый обмен] Ftp: если в настройках не задано 'Удалять спр-к после загрузки', то файл перед загрузкой теперь
    не переименовывается (также реализовано для usb и сетевой папки).
  * [Чек заказа] Неправильно вводилась цена, если была равна 0. Диалог ввода цены выводился для товара с нулевой ценой, 
    однако введенная цена никак не учитывалась, поскольку перезатиралась ценой из позиции заказа.
    Теперь диалог выводится в том случае, если именно в заказе указана нулевая цена.
    Поле total (общая суммая позиции) пока не учитывается при оформлении заказа.

## [1.6.9] - 2017-06-08 12:30
### Changed
  * Добавлено ожидание окончания печати при снятии x и z отчетов (иначе тормозит печать в начале печати документа).
  * [КЯ] Убрано логирование при ожидании печати (много спама получается).
### Fixed
  * В регистрации с подбором при открытом чеке при запросе подтверждения z-отчёта иногда выводился диалог подтверждения
    без кнопки отмены (сохранялось состояние от предыдущего диалога). Теперь кнопка отмены всегда доступна.
  * Настройки доступных видов оплат не учитывались в окне закрытия чека при выборе оплат. Теперь учитываются.
  * В окне настройки доступных видов оплат можно было сделать так, что все виды оплат недоступны.
    Теперь в этом окне необходимо задать хотя бы один вид оплаты (по умолчанию доступны 1 и 2-й виды оплат).

## [1.6.8] - 2017-06-07 20:45
### Added
  * Добавлена возможность закрывать чек несколькими видами оплат (пока было произведено только минимальное тестирование).
### Fixed
  * [КЯ] Иногда может возникнуть ситуация, что КЯ долго не отвечает (более 7 секунд, например, при снятии z-отчета).
    В таком случае это расценивалось как отсутствие связи. Теперь таймаут на получение данных увеличен до 30 секунд вместо 7.

## [1.6.7] - 2017-06-05 22:30
### Added
  * [КЯ] Добавлена адм. отмена чека (выполняет отмену путем перебора всех доступных паролей).
    Используется при открытом документе в случаях: старт программы, миграция КЯ.
### Fixed
  * [КЯ] Bug #2283. Исправлена ошибка при закрытии чека, если оператор не являлся сис-админом ([0х59] ККТ: Документ открыт другим оператором).
    Теперь используется пароль текущего пользователя вместо пароля сис-админа для следующих команд:
    открытие смены, закрытие чека, отмена чека.
  * [КЯ] В режиме регистрации по своб. цене теперь используется пароль тек. оператора, а не пароль сис-админа для
    продажи, возврата, сторно.
    
## [1.6.6a] - 2017-06-02 19:10
### Fixed
  * Исправлено падение программы при печати чека ЕГАИС (tested).

## [1.6.6] - 2017-06-02 16:15
### Fixed
  * Исправлено падение программы при печати чека ЕГАИС (untested).

## [1.6.5] - 2017-05-30 20:10
### Added
  * Добавлена возможность отправки БД на мон. сервер.
  * Добавлены настройки КЯ, пока один пункт: 'Включить лог КЯ'
### Fixed
  * В режиме регистрации по своб цене при продаже и производных от нее команд возникала ошибка:
    "Ошибка формирования TLV данных или превышение размеров TLV". Исправлено в QtKktLib.
    (В КЯ в поле текст передавались все 0. Теперь передается один пробел. Баг возник вследствие перехода на новую версию kktlib.

## [1.6.4] - 2017-05-25 16:00
### Changed
  * При выгрузке файлового отчета перевод строки был \n(0A), теперь - \r\n(0D0A).
### Fixed
  * В регистрации по своб. цене не полностью показывалась ошибка от КЯ.

## [1.6.3] - 2017-05-24 20:15
### Added
  * [БД] Добавлен период хранения транзакций, по истечении которого они удаляются из БД, а также, удаляются связанные с ними заказы.
    Это происходит после каждого z-отчёта.
  * Добавлен налог по умолчанию в обоих режимах регистрации.
  * [Мон. сервер] Добавлена отправка .ini файлов MiniKassir'a и MpaySoftUpdater'a при отправке логов.
### Fixed
  * Исправлена перезагрузка программы при нажатии 'Ок' в форме подбора заказа, если заказов нет.

## [1.6.2] - 2017-05-17 17:30
### Fixed
  * Исправлен формат файлового отчета: 3-й строкой не указывался номер отчета. Сейчас указывается всегда равный 1.
  
## [1.6.1] - 2017-05-17 14:00
### Added
  * [Заказы] При отмене заказа: добавлена запись 300-й ТР-ции, добавлена выгрузка состава заказа.
  * [Ftp, файловый обмен] Добавлена опция удаления файла справочника с FTP после загрузки (по умолчанию: true).
### Changed
  * [Заказы] Теперь при отмене заказа статус заказа меняется на 'cancel', а не на 'reject'.
### Fixed
  * Все налоговые ставки считывались неправильно и были равны 0. Поэтому не правильно задавались налоги тем товарам, которые были
    загружены из справочника, где была указана ставка (например, 18.00%)

## [1.6.0] - 2017-05-16 11:35
### Added
  * [КЯ] Теперь программа запускается даже без запущенного КЯ (или без наличия с ним связи). 
    В этом случае выдает ошибку отсутствия связи при обращении к КЯ.
  * [Транзакции] Добавлена запись 300-й ТР-ции в БД и в отчет.
  * [Заказы] Добавлен диалог подтверждения отмены заказа.
### Changed
  * [!] Библиотека доступа к КЯ заменена на новую (QtKktLib).
  * [Фин. сервер] Отключено логирование байтов товаров при загрузке, иначе лог быстро переполняется.
  * Теперь для проверки пароля используется короткий запрос состояния вместо запроса операционного регистра.
### Fixed
  * При отстутствии бумаги появлялось окно 'Нет бумаги'. Даже если бумагу после этого вставить и нажать Ok, окно не исчезало.
  
## [1.5.20] - 2017-05-04 22:15
### Added
  * Добавлена поддержка заказов.
### Fixed
  * [Запись ТР-ций в БД, файловый отчёт] Один и тот же баг, распространяющийся на множество ТР-ций: неверная позиция точки.
    * 175 тр-ция, в поле 'Кол-во' код группы налога записывался неверно (например, 0.051 вместо 51.000).
    * 40 тр-ция, в поле 'Кол-во' вид оплаты записывался неверно (например, 0.001 вместо 1.000).
      Также это влияет на восстановление чека из ТР-ций для возврата по номеру. Теперь ожидается номер вида оплаты в правильном формате.
      Также это влияет на выгрузку чека на фин. сервер.
    * 80 тр-ция, в поле 'Кол-во' неверно записывался 'Номер транзакции возвращаемого чека'; в поле 'Сумма' - 'Номер возвращаемого чека'.
      Также это влияет на выгрузку возврата по номеру чека на фин. сервер. Теперь ожидается номер чека в правильном формате. 
    * 50, 51: поле 'Цена' - 'Номер смены'. Влияет на фин. сервер (внесение, выплата).
    * 55, 56: поле 'Цена' - 'Номер смены'. 55: поле 'Кол-во'  - 'Код СНО'.
  
## [1.5.19a] - 2017-04-27 18:30
### Fixed
  * [Файловый обмен по сети] Не выгружался отчет, если на момент выгрузки файл с отчетом не существовал в сетевой папки.
    Если файл существовал, то отчет выгружался, но при этом на экране выводилась ошибка.

## [1.5.19] - 2017-04-18 18:00
### Added
  * [Фин. сервер] Добавлена возможность отсылать логи на фин. сервер (пункт в меню).
  * [Log] MiniKassir.ini, логирование, добавлена настройка.
      ; Максимальный размер части в байтах, на которые разбивается архив логов для отправки на удаленный сервер.
      MaxZipPartSizeForServer = 524288 (512 kb)
### Changed
  * [Log] MiniKassir.ini, логирование
    Было:  MaxLogCount = 3 + 1, MaxLogSize = 4mb
    Стало: MaxLogCount = 9 + 1, MaxLogSize = 1mb. Итого 10mb на логи от MiniKassir.
### Fixed
  * [Фин. сервер] Неверно задавалась СНО в отправляемых чеках, а именно: код СНО брался из КЯ тот, 
    который был задан на момент регистрации ККТ. Теперь код СНО берется из 55-й ТР-ции, поле 'Кол-во'.
  * [Фин. сервер] Теперь шлются корректные типы отмен при отмене расхода и отмене возврата расхода.

## [1.5.18] - 2017-04-15 15:00
### Fixed
  * Исправлены ошибки, связанные с разбивкой чека на несколько в зависимсоти от СНО (tested). Теперь разбивка реально работает.

## [1.5.17] - 2017-04-14 01:15
### Added
  * Файловый обмен, выгрузка отчёта.
    Добавлен анализ первой строки в случае, если файл с отчетом уже существует на момент выгрузки.
    Если 1-я строка равна #, то выгружаемый отчёт дописывается в конец содержимого файла.
    Если 1-я строка не равна #, то выгружаемый отчет перезаписывает текущее содержимое файла.
### Changed
  * Файловый обмен, загрузка справочника: теперь выводится больше информации о ходе загрузки справочника 
    (число загруженных строк, время загрузки).
### Fixed
  * Исправлена запись бита СНО в КЯ. Теперь проходит корректно (если позволяет текущая регистрация ККТ).
  * Если возникала ошибка в КЯ при записи СНО, то она не выводилась пользователю. Теперь выводится.

## [1.5.16a] - 2017-04-13 14:00
### Fixed
  * Программа пыталась изменить СНО даже при условии, что таблица соответствия кодов СНО секциям была пуста.
    Восстановлено прежнее поведение программы, если таблица соответствия пуста.

## [1.5.16] - 2017-04-13 02:45
### Added
  * СНО: добавлена возможность разбивать чек на несколько чеков в зависимости от принадлежности товара 
    к той или иной системе налогообложения (untested).
### Changed
  * FTP: улучшен вывод ошибки, если был указан неверный логин и/или пароль.
### Fixed
  * Сетевой обмен, фин. сервер: исправлена неправильная загрузка нечисловых родительских кодов. 
    Проявлялось в том, что все нечисловые коды грузились в БД как пустая строка. 
    Теперь для родительских кодов используются те же правила, что и при загрузке из файла
    (т.е. 0 и "" означает корневую группу, другими словами, отсутствие родительской группы).
  * Файловый обмен:
    * загрузка/выгрузка по ftp работала только один раз. Далее нужно было перезапускать программу.
      Баг появился, начиная с версии 1.5.15
    * исправлено падение программы, если загружался справочник неверного формата. 
      Например, файл не начинался с # или @. Добавлен отлов всех исключений при загрузке/выгрузке.
### Coded
  * Добавлено более подробное логирование при файловом обмене.

## [1.5.15] - 2017-04-10 16:30
### Fixed
  * Исправлена ошибка преобразования отриц. числа с точкой в строку (проявлялось при маленьких числах, наблюдалось в файловых отчетах).
  * Сатус обмена с фин. сервером: убран лишний служебный текст из статуса обмена при возникновении ошибки (исключения).
  * Файловый обмен по FTP: исправлено зависание программы, если недоступен сервер (задан таймаут на соединение равный 30 секундам).
  
## [1.5.14] - 2017-04-06 00:05
### Added
  * Добавлен ui для редактирования таблицы соответствия кодов СНО секциям (пока только ui).
### Fixed
  * Теперь при обновлении учитывается версия КЯ и, таким образом, убран лишний экспорт таблиц КЯ.

## [1.5.13] - 2017-04-04 01:50
### Added
  * Добавлена возможность просмотра статуса обмена с ОФД.
  * В статус обмена с фин сервером добавлено 'Дата и время первого неотправленного чека'.
  * Добавлен вывод версии программы на загрузочный экран.

## [1.5.12] - 2017-04-03 12:00
### Added
  * Загрузка справочника с ftp или из сетевой папки:
    теперь перед скачиванием файл переименовывается в уникальный. После скачивания удаляется.
  * Загрузка справочника с ftp, выгрузка ТР-ций на ftp:
    * добавлен более подробный вывод ошибок от ftp
    * добавлена возможность подключения без указания логина и/или пароля
  * Добавлена возможность изменения логического номера кассы.
### Changed
  * 'Сетевой обмен' переименован в 'Статус сетевого обмена'.
  * 'Настройки регистрации' переименованы в 'Общие настройки'.
  * При загрузке справочника через файл, если родительская группа у сущности была не числом, то преобразовывалась в пустую строку.
    Теперь в пустую строку преобразуется только строка из одного нуля. Т.е. строка вида "0" означает, что код не указан.
    Это сделано для совместимости со множеством уже существующих справочников (это же касается кода товара и группы).
### Fixed
  * Если в настройках ЕГАИС в реквизитах нажать не поддерживаемую цифру программа перезагружается.

## [1.5.11] - 2017-03-31 16:50
### Added
  * Загрузка справочника в spr-формате, числа с плавающей точкой:
    * поддержка переменного числа знаков после разделителя (поддерживалось фиксированное число знаков)
    * поддержка двух разделителей: '.' и ',' (поддерживалась только точка)
    Чтобы изменения вступили в силу, необходима перезагрузка справочника.
  * Загрузка справочника в spr-формате, налоги:
    теперь налоги и налоговые группы могут быть указаны в spr-файле в любом порядке.
  * Добавлена возможность просмотра статуса обмена с фин. сервером.
### Fixed
  * Загрузка товаров от фин. сервера: исправлена неверная загрузка родительской группы. Поэтому подбор работал некорректно.
  * Исправлен порт по умолчанию для мон. сервера (был 4950, стал 4243). 
    Проявлялось, начиная с версии 1.5.9, если удалить MiniKassirState.ini
  * Исправлена ошибка открытия ком-порта при нажатии на плюс в режиме регистрации.
    Не учитывалась настройка "Использовать весы".
### Coded
  * Исправлены некоторые строки логирования, ставшие некорректными при переходе на новый spdlog.

## [1.5.10] - 2017-03-28 19:20
### Added
  * Загрузка справочника в spr-формате: 
    теперь в поле 'Код группы налога' можно указать ставку налога (формат: 0.00%).
    В таком случае при загрузке справочника код налога будет искаться в таблице КЯ.
### Fixed
  * Загрузка справочника в spr-формате: 
    если код группы не был указан у товара или группы, то такая сущность не отображалась в визуальном подборе.
      * Следствие исправления: товары или группы со значением род. группы = '0' не будут отображаться в подборе,
        для их отображения необходимо загрузить справочник снова.
### Coded
  * Обновлена система логирования до последней версии spdlog.

## [1.5.9] - 2017-03-22 16:50
### Fixed
  * При выгрузке отчета в его заголовке не учитывался номер кассы, заданный в MiniKassir.ini (PosNumber), а выгружался всегда 0.
### Changed
  * Файловый обмен, USB.
    Теперь не нужно указывать префикс '/mnt/'. Например, если было '/mnt/Pos.spr', то теперь этот путь следует записывать так: 'Pos.spr'
      * При загрузке старых настроек в usb-путях префикс '/mnt/' удаляется.
      * Если путь является абсолютным, то такой путь используется без изменений;
        в противном случае, к указанному пути добавляется префикс '/mnt/'.
  * MiniKassir.ini: удалены секции Skok и SkokMon 
   (не нужны; дефолтные значения зашиты в программу; значения, отредактированные пользователем, сохраняются в MiniKassirState.ini).

## [1.5.8] - 2017-03-21 19:45
### Added
  * Добавлена опция: настройки регистрации -> выгрузка отчёта (транзакций) после выполнения z-отчёта.
  * Добавлена опция: настройки регистрации -> использовать весы (зависимость от libQtSerialPort.so).
  * Добавлена возможность смены пароля администратора.
### Changed
  * Скок таймауты переведены в секунды и по умолчанию увеличены до 5 минут 
    (значения применяются только если MiniKassirState.ini не создан на момент запуска приложения).

## [1.5.7a] - 2017-03-20 15:10
### Fixed
  * Исправлено падение программы при включении режима внешнего соединения 
    (падение связано с получением заряда устройства через КЯ при выключенном соединении с КЯ).
    
## [1.5.7] - 2017-03-16 18:15
### Added
  * Добавлены опции выключения устройства: если заряд акк. < X%; никогда.
### Changed
  * Операция 'Возврат*' переименована в 'Возвр расх'.

## [1.5.6] - 2017-03-15 21:00
### Added
  * Добавлены ещё два типа чека: покупка (расход), возврат покупки (возврат расхода).
  * Добавлен режим регистрации по умолчанию (в меню 'Настройки регистрации'). Значения: Приход, Расход.
  * Добавлен индикатор заряда аккумулятора на верхнюю панель (в окне авторизации и регистрации).
### Changed
  * Максимальное число вводимых символов в поле ввода увеличено с 16 до 18 символов (для возможности вводить 18-символьные штрихкоды).
  * Режимы регистрации 'Продажа' и 'Покупка' заменены на 'Приход' и 'Расход'.
### Coded
  * Локальная верхняя панель заменена глобальной верхней панелью. Теперь есть возможность вывести эту панель в любое окно.

## [1.5.5] - 2017-03-13 22:35
### Added
  * Добавлена возможность ввести реквизиты покупателя при открытом чеке. Реквизиты передаются в КЯ(ФН) и печатаются на чеке.
  * Добавлена возможность ввода данных в диалоге с клавиатурой через сканер.
### Changed
  * При открытии диалога ввода с клавиатуры теперь выделен текущий текст.
### Fixed
  * В режиме регистрации по свободной цене теперь, если смена закрыта, шлется команда открытия смены.
  * В режиме регистрации по свободной цене теперь в качестве названия товара передается 1 пробел.
    Раньше передавалась пустая строка, что в новой версии КЯ приводило к ошибке 'Некорректные параметры в команде'.
  * В режиме регистрации по свободной цене, если при вводе секции отменить чек, то после отмены касса по прежнему останется в режиме запроса секции.
    Теперь переходит в режим ввода цены.
  * Программа падала, если печатаемая строка была больше 40 символов. Исправлено в оболочке kktlib.

## [1.5.4] - 2017-03-13 16:35
### Fixed
  * Налоги, номера которых не укладываются в диапазон от 1 до 4, теперь игнорируются.
    Раньше такой налог приводил к ошибке КЯ 'Некорректные параметры в команде'.
  * Теперь, если в реквизитах товара не указан 'Текст для печати' и не указано 'Название', то в КЯ такой товар передается как 1 пробел.
    Раньше такой товар приводил к ошибке КЯ 'Некорректные параметры в команде'.

## [1.5.3] - 2017-03-11 16:15
### Changed
  * Пункт меню 'Аутентификация' заменен на 'Авторизация'.
### Fixed
  * Не работала докачка частей при обновлении с сервера.

## [1.5.2] - 2017-03-10 20:30
### Added
  * Добавлена возможность тестирования устройства.
### Changed
  * В меню 'Выгрузка транзакций' переименована в 'Выгрузка отчёта'.
### Fixed
  * Вынимание сканера из usb-порта приводило к перезагрузке программы.
  * ЕГАИС: добавлена посылка отмены чека, если чек не удалось закрыть в ККТ.
  * Настройки файлового обмена зависили от предыдущего состояния клавиатуры, установленного на других экранах настроек.
    Для воспроизведения: сначала нужно отредактировать настройки файлового обмена (файл выгрузки), затем порт егаис, 
    затем вернуться в настройки файлового обмена. Название файла отчета меняется на введенный до этого порт егаис.

## [1.5.1] - 2017-03-09 13:40
### Added
  * Добавлена возможность редактировать настройки ЕГАИС.
  * Добавлена поддержка налогов.
  * Добавлена возможность выгрузки ТР-ций за указанный период.
  * Добавлена возможность ввода цены товара, если она равна 0.
### Changed
  * Добавлен вызов команды umount (размонтирование) сетевой папки при файловом обмене через сетевую папку после завершения обмена.
### Fixed
  * Bug: Невозможно продать товар, если текст для печати пустой, а заполнено только название.
    Теперь, если текст для печати отсутствует, то используется название товара.
  * При загрузке справочника товаров в БД писались реквизиты 'Макс. процент скидки' и 'Макс. процент бонуса' всегда равными 0.
  * Исправлена работа с usb-hid. Теперь должно поддерживаться большее число сканеров.
### Coded
  * Большой рефакторинг кода, организующего работу с БД товаров и других справочников кассира.

## [1.5.0] - 2017-02-10 18:40
### Added
  * Добавлены вызовы sync() при обновлении.

## [1.4.9] - 2017-02-10 02:30
### Fixed
  * Исправлена команда перемещения папки. Вместо qt используется linux-shell. Теперь работает экспорт таблиц КЯ.
  * Пароль админа для редактирования настроек работает теперь и вслучае ошибки КЯ при логине.
  * При экспорте таблиц теперь команда закрытия смены подается только в случае, если смена открыта.

## [1.4.7] - 2017-02-09 18:20
### Fixed
  * Исправлена ошибка в пути, определяющим нужна ли миграция КЯ.

## [1.4.6] - 2017-02-09 16:20
### Changed
  * Уменьшено замусоривание лога от gprs-демона.
### Fixed
  * При обмене со скок-серверами использовался неверный uin: брались последние 8 цифр от зав. номера. Теперь берутся все цифры.

## [1.4.5] - 2017-02-08 23:00
### Added
  * Добавлена выгрузка таблиц КЯ.
  * Добавлена обработка флага $$$CLR при распарсивании файла справочника (очистка справочника перед его загрузкой).
### Changed
  * Теперь нулевые байты от usb-hid устройства игнорируются.
  * Теперь просмотр/редактирование настроек доступно только для администратора (за исключением первого экрана настроек).
### Fixed
  * Теперь, если транзакции не удалось выгрузить в сетевую папку, то выдается ошибка.

## [1.4.4] - 2017-02-03 16:00
### Added
  * Теперь при обновлении после его распаковки выводится сообщение о текущей версии ПО и о новой версии 
    и запрашивается подтверждение обновления от пользователя.
### Fixed
  * При возврате по номеру чека в чек возврата пападали ТР-ции отмены, если имели номер чека равный оригинальному номеру чека для возврата.
  * Не работал возврат по номеру чека, следующего сразу за открытием смены.
    Это было следствием того, что при записи ТР-ций в БД испольозовался номер чека, принадлежащий чеку открытия смены.

## [1.4.3] - 2017-02-01 17:45
### Changed
  * Загрузка справочника и выгрузка транзакций вынесены на первый экран меню. Повышена стабильность скачиваня файлов по ftp.
  * Изменена настройка типа сети по умолчанию: была Wi-Fi, стала - Ethernet.
  * Теперь при старте в зависимости от текущих настроек сети MiniKassir оставляет включенным только один сетевой интерфейс (eth0 или wlan0 или ppp0).

## [1.4.2] - 2017-01-30 17:40
### Added
  * Добавлена отправка пакета АРМИ на мон. сервер, если ещё не был успешно отправлен.

## [1.4.1] - 2017-01-27 19:20
### Fixed
  * Теперь перед выгрузкой транзакций в файл сначала создаются все родительские папки.
  * Fixed regression bug. При возврате (и сторно) производилась продажа вместо соотв. действия.

## [1.4.0] - 2017-01-18 17:15
### Added
  * Обновление ПО с мон. сервера.
  * Добавлена запись в БД транзакции 'Акцизный товар'
  * Добавлено сканирование акцизных товаров при возврате по номеру чека.
  * Добавлены настройки файлового обмена. Добавлена поддержка ещё двух видов: сетевая папка, ftp.
### Changed
  * Теперь при работе с фин. и мон. серверами в качестве uin используется заводской номер кассы.
  * Теперь при работе с фин. и мон. серверами номер кассы слева дополняется пробелами, а не нулями.
  * Теперь при выключенном дисплее нажатие клавиш на устройстве включает дисплей, но не изменяет текущее состояние в программе.

## [1.3.0] - 2016-12-22 11:45
### Added
  * Обновление ПО с флешки.
  * Загрузка признака 'Акцизный товар' с фин. сервера
  * Добавлена запись ТР-ции сторнирования в БД, а также её выгрузка в фин. сервер.
  * Добавлена загрузка акцизных товаров из spr-файла.
  * Добавлена опция в настройки регистрации 'Объединение товаров в одну позицию чека при подборе товара с одинаковым кодом'.
  * Реализован новый механизм чтения usb-клавиатуры - через /dev/input/event1 вместо /dev/tty1.
    Теперь можно использовать сканер с настройками по умолчанию (конец ввода - '\n').
  * В фин. сервер при возврате по номеру чека теперь отсылается номер оригинального чека.
### Changed
  * MiniKassirD: изменены условия перезапуска MiniKassir. 
    Было, если exitCode == 0 || exitCode >= 100, то выходим, в остальных случаях - перезапуск.
    Однако segfault приводит к exitCode==139 и перезапуска нет.
    Поэтому теперь, если exitCode == 0 || exitCode == 143 (when kill app), то выходим, в остальных случаях - перезапуск.
  * По умолчанию, теперь экран никогда не выключается.
### Fixed
  * В фин. сервер не выгружался номер смены при отмене чека, теперь выгружается.
  * При проведении чека в КЯ передавалась сумма покупки вместо цены товара.
  * В БД теперь все ТР-ции выгружаются с корректным знаком суммы при продаже/возврате.
  * "Если в документ Выплата или документ Внесение подобрать товар и нажать "ОК" происходит перезагрузка программы."
    В этих режимах убрана кнопка 'Подбор' и кнопка смены режима подбора. Теперь в этих режимах нельзя подбирать товар.
  * Теперь при закрытии чека, если все товары отсторнированы, выводится ошибка. Такой чек не закрывается и не передается в КЯ.
  * Bug #2092. ECR Name нужно использовать для передачи в кассовое ядро как название товара.
  * Bug. На фин. сервер ТР-я возврата по номеру чека выгружалась как отд. товар.
### Coded
  * Масштабный рефакторинг кода. Выделена доменная сущность Register (касса), а также её другие виды в зависимости от контекста использования.
    Уменьшено число зависимостей в бизенес-логике регистрации товара.

## [1.2.4] - 2016-12-01 21:00
### Added
  * Task #2070. Добавлена возможность менять режим регистрации из меню (по свободной цене или с подбором товара).
  * Реализовано сканирование акцизной марки при продаже, возврате. 
    (При возврате по номеру чека сканирование марки пока не поддерживается).
### Changed
  * Изменена кодировка данного файла на utf-8 (with windows line endings).
### Fixed
  * Не задавался номер смены при отмене чека и соответственно не выгружался в фин. сервер. Теперь задается.
  * Исправлена загрузка товаров с фин. сервера: товары не загружались из-за некорректной обработки 
    неизвестных приложению tlv-тегов длиной 0 байт (новый тег - дробное кол-во).
  * Исправлено падение в режиме продажи по свободной цене при выборе пункта меню 'Конфигурация', если при этом
    при компиляции не была задана ни одна из существующих конфигураций. Теперь просто ничего не происходит.
  * Исправлено падение при внесении или выплате.
  * При возврате в фин. сервер уходили отриц. суммы и поэтому отвергались сервером. Исправлено, теперь уходят положительные суммы.

## [1.2.3] - 2016-11-30 16:30
### Added
  * Добавлена загрузка артикула с фин. сервера.
  * Доработан egais. В БД создана таблица с признаком того, является ли товар акцизным (необходимо удалить старую БД).
    (Пока не реализована загрузка признака акцизного товара из spr-файла.)
### Changed
  * Изменен таймаут бездействия, используемый для отключения экрана: был 30сек, а теперь - 300сек.

## [1.2.2] - 2016-11-28 15:30
### Added
  * Task 2060, 2061. Для отправки в фин. сервер: реализовать запрос deposit – внесение, реализовать запрос payment – выплата.
### Changed
  * В режиме регистрации и оплаты теперь можно ввести 16 символов. Раньше было 13.
  * Скрипт запуска MiniKassirD.sh изменен так, чтобы MiniKassir можно было убить одной командой killall MiniKassir,
    а не двумя (приходилось сначала убивать демон, а затем само приложение).
  * Изменен алгоритм возврата по номеру чека (история возвратов не учитывается).  
### Fixed
  * Bug. При снятии Z-отчета в БД писалась ТР-я, где выручка всегда равнялась 0. Также в БД теперь пишется 'Наличность в кассе'.
  * Bug. В режиме регистрации и оплаты нельзя было ввести только один ведущий ноль, только два и более.
  * Bug. Фин. сервер: при возврате по номеру чека в поле 'Код товара' писалась дата вместо кода товара.

## [1.2.1] - 2016-11-23 15:35
### Fixed
  * Восстановлен старый механизм проверки пароля пользователя, т.к. иначе при тех. обнулении все пароли становятся некорректными
    из-за невозможности считать таблицу пользователей из КЯ.

## [1.2.0] - 2016-11-23 10:45
### Added
  * Добавлена загрузка ШК товара при необходимости (например, при отправке чека в ЕГАИС или фин. сервер).
  * Теперь при загрузке приложения считывается таблица всех возможных пользователей (пароль, имя) из КЯ.
  * Task 2062. В поле ввода для поиска нужно иметь возможность вводить лидирующие нули.
  * Task 2067. Реализовать отправку отмены на фин. сервер.
  * Теперь транзакции выплаты и внесения добавляются в БД.
### Changed
  * Task 2059. Передавать в финансовый сервер имя кассира вместо его пароля.
  * Task 2063. В фильтре при подборе теперь показано минимальное число символов, необходимое для применения фильтра.
  * Теперь по умолчанию для ввода фильтра используется русский, а не английский.
### Fixed
  * Теперь в фин. сервер передается inn из запроса состояния ККТ, вместо константы '123456789012'.
    Если инн не задан, то передается строка из 12 нулей.
  * Bug. При загрузке товаров с фин. сервера некорректно грузились в БД штрихкоды (не задавался код ШК, только владелец).
  * Bug. При возврате по коду через форму оплаты режим возврата не переключался обратно на режим продажи.
  * Bug. На фин. сервер в чеках не выгружались ШК товаров.
  * Bug 2064. Переключение режима ввода клавиатуры. Если зайти в настройки яркости экрана, где вводятся цифры, а потом открыть настройку точки доступа wifi, то там тоже только цифры дает вводить - клавиатура не переключается.

## [1.1.0] - 2016-11-16 13:00
### Added
  * Task 2056. Реализовать запрос shift_open – открытие смены.
  * Task 2057. Реализовать запрос shift_close – закрытие смены.
### Fixed
  * Bug 2055. Выгружать в финансовый сервер правильный номер смены.
  * Теперь, если смена была закрыта и её не удалось открыть, то дальше чек не передается в КЯ. Раньше всё равно передавался.

## [1.0.6] - 2016-11-08 20:15
### Changed
  * 'СКоК' в настройках заменено на 'Финансовый сервер'

## [1.0.5] - 2016-11-07 19:50
### Added
  * Добавлена возможность редактировать настройки СКоК через главное меню.
  * Добавлена возможность генерации СКоК-токена и отправки его на сервер, а также его можно распечатать.
  * Добавлен пункт меню 'Перезагрузка MiniKassir'.
  * Добавлен MiniKassirD.sh в папку MiniKassir. 
  * Служит в качестве демона, который перезапускает MiniKassir в случае его падения или выхода из него.
   (Теперь, чтобы убить MiniKassir необходимо убить сначала MiniKassirD.sh)
### Fixed
  * Выбор пункта меню при помощи цифр теперь выделяет этот пункт, как и в случае выбора пункта меню стрелками.