Skip to content

Datecs protocol (Model A)

Vladimir Vissoultchev edited this page Dec 14, 2019 · 4 revisions

ОПИСАНИЕ НА ПРОГРАМНИЯ ИНТЕРФЕЙС КЪМ ФИСКАЛЕН ПРИНТЕР
DATECS FP-800 / FP-2000 / FP-650 / SK1-21F / SK1-31F/ FMP-10 / FP-700

Версия 1.00BG

ВЪВЕДЕНИЕ

Фискалното устройство работи под управлението на приложна програма, комуникирайки с нея чрез асинхронен сериен канал за връзка RS232 или по друг интерфейс. То е предназначено да изпълнява предварително определен набор от команди, логически подредени в зависимост от вида на операциите, които трябва да се изпълнят. Приложната програма няма директен достъп до ресурсите на фискалното устройство, но може да извлича данни, свързани със състоянието на фискалното устройство и фискалната памет.

Фискалното устройство изпълнява следните видове операции:

  • Запомняне на индивидуалния номер на фискалното устройство и номера на фискалната памет.
  • Запомняне на фискалните параметри, като ЕИК, номер по ЗДДС на данъчно задълженото лице, дата на въвеждане в експлоатация и др.
  • Запомняне на информация за собственика, като адрес, име и др.
  • Запомняне на стойностите на продажбите и генериране на клиентски бон.
  • Запомняне на дневния оборот във фискалната памет и генериране на дневен финансов отчет.
  • Запомняне на текста от фискалните бонове и дневните отчети в КЛЕН и справки от КЛЕН при заявка.
  • Генериране на отчети за реализираните продажби и съдържанието на фискалната памет.
  • Отпечатване на отчети, генерирани от приложението.
  • Извеждане на данни към приложната програма.
  • Изпращане на данни до НАП по GPRS модем.

ДАНЪЧНИ ГРУПИ И ИЗЧИСЛЯВАНЕ НА ДДС

Всяка продажба е причислена към определена данъчна група (ДДС), която определя данъчната ставка, приложена към базовата цена за формиране цената на продажбата. Фискалният принтер може да работи с най-много 8 данъчни групи, обозначени обикновено с първите букви от азбуката на езика за съответната страна, за която е настроен фискалния принтер (ФП), за България – ‘А’, ‘Б’, ‘В’, ‘Г’, ‘Д’, ‘Е’, ‘Ж’ и ‘З’.

За всяка от данъчните групи се задава данъчна ставка (в проценти), която трябва да бъде число не по- голямо от 99.00, с не повече от два десетични знака. Част от осемте стандартни данъчни групи могат да се забраняват, чрез установяване на Enabled_taxes в команда 83 (53h).

Командите за продажба приемат като параметър главните букви ‘А’, ‘Б’, ‘В’, ‘Г’, ‘Д’, ‘Е’, ‘Ж’ и ‘З’ (в DOS-овска или 1251 кодова таблица) или съответно началните букви от латинската азбука ‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’, ‘G’ и ‘H’. Същото се отнася и за всички команди, очакващи данъчна група като входен параметър (например програмиране на артикул в команда 107). ЛАТИНИЦАТА Е ДОПУСТИМА САМО КАТО ВХОДЕН ПАРАМЕТЪР! Навсякъде при печат данъчните групи са на кирилица!

Нетната стойност на продажбата се изчислява по формулата:

Сума_нето = ROUND(Оборот/(1 + Ставка))

Функцията ROUND извършва стандартно закръгляне до най-малката използвана единица валута (стотинки или левове при работа с цели числа).

Стойността на платимият данък се изчислява по формулата:

Данък = Оборот – Сума_нето

РЕЖИМИ НА РАБОТА НА ФИСКАЛНОТО УСТРОЙСТВО

Фискалното устройство може да работи в два режима.

  • Учебен режим. Устройството не е фискализирано. Всички данни, необходими за нормалната му работа са въведени и записани във фискалната памет с изключение на ЕИК на собственика и данъчните ставки. Могат да се отварят и издават клиентски бонове, но винаги върху тях се изписва, „нефискален бон”. Могат да се извършват дневни финансови отчети с нулиране, но те не се записват във фискалната памет. Отпечатаната информация не се записва в КЛЕН.
  • Нормален режим. Устройството е фискализирано. ЕИК на собственика е въведен и записан във фискалната памет. Прилагат се всички фискални правила. Направена е регистрация в НАП по модема, получени са и са записани съответните номера.

СЪСТОЯНИЯ НА ФИСКАЛНОТО УСТРОЙСТВО

Фискалният принтер може да се намира в няколко състояния. Преминаването му от едно състояние в друго не винаги е възможно. Управлението на принтера, както и преходите между състоянията, когато това е възможно, се осъществяват от приложната програма в Host (PC), която трябва да бъде строго съобразена с използвания протокол. При неправилно прилагане на протокола е възможно принтера да попадне в нежелано състояние или да бъде пропуснато преминаването му през дадено състояние, което съответно води до попадане на принтера в състоянието ГРЕШКА .

А) НАЧАЛНО СЪСТОЯНИЕ

В това състояние трябва да се установят датата и часът, да се програмира номера на фискалната памет, индивидуалният номер на устройството и кодът на държавата. ТЕЗИ ОПЕРАЦИИ СЕ ИЗВЪРШВАТ ПРЕДИ ПРЕДАВАНЕ НА КЛИЕНТА САМО ОТ ПРОИЗВОДИТЕЛЯ!

Трябва да се изпълнят следните команди в последователността, в която са дадени: 61 (3Dh) и 91 (5Bh).

Б) СЪСТОЯНИЕ СЛЕД ЗАДАВАНЕ НА СЕРИЕН НОМЕР И НОМЕР НА ФИСКАЛНАТА ПАМЕТ

В това състояние трябва:

  • Да се формарира КЛЕН с команда 134 (86h).
  • Да се зададат името на валутата, броя десетични знаци и броя и размера на данъчните ставки с команда 83 (53h).

След като се извършат тези операции фискалният принтер е готов да се предаде на клиента, който ще го ползва, т.е. в това състояние устройствата се държат в склада на производителя.

В) СЪСТОЯНИЕ ПРИ ПРЕДОСТАВЯНЕ НА КЛИЕНТ

В това състояние трябва да се зададат „header и „footer, които всъщност са началото и края на всеки бон. В „header-а обикновено се записва информация за собственика (име на фирмата, адрес и др.), а във „footer-a някакъв рекламен текст. Трябва да се изпълни командата 43 (2Bh) толкова пъти колкото редове се установяват.

Може да се направят допълнителни настройки като програмиране на графично лого, плътност на печат, настройки на серийния порт и други.

Г) УЧЕБЕН РЕЖИМ

В това състояние ФП се намира докато не се фискализира. Възможно е издаването на бонове, като трябва да се има предвид, че дори и клиентските бонове в този режим се маркират като нефискални. Възможно е и извършването на дневен финансов отчет с нулиране (Z-отчет), но не се прави запис във фискалната памет. Зададен е ЕИК, но той не е записан във фискалната памет и може да се променя. Отчетите на фискалната памет не се изпълняват. Нулиранията на паметта, ако има такива, не предизвикват запис във фискалната памет. Часовникът може да се сверява произволно. В учебен режим фискалният принтер НЕ МОЖЕ ДА БЪДЕ ИЗПОЛЗУВАН в търговски обекти – предназначението му е само за обучение.

Д) ФИСКАЛИЗИРАН И РЕГИСТРИРАН ФИСКАЛЕН ПРИНТЕР

В това състояние могат да се издават клиентски финансови бонове, маркирани като фискални. При извършване на дневен финансов отчет с нулиране (Z-отчет) се прави запис във фискалната памет. Сверяването на датата е допустимо само напред спрямо последния запис във фискалната памет. ЕИК се записва във ФП и повече не може да се променя. НЕ Е ВЪЗМОЖНО излизането на принтера от фискален режим без смяна на фискалната памет.

Преди фискализация трябва да се установи ЕИК на притежателя на устройството, ако вече не е зададен (команда 98 (62h), и после да се изпълни командата за 72 (48h). При това принтерът преминава във фискален режим, но все още не е готов за работа и ще отхвърли опита за печат на фискални бонове. За нормална работа принтерът трябва да се регистрира в НАП с предвидената за това програма.

Е) НЕОБРАТИМА ГРЕШКА ВЪВ ФИСКАЛНИЯ ПРИНТЕР

В това състояние фискалният принтер попада в случай, че е установена сериозна техническа или логическа грешка при работа на устройството, както и в случай на неизправност на модула фискална памет, КЛЕН или данъчния терминал. В този режим след включване на принтера се печата с удебелен шрифт „ФАТАЛНА ГРЕШКА: 4” при грешка във фискалната памет или описателно съобщение за проблема с някое от другите периферни устройства в принтера. Принтерът отказва да изпълнява команди за отваряне на фискални бонове, и такива, свързани със запис във фискалната памет. Могат да се изпълняват само диагностични команди и периодични отчети.

Необходимо е зануляване на RAM и поставянето на нов модул фискална памет, КЛЕН или данъчен терминал в зависимост от повредата.

ТЕЗИ ОПЕРАЦИИ Е ЗАДЪЛЖИТЕЛНО ДА БЪДАТ ИЗВЪРШВАНИ ОТ УПЪЛНОМОЩЕН ОТ БЪЛГАРСКИ ИНСТИТУТ ПО МЕТРОЛОГИЯ СЕРВИЗ, ПРИТЕЖАВАЩ УДОСТОВЕРЕНИЕ ЗА СЕРВИЗИРАНЕ НА СЪОТВЕТНИЯ МОДЕЛ ФИСКАЛНО УСТРОЙСТВО, С КОЙТО ЗАДЪЛЖЕНОТО ЛИЦЕ ИМА СКЛЮЧЕН ДОГОВОР ЗА СЕРВИЗНО ОБСЛУЖВАНЕ.

Събитията довеждащи до това състояние са:

  • Невъзможно извършване на верен запис във фискалната памет.
  • Невалидна контролна сума на ЕИК, индивидуален номер на фискалното устройство, номер на фискалната памет или някой от записите с данъчни ставки.
  • Неразпознаване формата на модула фискална памет.
  • Ако при проверката на фискалната памет след включване на принтера се намерят повече от три невалидни контролни суми на фискален запис от дневен финансов отчет. Фискалните записи с невалидна контролна сума се разпечатват при включването му (ако не е в състояние на отворен бон), както и на съответното място в отчетите на фискалната памет.
  • Липсваща комуникация с данъчния терминал или „чужд” данъчен терминал – с различен от записания във фискалната памет сериен номер.
  • Липсваща комуникация с КЛЕН или КЛЕН от друг принтер, който позволява да бъде само четен.
  • Запълнен КЛЕН (малко вероятно, предвид размера на КЛЕН).

ИНДИКАЦИЯ НА СЪСТОЯНИЕТО НА ПРИНТЕРА НА ЛИЦЕВИЯ ПАНЕЛ

Ако по време на работата си принтерът установи неизправност, той може да блокира изпълнението на някои от командите. Състоянието на принтера се показва от светодиода на лицевия панел. Възможните сигнали на светодиода са описани по-долу:

  • Зелена индикация:
    • Свети постояннно:
      Принтерът е в готовност за изпълнение на команди.
    • Мига равномерно около 2 пъти в секунда:
      Принтерът се инициализира и проверява работоспособността си или изпълнява продължителна команда. Трябва да се изчака.
    • Не свети:
      Периферията е в нормално работно състояние.
    • Свети постоянно:
      Няма хартия или е отворен капак. Трябва да се намери и отстрани причината за грешката.
    • Мига равномерно около 2 пъти в секунда:
      Печатащата глава е прегряла. Трябва да се изчака – след изстиването и печатът ще продължи автоматично.
    • Мига неравномерно - 2 пъти и след това пауза.
      Няма комуникация с КЛЕН. Може да се изключи и включи принтерът за ресет на КЛЕН. Ако това не помогне, необходима е сервизна намеса.

КОНФИГУРАЦИОННИ КЛЮЧЕТА НА ФИСКАЛНИЯ ПРИНТЕР

Принтерът използува 16 бита от флаш-паметта като конфигурационни ключета, които задават режима на устройството. Промяната на стойността им става с команда 41 (29h), като трябва да бъдат зададени първите 8 или всичките 16. Функциите им са описани в следната таблица:

Ключе Изключено Включено
1 Нормален режим на дисплея Режим „Прозрачен дисплей”
2 Работа със стандартен дисплей на ДАТЕКС Работа с дисплей с кодова таблица 1251
3* Печат на 3-инчова хартиена лента Печат на тясна хартия
4 Няма автоматично отрязване Автоматично отрязване на хартията след бон
5 Кирилицата е по кодова таблица 1251 Кирилицата е по DOS-овска таблица (856)
6 Задава скоростта на предаване на серийния порт
7 Задава скоростта на предаване на серийния порт
8 Задава скоростта на предаване на серийния порт
9** Не се използва Разрешава полурязане
10*** Не се използва Разрешава работата на презентер
11 Не се използва
12 115200 bps комуникация с модема 230400 bps комуникация с модема
13 Не се използва
14 Не се използва
15 Не се използва
16 Не се използва

Избор на скорост на предаване на серийния порт

Ключе 6 Ключе 7 Ключе 8 Скорост (bps
ИЗКЛ ИЗКЛ ИЗКЛ 1200
ВКЛ ИЗКЛ ИЗКЛ 2400
ИЗКЛ ВКЛ ИЗКЛ 4800
ВКЛ ВКЛ ИЗКЛ 9600
ИЗКЛ ИЗКЛ ВКЛ 19200
ВКЛ ИЗКЛ ВКЛ 38400
ИЗКЛ ВКЛ ВКЛ 57600
ВКЛ ВКЛ ВКЛ 115200

*По подразбиране принтерите не поддържащи работа с 3 инчова хартия не приемат ключе 3 като валидна настройка. (ключе 3 ще остане в изключено състояние).

**Разрешава полурязане и автоматично спира работата на презентера дори да е разрешен.

***Разрешава работата на презентер при принтери SK1-21F и SK1-31F

СТАТУС БИТОВЕ НА ФИСКАЛНИЯ ПРИНТЕР

Текущото състояние на устройството е кодирано в поле с дължина 6 байта, което се предава в рамката на всяко съобщение от фискалния принтер. Следва описание на всеки байт от това поле:

Байт 0: Общо предназначение
0.7 Резервиран – винаги е 1.
0.6 Отворен е капакът на принтера.
0.5 Обща грешка - това е OR на всички грешки, маркирани с ‘#’.
0.4 # Механизмът на печатащото устройство има неизправност.
0.3 Не е свързан клиентски дисплей.
0.2 Часовникът не е установен.
0.1 # Кодът на получената команда е невалиден.
0.0 # Получените данни имат синтактична грешка.
Байт 1: Общо предназначение
1.7 Резервиран – винаги е 1.
1.6 Вграденият данъчен терминал не отговаря.
1.5 Отворен е служебен бон за печат на завъртян на 90 градуса текст.
1.4 Отворен сторно бон.
1.3 # Слаба батерия (Часовникът за реално време е в състояние RESET).
1.2 # Извършено е зануляване на оперативната памет.
1.1 # Изпълнението на командата не е позволено в текущия фискален режим.
1.0 При изпълнение на командата се е получило препълване на някои полета от сумите. Статус 1.1 също ще се установи и командата няма да предизвика промяна на данните в принтера.
Байт 2: Общо предназначение
2.7 Резервиран – винаги е 1.
2.6 Много близък край на КЛЕН (допускат се само определени бонове).
2.5 Отворен е служебен бон.
2.4 Близък край на КЛЕН (по-малко от 10 MB от КЛЕН свободни).
2.3 Отворен е фискален бон.
2.2 Край на КЛЕН (по-малко от 1 MB от КЛЕН свободни).
2.1 Останала е малко хартия.
2.0 # Свършила е хартията. Ако се вдигне този флаг по време на команда, свързана с печат, то командата е отхвърлена и не е променила състоянието на принтера.
Байт 3: За състояние на конфигурационните ключета
3.7 Резервиран – винаги е 1.
3.6 Състояние на Sw7.
3.5 Състояние на Sw6.
3.4 Състояние на Sw5.
3.3 Състояние на Sw4.
3.2 Състояние на Sw3.
3.1 Състояние на Sw2.
3.0 Състояние на Sw1.
Байт 4: За фискалната памет
4.7 Резервиран – винаги е 1.
4.6 Печатащата глава е прегряла.
4.5 OR на всички грешки, маркирани с ‘*’ от байтове 4 и 5.
4.4 * Фискалната памет е пълна.
4.3 Има място за по-малко от 50 записа във ФП.
4.2 Зададени са индивидуален номер на принтера и номер на фискалната памет.
4.1 Зададен е ЕИК по БУЛСТАТ.
4.0 * Има грешка при запис във фискалната памет.
Байт 5: За фискалната памет
5.7 Резервиран – винаги е 1.
5.6 Не се използува.
5.5 Грешка при четене от фискалната памет.
5.4 Зададени са поне веднъж данъчните ставки.
5.3 Принтерът е във фискален режим.
5.2 * Последният запис във фискалната памет не е успешен.
5.1 Фискалната памет е форматирана.
5.0 * Фискалната памет е установена в режим READONLY (заключена).

ПРЕКЪСВАНЕ НА ЗАХРАНВАНЕТО

Във всеки момент състоянието на принтера е отразено в неговите байтове на състоянието. Когато принтера се включи след като е спирало захранването, приложната програма, чрез командите 76 (4Ah) и 103 (67h) трябва да се осведоми за състоянието на принтера.

Приложната програма трябва да вземе решение за по нататъшното поведение в зависимост от състоянието на принтера. Гарантира се, че фискалната памет няма да се повреди от спиране на захранването, както и че натрупаните суми в оперативната памет ще бъдат валидни. Ако е отпаднало захранването по време на печат, то след включването на принтера той ще отпечата един ред „СПАД НАПРЕЖЕНИЕ” с широки букви и ще довърши печата.

ИЗДАВАНЕ НА ФИСКАЛНИ И СЛУЖЕБНИ БОНОВЕ

А) СЛУЖЕБНИ БОНОВЕ.

Бонът първо се отваря, след това се отпечатва текст и накрая се затваря.

Използват се командите 38 (26h), неограничен брой пъти 42 (2Аh) и накрая 39 (27h). Разрешено е и печатането на баркод с команда 84 (54h).

Принтерът поддържа и печат на служебни бонове със завъртян на 90 градуса текст и таблици. Използват се команди 122 (7Ah), 123 (7Bh), 124 (7Ch) и евентуално 84 (54h) за баркодове.

Б) ФИСКАЛНИ БОНОВЕ.

Първо се отваря фискален бон, регистрират се продажбите, извършва се плащането и накрая бона се приключва.

Използват се командите 48 (30h), 49 (31h), 51 (33h), 52 (34h), 53 (35h), 54 (36h), 58 (3Ah) и 56 (38h). Разрешено е и печатането на баркод с команда 84 (54h).

Накрая на деня се извършва дневен финансов отчет с нулиране (Z-отчет), за да се запише информацията във фискалната памет. Това става с командата 69 (45h).

КЛЕН (КОНТРОЛНА ЛЕНТА НА ЕЛЕКТРОНЕН НОСИТЕЛ)

Принтерът запомня всеки ред от фискалните бонове, служебните бонове, документите със сервизна информация при инициализация, X- и Z-отчетите в контролната лента на електронен носител (КЛЕН). КЛЕН е с обем минимум 2 GB и при нормална работа би трябвало да поеме всички данни от работата на принтера до запълване на фискалната памет При повреда или при запълване (при много активна работа), КЛЕН може да се смени с празна, като старата се съхранява по определения в Наредба Н-18 ред и срокове.

От КЛЕН могат да се правят следните справки:

  • Печат на копие от документ по номер, дата и час или пореден номер за даден Z-отчет.
  • Изтегляне на документ/документи по серийния порт в текстов вид и максимално близко до оригиналното форматиране върху хартията. Също може да е по номер, дата и час или пореден номер във даден Z-отчет.
  • Информация за пълния размер на КЛЕН и на запълнената част в байтове, номерата на първия и последния документ в него, както и на първия и последния Z-отчети.
  • Проверка валидността на SHA-1 контролната сума за документите от цял Z-отчет посредством прякото и изчисляване от принтера.
  • Сравняване на SHA-1 контролните суми за един или повече Z-отчети с тези, записани във фискалната памет и отпечатване на отчет с резултата от проверката.

Два флага от статус-байтовете предупреждават за близък край на КЛЕН (10 MB свободни) и край на КЛЕН (1 MB свободни). Ако е вдигнат флагът „Край на КЛЕН”, следните команди са забранени: 38 (Отваряне на служебен бон), 42 (Свободен текст в служебен бон), 48 (Отваряне на фискален бон), 49 (Регистриране на продажба), 52 (Регистриране и показване на дисплея), 54 (Печат на фискален текст), 58 (Продажба на артикул) и 84 (Печат на баркод).

ГЕНЕРИРАНЕ НА ОТЧЕТИ

Отчетите се генерират изцяло от фискалния принтер при получаване на съответната команда от PC. При тези отчети не е възможно потребителската програма да прави каквито и да е промени във вида на отчетите, т.е. те изглеждат така, както са предефинирани във ФП. Предизвикват се с командите:

50 (32h) - отчет промени на данъчните ставки и десетичните знаци.
69 (45h) - дневен финансов отчет с или без нулиране.
108 (6Ch) - дневен финансов отчет с или без нулиране и с разпечатка на сумите по артикули.
117 (75h) - дневен финансов отчет с или без нулиране и с разпечатка на сумите по департаменти.
118 (76h) - дневен финансов отчет с или без нулиране и с разпечатка на артикули и департаменти.
79 (4Fh) / 95 (5Fh) - съкратен отчет на фискалната памет от дата до дата / от номер до номер на фискален блок.
73 (49h) / 94 (5Eh) - пълен отчет на фискалната памет от дата до дата / от номер до номер на фискален блок.
119 (77h) - Печат на документи от КЛЕН.

ПРОТОКОЛ НА НИСКО НИВО

А) ТИП НА ПРОТОКОЛА . - Master (Host) / Slave

Фискалният принтер изпълнява командите изпратени му от Host и връща съобщение, зависещо от резултата.
Фискалният принтер не може да инициира комуникация. Само съобщения, които са резултати от изпълнението на получени команди се изпращат до Host.
Съобщенията в протокола са или пакетирани съобщения или единични байтове.
Фискалният принтер поддържа комуникация по RS232 при скорости на обмен 1200, 2400, 4800, 9600, 19200, 38400, 57600 и 115200 b/s, 8N1. Скоростта се задава от конфигурационни битове 5, 6 и 7. Поддържа се и LAN връзка, параметрите на която се задават с команда 36 (24h).

Б) ПОСЛЕДОВАТЕЛНОСТ НА СЪОБЩЕНИЯТА

Host изпраща пакетирано съобщение, съдържащо командата към принтера.
ФП извършва исканата операция и отговаря с пакетирано съобщение отговор.
Host трябва да чака отговора от принтера преди да изпрати друго съобщение.
Протоколът използва непакетирани кодове с дължина един байт, за обработката на необходими паузи и грешни състояния.

В) НЕПАКЕТИРАНИ СЪОБЩЕНИЯ, TIME-OUT

При нормална работа на всички съобщения от Host, Slave отговаря не по-късно от 60 ms или с пакетирано съобщение или с еднобайтов код. Host трябва да има 500 ms time-out за получаване на отговор от Slave. Ако за това време не се получи никакъв отговор, той трябва да предаде съобщението отново със същия пореден номер и същата команда. При няколко неуспешни опита, Host трябва да индицира, че няма връзка с фискалния принтер или има хардуерна грешка.

Непакетираните съобщения се състоят от един байт и те са:

  • а) NAK 15H

    Този код се изпраща от Slave когато открие грешка в контролната сума или формата на полученото съобщение. Когато Host получи NAK, той трябва да предаде отново съобщение със същия пореден номер

  • б) SYN 16H

    Този код се изпраща от Slave, когато получи команда, за която е необходимо по-дълго време за изпълнение. SYN се изпраща на всеки 60 ms, докато не е готово пакетираното съобщение за отговор

Г) ПАКЕТИРАНИ СЪОБЩЕНИЯ

  • а) Host към принтер. (Send)

    <01><LEN><SEQ><CMD><DATA><05><BCC><03>

  • б) Принтер към Host. (Receive)

    <01><LEN><SEQ><CMD><DATA><04><STATUS><05><BCC><03>

Където:

<01> Preamble
дължина: 1 байт
стойност: 01H
<LEN> Брой байтове от <01> (без него) до <05> (вкл.) плюс фиксирано отместване от 20h
дължина: 1 байт
стойност: 20H - FFH
<SEQ> Пореден номер на рамката
дължина: 1 байт
стойност: 20H - 7FH
Фискалният принтер записва същия <SEQ> в съобщението отговор.Ако ФП получи съобщение със същото <SEQ>, като последното получено от него съобщение, то той не извършва действие, а повтаря последното изпратено от него съобщение.
<CMD> Код на командата
дължина: 1 байт
стойност: 20H - FFH
ФП записва същия <CMD> в съобщението отговор. Ако принтерът получи несъществуващ код, той отговаря с пакетирано съобщение с нулева дължина на полето за данни и установява съответния статус бит.
<DATA> Данни
дължина: 0 - 218 байта за Host към принтер, 0 - 213 байта за Принтер към Host.
стойност: 20H – FFH и допълнително 09H и 0AH.
Форматът и дължината на областта за данни зависи от командата. Ако командата няма данни то дължината на това поле е нула.Ако има синтактична грешка в данните се установява съответния статус бит и се връща пакетирано съобщение с нулева дължина на полето за данни.
<04> Разделител (само за принтер към Host съобщения)
дължина: 1 байт
стойност: 04H
<STATUS> Полето с текущото състояние на фискалното устройство
дължина: 6 байта
стойност: 80H - FFH
<05> Postamble
дължина: 1 байт
стойност: 05H
<BCC> Контролна сума (0000h-FFFFh)
дължина: 4 байта
стойност: 30H - 3FH
Сумата включва от <01> без него до <05> вкл. Всяка цифра от двата байта се предава като и се прибави 30H. Например сумата 1AE3h се представя като 31h, 3Ah, 3Eh, 33h.
<03> Terminator
дължина: 1 байт
стойност: 03H

KОМПОЗИРАНЕ НА СЪОБЩЕНИЯ, СИНТАКСИС И ИЗПОЛЗВАНИ ОЗНАЧЕНИЯ

  • а) Областта за данни е зависима от командата.
  • б) Параметрите изпратени до принтера могат да бъдат разделени със запетая и / или да бъдат с фиксирана дължина.
  • в) Наличието на запетая между параметрите показва, че тя е задължителна.
  • г) Синтаксисът на командата трябва да се спазва БУКВАЛНО – дори добавянето на интервал или табулация между данните или в края им се счита за грешка!

Когато отделните параметри са заградени в < > това означава, че те са задължителни, но самите скоби не се съдържат в съобщението.

Когато даден параметър е заграден в [ ] скоби, това означава, че той не е задължителен. Самите скоби също не се предават в съобщението.

Символите с ASCII кодове под 32 (20h) имат специално значение и употребата им е явно посочена в описанието там, където е необходимо. Ако по някакви причини трябва да изпратим такъв символ (например в ESCAPE-команда към дисплея), то той трябва да се предшества от 16 (10h) и да му се добави отместване 40h.

Пример: Когато за областта за данни пишем - 2500,100,Text, то в областта за данни има FD 3F 35 30 30 FC 31 30 30 FC 54 65 78 74 , където всяко шестнайсетично число представлява ASCII стойност.

СПИСЪК НА КОМАНДИТЕ - ПО ПРЕДНАЗНАЧЕНИЕ

Този раздел съдържа списъка от командите на фискалния принтер, разделени в групи в зависимост от тяхното предназначение:

ИНИЦИАЛИЗАЦИЯ
29H (41) Запомняне на настройките и графичното лого и ключетата в енергонезависимата памет.
2BH (43) Установяване на HEADER и FOOTER и опции на печат.
3DH (61) Установяване на дата и час.
42H (66) Задаване на допустим интервал на номерата на фактурите.
48H (72) Фискализация.
53H (83) Установяване на множител, десетични знаци, име на валута и данъчни ставки.
55H (85) Програмиране на допълнителните типове плащане.
57H (87) Задаване име на департамент.
5BH (91) Програмиране на индивидуален номер на принтера, номера на ФП и номера на страната.
62H (98) Установяване на ЕИК.
65H (101) Задаване на парола на оператор.
66H (102) Задаване на име на оператор.
6BH (107) Дефиниране и отчитане на артикули.
73H (115) Зареждане на графично лого.
ПРОДАЖБИ
2EH (46) Печат на сторно бон.
30H (48) Отваряне на фискален бон.
31H (49) Регистриране на продажба.
33H (51) Междинна сума.
34H (52) Регистриране на продажба и показване на дисплея.
35H (53) Изчисляване на сбор (Плащане).
36H (54) Печатане на свободен текст във фискален бон.
38H (56) Затваряне на фискален бон.
39H (57) Печат на информация за клиента.
3AH (58) Регистриране продажба на програмиран артикул.
3CH (60) Прекратяване (анулиране) на фискален бон.
54H (84) Печат на баркод.
6DH (109) Печат на дублиращ бон.
ПРИКЛЮЧВАНЕ НА ДЕНЯ
45H (69) Дневен финансов отчет (с или без нулиране).
6CH (108) Разширен дневен финансов отчет (с разпечатка на артикулите).
75H (117) Разширен дневен финансов отчет (с разпечатка на департаментите).
76H (118) Разширен дневен финансов отчет (с разпечатка на департаментите и артикулите).
ОТЧЕТИ
22H (34) Отчет на регистрираните сервизни договори.
32H (50) Отчет на промените в данъчни ставки и десетичните знаци през съответния период.
49H (73) Детайлен отчет на фискалната памет (от номер до номер).
4FH (79) Съкратен отчет на фискалната памет (от дата до дата).
5EH (94) Детайлен отчет на фискалната памет (от дата до дата).
5FH (95) Съкратен отчет на фискалната памет (от номер до номер).
69H (105) Отчет оператори.
6FH (111) Отчет по артикули.
ИНФОРМАЦИЯ КЪМ HOST
22H (34) Информация за последния сервизен договор.
25H (37) Четене на данните за НАП.
3ЕH (62) Прочита датата и часа.
40H (64) Информация за последния фискален запис.
41H (65) Информация за сумите за деня.
44H (68) Брой на свободните записи във фискалната памет.
4AH (74) Получаване на статус-байтовете.
4CH (76) Статус на фискалната транзакция.
56H (86) Дата на последен запис във фискалната памет.
58H (88) Информация за натрупаните суми в департамент.
5AH (90) Получаване на диагностична информация.
61H (97) Получаване на данъчните ставки.
63H (99) Получаване на ЕИК.
67H (103) Информация за текущия бон.
6EH (110) Получаване на информация за суми по типове плащане.
70H (112) Получаване на информация за оператор.
71H (113) Получаване номера на последния отпечатан документ.
72H (114) Получаване информация за фискален запис или зададен период.
74H (116) Четене на блок фискална памет.
ПРИНТЕРСКИ КОМАНДИ
2CH (44) Придвижване на хартията.
2DH (45) Отрязване на хартията.
ДИСПЛЕЙ
21H (33) Изчистване на дисплея.
23H (35) Показване на текст (долен ред).
2FH (47) Показване на текст (горен ред).
3FH (63) Показване на датата и часа.
64H (100) Дисплей - пълен контрол.
ДРУГИ
20H (32) Разширена информация за последната грешка.
26H (38) Отваряне на служебен бон.
27H (39) Затваряне на служебен бон.
2AH (42) Печатане на свободен текст в служебен бон.
46H (70) Служебно въвеждане и извеждане на пари.
47H (71) Печат на диагностична информация.
50H (80) Издаване на звуков сигнал.
59H (89) Програмиране на производствената тестова област.
5CH (92) Печат на разделителна линия.
6AH (106) Отваряне на чекмедже.
77H (119) Поддръжка на КЛЕН – четене, печат и информация.
7AH (122) Отваряне на завъртян служебен бон.
7BH (123) Печат на информация в завъртян служебен бон.
7CH (124) Затваряне на завъртян служебен бон.
СЕРВИЗНИ КОМАНДИ
79H (121) Четене на блок от кодовата памет (фирмуера).
80H (128) Сервизен софтуерен RAM ресет.
85H (133) Временна забрана на печата за тестови цели.
86H (134) Сервизна поддръжка на КЛЕН.
87H (135) Тест на GPRS модема.
90H (144) Инициализация и четене на данни от данъчния терминал.

ПОДРОБНО ОПИСАНИЕ НА КОМАНДИТЕ

Забележка: Всички примери предполагат работа с фискален принтер, конфигуриран за България. Там, където има особености в зависимост от държавата, е направено уточнение.

20h (32) РАЗШИРЕНА ИНФОРМАЦИЯ ЗА ПОСЛЕДНАТА ГРЕШКА

Област за данни: [<Clear>]
Отговор: <Command>,<ErrCode>,<DateTime>,<ErrText>

Командата дава възможност да се получи информация за последната команда, завършила със грешка. Тази информация се запазва при успешно изпълнени команди, както и при изключване на принтера. Изчиства се само при RAM ресет и при изпълнение на командата с входни данни – текст „CLEAR”. Списък с кодовете на грешките е приложен в края на документацията. Командата връща резултат при произволни входни данни.

Clear Фиксиран текст със съдържание „CLEAR”.
ErrCode Число – код на грешка.
DateTime Дата и час на грешката във формат DD-MM-YY hh:mm:ss.
ErrText Текстово описание на последната грешка.

21h (33) ИЗЧИСТВАНЕ НА ДИСПЛЕЯ

Област за данни: Няма данни
Отговор: Няма данни

Изпраща се команда за изчистване на дисплея. Ако е отворен фискален бон и Sw4 е OFF, изчиства се само долния ред.

22h (34) ИНФОРМАЦИЯ И ОТЧЕТ НА СЕРВИЗНИТЕ ДОГОВОРИ

Област за данни: [<„P”>]
Отговор: <Left>,<RegDtTm>,<EIK>,<EndDate>
или
F
Date Дата на изтичане на новия сервизен договор във формат „DD-MM-YY”.
Left Цяло число – брой оставащи полета за регистрация на сервизен договор.
RegDtTm Дата и час на регистрация на сервизен договор: „DD-MM-YYYY hh:mm:ss”.
EndDate Дата на изтичане на последния сервизен договор във формат „DD-MM-YYYY”.
ЕИК 9 или 13 цифри – ЕИК на сервизната фирма.

Командата връща или разпечатва информация засервизните договори. Срокът на изтичане на текущия сервизен договор се печати в края на всеки дневен отчет с нулиране. Връщат се данни за срока на последния регистриран договор (или „F” ако няма регистриран договор). При входни данни „P” се печата отчет на всички регистрирани договори по данни от фискалната памет.

23h (35) ПОКАЗВАНЕ НА ТЕКСТ НА ДОЛНИЯ РЕД НА ДИСПЛЕЯ

Област за данни: <Text>
Отговор: Няма данни
Text Текст до 20 символа, който се изпраща директно към дисплея. Преди него се изпраща команда за позициониране и изчистване на долния ред.

24h (36) ЗАДАВАНЕ НАСТРОЙКИ НА LAN

Област за данни: [<IPAddr>,<SubnetMase>,<TCPPort>,<Gateway>[,*<DHCP>][,<MACAddr>]]
Отговор: <IPAddr>,<SubnetMase>,<TCPPort>,<Gateway>,<DHCP>,<MACAddr>]
IPAddr 4 числа от 0 до 255 разделени със точка, представляващи IP адреса на устройството.
SubnetMask 4 числа от 0 до 255 разделени със точка, представляващи Subnet маската на устройството.
TCPPort Число от 1 до 65535 представляващо IP порта на устройството.
DefGateway 4 числа от 0 до 255 разделени със точка, представляващи Default Gateway адреса на устройството.
DHCP Един символ: „0” или „1„. Разрешава или забранява DHCP (Получаване на автоматични LAN настройки от сървъра).
MACAddr До 12 шестнайсетични символа представляващи MAC адреса на устройството. Работи само при наличие на сервизен джъмпер!!!

Ако няма област за данни, командата връща текущите настройки.

25h (37) ЧЕТЕНЕ НА ДАННИ ЗА НАП

Област за данни: <Type>[,<Closure>]
Отговор: P,<Data> или F
Type Вид на исканата информация:
  • ‘1’: DT,Closure,FiscRec,LastFiscal,LastDoc,Journal
  • ‘2’: S1,SF,S3,S4,S5,S6,S7,S8,Total,GTotal
  • ‘3’: DiscountN,DiscountS,MakeUpN,MakeUpS,VoidN,VoidS,CancelN,CancelS
  • ‘4’: CashInN,CashInS,CashOutN,CashOutS,CashSum
  • ’5’: CashPaid,CredPaid,CardPaid,ChecePaid,Paid1,Paid2,Paid3,Paid4
  • ’6’: DT
  • ’7’: DT
  • ’8’: P<PLU>,<PluTotal>,<PluName>
  • DT Стринг. Дата и час във формат „DD-MM-YYYY hh:mm:ss.
    Closure Цяло число. Предстоящ номер на дневен отчет.
    FiscRec Цяло число. Брой фискални бонове (клиенти) за деня.
    LastFiscal Цяло число. Глобален номер на последния издаден фискален бон.
    LastDoc Цяло число. Глобален номер на последния издаден документ.
    Journal Цяло число. Текущ номер на контролна лента.
    Sx Число с десетична точка. Оборот по някоя от данъчните групи за деня.
    Total Число с десетична точка. Общ оборот за деня.
    GTotal Число с десетична точка. Общ оборот за периода на експлоатация.
    DiscountN Цяло число. Брой отстъпки за деня.
    DiscountS Число с десетична точка. Обща сума от отстъпки за деня.
    MakeUpN Цяло число. Брой надбавки за деня.
    MakeUpS Число с десетична точка. Обща сума от надбавки за деня.
    VoidN Цяло число. Брой корекции за деня.
    VoidS Число с десетична точка. Обща сума от корекции за деня.
    CancelN Цяло число. Брой отказани бонове за деня.
    CancelS Число с десетична точка. Обща сума от отказани бонове за деня.
    CashInN Цяло число. Брой операции служебен внос за деня.
    CashInS Число с десетична точка. Обща сума от служебен внос за деня.
    CashOutN Цяло число. Брой операции служебен износ за деня.
    CashOutS Число с десетична точка. Обща сума от служебен износ за деня.
    CashSum Число с десетична точка. Касова наличност.
    CashPaid Число с десетична точка. Платени в брой.
    CredPaid Число с десетична точка. Платени с кредитна карта.
    CardPaid Число с десетична точка. Платени с дебитна карта.
    ChecePaid Число с десетична точка. Платени с чек.
    Paid1 Число с десетична точка. Платени с програмируем тип плащане 1.
    Paid2 Число с десетична точка. Платени с програмируем тип плащане 2.
    Paid3 Число с десетична точка. Платени с програмируем тип плащане 3.
    Paid4 Число с десетична точка. Платени с програмируем тип плащане 4.
    PLU Логически номер на артикул. 9 цифри.
    PluTotal Натрупана сума от продажби за артикула. Число с десетична точка.
    PluName Име на артикула. До 36 символа.

    Подкоманда '6' очаква номер на дневен отчет и връща датата и часа на дневния отчет. Ако записът е с невалидна контролна сума, връща се 'F'. Ако няма такъв запис, връща се 'E'.

    Подкоманда '7' връща дата на фискализация, или 'F', ако принтерът не е въведен в експлoатация.

    Подкоманда '8' връща данни за продажбите по артикули по нарастващ PLU. Командата се изпраща отначало еднократно с команден стринг „8,F”, а след това необходимия брой пъти с команден стринг „8,N” докато принтерът не върне отговор 'F' (няма данни) или сме прочели необходимия брой артикули. Името на артикула се връща винаги в кодова таблица 1251.

    Командата е само за съвместимост с фискалните принтери с външен терминал, при които има възможност за четене на тези данни. Реално тя не е необходима, защото информацията може да се получи и по друг начин. Данни, идентични на получените от тази команда се изпращат вътрешно и автоматично на данъчния терминал за предаване в НАП при необходимост.

    26h (38) ОТВАРЯНЕ НА СЛУЖЕБЕН БОН

    Област за данни: Няма данни
    Отговор: Allreceipt
    Allreceipt Броят на всички издадени бонове (фискални и служебни) от последното приключване на деня до момента /4 байта/.

    ФП извършва следните действия:

    • Отпечатва се HEADER.
    • Отпечатва се ЕИК на продавача.
    • Връща се отговор, съдържащ Allreceipt.

    Командата не може да се изпълни, ако:

    • Фискалната памет не е форматирана.
    • Има отворен фискален бон.
    • Вече е отворен служебен бон.
    • Часовникът не е сверен.

    27h (39) ЗАТВАРЯНЕ НА СЛУЖЕБЕН БОН

    Област за данни: Няма данни
    Отговор: Allreceipt
    Allreceipt Броят на всички издадени бонове (фискални и служебни) от последното приключване на деня до момента /4 байта/.

    ФП извършва следните действия:

    • Отпечатва се FOOTER.
    • Отпечатва се поредния номер, датата и часа на документа
    • Отпечатва се с широк печат „СЛУЖЕБЕН БОН”.
    • Връща се отговор, съдържащ Allreceipt.

    Ако е вдигнат S1.1 командата не е изпълнена защото в момента не е отворен служебен бон.

    29h (41) ЗАПОМНЯНЕ НА НАСТРОЙКИТЕ И КЛЮЧЕТАТА ВЪВ FLASH-ПАМЕТТА

    Област за данни: [<Switches>]
    Отговор: <ErrCode>
    Switches 8 или 16 байта със стойност ‘0’ или ‘1’ – конфигурационните „ключета”.
    ErrCode
  • P”: успешен запис;
  • F”: неуспешен запис на настройките.
  • Принтерът няма хардуерни ключета и използува за целта област във флаш-паметта. Установяването им става с тази команда. Освен това командата записва във флаш-паметта и графичното лого, височината на баркода, плътността на печат и дължината на импулса за отваряне на чекмедже. След RAM ресет стойностите им се възстановяват от тези във флаша. Ако са подадени само 8 байта, старшите 8 остават без промяна.

    Ако командата няма данни, то се запазват старите стойности на „ключетата” и се записват останалите данни.

    Командата запомня следните дании в енергонезависимата (flash) памет:

    • Header и footer (от команда 43).
    • Текстът на допълнителните типове плащане (от команда 85).
    • Графичното лого (от команда 115).
    • Опциите за печат (от команда 43).
    • Конфигурационните ключета.

    След RAM ресет стойностите им се възстановяват от тези във флаша.

    2Ah (42) ПЕЧАТАНЕ НА СВОБОДЕН ТЕКСТ В СЛУЖЕБЕН БОН

    Област за данни: [<Tab><Font>[<Flags>],]<Text>
    Отговор: Няма данни
    Text Свободен текст за печат. В началото и края на реда се отпечатва символът '#'. Текстът може да бъде с произволна дължина, но се оставят само толкова символа, колкото се побират на реда (без вдигане на грешка при изрязването).
    Командата допуска опционално посочване на шрифт и атрибути за печат на реда:
    Font Цяло число от 0 до 3:
  • 0 - 32 точки (4 mm) височина, по-високи букви
  • 1 - 32 точки (4 mm) височина, нормални букви
  • 2 - 24 точки (3 mm) височина
  • 3 - 16 точки (2 mm) височина
  • Flags От една до 3 букви: 'B', 'H' или 'I'. Всяка може да се появи най-много веднъж. Задават съответно:
  • B - Bold (Удебелено)
  • H - High (Двойна височина)
  • I - Italic (Наклонено)
  • 2Bh (43) УСТАНОВЯВАНЕ НА HEADER И FOOTER И ОПЦИИ ЗА ПЕЧАТ

    Област за данни: <Item><Text>
    Отговор: Зависи от областта за данни

    HEADER се състои от 6 реда текст, които се отпечатват в началото на всеки фискален или служебен бон. За нормална работа на принтера е необходимо да се зададат поне 2 реда Header. ЕИК (зададен от команда 98) се печати винаги на трети ред, така че редовете от HEADER-а след втория автоматично се преместват с една позиция надолу.
    FOOTER се състои от 2 линии текст, които се отпечатват в края на всеки бон.
    HEADER и FOOTER се центрират автоматично.

    Тази команда трябва да се изпълни до 8 пъти, за да се зададат всичките линии на HEADER и FOOTER.

    Item Един символ със следното значение:
  • ‘0’ до ‘7’: е номера на линията, която се задава.

    Линиите на HEADER са с номера от 0 до 5, а тези на FOOTER – 6 и 7.

  • ‘А’: Автоматично форматиране на продажбите като за фактура (4 отделни реда).
  • B’: Задава височината на баркода в пиксели (0.125 mm). Възможни стойности от 24 (3 mm) до 240 (30 mm).

    Баркодът се печати с команда 84 (54h).

  • C’: Разрешаване / забраняване на автоматичното отрязване на хартията след всеки документ.

    След включване на принтера поведението на принтера се определя от ключе Sw8.

  • D’: Задава плътност на печат. Възможни стойности:
  • ‘1’: Много блед
  • ‘2’: Блед
  • ‘3’: Нормален
  • ‘4’: Плътен
  • ‘5’: Много плътен
  • E’: Разрешаване / забраняване на печата на общата сума в EUR при първата команда за плащане (53) във фискален бон. По подразбиране печатът е забранен. Опционално командата задава и валидния курс EUR/ЛВ.

    Синтаксис на данните: <Enable>[,Rate]

  • Enable - Флаг за забрана / разрешаване на печата.
    Един байт: ‘0’ или ‘1’.
  • Rate - Обменен курс.
    Плаващо число с до 8 значещи цифри и 5 десетични знака. Ако липсва, запазва се старата стойност. Ако е 0.00000, то стойност в евро не се печати независимо от Enable.
  • F’: Задаване на шрифта за печат на принтера. Възможни стойности:
  • 0 - 32 точки (4 mm) височина, по-високи букви
  • 1 - 32 точки (4 mm) височина, нормални букви
  • 2 - 24 точки (3 mm) височина
  • L’: Разрешаване / забраняване печата на графичното лого непосредствено преди HEADER-а. Логото се дефинира с команда 115.

    Данните Text са във формат <Enable>,<H>.

  • H е височината на логото в пиксели
  • Enable е един байт със стойност ‘1’ (разрешено) или ‘0’ (забранено).
  • N’: Разрешаване / забраняване на отпечатването на името на департамента в началото на всеки фискален бон.
  • Q’: Разрешаване / забраняване на подтискането на печата във фискален или служебен бон.

    Данните са във формат Q0 или Q1,<Lines>,<Seconds>.

  • Q0 - забранява натрупването на редове в бона без печат.
  • Q1 - разрешава натрупването на редове в бона без печат.Печатът се стартира при някое от следните условия:
    • Натрупване на Lines неотпечатани редове. Lines може да е от 4 до 1000 или 0. При стойност 0 печатът се стартира при запълване на буфера за печат.
    • Изминали Seconds секунди без добавяне на нов ред за печат. Seconds може да е от 2 до 120 или 0. При стойност 0 времето е неограничено.
    • Затваряне на бона.
    • Изключване и включване на принтера.
    • Изпълнение на команда 75.
  • R’: Задава допълнителното разстояние в пиксели (0.125 mm) между буквите в завъртян на 90 градуса служебен бон.

    Възможни стойности от 0 до 4.

  • SIM’: Избира коя от SIM-картите да използва GPRS модемът.

    Допустима стойност 0 или 1.

  • T’: Разрешаване / забраняване на отпечатването на натрупания ДДС за бона в нормален (не разширен) фискален бон.
  • X’: Разрешаване / забраняване на автоматичното генерирането на импулс за отваряне на чекмедже при команди 53 (35h) и 70 (46h).
  • W’: Задава времето на което да сработи предупреждението за не предадени данни за платежни документи и не обновени данни за нивомерната система. Отпечатват се като служебен бон (веднага след затваряне на фискален бон), който не се помни в контролната лента.
  • b’: Задава PIN и име под което се обявява устройството при Bluetoot. /за FMP-10/
  • c’: Забраняване / разрешаване на функциите на бутона FEED (‘1’- забранява, ‘0’ – разрешава).

    След включване на принтера функциите на бутона винаги са разрешени.

  • d’: Забраняване / разрешаване връщането на опционален текст в отговора на командата при настъпила грешка (‘0’- забранява, ‘1’ – разрешава).
  • P’: Разрешаване / забраняване на автоматичното прибиране на хартията в контейнер след всеки документ.

    След включване на принтера презентера не прибира хартията в контейнер. (Принтери SK1-21F и SK1-31F)

  • O’: Задаване време на автоматичното прибиране на хартията в контейнер след всеки изпечатан и чакащ да се вземе документ. (Принтери SK1-21F и SK1-31F).
  • I’: Дава възможност да прочетем стойностите, зададени по-рано с команда 43.

    След буквата ‘I’ следва точно още един символ, съвпадащ с някой от по-горните.

  • Text Текст до 48 символа, като:
  • Ако <Item> е цифра от ‘0’ до ‘7’ – текста от който се състои съответната линия.
  • Ако <Item> = ‘А’ – един символ ‘0’ или ‘1’, като ‘0’ забранява, а ‘1’ разрешава форматирането тип „фактура”. Ако е разрешено, тогава за всяка продажба се отпечатват по 4 реда – за име, единична цена, количество и цена с данъчна група.
  • Ако <Item> = ‘B’ – Число, задаващо височината в на баркода пиксели.
  • Ако <Item> = ‘C’ – един символ ‘0’ или ‘1’, като ‘0’ забранява, а ‘1’ разрешава автоматичното отрязване на бона.
  • Ако <Item> = ‘D’ – Плътността на печат (от 1 до 5).
  • Ако <Item> = ‘E’ – Връща се Enable,Rate, където Enable е флагът забранено / разрешено, а Rate е текущият програмиран обменен курс.
  • Ако <Item> = ‘F’ – Връща се текущия шрифт на принтера.
  • Ако <Item> = ‘L’ – Връща се Enable,H, където H е височината на графичното лого, а Enable е флагът забранено / разрешено.
  • Ако <Item> = ‘N’ – един символ ‘0’ или ‘1’, като ‘0’ забранява, а ‘1’ разрешава отпечатването на името на департамента в началото на всеки фискален бон.
  • Ако <Item> = ‘Q’ – Връща се Enable,Lines,Seconds, където Enable е дали е разрешено подтискането на печата, а Lines и Seconds са граничните стойности за стартирането му в брой редове и секунди.
  • Ако <Item> = ‘R’ – връща допълнителното разстояние между символите при печат на заеъртян служебен бон в пиксели.
  • Ако <Item> = ‘SIM’ – един символ ‘0’ или ‘1’, указващ кой от холдерите за SIM карти се използва (SIM0 или SIM1) – ако разбира се е наситен SIM1.
  • Ако <Item> = ‘Т’ – един символ ‘0’ или ‘1’, като ‘0’ забранява, а ‘1’ разрешава отпечатването на натрупания ДДС в нормален (не разширен) фискален бон.
  • Ако <Item> = ‘X’ – един символ ‘0’ или ‘1’, като ‘1’ забранява, а ‘0’ разрешава автоматичното отваряне на чекмедже при команди 53 (35h) и 70 (46h).
  • Ако <Item> = ‘W’ - два параметъра - <WarnTimeRec>,<WarnTimeGInfo>. И двете времена са в минути и са от 10 до 1440 или 0. Ако е нула, няма предупреждение.
  • Ако <Item> = ‘b’ – Задава PIN и име под което се обявява устройството при Bluetoot. Отговор по подразбиране „0,,FMP-10„, като първия параметър не се ползва, втория е PIN – до 16 символа, третия е името – до 15 символа.
  • Ако <Item> = ‘c’ – един символ ‘0’ или ‘1’, като ‘1’ забранява, а ‘0’ разрешава функциите на бутона FEED.
  • Ако <Item> = ‘d’ – един символ ‘0’ или ‘1’, като ‘0’ забранява, а ‘1’ разрешава връщането на опционален текст в отговора на командата при настъпила грешка. Пример: „отговор на командата@причина за грешка„.
  • Ако <Item> = ‘P’ – един символ ‘0’ или ‘1’, като ‘0’ забранява, а ‘1’ разрешава автоматичното прибиране на хартията, един символ ‘,’, както и един символ ‘0’ или ‘1’, който показва дали има хартия в презентера (‘1’- има хартия). (Пример за отговор: „0,1”- забранено автоматичното прибиране на хартията, и има хартия в презентера.)(Принтери SK1-21F и SK1-31F)
  • Ако <Item> = ‘О’ – Времеви праг на задействане на автоматичното прибиране на изпечатан и чакащ да се вземе документ, възможни стойности: 0 – забранено автоматичното прибиране и 5 – 600 секунди изчакване. (Принтери SK1-21F и SK1-31F)
  • 2Ch (44) ПРИДВИЖВАНЕ НА ХАРТИЯТА.

    Област за данни: Lines | <GetP>
    Отговор: Няма данни
    Lines Броят на редовете, с които да бъде придвижена хартията. Трябва да бъде положително число не по-голямо от 99 (1 или 2 байта). Ако параметър липсва, подразбира се 1 ред.
    GetP Един символ със стойност „P”. Прибира отпечатана и чакаща бележка във вътрешния контейнер (САМО за модели SK1-21F и SK1-31F). Възможни отговори „P” и „F„.

    2Dh (45) ОТРЯЗВАНЕ НА ХАРТИЯТА.

    Област за данни: Няма данни
    Отговор: Няма данни

    Предизвиква отрязването на хартията. Трябва да се има предвид, че програмата трябва да се погрижи за придвижването на хартията поне с два реда, иначе е възможно отрязване на края на бона. Ако принтерът е в режим „автоматично рязане”, той сам позиционира коректно хартията преди рязането, а командата е излишна.

    При блокиране на режещия механизъм трябва да се извади хартията (ако има такава) от резачката, и да се изключи и включи принтера – разачката ще се позиционира в изходно положение.

    2Eh (46) ИЗДАВАНЕ НА СТОРНО БОН

    Област за данни: <OpNum>,<Password>,<TillNum>[,<Invoice><InvNum>][,<UNP>],<StType><DocNo>[,<StUNP>,<StDT>,<StFMIN>][#<StornoReason>]
    Отговор: Allreceipt, StornoReceipt
    OpCode Номер на оператор /1 до 16/
    OpPwd Операторска парола /4 до 8 цифри/
    TillNmb Номер на касово място /цяло число от 1 до 99999/
    UNP Уникален номер на продажбата (формат: сериен номер на ФУ„-„четири цифри или латински букви„-„пореден номер на продажбата (седем цифри с водещи нули)” пример: DT000600-OP01-0001000). При първо отваряне на бон за продажба УНП трябва да бъде зададен поне веднъж, ако след това се пропуска параметъра ФУ ще инкрементва с единица номера на продажбата автоматично.
    InvNum Номер на фактурата която се сторнира.
    Invoice Един символ със стойност „I”. Наличието му предизвиква отпечатването на сторно разширена клиентска бележка (кредитно известие). Автоматично след HEADER-а се отпечатва номера на фактурата, а след първата команда за плащане разпечатка на сумите по данъчни групи. След плащането трябва да се отпечата информация за купувача с команда 57 (39h).
    StType Причина за сторниране:
    E – операторска грешка
    R – връщане/рекламация
    T – намаление на данъчната основа
    DocNo Номер на документа (глобален), който се сторнира.
    StUNP УНП на документа, който се сторнира. Задава се цялото УНП задължително.
    StDT Дата и час на сторнирания документ. Формат „DDMMYYhhmmss„.
    StFMIN Номер на фискалната памет на ФУ от което е издаден бона, който се сторнира.
    StornoReason Причина за сторниране (до 30 символа).
    Allreceipt Броят на всички издадени бонове (фискални и служебни) от последното приключване на деня до момента. /4 байта/.
    StornoReceipt Броят на всички издадени фискални СТОРНО бонове от последното приключване на деня до момента. /4 байта/.

    Ако последния аргумент е DocNo и няма следващи аргументи, ФУ търси издадения бон в контролната си лента. Ако не го намери, командата приключва неуспешно. Ако го намери, данните се попълват автоматично и се издава сторно бон с всички присъстващи в оригиналния фискален бон данни.

    Ако се подадат StUNP, StDT, StFMIN командата ще бъде приета само като отваряне на сторно бон в който трябва да се направят продажби, плащания и затваряне (по аналогия с команда 48).

    2Fh (47) ПОКАЗВАНЕ НА ТЕКСТ НА ГОРНИЯ РЕД НА ДИСПЛЕЯ

    Област за данни: Text
    Отговор: Няма данни
    Text Текст до 20 символа, който се изпраща директно към дисплея. Преди него се изпраща команда за позициониране и изчистване на горния ред. Командата се отхвърля, ако е отворен фискален бон и Sw1 е OFF.

    30h (48) ОТВАРЯНЕ НА ФИСКАЛЕН (КЛИЕНТСКИ) БОН

    Област за данни: Няма или <OpNum>,<Password>,<TillNum>[,<Invoice>][,<UNP>] или [*]
    Отговор: UNPshort или Allreceipt, FiscReceipt или FdocGlob,UNPfull[,UNPfullST]
    OpCode Номер на оператор /1 до 16/
    OpPwd Операторска парола /4 до 8 цифри/
    TillNmb Номер на касово място /цяло число от 1 до 99999/
    UNP Уникален номер на продажбата (формат: сериен номер на ФУ„-„четири цифри или латински букви„-„пореден номер на продажбата (седем цифри с водещи нули)” пример: DT000600-OP01-0001000). При първо отваряне на бон за продажба УНП трябва да бъде зададен поне веднъж, ако след това се пропуска параметъра ФУ ще инкрементва с единица номера на продажбата автоматично.
    Invoice Един символ със стойност „I”. Наличието му предизвиква отпечатването на разширена клиентска бележка (фактура). Автоматично след HEADER-а се отпечатва номера на фактурата, а след първата команда за плащане разпечатка на сумите по данъчни групи. След плащането трябва да се отпечата информация за купувача с команда 57 (39h).
    Allreceipt Броят на всички издадени бонове (фискални и служебни) от последното приключване на деня до момента. /4 байта/
    FiscReceipt Броят на всички издадени фискални бонове от последното приключване на деня до момента. /4 байта/.
    UNPshort УНП в кратък формат на последния издаден фискален бон.
    FdocGlob Глобален номер на последно издадения фискален документ.
    UNPfull УНП в пълния формат на последно издадения фискален документ.
    UNPfullST УНП в пълния формат на последно издадения сторниран документ, АКО последно издадения е бил фискален документ това поле ще липсва.

    Ако командата е подадена без аргументи, се връща пореден номер на продажбата от УНП на последния издаден фискален бон (пример: 0001000).

    Ако командата е подадена с аргумент „*” се връща глобалния номер на последно издадения фискален документ и УНП ?в пълния формат, пример: DT000600-OP01-0001000) на последния издаден фискален бон. АКО последно издадения е бил сторно документ ще присъства още едно поле УНП на сторнирания документ. (пример: 398554,DT000601-0001-0398101, DT000601-0001- 0203305)

    ФП извършва следните действия:

    • Отпечатва се HEADER.
    • Отпечатва се ЕИК.
    • Отпечатва се номер и име на оператор и номер на касово място.
    • Връщат се AllReceipt и FiscReceipt.

    Командата няма да бъде изпълнена успешно, ако:

    • Има отворен фискален или служебен бон.
    • Фискалната памет е пълна.
    • Фискалната памет е повредена.
    • Липсва код или парола на оператор, или номер на касово място.
    • HEADER съдържа по-малко от 2 реда.
    • Не е зададен ЕИК.
    • Не е вярна операторската парола.
    • Часовникът не е сверен.
    • КЛЕН е пълна или не фунционира.
    • Данъчният терминал не функционира, или информацията в него не съответствува на тази във фискалната памет

    При три грешни операторски пароли принтерът блокира и трябва да се изключи и включи за продължаване на работата.

    31h (49) РЕГИСТРИРАНЕ (ПРОДАЖБА) НА СТОКА

    Област за данни: [<L1>][<Lf><L2>]<Tab><TaxCd><[Sign]Price>[*<Qwan>[#UN]][,Perc|;Abs]
    или
    [<L1>][<Lf><L2>]<Tab><Dept><Tab><[Sign]Price>[*<Qwan>[#UN]][,Perc|;Abs]
    Отговор: Няма данни
    L1 Текст до 42 байта съдържащ ред, описващ продажбата
    Lf Един байт със съдържание 0Ah.
    L2 Текст до 42 байта съдържащ втори ред, описващ продажбата
    Tab Един байт със съдържание 09h.
    TaxCd Един байт съдържащ буквата показваща видът на данъка (‘А’, ‘Б’, ‘В’, ...). Има ограничение зависещо от параметъра Enabled_Taxes, който се установява при задаването на данъчните ставки в команда 83.
    Dept Номер на департамент. Цяло число от 1 до 1200 включително. Продажбата се причислява към данъчната група, с която е асоцииран департаментът при програмирането му.
    Sign Един байт със стойност ‘-‘.
    Price Това е единичната цена и е до 8 значещи цифри.
    Qwan Незадължителен параметър, задаващ количеството на стоката. По подразбиране е 1.000. Дължина до 8 значещи цифри (не повече от 3 след десетичната точка). Произведението Price*Qwan се закръгля от принтера до зададения брой десетични знаци и също не трябва да надхвърля 8 значещи цифри.
    UN Име на мерна единица. Опционален текст за мерна единица на количеството до 8 символа, например „kg”.
    Perc Това е незадължителен параметър, показващ стойността на надбавката или отстъпката (в зависимост от знака) в проценти върху текущата продажба. Допустими стойности са от -99.00 % до 99.00 %. Приемат се до 2 десетични знака.
    Abs Това е незадължителен параметър, показващ стойността на надбавката или отстъпката (в зависимост от знака) като сума. Не е допустима отстъпка със стойност по-голяма от стойността на продажбата.

    Допустим е само един от аргументите Perc или Abs.

    ФП извършва следните действия:

    • Ако продажбата е по департамент и е разрешено с команда 43, подкоманда ‘N’, отпечатва се името на департамента.
    • Текстът описващ продажбата се отпечатва заедно с цената и кода на данъчната група. Ако има зададено количество, информацията за него също се отпечатва.
    • Цената на стоката се прибавя към натрупаните суми в регистрите в оперативната памет. В случай на препълване се установяват съответните битове от статус полето.
    • Ако има отстъпка или надбавка, тя се отпечатва на отделен ред и се добавя в предвидени за това регистри на принтера. Стойностите за целия ден се отпечатват при дневния финансов отчет.
    • Ако е указан департамент, натрупаната стойност се прибавя към него. Надбавките и отстъпките, ако има такива, се отчитат.

    Командата няма да бъде изпълнена успешно, ако:

    • Не е отворен фискален бон.
    • Вече са направени максималния брой продажби за един бон (512).
    • Командата (35h) е изпълнена успешно.
    • Сумата по някоя от данъчните групи става отрицателна.
    • Сумата от надбавки или отстъпки в рамките на бона става отрицателна.
    • КЛЕН е пълна.
    • Принтерът е установил различна от регистрираната SIM карта в модема.

    32h (50) ДАНЪЧНИ СТАВКИ ЗАДАВАНИ ПРЕЗ СЪОТВЕТНИЯ ПЕРИОД

    Област за данни: [<Start>,<End>]
    Отговор: = F – ако не са намерени данъчни ставки за периода или в случай на грешка.
    = PАА,BB,CC,DD,EE,FF,GG,HH,DDMMYY ако са намерени ставки, като ‘P’ означава ‘PASS’ и след това се изброяват последните активни ставки за посочения период и датата на тяхното задаване.
    Ако има групи, които не се използват (забранени с Enabled_rates, то за тях вместо ставка в проценти се връща ‘DT’ (Disabled Tax).
    Start Дата за начало на периода – DDMMYY /6 bytes/.
    End Дата за край на периода – DDMMYY /6 bytes/.

    Командата разпечатва отчет на промените на десетичните знаци и данъчните ставки за посочения период. Ако не са посочени начална и крайна дата, използва се периодът от фискализацията до текущия момент.

    33h (51) МЕЖДИННА СУМА

    Област за данни: <Print><Display>[,Perc
    Отговор: SubTotal,TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH
    Print Един байт, който ако е ‘1’ стойността на под сумата ще се отпечата.
    Display Един байт, който ако е ‘1’ стойността на под сумата ще се покаже на дисплея.
    Perc Незадължителен параметър, който показва стойността в проценти на отстъпката или надбавката върху натрупаната до момента сума.
    Abs Това е незадължителен параметър, показващ стойността на надбавката или отстъпката (в зависимост от знака) като сума (до 8 значещи цифри). Не е допустима отстъпка със стойност по-голяма от стойността на продажбата.

    Допустим е само един от аргументите Perc или Abs.

    SubTotal Сумата до момента за текущия фискален бон /до 10 байта/
    TaxA Сумата по данъчна група А /до 10 байта/
    TaxB Сумата по данъчна група Б /до 10 байта/
    TaxC Сумата по данъчна група В /до 10 байта/
    TaxD Сумата по данъчна група Г /до 10 байта/
    TaxE Сумата по данъчна група Д /до 10 байта/
    TaxF Сумата по данъчна група Е /до 10 байта/
    TaxG Сумата по данъчна група Ж /до 10 байта/
    TaxH Сумата по данъчна група З /до 10 байта/

    Изчислява се сума на всички продажби регистрирани във фискалния бон до момента. По желание сумата може да бъде отпечатана и/или показана на дисплея. Към PC се връща изчислената сума и натрупаните до момента суми за всяка данъчна група. Ако е посочена надбавка или отстъпка, тя се отпечатва на отделен ред и натрупаните суми по данъчни групи се коригират съответно.

    34h (52) РЕГИСТРИРАНЕ И ПОКАЗВАНЕ НА ДИСПЛЕЯ

    Област за данни: [Line]]<Tab><TaxCd><[Sign]Price>[*Qwan[#UN]][,Perc|;Abs]
    или
    [Line]]<Tab><Dept><Tab><[Sign]Price>[*Qwan[#UN]][,Perc;Abs]
    Отговор: Няма данни
    Line Стринг до 20 байта съдържащ ред с текст описващ продажбата.
    Tab Един байт със съдържание 09h
    TaxCd Един байт, съдържащ буквата, показваща вида на данъка (‘А’, ‘Б’, ‘В’, ...). Има ограничение, зависещо от параметъра Enabled_taxes, който се установява при задаването на валутата в команда 83.
    Dept Номер на департамент. Цяло число от 1 до 1200 включително. Продажбата се причислява към данъчната група, с която е асоцииран департаментът при програмирането му.
    Sign Един байт със стойност ‘-‘.
    Price Това е цената и е до 8 значещи цифри.
    Qwan Незадължителен параметър, задаващ количеството на стоката. По подразбиране е 1.000. Дължина до 8 значещи цифри.
    UN Име на мерна единица. Опционален текст за мерна единица на количеството до 8 символа, например „kg”.
    Perc Това е незадължителен параметър, показващ стойността на надбавката или отстъпката (в зависимост от знака) в проценти върху текущата продажба. Допустими стойности са от -99.00 % до 99.00 %.
    Abs Това е незадължителен параметър, показващ стойността на надбавката или отстъпката (в зависимост от знака) като сума. Не е допустима отстъпка със стойност по-голяма от стойността на продажбата.

    Допустим е само един от аргументите Perc или Abs.

    ФП ще извърши следните действия:

    • Ако продажбата е по департамент и е разрешено с команда 43, подкоманда ‘N’, отпечатва се името на департамента.
    • Текстът, описващ продажбата, се отпечатва заедно с цената и кода на данъчната група.
    • Цената на стоката се прибавя към натрупаните суми в регистрите в оперативната памет. В случай на препълване се установяват съответните битове от статус байтовете.
    • Ако има отстъпка или надбавка, тя се отпечатва на отделен ред и се добавя в предвидени за това регистри на принтера. Стойностите за целия ден се отпечатват при дневния финансов отчет.
    • Цената на стоката са показва на горния, а описанието и на долния ред на дисплея.
    • Ако е указан департамент, натрупаната стойност се прибавя към него. Надбавките и отстъпките, ако има такива, се отчитат.

    Командата няма да бъде изпълнена успешно, ако:

    • Не е отворен фискален бон.
    • Вече са направени максималния брой продажби за един бон.
    • Командата „Total” е изпълнена успешно.
    • Сумата по някоя от данъчните групи става отрицателна.
    • Сумата от надбавки или отстъпки в рамките на бона става отрицателна.
    • КЛЕН е пълна.

    35h (53) ИЗЧИСЛЯВАНЕ НА СБОР (ТОТАЛ)

    Област за данни: [<Line1>][<Lf><Line2>]<Tab>[[<PaidMode>]<[Sign]Amount>]
    Отговор: <PaidCode><Amount>
    Line1 Текст до 36 байта съдържащ първия ред
    Lf Един байт със съдържание 0Ah
    Line2 Текст до 36 байта съдържащ втория ред
    Tab Един байт със съдържание 09h
    PaidMode Незадължителен код, указващ начина на плащане. Може да има следните стойности:
  • P’ - Плащане в брой (по подразбиране)
  • N’ - Плащане с кредит
  • C’ - Плащане с чек
  • D’ - Плащане с дебитна карта
  • I’ - Програмируем тип плащане 1
  • J’ - Програмируем тип плащане 2
  • K’ - Програмируем тип плащане 3
  • L’ - Програмируем тип плащане 4
  • i’ - Програмируем тип плащане 1
  • j’ - Програмируем тип плащане 2
  • k’ - Програмируем тип плащане 3
  • l’ - Програмируем тип плащане 4
  • m’ - Талони
  • n’ - Външни талони
  • o’ - Амбалаж
  • p’ - Вътрешно обслужване
  • q’ - Повреди
  • r’ - Банкови трансфери
  • s’ - С чек
  • В зависимост от кода сумите се натрупват в различни регистри и могат да бъдат получени в дневния отчет.
    Sign Един байт със стойност ‘+’, указващ знака на Amount (сумата, която се плаща).
    Amount Сумата, която се плаща /до 10 значещи цифри/.
    PaidCode Един байт - резултат от изпълнението на командата.
  • F’ - Грешка.
  • E’ - Изчислената под сума е отрицателна. Плащане не се извършва и Amount ще съдържа отрицателната под сума.
  • D’ - Ако платената сума е по-малка от сумата на бона. Остатъкът за доплащане се връща в Amount.
  • R’ - Ако платената сума е по-голяма от сбора на бележката. Ще се отпечата съобщение „РЕСТО” и рестото се връща в Amount.
  • I’ - Сумата по някоя данъчна група е бил отрицателен и затова се е получила грешка. В Amount се връща текущата под сума.
  • Amount До 9 цифри със знак. Зависи от PaidCode.

    Тази команда предизвиква изчисляването на сумите от фискалния бон, отпечатването на сумата със специален шрифт и показването й на дисплей. Възможно е отпечатването на допълнителен текст. При успешно изпълнение на командата се генерира импулс за отваряне на чекмедже, ако това е разрешено с подкоманда ‘X’ на команда 43. Ако след символа <Tab> няма повече данни, то принтерът автоматично плаща цялата налична сума в брой.

    Командата няма да бъде изпълнена успешно, ако:

    • Не е отворен фискален бон.
    • Натрупаната сума е отрицателна.
    • Ако някоя от натрупаните суми по данъчни групи е отрицателна.

    След успешното изпълнение на командата, фискалният принтер няма да изпълнява командите 49 и 51 в рамките на отворения бон, обаче може да изпълнява още команда 53.

    Забележка: Кодове на грешка ‘E’ и ‘I’ никога няма да се получат в българската версия на принтера, защото команди 49 и 52 (Регистриране на продажба) няма да допуснат отрицателни суми.

    36h (54) ПЕЧАТАНЕ НА ФИСКАЛЕН СВОБОДЕН ТЕКСТ

    Област за данни: [<Tab><Font>[<Flags>],]<Text>
    Отговор: Няма данни
    Text Свободен текст за печат. В началото и края на реда се отпечатва символът '#'. Текстът може да бъде с произволна дължина, но се оставят само толкова символа, колкото се побират на реда (без вдигане на грешка при изрязването).
    Командата допуска опционално посочване на шрифт и атрибути за печат на реда:
    Font Цяло число от 0 до 3:
  • 0 - 32 точки (4 mm) височина, по-високи букви
  • 1 - 32 точки (4 mm) височина, нормални букви
  • 2 - 24 точки (3 mm) височина
  • 3 - 16 точки (2 mm) височина
  • Flags От една до 3 букви: 'B', 'H' или 'I'. Всяка може да се появи най-много веднъж. Задават съответно:
  • B - Bold (Удебелено)
  • H - High (Двойна височина)
  • I - Italic (Наклонено)
  • Необходимо е да е отворен фискален бон. В противен случай не се отпечатва текста и се вдига S1.1.

    38h (56) ЗАТВАРЯНЕ (ПРИКЛЮЧВАНЕ) НА ФИСКАЛЕН БОН

    Област за данни: Няма данни
    Отговор: Allreceipt, FiscReceipt
    Allreceipt Всички издадени бележки от последното приключване на деня до момента.
    FiscReceipt Всички издадени фискални бележки от последното приключване на деня до момента.

    Натрупаните суми от фискалния бон се прибавят към дневните суми в регистрите на оперативната памет.

    Командата няма да бъде изпълнена успешно, ако:

    • Не е отворен фискален бон.
    • Команда 53 (35h) не е изпълнена успешно.
    • Платената сума по команда 53 е по-малка от общата сума на фискалния бон.

    39h (57) ПЕЧАТ НА ИНФОРМАЦИЯ ЗА КЛИЕНТА

    Област за данни: [# | * | ^]<Bulstat>[<Tab><Seller>[<Tab><Receiver>[<Tab><Client>[<Tab><TaxNo>[<Tab><Address>[<Tab><AccPer>]]]]]]
    Отговор: Няма данни
    Bulstat ЕИК номер на купувача. Между 9 и 14 символа. Ако преди него стои символа ‘#’, данните се считат за ЕГН или символа ‘*’ - личен номер или символа ‘^’ - служебен номер.
    Tab Табулация (09h). Разделител между параметрите.
    Seller Име на продавача. До 26 символа.
    Receiver Име на получателя. До 26 символа.
    Client Име на купувача. До 26 символа.
    TaxNo ЗДДС номер на купувача. Между 10 и 14 символа.
    Address Адрес на купувача. До два реда текст, разделени с LF (0Ah), първи ред максимално от 28 символа, а втори- максимално от 34 символа.
    AccPer Материално отговорно лице

    С изключение на първия всички останали параметри не са задължителни. Ако трябва да се зададе някой параметър, всички преди него трябва да са зададени. При празен или незададен параметър се оставя празно място за попълване на ръка.

    Командата е допустима само във разширен фискален бон (фактура) за унифицирано оформяне на боновете. Трябва да се изпълни непосредствено след цялостно плащане на натрупаната за бона сума. След това вече е разрешено затварянето на бона.

    3Ah (58) РЕГИСТРИРАНЕ (ПРОДАЖБА) НА АРТИКУЛ ИЛИ ГОРИВО

    Област за данни: [D]<[Sign]PLU>[<Tab><Dept><Tab>][*<Qwan>[#UN]][,Perc|;Abs][D]@<FTT>[*<Quantity>][,|;<Discount_MakeUp>]
    Отговор: Няма данни
    D Един байт със стойност ‘D‘. Ако го има, продажбата става с показване на клиентския дисплей. Ако дължината на името на артикула е повече от 20, символите след 20-я се отрязват.
    Sign Един байт със стойност ‘-‘.
    PLU Това е номер на артикула. Цяло число от 1 до 999999999 (до 9 цифри).
    FTT Номер на FTT.
    Tab Един байт – табулация (ASCII код 9).
    Dept Номер на департамент. Цяло число от 1 до 1200 включително. Ако този параметър присъствува, то задължително трябва да ги има и разделителните табулации.
    Qwan Незадължителен параметър, задаващ количеството на стоката. По подразбиране е 1.000. Дължина до 8 значещи цифри (не повече от 3 след десетичната точка). Произведението (Единична цена)*Qwan се закръгля от принтера до зададения брой десетични знаци и също не трябва да надхвърля 8 значещи цифри.
    UN Име на мерна единица. Опционален текст за мерна единица на количеството до 8 символа, например „kg”.
    Perc Това е незадължителен параметър, показващ стойността на надбавката или отстъпката (в зависимост от знака) в проценти върху текущата продажба. Допустими стойности са от -99.00 % до 99.00 %. Приемат се до 2 десетични знака.
    Abs Това е незадължителен параметър, показващ стойността на надбавката или отстъпката (в зависимост от знака) като сума. Не е допустима отстъпка със стойност по-голяма от стойността на продажбата.

    Допустим е само един от аргументите Perc или Abs.

    ФП извършва следните действия:

    • Прочита се от таблицата с артикулите името, цената и данъчната група на стоката.
    • Ако продажбата е по департамент и е разрешено с команда 43, подкоманда ‘N’, отпечатва се името на департамента.
    • Отпечатва името на артикула, посоченото количество и единичната цена. На втори ред се отпечатва получената цена заедно с буквата, определяща данъчната група. Актуализират се регистрите за натрупани суми и количества на артикули. Ако с команда 43h е зададено форматиране на текста тип фактура, то името на стоката, единичната цена, количеството и цената се отпечатват на отделни редове.
    • Цената на стоката се прибавя към натрупаните суми в регистрите в оперативната памет. В случай на препълване се установяват съответните битове от статус полето.
    • Ако има отстъпка или надбавка, тя се отпечатва на отделен ред и се добавя в предвидени за това регистри на принтера. Стойностите за целия ден се отпечатват при дневния финансов отчет.
    • Ако е указан департамент, натрупаната стойност се прибавя към него. Надбавките и отстъпките, ако има такива, се отчитат.

    Командата няма да бъде изпълнена успешно, ако:

    • Не програмиран артикул с посочения номер.
    • При принтер, регистриран за работа в бензиностанция и артикул от група 'В' няма гориво с такова име в никой от резервоарите.
    • Не е отворен фискален бон.
    • Вече са направени максималния брой продажби за един бон (512).
    • Командата (35h) е изпълнена успешно.
    • Сумата по някоя от данъчните групи става отрицателна.
    • Сумата от надбавки или отстъпки в рамките на бона става отрицателна.
    • КЛЕН е пълна.

    3Ch (60) ОТКАЗВАНЕ (ПРЕКРАТЯВАНЕ) НА ФИСКАЛЕН БОН

    Област за данни: Няма данни
    Отговор: Няма данни

    Командата е допустима само в отворен фисакален бон, и то преди изпълнението на команда 53 (Total). Предизвиква отказването на всички натрупани в бона суми. Отпечатва се с двойна ширина „=АНУЛИРАНО=” и бонът завършва с надпис „ФИСКАЛЕН БОН”.

    3Dh (61) УСТАНОВЯВАНЕ НА ДАТАТА И ЧАСА

    Област за данни: <DD-MM-YY><space><HH:MM[:SS]>
    Отговор: Няма данни

    Не може да се установява дата, по-ранна от датата на последния запис във фискалната памет. Предвидено е да се работи до 2099 година включително. След RESET на паметта командата трябва задължително да се изпълни, за да се продължи нормалната работа, при което се извършва RESET запис във фискалната памет.

    Не е възможно задаване на дата и час по-ранна от последния отпечатан документ, записан в КЛЕН. Това е с цел коректно търсене на документи от КЛЕН по дата и час за печат или изтегляне по серийния порт като текст.

    3Eh (62) ПРОЧИТАНЕ НА ДАТАТА И ЧАСА

    Област за данни: Няма данни.
    Отговор: <DD-MM-YY><Space><HH:MM:SS>

    3Fh (63) ПОКАЗВАНЕ НА ДАТАТА И ЧАСА

    Област за данни: Няма данни
    Отговор: Няма данни

    На долния ред на дисплея се показват текущите дата и час на принтера във формат DD-MM-YY HH:MM:SS.

    40h (64) ИНФОРМАЦИЯ ЗА ПОСЛЕДНИЯ ФИСКАЛЕН ЗАПИС

    Област за данни: [[<LongDT>]<Option>]
    Отговор: ErrCode[,N,TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH,Date]
    LongDT Един опционален байт със стойност '*'. При наличието му се връща и часът на дневния отчет.
    Option Един опционален байт със стойност '0' или '1'. Ако липсва, се приема, че е '0'. При '0' се връща оборотът по данъчни групи, при '1' – натрупаните данъци.
    ErrCode Код на грешка:
    P Командата е успешна. Следват данни.
    F Командата е неуспешна.
    N Това е номера на последния фискален запис - 4 байта.
    TaxX Сумите по всяка данъчна група ‘А’, ‘Б’, ‘В’, … - 12 байта със знак.
    Date Датата на фискалния запис - 6 байта /DDMMYY/.

    Командата води до предаване на информацията от последния запис във фискалната памет към компютъра.

    41h (65) ИНФОРМАЦИЯ ЗА СУМИТЕ ПО ДАНЪЧНИ ГРУПИ ЗА ДЕНЯ

    Област за данни: [Option]
    Отговор: TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH
    Option Определя каква информация да се върне:
    ‘0’ - Общ оборот.
    ‘1’ – Натрупан ДДС.
    Ако параметърът липсва, подразбира се ‘0’.
    TaxX Сумите по всяка данъчна група ‘А’, ‘Б’, ‘В’, ... - 12 байта със знак.

    Връщат се сумите по данъчни групи от последното приключване на деня до момента на получаване на командата.

    42h (66) ЗАДАВАНЕ НА ИНТЕРВАЛ ДОПУСТИМИ НОМЕРА НА ФАКТУРА

    Област за данни: [Start,End]
    Отговор: [Start,End,Current]
    Start Задава начална стойност на интервала. Цяло число до 10 цифри.
    End Задава крайна стойност на интервала. Цяло число до 10 цифри.
    Current Текущата стойност на брояча на фактурите. Цяло число с 10 цифри.

    Start трябва да е по-малко или равно на End. При успешно изпълнена команда текущият номер на фактура става Start.

    Ако областта за данни е празна, принтерът връща текущия интервал и брояч.

    Командата е допустима, ако:

    • Не е изпълнявана след пускане на принтера в експлоатация.
    • Извършено е нулиране на RAM, поради което информацията за текущия брояч и допустимия ин- тервал е загубена.
    • С нарастванев на брояча на фактурите той е излязъл вън от допустимия интервал. Трябва да се зададе нов интервал.

    44h (68) БРОЙ СВОБОДНИ ПОЛЕТА ВЪВ ФИСКАЛНАТА ПАМЕТ

    Област за данни: Няма данни
    Отговор: Free,Total
    Free Броят на свободните места за фискални записи. /4 байта/.
    Total Общият брой фискални записи в принтера. /4 байта/.

    Връща се броя на свободните полета във фискалната памет, предвидени за запис на информация при дневен финансов отчет с нулиране (Z-отчет).

    45h (69) ДНЕВЕН ФИНАНСОВ ОТЧЕТ

    Област за данни: [<Option>[N]
    Отговор: Closure,FM_Total,TotA,TotB,TotC,TotD,TotE,TotF,TotG,TotH
    Option Незадължителен параметър, управляващ вида на генерирания отчет:
  • ‘0’ - Отпечатва се Z-отчет. Разпечатката завършва с надпис „ФИСКАЛЕН БОН”.
  • ‘2’ - Прави се дневен финансов отчет без нулиране (т. е. не се извършва запис във фискалната памет и нулиране на регистрите). Разпечатката завършва с лого „СЛУЖЕБЕН БОН”.
  • N Наличието на този символ в края на данните забранява изчистването на натрупаните данни по оператори при отчет с нулиране.
    Closure Номер на фискалния запис - 4 байта.
    FM_Total Сумата от всички продажби без ДДС - 12 байта със знак
    TotX Сумите по всяка от данъчните групи ‘А’, ‘Б’, ‘В’, … - 12 байта със знак.

    Дневен отчет без нулиране може да се предизвика и чрез задържането на бутон <FEED> при включване на принтера до втория звуков сигнал.

    46h (70) СЛУЖЕБЕН ВНОС И ИЗНОС НА ПАРИ

    Област за данни: [<Amount>]
    Отговор: ExitCode,CashSum,ServIn,ServOut
    Amount Сумата за регистриране (до 10 значещи цифри). В зависимост от знака на числото тя се интерпретира като внос или износ.
    ExitCode
  • P’: Заявката е изпълнена. Ако заявената сума е ненулева, принтерът отпечатва служебен бон за регистриране на операцията.
  • F’: Заявката е отказана.
  • Това става, ако:

  • Касовата наличност е по-малка от заявения служебен износ.
  • Има отворен фискален или служебен бон.
  • CashSum Касова наличност. Освен от тази команда сумата нараства и при всяко плащане в брой.
    ServIn Сумата от всички команди „Служебен внос”.
    ServOut Сумата от всички команди „Служебен износ”.

    Променя съдържанието на регистъра за касова наличност. В зависимост от знака на посочената сума тя се натрупва в регистъра за служебен внос или износ. Информацията не се записва във фискалната памет и е достъпна до момента на приключване на деня. Разпечатва се при команда 69 (45h) и при предизвикване на дневен финансов отчет без нулиране от самия принтер. При успешно изпълнение на командата с параметър се генерира импулс за отваряне на чекмедже, ако това е разрешено с подкоманда ‘X’ на команда 43.

    47h (71) ПЕЧАТ НА ДИАГНОСТИЧНА ИНФОРМАЦИЯ

    Област за данни: Няма данни
    Отговор: Няма данни

    Тази команда отпечатва служебен бон с диагностична информация.

    Бонът съдържа следното:

    • Датата и версията на програмното осигуряване.
    • Контролната сума на фирмуера.
    • Скоростта на предаване на серийния порт.
    • Положението на конфигурационните ключета и името на страната.
    • Аварийното време при отпадане на захранването.
    • Номера, датата и часа на последното нулиране на RAM (ако има такова).
    • Текущата температура на печатащата глава.
    • Общия брой полета във фискалната памет и броя на свободните.
    • Текущата дата и час.

    Командата няма да се изпълни при отворен бон и липса на хартия. Може да се предизвика и чрез задържането на бутон <FEED> при включване на принтера до първия звуков сигнал.

    48h (72) ФИСКАЛИЗАЦИЯ

    Област за данни: <Serial>
    Отговор: ErrCode
    Serial Индивидуалният номер на устройството. Трябва да е такъв, какъвто е зададен от команда 91 (5Bh).
    ErrCode Код на грешка или 'P' при успешно изпълнение.

    Използва се статус 5.3 за да се разбере дали командата е минала успешно. Командата не се изпълнява ако:

    • Индивидуалният номер не е валиден.
    • Фискалния принтер вече е фискализиран.
    • Не е програмиран индивидуален номер на устройството.
    • Индивидуалният не е същия като зададения.
    • Има отворен бон.
    • Има издавани клиентски фискални бонове след последния дневен финансов отчет с нулиране.
    • Не са зададени данъчните ставки.
    • ЕИК се състои само от нули.
    • Не е сверен часовника.
    • КЛЕН не форматиран.

    Извършва се фискализация на устройството. След успешното изпълнение на командата не е възможно връщането на устройството в нефискализирано състояние.

    ЕИК се записва във фискалната памет заедно с текущите дата и час. Всички регистри се нулират. Принтерът отваря първия фискален бон, отбелязва в него момента на фискализация и затваря бона. Документите започват да се записват в КЛЕН.

    49h (73) ПЪЛЕН ОТЧЕТ НА ФИСКАЛНАТА ПАМЕТ ПО НОМЕР НА БЛОК

    Област за данни: [[<SHA1>][<SkipZ>]<Start>,<End>]
    Отговор: Няма данни
    SHA1 Опционален аргумент – един байт със стойност '#'. Ако присъства, за всеки Z-отчет се отпечатва и контролната сума по алгоритъм SHA-1.
    SkipZ Опционален аргумент – един байт със стойност '*'. Ако присъства, за всеки Z-отчет се отпечатват само данъчните ставки, за които натрупаните суми за деня са ненулеви. Такъв отчет е нестандартен и може да се използува само за вътрешни справки на обекта!
    Start Номер на началния фискален блок. 4 байта.
    End Номер на крайния фискален блок. 4 байта.

    Тази команда води до отпечатване на пълен отчет на фискалната памет от даден номер до друг. Ако няма входни данни, приема се целия период на експлоатация.

    Ако няма начален и краен номер, отпечатва се отчет за целия период на експлоатация.

    4Ah (74) ПОЛУЧАВАНЕ НА СТАТУСА НА ПРИНТЕРА

    Област за данни: [Option]
    Отговор: <S0><S1><SF><S3><S4><S5>|<NLines>|HdwInfo|InfoReciepts
    Option Един байт със следните значения:
  • W - Първо чака да се отпечата всичко от буфера за печат на принтера.
  • X - Не изчаква принтера, а отговаря веднага.
  • L - Връща брой оставащи редове за печат.
  • P - Връща хардуерна информация за принтера.
  • R - Връща данни за изпратените към сървъра на НАП клиентски документи.
  • Sn Статус байт N.
    Nlines Брой неотпечатани редове в буфера за печат. Стойност 0 означава, че няма чакащи за печат данни.
    HdwInfo Връща статистика за работата на принтера от производството му до момента. Данните са във формат:
    P<Len>,<Docs>,<Cuts>,<PwOns>,<MdRst>
    Len Дължина на отпечатаната хартия в милиметри.
    Docs Брой отпечатани документи.
    Cuts Брой отрязвания на хартията.
    PwOns Брой включвания на принтера.
    MdRst Брой рестартирания на модема. Не се поддържа в момента.
    InfoReciepts Връща данни за изпратените и не изпратените клиентски бонове
    <Lastprintdoc>,(Nlastsentdoc, Dtlastsentdoc, Minfromlastsuccesssent),(Nfirstnotsentdoc, Dtfirstnotsentdoc, Minfromfirstnotsuccesssent)
  • Lastprintdoc - Номер на последния изпечатан документ.
  • Nlastsentdoc - Номер на последния успешно изпратен документ.
  • Dtlastsentdoc - Дата и час на последния успешно изпратен документ.
  • Minfromlastsuccesssent - Минути от последния успешно изпратен документ.
  • Nfirstnotsentdoc - Номер на първия не изпратен документ.
  • Dtfirstnotsentdoc - Дата и час на първия не изпратен документ.
  • Minfromfirstnotsuccesssent - Минути от първия не изпратен документ.
  • При липса на данни датите са 01-01-2000 00:00:00, а минутите са 0.
    Ако минутите на Minfromfirstnotsuccesssent са повече от 1440 принтера се блокира.

    4Bh (75) ФОРСИРАНЕ НА ПОДТИСНАТ ПЕЧАТ

    Област за данни: [<Restore>]
    Отговор: Няма данни

    Възобновява подтиснатия печат в бон в следствие на команда 43, подкоманда 'Q'.

    Restore Един байт с възможна стойност:
    0 След края на печата той е разрешен – следващите данни ще се печатат веднага.
    1 След изчистването на буфера за печат той остава подтиснат до края на бона.

    4Ch (76) СТАТУС НА ФИСКАЛНАТА ТРАНЗАКЦИЯ

    Област за данни: [Option]
    Отговор: Open,Items,Amount[,Tender]
    Option = ‘T’. Ако този параметър е указан командата ще върне информацията относно текущото състояние на дължимата до момента сметка от клиента.
    Open Един байт, който е ‘1’ ако е отворен фискален или служебен бон (какъв точно може да се разбере по статус битовете), и ‘0’ ако няма отворен бон.
    Items Броят на продажбите регистрирани на текущия или на последния фискален бон. 4 байта.
    Amount Сумата от последния фискален бон – 9 байта със знак.
    Tender Сумата платена на поредния или последен бон. 9 байта със знак.

    Тази команда дава възможност на приложението в PC да установи статуса, а ако е нужно и да възстанови и завърши фискална операция, прекъсната аварийно и ненавременно, например при изключване на ел. захранване.

    4Fh (79) СЪКРАТЕН ОТЧЕТ НА ФИСКАЛНАТА ПАМЕТ ОТ ДАТА ДО ДАТА

    Област за данни: <Start>[,<End>]
    Отговор: Няма данни
    Start Начална дата - 6 байта (DDMMYY)
    End Крайна дата - 6 байта (DDMMYY)

    Командата води до изчисляване и отпечатване на съкратен отчет на фискалната памет.

    Ако вторият параметър липсва, командата генерира месечен или годишен отчет. Синтаксисът в този случай е:

    Start Месец – 4 байта (MMYY) за месечен отчет.
    Start Година – 2 байта (YY) за годишен отчет.

    50h (80) ЗВУКОВ СИГНАЛ (МЕЛОДИЯ)

    Област за данни: [<SoundData>]
    Отговор: Няма данни

    Командата служи за издаване на поредица от тонове със зададена честота и продължителност.
    Ако няма входни данни, издава се звуков сигнал с честота 2 kHz и продължителност 300 ms.
    Ако входните данни са от вида: <H‡>,<mSec>
    където H‡ и mSec са цели числа, то се издава звуков сигнал с честота H‡ херца (м/у 100 и 5000) и продължителност mSec милисекунди (м/у 50 и 2000).

    В останалите случаи данните са във формат, подобен на записа на ноти и могат да имат произволна дължина (не по-голяма от изискваната от протокола – 218 байта). Първият невалиден символ прекъсва командата. Допустимите подкоманди във данните са:

    • Нота: Една латинска главна буква със стойност от ‘A’ до‘G’.
      C’ до
      D’ ре
      E’ ми
      F’ фа
      G’ сол
      A’ ла
      B’ си
      Ако непосредствено след нотата следва символът ‘#’, то тя се повишава с един полутон (диез). Ако след нотата следва символът ‘&’, то тя се понижава с един полутон (бемол).
    • Пауза: Символът интервал (ASCII 20h).
      След нота или пауза може да има един или няколко байта, указващи продължителността. Валидни символи са от ‘0’ до ‘5’, като те имат следното значение:
      ‘0’ Базова продължителност
      ‘1’ Базова продължителност * 2
      ‘2’ Базова продължителност * 4
      ‘3’ Базова продължителност * 8
      ‘4’ Базова продължителност * 16
      ‘5’ Базова продължителност * 32
      Ако има няколко продължителности една след друга, те се сумират.
    • Преминаване към по-висока гама: символът ‘+’.
    • Преминаване към по-ниска гама: символът ‘-‘.
    • Задаване на темпо: Символът ‘^’, следван от една цифра. Цифрата определя процентно продължителността на нотите и интервалите спрямо базовата. Допустима стойност:
      ‘1’ 200 %
      ‘2’ 175 %
      ‘3’ 140 %
      ‘4’ 120 %
      ‘5’ 100 %
      ‘6’ 80 %
      ‘7’ 60 %
      ‘8’ 50 %
      ‘9’ 40 %
    • Връщане към гама 1 (тя е и по подразбиране). Символът ‘@’. Тонът ‘ла’ за нея е 440 Hz.

    Изсвирването на изпратената последователност е фоново и принтерът може да изпълнява команди по време на звуковия сигнал.

    51h (81) ПОЛУЧАВАНЕ НА ЗАХРАНВАЩОТО НАПРЕЖЕНИЕ И ТЕМПЕРАТУРАТА

    Област за данни: Няма данни
    Отговор: <Vh>,<Temp>
    Vh Захранващото напрежение във волтове.
    Temp Температурата на печатащата глава в градуси.

    53h (83) УСТАНОВЯВАНЕ НА ДЕСЕТИЧНИ ЗНАЦИ, ВАЛУТА И ДАНЪЧНИТЕ СТАВКИ

    Област за данни: [Multiplier,Decimals,Currency,EnabledT,TaxA,...]
    Отговор: Multiplier,Decimals,Currency_name,EnabledT,TaxA,TaxB,TaxC,TaxD,…
    Multiplier Множител - между 0 и 3 и показва степента на 10 преди да се умножи с входното или изходното число. В момента е деактивиран и не се използува.
    Decimals Това е един байт със стойност между 0 и 2 и показва мястото където да се сложи десетичната запетая.
    Currency Името на валутата. До 6 байта.
    EnabledT 8 байта със възможна стойност ‘0’ или ‘1’, определящи дали съответната данъчна група е забранена (‘0’) или разрешена (‘1’).
    TaxX Стойността на данъчните ставки.

    Ако не се зададе нищо в областта за данни, ФП връща валидните за момента стойности.

    Ако един от параметрите трябва да бъде указан, то тогава и останалите трябва да се зададат. Установяването на нови данъчни ставки е разрешено само преди издаването на първия клиентски фискален бон за деня.

    Преди фискализация данните от командата се пазят само в оперативната памет и могат да се променят неограничен брой пъти.

    54h (84) ПЕЧАТ НА БАРКОД

    Област за данни: <Type>[<Align>][<AllowN>],<Data>
    или
    <Type>[<Align>];<Data>
    Отговор: Няма данни
    Type Тип на баркода. Един байт с допустима стойност:
  • 1’ - EAN8. Данните съдържат само цифри и са 7 байта. Контролната сума се изчислява от принтера.
  • 2’ - EAN13. Данните съдържат само цифри и са 12 байта. Контролната сума се изчислява от принтера.
  • 3’ - Code 128. Данните са символи с ASCII кодове между 32 и 127. Дължината им е между 22 и 42 символа (зависи от съдържанието – максималната дължина се постига ако всички символи са цифри). Контролната сума се изчислява от принтера. При печат на тясна хартия дължината на данните естествено е по-малка.
  • 4’ - ITF (Interleaved 2 of 5). Данните съдържат само цифри.
  • 5’ - ITF (Interleaved 2 of 5). Данните съдържат само цифри. Принтерът автоматично генерира и отпечатва контролна сума.
  • D’ - Двумерен баркод Data Matrix. Данните са произволни печатаеми символи (дължина до 140).
  • Q’ - Двумерен баркод QR Code. Данните са произволни печатаеми символи (дължина до 140).
  • P’ - Двумерен баркод PDF417. Данните са произволни печатаеми символи (дължина до 140).
  • Align Един байт - 'L', 'R', или 'C' - съответно ляво и дясно подравнен или центриран.
    Допустим е само при двумерните баркодове. Ако разделителят от данните е ',', има и дублиращ текст.
    AllowN Незадължителен параметър - един символ със стойност '*'. Ако го има, баркодове Code 128 и ITF при необходимост (по-дълги входни данни) ще се отпечатат с размер на тънката линия само една точка. Имайте предвид, че така отпечатания баркод не отговаря на стандартите, но повечето четци все пак ще го прочетат. Максималната дължина на входните данни нараства двойно. На останалите баркодове параметърът не оказва влияние.

    Командата отпечатва баркод. Допустима е само в отворен фискален или служебен бон. Двумерните баркодове могат да се печатат с ляво и дясно подравняване или центрирани, едномерните – само центрирани. Ако разделителят в данните е запетая, под баркода се печати информацията и в текстов вид. Ако дължината на данните или съдържанието им е навалидно, вдига се статус бит „Синтактична грешка” и баркодът не се отпечатва.

    Височината на едномерните баркодове се задава с команда 43.

    55h (85) УСТАНОВЯВАНЕ ИМЕНА НА ДОПЪЛНИТЕЛНИТЕ ПЛАЩАНИЯ

    Област за данни: Option[,Name]
    Отговор: Result|Name
    Option:
  • I’ - Допълнително плащане 1.
  • J’ - Допълнително плащане 2.
  • K’ - Допълнително плащане 3.
  • L’ - Допълнително плащане 4.
  • i’ - Допълнително плащане 1. Дублира ‘I’.
  • j’ - Допълнително плащане 2. Дублира ‘J’.
  • k’ - Допълнително плащане 3. Дублира ‘K’.
  • l’ - Допълнително плащане 4. Дублира ‘L’.
  • m’ - Допълнително плащане 5.
  • n’ - Допълнително плащане 6.
  • o’ - Допълнително плащане 7.
  • p’ - Допълнително плащане 8.
  • q’ - Допълнително плащане 9.
  • r’ - Допълнително плащане 10.
  • s’ - Допълнително плащане 11.
  • Name Име на съответния тип плащане (до 24 символа). Ако не е зададено, връща текущото име.
    Result Един байт:
  • P’: Няма грешка.
  • F’: Името е повече от 24 байта.
  • Командата задава коментарен текст, който се печати пред данните от допълнителните типове плащания (команда 53). Разрешена е само преди издаването на първия клиентски фискален бон за деня.

    56h (86) ПРОЧИТАНЕ НА ДАТАТА НА НАЙ-КЪСНИЯ ЗАПИС ВЪВ ФИСК. ПАМЕТ

    Област за данни: [<WithTime>]
    Отговор: DT
    WithTime Опционален параметър – символът 'T'. Ако присъствува, връща се и часа на последния запис.
    DT Датата (или датата и часа) на последния (най-късен) запис във фискалната памет във формат:
    DD-MM-YYYY
    или
    DD-MM-YYYY hh:mm:ss

    57h (87) ПРОГРАМИРАНЕ НА ИМЕ НА ДЕПАРТАМЕНТ

    Област за данни: <Dept>,<TaxGr>,<Line1>[<LF><Line2>]
    Отговор: Няма данни
    Dept Номер на департамент. Цяло число от 1 до 1200.
    TaxGr Данъчна група, асоциирана с департамента.
    Line1 Име или поясняващ текст за департамента. До 28 символа.
    LF Разделител. Един символ – ASCII код 10.
    Line2 Име или поясняващ текст за департамента – втори ред. Незадължителен параметър - до 34 символа.

    Командата може да се изпълни само ако за департамента не са издавани фискални бонове след последния Z-отчет. При нов принтер или след RAM ресет имената на департаментите са празни. Програмираното име се печати в разширения дневен финансов отчет с печат на департаментите (команда 117) и при желание в началото на всеки фискален бон.

    58h (88) ПОЛУЧАВАНЕ ДАННИ ЗА НАТРУПАНИТЕ СУМИ ЗА ДЕПАРТАМЕНТ

    Област за данни: <Dept>
    Отговор: ExitCode[TaxGr,RecSales,RecSum,TotSales,TotSum,Line1<LF>Line2]
    Dept Номер на департамент. Цяло число от 1 до 1200. При стойност 0 на департамента се връщат данните за продабите, извършени без посочване на департамент. В този случай липсва данъчната група.
    ExitCode Един байт с възможни стойности:
  • P’: Департаментът е програмиран. Следват описаните по-долу данни за него.
  • F’: Департаментът не е програмиран. Няма данни за него.
  • TaxGr Данъчна група на департамента.
    RecSales Брой продажби за департамента в бона.
    RecSum Натрупана сума за текущия или последния фискален бон за съответния департамент. Плаващо число с два десетични знака.
    TotSales Брой продажби за департамента за деня.
    TotSum Натрупана сума за деня за съответния департамент. Плаващо число с два десетични знака.
    Line1 Име или поясняващ текст за департамента.
    Line2 Име или поясняващ текст за департамента – втори ред.

    59h (89) ПРОГРАМИРАНЕ НА ПРОИЗВОДСТВЕНАТА ТЕСТОВА ОБЛАСТ

    Област за данни: <Test>
    Отговор: Result,Free
    Test Един байт. Ако е ‘Т’ то се извършва запис във фискалната памет, иначе няма запис, а само се връщат параметрите.
    Result Един байт:
  • P (50h): Няма грешка.
  • F (46h): Има грешка.
  • Free Броя на останалите свободни блокове за запис на такива блокове. 4 байта.

    Тази команда се изпълнява за тестване на фискалната памет.

    Тестови блок за запис във фискалната памет: 55h,AAh,33h,CCh,5Ah,A5h,3Ch,C3h.

    Ако е вдигнат S1.1 фискалната памет не е форматирана или е в READONLY режим.

    5Ah (90) ЧЕТЕНЕ НА ДИАГНОСТИЧНА ИНФОРМАЦИЯ

    Област за данни: [*]<Calc>
    Отговор: <Name>,<FwRev><Country><Sp><FwDate><Sp><FwTime>,<Che>,<Sw>,<Ser>,<FM>
    * Незадължителен параметър, позволяващ да се прочетат всичките 16 конфигурационни ключета.
    Calc Ако е ‘1’ се изчислява контролна сума на кодовата памет (фирмуера), в противен случай се връща ‘FFFF’. 1 байт.
    Name Име на фискалното устройство (в случая "FP-800 / FP-2000 / FP-650 / SK1-21F / SK1-31F / FMP-10 / FP-700").
    FwRev Версията на програмното осигуряване. 4 байта.
    Country Дву-буквено означение на държавата (в случая „BG”).
    Sp Интервал. 1 байт.
    FwDate Датата на програмното осигуряване DDMmmYY. 7 байта.
    Sp Интервал. 1 байт.
    FwTime Час на програмното осигуряване HHMM. 4 байта.
    Che Контролна сума на EPROM. 4 байта стринг в шестнайсетичен вид. Например, ако контролната сума е 214Ah, то тя ще се предаде 3Fh,31h,34h,41h.
    Sw Ключетата от Sw1 до Sw8. 8 байта стринг с ‘0’ или ‘1’
    Ser Индивидуален номер на устройството - 8 байта.
    FМ Номер на фискалния модул – 8 байта.

    5Bh (91) ПРОГРАМИРАНЕ НА ИНДИВИДУАЛНИЯ НОМЕР НА УСТРОЙСТВОТО И НОМЕРА НА ФИСКАЛНАТА ПАМЕТ

    Област за данни: Serial,FMnumber
    Отговор: Result,CountryStr
    Serial Това са 8 байта – индивидуален номер на принтера, в който трябва да се съдържат 2 латински букви и най-малко 6 цифри.
    FMnumber Това са 8 байта – номер на модула фискална памет. Състои се само от цифри.
    Result Един байт съдържащ буква: ’P’ - няма грешки, ‘F’ - има грешки.
    CountryStr Стринг, съдържащ името на страната. Например „BULGARIA

    Командата може да се изпълни само в сервизен режим във фирмата-производител. Принтерът се предоставя на клиента с предварително записани индивидуален номер на принтера и номер на фискалната памет. Ако Result = ‘F’ и е вдигнат S1.1 командата не е изпълнена защото фискалната памет не е форматирана или индивидуалният номер вече е зададен.

    5Ch (92) ПЕЧАТ НА РАЗДЕЛИТЕЛНА ЛИНИЯ

    Област за данни: Type
    Отговор: Няма данни
    Type Един байт с допустима стойност:
  • '1' - Запълване със символа '-'.
  • '2' - Запълване последователно със символите '-' и ' '.
  • '3' - Запълване със символа '='.
  • '4' - Запълване със символа '*' с двойна ширина.
  • 'W<bm>' - където bm е число от 0 до 3 (битова маска).
    Безусловно се добавя надписа „не се дължи плащане!” с тройна височина.
    1 - добавя надписа „по този бон„.
    2 - добавя отгоре и отдолу рамка от символа '*' с двойна ширина.
  • 'W<bm>' - се поддържа само в служебни бонове.
  • Принтерът печати разделителна линия от посочения тип по цялата ширина на хартията. Трябва да е отворен фискален или служебен бон.

    5Dh (93) ПОЛУЧАВАНЕ НА ИНФОРМАЦИЯ ЗА ОТСТЪПКИТЕ И НАДБАВКИТЕ ЗА ДЕНЯ

    Област за данни: Няма данни
    Отговор: <CntD>,<SumD>,<CntM>,<SumM>
    CntD Брой отстъпки след последния Z-отчет.
    SumD Сума от отстъпки след последния Z-отчет.
    CntM Брой надбавки след последния Z-отчет.
    SumM Сума от надбавки след последния Z-отчет.

    5Eh (94) ПЪЛЕН ОТЧЕТ НА ФИСКАЛНАТА ПАМЕТ ПО ДАТА НА ФИСКАЛЕН ЗАПИС

    Област за данни: [<SHA1>][<SkipZ>]<Start>[,<End>]
    Отговор: Няма данни
    SHA1 Опционален аргумент – един байт със стойност '#'. Ако присъства, за всеки Z-отчет се отпечатва и контролната сума по алгоритъм SHA-1.
    SkipZ Опционален аргумент – един байт със стойност '*'. Ако присъства, за всеки Z-отчет се отпечатват само данъчните ставки, за които натрупаните суми за деня са ненулеви. Такъв отчет е нестандартен и може дасе използува само за вътрешни справки на обекта!
    Start Началната дата на фискален запис. 6 байта (DDMMYY).
    End Крайна дата на фискален запис. 6 байта (DDMMYY).

    Тази команда отпечатва пълен отчет на фискалната памет за периода между две дати. Ако вторият параметър липсва, командата генерира месечен или годишен отчет. Синтаксисът в този случай е:

    Start Месец – 4 байта (MMYY) за месечен отчет.
    Start Година – 2 байта (YY) за годишен отчет.

    5Fh (95) СЪКРАТЕН ОТЧЕТ НА ФИСКАЛНАТА ПАМЕТ ЗА ДАДЕН ПЕРИОД

    Област за данни: [<Start>,<End>]
    Отговор: Няма данни
    Start Начален номер на фискален запис.
    End Краен номер на фискален запис.

    Командата води до изчисляване и отпечатване на съкратен отчет на фискалната памет. Този отчет за целия период на употреба на фискалния принтер може да се предизвика и чрез задържането на бутон <FEED> при включване на принтера до четвъртия звуков сигнал. При липса на входни данни се отпечатва отчет за целия период на експлоатация.

    61h (97) ПРОЧИТАНЕ НА УСТАНОВЕНИТЕ ДАНЪЧНИ СТАВКИ

    Област за данни: Няма данни
    Отговор: TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH
    TaxA Данъчна ставка А
    TaxB Данъчна ставка Б
    TaxC Данъчна ставка В
    TaxD Данъчна ставка Г
    TaxE Данъчна ставка Д
    TaxF Данъчна ставка Е
    TaxG Данъчна ставка Ж
    TaxH Данъчна ставка З

    62h (98) УСТАНОВЯВАНЕ НА ЕИК

    Област за данни: <Text>[,<Name>]
    Отговор: Result
    Text Това са до 14 байта съдържащи ЕИК като текст.
    Name Това е коментарният текст пред ЕИК. По подразбиране е „ЕИК”.
    Result P’ Няма грешка.
    F’ Грешка.

    63h (99) ПРОЧИТАНЕ НА ЕИК

    Област за данни: Няма данни
    Отговор: <Text>,<Name>
    Text ЕИК като текст.
    Name Коментарният текст преди ЕИК.

    64h (100) ПОКАЗВАНЕ НА ТЕКСТ НА ДИСПЛЕЯ

    Област за данни: Text
    Отговор: Няма данни
    Text Текст до 40 символа, който се изпраща към дисплея. Ако е необходимо да се предадат ASCII символи по-малки от 20h (управляващи поредици) те се увеличават с 40h и се предхождат от 10h (DLE).
    Пример: за да се предаде 1Bh,4Bh,00h в полето за данни се записва 10h,5Bh,4Bh,10h,40h.

    65h (101) ЗАДАВАНЕ НА ОПЕРАТОРСКА ПАРОЛА

    Област за данни: <OpCode>,<OldPwd>,<NewPwd>
    Отговор: Няма данни
    OpCode Код на оператор. От 1 до 16.
    OldPwd Стара парола (4 до 8 цифри).
    NewPwd Нова парола (4 до 8 цифри).

    Задава една от шестнайсетте операторски пароли. Паролата ще бъде поискана при отваряне на фискален бон. При три грешни опита за задаване на парола принтерът блокира и трябва да се изключи и включи за продължаване на работата.

    След инициализация или нулиране на оперативната памет всички пароли са „0000”.

    66h (102) ЗАДАВАНЕ НА ИМЕ НА ОПЕРАТОР

    Област за данни: <OpCode>,<Pwd>,<OpName>
    Отговор: Няма данни
    OpCode Код на оператор. От 1 до 16.
    Pwd Парола (4 до 8 цифри).
    OpName Име на оператор (до 24 символа).

    Задава едно от шестнайсетте имена на оператори. Номерът и името на оператора се отпечатва в началото на всеки фискален (клиентски) бон. При три грешни пароли принтерът блокира и трябва да се изключи и включи за продължаване на работата.

    След инициализация или нулиране на оперативната памет и шестнайсетте имена на оператори са празни.

    67h (103) ИНФОРМАЦИЯ ЗА ТЕКУЩИЯ БОН

    Област за данни: Няма данни
    Отговор: CanVd,TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH,Inv,InvNum
    CanVd Възможно ли е връщане (продажба с отрицателен знак) [0/1]
    TaxA Натрупана сума по данъчна група А
    TaxB Натрупана сума по данъчна група Б
    TaxC Натрупана сума по данъчна група В
    TaxD Натрупана сума по данъчна група Г
    TaxE Натрупана сума по данъчна група Д
    TaxF Натрупана сума по данъчна група Е
    TaxG Натрупана сума по данъчна група Ж
    TaxH Натрупана сума по данъчна група З
    Inv Отворена ли е разширена клиентска бележка.
    InvNmb Номер на следващата фактура /10 цифри/.

    Дава информация за натрупаните суми по данъчни групи и дали е възможно връщане на регистрирани стоки.

    69h (105) ОТЧЕТ ОПЕРАТОРИ

    Област за данни: Няма данни
    Отговор: Няма данни

    Разпечатва се информация за продажбите по оператори. За всеки оператор се отпечатва името, номера, броя фискални бонове, отстъпки, надбавки, отстъпки, корекции и натрупаните суми.

    6Ah (106) ОТВАРЯНЕ НА ЧЕКМЕДЖЕ

    Област за данни: [<mSec>]
    Отговор: Няма данни
    mSec Дължина на импулса в милисекунди (5-100)

    Изпраща импулс за отваряне на чекмедже. Параметърът задава нова стойност на дължината на импулса, която се запомня от принтера. Ако параметъра се пропусне, използува се последната зададена стойност. След RESET на паметта се установява стойност 15 ms.

    6Bh (107) ДЕФИНИРАНЕ И ЧЕТЕНЕ НА АРТИКУЛИ ИЛИ ГОРИВО

    Област за данни: <Option>[Parameters]
    Отговор: ErrorCode[Data]
    Option Един байт, определящ вида на исканата операция. В зависимост от него командата може да изисква или не допълнителни параметри. Възможни стойности: ‘I’, ‘P’, ‘D’, ‘A’, ‘C’, ‘R’, ‘F’, ‘L’, ‘N’, ’X’, ’f’, ‘l’, ‘n’, ‘x’.
    ErrorCode Един байт, показващ резултата от операцията, със значение:
    - ‘P Командата е успешна.
    - ‘F’ Командата е неуспешна.
    Parameters Данни за командата. Подробно са описани по-долу по <Option>.
    • IArticle information
    Синтаксис: <I>[@]
    Отговор: Total,Prog,Len | <9h>,<ProgrFTT>,<NameMaxLength>
    @ Опционален параметър предизвикващ прочитането на броя програмирани FTT на горива и максималния брой символи за името им.
    *Само за принтери тип 3 и 31.
    Total Общ брой програмируеми артикули (3000 за този принтер).
    Progr Брой на програмираните артикули.
    Len Максимална дължина на име на артикул.
    ProgrFTT Брой програмирани FTT на горива.
    NameMaxLength Максималния брой символи за името на FTT.
    • P’ Програмиране на артикул.
    Синтаксис: <p><TaxGr><PLU>,<Group>,<SPrice>,[<Replace>]<Quantity>,<Name>
    TaxGr Данъчна група (‘А’,’Б’,’В’,’Г’,’Д’,’Е’,’Ж’,’З’)
    PLU Номер на артикула (1 до 999999999)
    Group Стокова група (1 до 99)
    SPrice Единична цена. До 8 значещи цифри.
    Replace Незадължителен параметър – един байт със стойност ‘A’. Променя значението на следващия параметър (Quantity).
    Quantity Число с до 3 десетични знака – наличното количество за дадения артикул. Ако параметърът Replace присъствува, то наличното количество се замества с Quantity, в противен случай то се добавя към старото количество (ако артикулът вече е програмиран, разбира се). Всяка команда за продажба на артикула ще намалява това количество.
    Name Име на артикула. До 36 байта. Могат да се програмират до 3000 артикула. Командата ще се отхвърли, ако вече има такъв артикул и по него има продажби. Може да се промени артикул с нулеви натрупани суми. Ако принтерът е регистриран за работа в бензиностанция и артикулът е от група 'В', се проверява и за дублирано име.
    • A’ Промяна на наличното количество за артикул.
    Синтаксис: <A><PLU>,<Quantity>
    PLU Номер на артикула (1 до 999999999).
    Quantity Корекция на количеството – плаващо число с до 3 десетични знаци. Положителните числа увеличават количеството, отрицателните го намаляват. Командата се отхвърля ако артикулът не е програмиран.
    • C’ Задаване цена на артикул или гориво.
    Синтаксис: C<PLU>,<Price>
    PLU Номер на артикула.
    Price Единична цена на артикула.
    Синтаксис1: C@<FTT>,<Price>
    FTT FTT номер на гориво.
    Price Единична цена на горивото.
    • D’ Изтриване на артикул.
    Синтаксис: <D><A | PLU | PLU1,PLU2>
    A Изтрива всички артикули с нулеви натрупани суми.
    PLU Изтрива артикула с посочения номер, ако няма натрупани суми.
    PLU1,PLU2 Изтрива артикулите в зададения интервал без натрупани суми.
    • R’ Прочитане данните за артикул.
    Синтаксис: <R><PLU> | R@<FTT>
    Отговор: <’P’><PLU>,<TaxGr>,<Grp>,<SPrice>,<Total>,<Sold>,<Avail>,<Name>
    <PLU> Номер на артикула. Между 1 и 999999999.
    <TaxGr> Данъчна група. Един байт.
    <Grp> Стокова група. От 1 до 99.
    <SPrice> Единична цена. Плаващо число с десетични знаци текущите за принтера.
    <Total> Натрупана сума за дадения артикул.
    <Sold> Продадено количество. Плаващо число с 3 десетични знака.
    <Avail> Налично количество. Плаващо число с 3 десетични знака.
    <Name> Име на артикула. До 36 байта.
    Отговор1: <p><FTT>,<TaxGr>,<Grp>,<SPrice>,<Total>,<Sold>,<Avail>,<FTTName>
    <FTT> Номер на FTT.
    <Grp> Винаги ще бъде 0.
    <SPrice> Единична цена. Плаващо число с десетични знаци текущите за принтера.
    <Total> Натрупана сума за даденото FTT.
    <Sold> Продадено количество. Плаващо число с 3 десетични знака.
    <Avail> Винаги ще бъде 0.
    <FTTName> Име на FTT. До 16 байта.
    При не намерен артикул или FTT се връща един байт ‘F’.
    • F’ Връщане на данните за първия намерен програмиран артикул или FTT.
    Синтаксис: <F>[<PLU>]

    Върнатите данни са като при подкоманда ‘R’ | ‘R’@. Ако е зададен параметърът PLU, то търсенето започва от него в нарастваща посока, в противен случай са започва от 1. При подадени F@ ще върне първия намерен FTT.

    • L’ Връщане на данните за последния намерен програмиран артикул.
    Синтаксис: <L>[<PLU>]

    Върнатите данни са като при подкоманда ‘R’. Ако е зададен параметърът PLU, то търсенето започва от него в намаляваща посока, в противен случай са започва от 999999999.

    • N’ Връщане на данните за следващия намерен програмиран артикул или FTT.
    Синтаксис: <N>

    Върнатите данни са като при подкоманда ‘R’.

    Последните три подкоманди са за извличане от компютъра на данните за всички програмирани артикули. Подава се подкоманда ‘F’ или ‘L’ и след това подкоманда ‘N’ до получаване на отговор ‘F’, което означава, че е прочетен последния артикул. Артикулите се връщат сортирани по номер в нарастваща или намаляваща посока в зависимост от първата подадена команда.

    • f’ Връщане на данните за първия намерен артикул или FTT с продажби по него.
    Синтаксис: <f>[<PLU>]

    Върнатите данни са като при подкоманда ‘R’. Ако е зададен параметърът PLU, то търсенето започва от него в нарастваща посока, в противен случай са започва от 1.

    • l’ Връщане на данните за последния намерен артикул с продажби по него.
    Синтаксис: <l[<PLU>]

    Върнатите данни са като при подкоманда ‘R’. Ако е зададен параметърът PLU, то търсенето започва от него в намаляваща посока, в противен случай са започва от 999999999.

    • n’ Връщане на данните за следващия намерен артикул или FTT с продажби по него.
    Синтаксис: <n>

    Върнатите данни са като при подкоманда ‘R’. Последните три подкоманди са за извличане от компютъра на данните за всички артикули с продажби за деня. Подава се подкоманда ‘f’ или ‘l’ и след това подкоманда ‘n’ до получаване на отговор ‘F’, което означава, че е прочетен последния артикул. Артикулите се връщат сортирани по номер в нарастваща или намаляваща посока в зависимост от първата подадена команда.

    • X’ Намиране на първия свободен (не програмиран) артикул.
    Синтаксис: <X>[<PLU>]
    Отговор: PLU

    Ако е зададен параметърът PLU, то се връща първия свободен (непрограмиран) артикул с номер по-голям или равен на него. Ако липсва, се подразбира PLU=1.

    • x’ Намиране на последния свободен (непрограмиран) артикул.
    Синтаксис: <X>[<PLU>]
    Отговор: PLU

    Ако е зададен параметърът PLU, то се връща първия свободен (непрограмиран) артикул с номер по- малък или равен на него. Ако липсва, се подразбира PLU=9h9h9h9h9h9h9h9h9h.

    6Ch (108) РАЗШИРЕН ДНЕВЕН ФИНАНСОВ ОТЧЕТ

    Област за данни: [<Option>[N]
    Отговор: Closure,FM_Total,TotA,TotB,TotC,TotD,TotE,TotF,TotG,TotH

    Командата има същия синтаксис както команда 69 (45h), но в началото на дневния отчет се отпечатва и списъка на артикулите с PLU по-малко или равно на 10, по които има продажби за деня (горива).

    6Dh (109) ПЕЧАТ НА ДУБЛИРАЩ БОН

    Област за данни: <Count>
    Отговор: Няма данни
    Count Брой дублиращи бонове (приема се само стойност 1!).

    Предизвиква отпечатването на копие на последния затворен фискален бон с продажби. Копието се маркира като СЛУЖЕБЕН БОН и веднага след HEADER-а се отпечатва ред с удебелен шрифт „ДУБЛИКАТ”. При повторен опит командата ще откаже да печати. Отпечатването на дублиращ бон е невъзможно и ако броят редове в бона е по-голям от 1000.

    6Еh (110) ИНФОРМАЦИЯ ЗА ПЛАЩАНИЯТА ПО ТИП ЗА ДЕНЯ

    Област за данни: [<Extended>]
    Отговор: Cash,Credit,Debit,Cheque,Pay1,PayF,Pay3,Pay4,Closure,Receipt[,Pay5,...]
    Extended Опционален параметър – един байт със стоиност '*'. Ако го има, връщат се всички 11 допълнителни типа плащане.
    Cash Платено в брой
    Credit На кредит
    Debit С дебитна карта
    Cheque Платено с чек
    PayX Платено по някой от допълнителните типове плащане
    Closure Текущ (последен) фискален запис
    Receipt Номер на следващия фискален бон

    Връща информация за разпределението на сумата за деня по начин на плащане.

    6Fh (111) ОТЧЕТ ПО АРТИКУЛИ ИЛИ ГОРИВО

    Област за данни: <Option>[<Start>,<End>[,<Group>]]
    Отговор: ErrorCode
    Option Определя типа на отпечатваната информация. Възможни стойност:
  • S’ - Отпечатват се само артикулите с продажби за деня. За всеки артикул се отпечатва номера, данъчната група, стоковата група, името, единичната цена, продаденото количество и оборота.
  • P’ - Отпечатват се всички програмирани артикули, с номер, данъчна група, стокова група, име, продадено количество, налично количество и единична цена.
  • ‘@S’ - Отпечатват се само FTT с продажби за деня. За всеки FTT се отпечатва номера, данъчната група, името, единичната цена, продаденото количество и оборота.
  • ‘@P’ - Отпечатват се всички програмирани FTT, с номер, данъчна група, име и единична цена.
  • Start Начален номер на артикул, който да се включи в отчета. По подразбиране е 1.
    End Последен номер на артикул, който да се включи в отчета. По подразбиране е 999999999.
    Group Число от 1 до 99. Ако е зададен този параметър, само артикулите от тази група се включват в отчета, в противен случай се печатат всички групи.

    Артикулите са сортирани по номер. При дневен финансов отчет с нулиране натрупаните суми по артикули се нулират, ако явно не е указано да се запазят.

    70h (112) ПОЛУЧАВАНЕ НА ИНФОРМАЦИЯ ЗА ОПЕРАТОР

    Област за данни: Operator
    Отговор: Receipts,Total,Discount,Surcharge,Void,Name[,Password]
    Operator Номер на оператор (1 до 16).
    Receipts Брой фискални бонове, издадени от оператора.
    Total Брой продажби и обща натрупана сума, разделени с ‘;’.
    Discount Брой отстъпки и обща сума на отстъпките.
    Surcharge Брой надбавки и обща сума на надбавките.
    Void Брой корекции и обща сума на корекциите.
    Name Име на оператора.
    Password Операторска парола. Връща се само ако принтерът е със поставен сервизен джъмпер.

    Командата позволява да се получи информацията, отпечатвана при отчет оператори. Сумите се връщат като плаващи числа с текущия брой десетични знаци.

    71h (113) ПОЛУЧАВАНЕ НОМЕРА НА ПОСЛЕДНИЯ ОТПЕЧАТАН ДОКУМЕНТ

    Област за данни: Няма данни
    Отговор: DocNum
    DocNum Номер на последния издаден документ (7 цифри).

    72h (114) ИНФОРМАЦИЯ ЗА ФИСКАЛЕН ЗАПИС ИЛИ ФИСКАЛЕН ПЕРИОД

    Област за данни: <Rec1>,<Type[Storno]>[,RecF]
    Отговор: Зависи от стойността на Type
    Rec1 Номер на запис от фискалната памет.
    Storno Опционален символ „*” - връща се информация за сторно по вид и данъчна група. Само за справки 1 до 3.
    Type Вид на исканата информация. Цяло число със стойност:
  • 0 - ErrorCode[,DecRec,Dec,Enabled,PerA,PerB,PerC,PerD,PerE,PerF,PerG,PerH,DT]
    Информация за активните данъчни ставки за въпросния Z-отчет запис.
  • 1 - ErrorCode[,Closure,Receipts,TotA,TotB,TotC,TotD,TotE,TotF,TotG,TotH] или ErrorCode[,ClCnt,VR,VE,VT,SR,SE,ST,TotA,TotB,TotC,TotD,TotE,TotF,TotG,TotH]
    Информация за оборота за посочения запис или период.
  • 2 - ErrorCode[,Closure,Receipts,NetA,NetB,NetC,NetD,NetE,NetG,NetG,NetH] или ErrorCode[,ClCnt,VR,VE,VT,SR,SE,ST,NetA,NetB,NetC,NetD,NetE,NetG,NetG,NetH]
    Информация за нет-сумите за посочения запис или период.
  • 3 - ErrorCode[,Closure,Receipts,TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH] или ErrorCode[,ClCnt,VR,VE,VT,SR,SE,ST,TaxA,TaxB,TaxC,TaxD,TaxE,TaxF,TaxG,TaxH]
    Информация за начисления ДДС за посочения запис или период.
  • 4 - ErrorCode[,Closure,DecRec,ResetRec,_LEN,DT]
    Допълнителна информация за посочения запис.
  • 5 - ErrorCode[,Dec,Enabled,PerA,PerB,PerC,PerD,PerE,PerF,PerG,PerH,DT]
    Информация за посочения запис от фискалната памет за задаване на данъчни ставки.
  • 6 - ErrorCode[,DT]
    Информация за посочения запис от ФП с нулиране на RAM.
  • 7 - ErrorCode[,CashP,CardP,CredP,CheqP,APaid 1,...,APaid 11]
    Информация за сумите по тип плащане за посочения запис или период.
  • 8 - ErrorCode[,DiscC,DiscS,MeUpC,MeUpS,VoidC,VoidS,CanC,CanS]
    Информация за сумите по тип плащане за посочения запис или период.
  • 9 - ErrorCode[,InC,InS,OutC,OutS]
    Информация за сумите по тип плащане за посочения запис или период.
  • 10 - ErrorCode[,GTotal,GVAT]
    Информация за общия оборот и ДДС до посочения Z-отчет.
  • 11 - ErrorCode[,FTT 1,Name 1,...,FTT n ,Name n ]
    Информация за FTT и имената на програмираните горива за този Z-отчет. Само за принтери тип 3 и 31.
  • 12 - ErrorCode[,FTT 1,Vol 1,S 1,...,FTT n ,,Vol n ,S n ]
    Информация за продадените количества и натрупания оборот за програмираните горива за този Z-отчет. Само за принтери тип 3 и 31.
  • 13 - ErrorCode[,Disp 1,...,Disp n ]
    Информация за програмираните колонки за този Z-отчет. Само за принтери тип 31.
  • 14 - ErrorCode[,Term 1,VolAct 1,Vol15C 1,FL 1,Tmpr 1,...]
    Информация за програмираните колонки за този Z-отчет. Само за принтери тип 31.
  • 15 - ErrorCode[,Nozzle 1,Term 1,CVal 1,...]
    Информация за програмирана колонка за този Z-отчет. Само за принтери тип 31.
  • RecF Номер на фискален запис за справки 1, 2 и 3. За справки 0, 4, 5, 6, 10, 11, 12, 13 и 14 това поле е празно. При наличие на параметъра се връщат данните за периода, зададен от Rec1 и RecF за справки 1, 2, 3, 7, 8 и 9. За справка тип 15 полето съдържа номер на колонка, а не краен запис.
    ErrorCode Един байт със стойност:
  • P’: Данните са валидни.
  • F’: Невалидна контролна сума на записа. Няма данни.
  • E’: Няма такъв запис. Няма данни.
  • Closure Номер на фискален запис.
    ClCnt Брой фискални записи.
    VR Брой сторно бонове от тип „Връщане„.
    VE Брой сторно бонове от тип „Операторска грешка„.
    VT Брой сторно бонове от тип „Намаление на данъчната основа„.
    SR Брой продажби в бонове от тип „Връщане„.
    SE Брой продажби в бонове от тип „Операторска грешка„.
    ST Брой продажби в бонове от тип „Намаление на данъчната основа„.
    DecRec Последен (активен) запис с данъчни ставки.
    Dec Брой десетични знаци за посочения Z-отчет запис.
    Enabled Разрешени данъчни ставки – 8 байта със ст-ст ‘0’ или ‘1’, където ‘1’ означава „разрешено”.
    Receipts Брой фискални бонове.
    PerX Данъчна ставка за съответната данъчна група в проценти.
    TotX Оборот за съответната данъчна група.
    NetX Нето сума за съответната данъчна група.
    TaxX Начислен ДДС за съответната данъчна група.
    ResetRec Последно нулиране на RAM до този фискален блок.
    _LEN Номер на КЛЕН за този фискален блок.
    DT Дата и час на данните във формат: DD-MM-YY hh:mm:ss.
    CashP Платено в брой.
    CardP Платено с дебитна карта.
    CredP Платено с кредитна карта.
    CheqP Платено с чек.
    APaid x Допълнителни типове плащане.
    DiscC,DiscS Брой отстъпки и натрупана сума от отстъпки.
    MeUpC,MeUpS Брой надбавки и натрупана сума от надбавки.
    VoidC,VoidS Брой корекции и обща сума от корекции.
    CanC,CanS Брой отказани бонове и обща сума от отказани бонове.
    InC,InS Брой служебни въвеждания и сума.
    Out,OutS Брой служебни извеждания и сума.
    GTotal Натрупан оборот до посочения дневен отчет включително.
    GVAT Натрупан ДДС до посочения дневен отчет включително.
    FTT i FTT на програмирано гориво.
    Name i Име на програмирано гориво.
    Vol i Натрупан обем от продажби на програмирано гориво.
    S i Натрупана сума от продажби на програмирано гориво.
    Disp i Номер на програмирана колонка.
    Term i Номер на програмиран резервоар.
    VolAct i Обем на резервоара при текуща температура.
    Vol15C i Обем на резервоара при 15 градуса.
    FL i Ниво на горивото в резервоара.
    Tmpr i Температура на горивото в резервоара.
    Nozzle i Номер на пистолет.
    CVal i Стойност на брояча на пистолет.

    Командата връща информация по данъчни групи или друг критерий за отделен запис или за посочен период. Периодичната справка за по-дълъг период може да отнеме няколко секунди.

    73h (115) ПРОГРАМИРАНЕ НА ГРАФИЧНО ЛОГО

    Област за данни: <RowNum>,<Data>
    или R<RowNum>
    Отговор: Няма данни
    или Data
    R Ако символът ‘R’ присъства в началото на данните, то командата връща съдържанието на съответния графичен ред в шестнайсетичен вид.
    RowNum Показва реда, който програмираме. Число от 0 до 95.
    Data Графични данни. Задават се в шестнайсетичен вид, два символа за всеки байт информация. Дължината на данните е до 72 байта, ако са по-малко, се допълват автоматично с 00.

    Командата дава възможност за дефиниране на графично лого с размер до 72x12mm (576x96 точки) или 54х12mm (384х96 точки) в зависимост от широчината на използваната термо хартия по желание на потребителя. Печатът му се активизира с команда 43. Със същата команда се задава и вертикалния му размер. За дефиниране на цялото лого командата трябва да се изпълни до 96 пъти, веднъж за всеки ред. При ресет на RAM логото се зарежда от флаш-паметта. Програмираното с команда 115 лого може да се прехвърли във флаш-паметта с команда 41.

    74h (116) ПРОЧИТАНЕ НА БЛОК ОТ ФИСКАЛНАТА ПАМЕТ

    Област за данни: <Address>,<Bytes>
    Отговор: Data
    Address Начален адрес (спрямо началото на фискалната памет) – шестнайсетично число от 000000h до 1FFFFFh (за 16 Mbit фискална памет).
    Bytes Брой байтове, които да се върнат в десетичен вид (от 1 до 64).
    Data Съдържанието на искания блок фискална памет в шестнайсетичен вид (по 2 символа за всеки байт данни).

    Командата връща съдържанието на част от фискалната памет. За прочитане на цялата фискална памет трябва да се изпълни многократно с различен начален адрес.

    75h (117) ДНЕВЕН ФИНАНСОВ ОТЧЕТ С ПЕЧАТ НА ДАННИ ПО ДЕПАРТАМЕНТИ

    Област за данни: [<Option>[N]]
    Отговор: Closure,FM_Total,TotA,TotB,TotC,TotD,TotE,TotF,TotG,TotH

    Командата е идентична с 69 (45h) от предишната версия с единствена разлика, че в началото на дневния отчет се отпечатват и департаментите, за които има продажби за деня. Команда 69 е оставена непроменена. Команди 69, 108, 117 и 118 с опция ‘0’ (дневен финансов отчет с нулиране) нулират и натрупаните данни по департаменти.

    76h (118) ДНЕВЕН ФИНАНСОВ ОТЧЕТ С ПЕЧАТ НА ДЕПАРТАМЕНТИ И АРТИКУЛИ

    Област за данни: [<Option>[N]]
    Отговор: Closure,FM_Total,TotA,TotB,TotC,TotD,TotE,TotF,TotG,TotH

    Командата е идентична с 69 (45h) от предишната версия с единствена разлика, че в началото на дневния отчет се отпечатват и департаментите, за които има продажби за деня, както и артикулите с номера от 1 до 40, ако по тях има продажби. Команда 69 е оставена непроменена. Команди 69, 108, 117 и 118 с опция ‘0’ (дневен финансов отчет с нулиране) нулират и натрупаните данни по департаменти.

    77h (119) РАБОТА С КЛЕН

    Област за данни: <Type>[,<InpData>]
    Отговор: Зависи от входните данни
    Type Клас на командата за работа с КЛЕН. Един байт с допустима стойност:
  • 'C': Проверка валидността на КЛЕН или част от нея.
  • 'I': Информация за КЛЕН.
  • 'N': Четене на следващ текстов ред от КЛЕН.
  • 'R': Четене на данни от КЛЕН.
  • 'P': Печат на данни от КЛЕН.
    • Клас команди 'C': Проверка на данни от КЛЕН.
    P[#] Отпечатва отчет за валидността на всички SHA-1 контролни суми за Z-отчети, намерени в КЛЕН. Сравняват се SHA-1 от КЛЕН и от фискалната памет. При разлика се отпечатва един ред с номера на Z-отчета, дата и часа. Ако присъства опционалният символ '#', то се отпечатва информация за всички намерени SHA-1, независимо дали са валидни или не.
    R[<Num>] Връща информация от КЛЕН за Z-отчет с номер Num. Прочитат се данните от посочения Z-отчет като документ.
    Формат на отговора:
    P,FDocs,DT,SK Информация за намерения Z-отчет:
    FDocs Номер на документ на Z-отчета.
    DT Дата и час на з отчета във формат „DD-MM-YYYY hh:mm:ss.
    SK 40 символа – SHA-1 на Z-отчета в шестнайсетичен вид.
    F Не са намерени данни в КЛЕН за този Z-отчет.
    Z[<Num>] Връща информация от КЛЕН за Z-отчет с номер Num. Прочита се реалния текст на документите, записани в КЛЕН, изчислява се SHA-1 и се сравнява със SHA-1 от Z-отчета. Командата може да трая дълго при много документи в дневния отчет.
    Възможни отговори:
    P,Docs,Bytes,SK Контролната сума е валидна. Прочетени са Docs документа и Bytes байта данни. SK е 40 символа – контролната сума в шестнайсетичен вид.
    F,Docs,Bytes,SK,SZ Контролната сума е невалидна. Прочетени са Docs документа и Bytes байта данни. SK и SZ са по 40 символа – съответно запомнената в КЛЕН и изчислената контролни суми.
    F Не са намерени данни в КЛЕН за този Z-отчет.
    • Клас команди 'I': Информация за КЛЕН.
    [X] След символа 'I' може да няма нищо или да има буквата 'X'.
    Връща се следната информнация:
    P,Tot,Used,C1,C2,D1,D2
    Tot Общ размер на контролната лента в байтове.
    Used Използуван размер на контролната лента в байтове.
    C1 Първи номер на Z-отчет в КЛЕН.
    C2 Последен номер на Z-отчет в КЛЕН.
    D1 Първи номер на документ в КЛЕН.
    D2 Последен номер на документ в КЛЕН.
    • Клас команди 'R': Четене на данни от КЛЕН.
    [#<Flg>,]<D1>[,<DF>] Връща първия ред от документ номер D1 и задава край на търсенето при документ DF (включително). Следващите редове се теглят с изпращане на команда клас 'N'. Ако е пропуснат втория аргумент, избран е само един документ - D1.
    [#<Flg>,]*<Cl>[,<D1>[,<DF>]] Връща първия ред от документ номер D1 за Z-отчет Cl и задава край на търсенето при документ DF (включително) за същия Z-отчет. Следващите редове се теглят с изпращане на команда клас 'N'. Броячът на документи е за Z-отчета, т. е. Командата „*5,1,3” ще избере първите три документа от Z-отчет номер 5.Ако е пропуснат DF, то е избран само един документ – D1. Ако са пропуснати D1 и DF, избрани са всички документи за Z-отчета.
    <Flg>,<DT1>,<DT2> Връща първия ред от документ с дата и час DT1 и задава край на търсенето при документ с дата и час DT2 (включително). Има филтриране на документите, които са избрани, в зависимост от аргумента Flg. Следващите редове се теглят с изпращане на команда клас 'N'.
    Формат на входните аргументи:
    Flg Символ, задаващ тип на документ, който да се избере за четене:
  • 'A': Всички видове документи.
  • 'F': Фискални (клиентски) бонове.
  • 'V': Сторно (клиентски) бонове.
  • 'C': Анулирани (клиентски) бонове.
  • 'N': Служебни бонове.
  • 'I': Бонове от служебно въвеждане.
  • 'О'': Бонове от служебно извеждане.
  • 'R': Служебни бонове със завъртян на 90 градуса печат.
  • 'S': Бонове от сервизни операции.
  • 'P': Отчети (само информация за дата/час и номер на бона)
  • 'X': X-отчети.
  • 'Z': Z-отчети.
  • DT1 Начални дата и час на справката във формат DDMMYY[hhmmss]. Ако се изпусне часа, то се подразбира „000000”, т.е 00:00:00.
    DT2 Крайни дата и час на справката във формат DDMMYY[hhmmss]. Ако се изпусне часа, то се подразбира „235959”, т.е 23:59:59.

    Трите предходни подкоманди (по документ, Z-отчет и дата), връщат един от отговорите, посочени по-долу:

    P,Text Има пореден текстов ред в КЛЕН, съдържанието му е в Text. Прочетеният текст е винаги в кодова таблица 1251, независимо дали от ключетата е избран режим DOS-овска кодова таблица. Кодовата таблица е важна за правилното пресмятане на SHA-1 контролната сума.
    *, Има пореден текстов ред в КЛЕН и това е празен ред – разделител на документи. Може да се използува за броене на намерените документи или прекратяване на четенето точно в края на документ.
    F Няма повече данни в КЛЕН.

    Начинът на работа е следният:
    Подава се една от предходните команди. Ако отговорът е 'F', то няма такива данни в КЛЕН. В противен случай се изпраща команда клас 'N', докато се върне отговор 'F' (няма повече данни). Така може да се изтегли ред по ред желаната част от КЛЕН като текст.

    Q<Addr>,<Bytes> Директно четене на данни от КЛЕН в „суров” вид. Командата връща 2*Bytes символа, представящи Bytes байта от КЛЕН, започвайки от адрес Addr. Addr се задава шестнайсетично, а Bytes – десетично. Данните се връщат в шестнайсетичен вид.
    q<Addr>,<Bytes> Директно четене на данни от КЛЕН в „суров” вид. Разликата от предходната команда е в това, че символите се връщат в текстов вид ако са печатаеми (над 1Fh) или във вида „<XX>” (шестнайсетично), ако са контролни (под 20h).
    • Клас команди 'N':

    Няма допълнителни данни след този символ. Използува се в комбинация с някои от командите от клас 'R'. Служи за прочитане на следващ текстови ред от КЛЕН. Възможните отговори са същите както при началната команда клас 'R' и са описани по-горе.

    ВНИМАНИЕ! Изпращането на тази команда без предхождаща от клас 'R', задаваща обхвата на справката, може да доведе до четенето на безсмислени данни!

    • Клас команди 'P': Печат на данни от КЛЕН.
    [<Fnt>][#<Flg>,]<D1>[,<D2>] Отпечатват се документите от номер D1 до номер D2 включително. Ако е пропуснат втория аргумент, избран е само един документ - D1.
    [<Fnt>][#<Flg>,]*<Cl>[,<D1>[,<D2>]] Отпечатват се документите от номер D1 за Z-отчет Cl до номер D2 включително за същия Z-отчет. Броячът на документи е за Z-отчета, т. е. Командата „*5,1,3” ще отпечати първите три документа от Z-отчет номер 5. Ако е пропуснат D2, то е избран само един документ – D1. Ако са пропуснати D1 и D2, избрани са всички документи за Z-отчета.
    [<Fnt>]<Flg>,<DT1>,<DT2> Печатат се документите с дата и час от DT1 до DT2 включително. Има филтриране на документите, които са избрани, в зависимост от аргумента Flg.
    Формат на входните аргументи:
    Fnt Незадължителен параметър, с който можем да предизвикаме печата на документите от КЛЕН с шрифт с определена височина, ако принтерът го допуска.

    Един байт с допустима стойност:

  • '>': Печат с нормален размер на шрифта.
  • '<': Печат с ½ височина на шрифта..
  • Flg Символ, задаващ тип на документ, който да се избере за четене:
  • 'A': Всички видове документи.
  • 'F': Фискални (клиентски) бонове.
  • 'V': Сторно (клиентски) бонове.
  • 'C': Анулирани (клиентски) бонове.
  • 'N': Служебни бонове.
  • 'I': Бонове от служебно въвеждане.
  • 'О'': Бонове от служебно извеждане.
  • 'R': Служебни бонове със завъртян на 90 градуса печат.
  • 'S': Бонове от сервизни операции.
  • 'P': Отчети (само информация за дата/час и номер на бона)
  • 'X': X-отчети.
  • 'Z': Z-отчети.
  • DT1 Начални дата и час на справката във формат DDMMYY[hhmmss]. Ако се изпусне часа, то се подразбира „000000„, т.е 00:00:00.
    DT2 Крайни дата и час на справката във формат DDMMYY[hhmmss]. Ако се изпусне часа, то се подразбира „235959„, т.е 23:59:59.

    Трите предходни подкоманди (по документ, Z-отчет и дата), връщат в резултат броя отпечатани документи като цяло число.

    Копието на документите от КЛЕН е почти идентично с оригиналните документи. Разликите са следните:

    Копията никога нямат графично лого преди header-а.
    В копията никъде не присъства графичното фискално лого.
    Надписът „ФИСКАЛЕН БОН” с фискалното лого се заменя с надпис „ФИСКАЛЕН БОН – КОПИЕ” с шрифт с двойна ширина.

    ИНФОРМАЦИЯ ЗА ВИДА НА ВЪРНАТИЯ ТЕКСТ ПРИ ЧЕТЕНЕ НА КЛЕН

    Прочетените документи нямат графично лого.
    Центрирането се имитира с добавяне на интервали в началото на реда. Печатът с двойна ширина се имитира с добавяне на един интервал преди всяка буква.
    Ако във фискалните или служебните бонове има баркод, той се заменя с текста „БК [XXXX]”, където XXXX е текстовата информация от баркода.
    Прочетеният ред съдържа само текст, без символите <CR> и <LF> в края на реда. При изтегляне на текстова информация от КЛЕН тези символи трябва да се добавят в края на всеки ред в тази последователност. Ако това се направи, външна програма може да изчисли SHA-1 сумата и да я свери със записаната в КЛЕН – би трябвало да съвпадат.
    Върнатият ред със префикс '*' (край на документ) също трябва да се добави във файла (като празен ред – само символите <CR> и <LF>), защото участвува в SHA-1 за Z-отчета.

    • Клас команди ‘W’ - връщане на структурирана информация
    W,<FirstDoc>[,<LastDoc>] Намиране на документ <FirstDoc> и връщане на първия текстов ред структурирана информация.
    или
    W,D<StartDateTime>,<EndDateTime> Намиране на първия документ между StartDateTime и EndDateTime и връщане на първия текстов ред структурирана информация. Датата и часът са във формат DDMMYY[hhmmss]. При пропускане на часа началният час е 00:00:00, а крайният 23:59:59.
    w Връщане на следващ ред структурирана информация
    FirstDoc Номер на първия документ за справката.
    EndDoc Номер на последния документ за справката. Ако липсва, е равен на първия.

    Върната структурирана информация може да има следния вид:

    U,<UNP>,<OperNum>,<TillNum>,<RecType>,<DocNum>
    V,<DecRec>,<Decimals>,<Tax). Rate1>, ... ,<Tax). Rate8>
    R,<Tax). GrPos>,<Tax). Rate>,<SinglePrice>,<Quantity>,<Discount_MarkUp>,<Price>,<ArticleName>
    M,<Discount_MarkUp>,[<Percent>],<Subtotal>
    T,<DiscCnt>,<DiscSum>,<MarkUpCnt>,<MarkUpSum>,<VoidCnt>,<VoidSum>,<SalesCnt>,<Total>,<TotGr1>, ... ,<TotGr8>
    P,<CashPaid>,<CheqPaid>,<CardPaid>,<CredPaid>,<MorePaid1>, ... ,<MorePaid11>
    S,<StornoType>,<StornedDocNo>,<StornedDT>,<StornedFMIN>,<StornedUNP>,<StrornedInvoice>
    I,<Invoice>,<PIN>,<PINtype>
    D,<StartDT>,<EndDT>
    Z,<ZNo>,<DocNum>,<FiscNum>,<DateTime>,<Total>,<StornoSum>,<Cas|Sum>
    Q,<DocNum>,<StartDT>,<ServeINOUT>,<Cas|Sum>
    *,
    F

    където:

    Справка "U": Структурирана информация за бона. Еднократно в бона.
    UNP Уникален номер на продажба. 21 символа с формат XXXXXXXX-YYYY-NNNNNNN.
    OperNum Номер на оператор. От 1 до 16.
    TillNum Номер на касово място. До 5 цифри.
    RecType Вид на бона: 0 - фискален; 1 - фактура; 2 - сторно; 3 - кредитно известие; 4 - анулиран.
    DocNum Глобален номер на документа.
    Справка "V": Структурирана информация за десетични знаци и данъчни ставки. Еднократно в бона.
    DecRec Номер на записа с данъчни ставики във ФП. Брои се от 1.
    Decimals Десетични знаци. 0 или 2.
    TaxRateX Десетична ставка X в проценти.
    Справка "R": Структурирана информация за продажба или корекция. Може да я има многократно в бона.
    TaxGrPos Данъчна група (от 1 до 8).
    TaxRate Данъчна ставка в проценти.
    SinglePrice Единична цена. За корекция е отрицателна.
    Quantity Количество. За корекция е отрицателно.
    Discount_MarkUp Отстъпка/надбавка (в зависимост от знака). За корекция е с обърнат знак.
    Price Цена.
    ArticleName Име на продадената стока. Ако е от два реда, разделителят е <TAB>.
    Справка "M": Структурирана информация групова отстъпка/надбавка. Може да я има многократно в бона.
    Discount_MarkUp Отстъпка/надбавка (в зависимост от знака).
    Percent Процент на отстъпката/надбавката. Полето може да е празно, ако е в сума.
    Subtotal Междинна сума след операцията.
    Справка "T": Структурирана информация за натрупаните суми в бона. Еднократно в бона.
    DiscCnt Брой отстъпки.
    DiscSum Сума от отстъпки.
    MarkUpCnt Брой надбавки.
    MarkUpSum Сума от надбавки.
    VoidCnt Брой от корекции.
    VoidSum Сума от корекции.
    SalesCnt Брой продажби.
    Total Обща сума за бона.
    TotGrX Сума по данъчна група.
    Справка "P": Структурирана информация за платените суми. Еднократно в бона.
    CashPaid Платено в брой.
    CheqPaid Платено с чек.
    CardPaid Платено с карта.
    CredPaid Платено с кредитна карта.
    MorePaidX Допълнително плащане (по реда, зададен от принтера).
    Справка "S": Структурирана информация за сторниран бон. Липсва във фискалните бонове. Еднократно в бона.
    StornoType Тип на сторното: 0 - операторска грешка; 1 - връщане/рекламация; 2 - намаление дан. основа.
    StornedDocNo Номер на сторнирания документ.
    StornedDT Дата и час на сторнирания документ във формат DD-MM-YYYY hh:mm:ss.
    StornedFMIN Номер на фискалната памет за сторнирания документ.
    StornedUNP Уникален номер на продажба на сторнирания документ.
    StrornedInvoice Номер на фактура. Ако не е кредитно известие, съдържа 0.
    Справка "I": Структурирана информация за фактура. Еднократно в боновете тип фактура.
    Invoice Номер на фактура.
    PIN ПИН.
    PINtype Вид на ПИН: 0 - БУЛСТАТ; 1 - ЕГН; 2 - Личен номер; 3 - Служебен номер.
    Справка тип "D": Дата и час на започване и на завършване на бона.
    StartDT Начална дата и час във формат DD-MM-YYYY hh:mm:ss. Датата отпечатана на бона.
    EndDT Крайна дата и час във формат DD-MM-YYYY hh:mm:ss.
    Справка тип "Z": Дневен отчет.
    ZNo Номер на дневния отчет.
    DocNum Номер на документ.
    FiscNum Номер на последен фискален документ. Може да е 0, ако няма издавани.
    DateTime Дата и час във формат DD-MM-YYYY hh:mm:ss.
    Total Обща сума от продажби за деня.
    StornoSum Обща сума от сторно бонове.
    CashSum Касова наличност.
    Справка тип "Q": Служебно въведени / изведени.
    ServeINOUT Служебно въведена / изведена сума.
    Маркер "*": Край на бон.
    Маркер "F": Няма повече данни.
    • Клас команди ‘Y’ - връщане на структурирана информация
    Y,<FirstDoc>[,<LastDoc>] Намиране на документ <FirstDoc> и връщане на първия текстов ред структурирана информация.
    y Връщане на следващ ред структурирана информация

    Върната структурирана информация може да има следния вид:

    u,<SerialNum>,<RecType>,<DocNum>,<UNP>
    r,<Tax). GrPos>,<Tax). Rate>,<SinglePrice>,<Quantity>,<Discount_MarkUp>,<Price>,<ArticleName>
    t,<Total>,<TotGr1>, ... ,<TotGr8>
    s,<StornoType>,<StornedDT>,<StornedFMIN>,<StornedUNP>,<StrornedInvoice>
    i,<Invoice>,<PIN>,<PINtype>
    *,
    F

    където:

    Справка "u": Структурирана информация за бона. Еднократно в бона.
    SerialNum Сериен номер на принтера.
    RecType Вид на бона: 0 - фискален; 1 - фактура; 2 - сторно; 3 - кредитно известие; 4 - анулиран.
    DocNum Глобален номер на документа.
    UNP Уникален номер на продажба. 21 символа с формат XXXXXXXX-YYYY-NNNNNNN.
    Справка "r": Структурирана информация за продажба или корекция. Може да я има многократно в бона.
    Върнатата информация е както при "R" по-горе.
    Справка "t": Структурирана информация за натрупаните суми в бона. Еднократно в бона.
    Total Обща сума за бона.
    TotGrX Сума по данъчна група.
    Справка "s": Структурирана информация за сторниран бон. Липсва във фискалните бонове. Еднократно в бона.
    Върнатата информация е както при "S" по-горе.
    Справка "i": Структурирана информация за фактура. Еднократно в боновете тип фактура.
    Върнатата информация е както при "I" по-горе.
    Маркер "*": Край на бон.
    Маркер "F": Няма повече данни.
    • Клас команди ‘V’ - връщане на структурирана информация
    V[+],<FirstDoc>[,<LastDoc>] Намиране на документ <FirstDoc> и връщане на първия текстов ред структурирана информация.
    или
    V[+],D<StartDateTime>,<EndDateTime> Намиране на първия документ между StartDateTime и EndDateTime и връщане на първия текстов ред структурирана информация. Датата и часът са във формат DDMMYY[hhmmss]. При пропускане на часа началният час е 00:00:00, а крайният 23:59:59.
    v Връщане на следващ ред структурирана информация
    + Опционален символ „+„. При наличието му преди данните за документа се добавя дата и час във формат: „DD-MM-YYYY HH:MM:SS + долепен символ за табулация„.
    FirstDoc Номер на първия документ за справката.
    EndDoc Номер на последния документ за справката. Ако липсва, е равен на първия.

    Върната структурирана информация има следния вид:

    ErrorCode[,Data]
    ErrorCode Един байт, показващ резултата от операцията, със значение:
  • P’: Командата е успешна.
  • F’: Командата е неуспешна или няма повече данни.
  • Data Върнатите данни в описания по-долу ред разделени със символ за табулация заградени в кавички.
  • идентификационен номер на ФУ;
  • вид на ФБ – ФБ, Разширен ФБ, Сторно ФБ или Разширен сторно ФБ;
  • номер на ФБ;
  • уникален номер на продажба (УНП);
  • стока/услуга – наименование;
  • стока/услуга – единична цена;
  • стока/услуга – количество;
  • стока/услуга – стойност;
  • обща сума на т ФБ/Сторно ФБ или Разширен ФБ/Разширен сторно ФБ;
  • номер на фактура/кредитно известие – в случай че записът е за Разширен ФБ или съответно – за Разширен сторно ФБ;
  • ЕИК на получател – в случай че записът е за разширен ФБ или Разширен сторно ФБ;
  • номер на сторниран ФБ – в случай че записът се отнася за Сторно ФБ или Разширен сторно ФБ;
  • номер на сторнирана фактура – в случай че записът се отнася за Разширен сторно ФБ;
  • причина за издаване – в случай че записът се отнася за Сторно ФБ или Разширен сторно ФБ.
  • 79h (121) ПРОЧИТАНЕ НА БЛОК ОТ КОДОВАТА ПАМЕТ (ФИРМУЕРА)

    Област за данни: <Address>,<Bytes>
    Отговор: Data
    Address Начален адрес (спрямо началото на кодовата памет) – шестнайсетично число от 00000h до 6FFFFh.
    Bytes Брой байтове, които да се върнат в десетичен вид (от 1 до 64).
    Data Съдържанието на искания блок фискална памет в шестнайсетичен вид (по 2 символа за всеки байт данни).

    Командата връща съдържанието на част от кодовата памет (фирмуера). За прочитане на цялата кодова памет трябва да се изпълни многократно. Командатае достъпна само в сервизен режим!

    7Ah (122) ОТВАРЯНЕ НА СЛУЖЕБЕН БОН ЗА ЗАВЪРТЯН НА 90 ГРАДУСА ТЕКСТ

    Област за данни: Няма данни
    Отговор: RotRec
    RotRec Поредният номер на отворения завъртян на 90 градуса бон за деня. 4 байта без знак.

    Командата отваря служебен бон, в който може да се печати завъртян на 90 градуса текст.

    Командата няма да се изпълни, ако:

    • Има отворен някакъв бон (служебен или фискален).
    • Няма хартия.
    • Не е сверен часовникът.

    7Bh (123) ПЕЧАТ НА ЗАВЪРТЯН НА 90 ГРАДУСА ТЕКСТ

    Област за данни: <Text>
    Отговор: Няма данни
    Text Съдържанието на поредния ред от текст, който искаме да отпечатаме. Дължината му е до 100 символа. Възможен е печатът на част от текста с атрибути удебелено (Bold) и подчертано (Underline). Те се включват и изключват съответно с:
  • <Tab>B - Стартира удебелен печат.
  • <Tab>b - Прекратява удебеления печат.
  • <Tab>U - Стартира подчертан печат. Може да се използува като разделителна хоризонтална линия на таблица.
  • <Tab>u - Прекратява подчертания печат.
  • <Tab>O - Стартира печат с черта най-отгоре. Може да се използува като разделителна горна хоризонтална линия на таблица.
  • <Tab>o - Прекратява печата с черта най-отгоре.
  • <Tab>A - Вмъква начална вертикална линия за таблици.
  • <Tab>Z - Вмъква крайна вертикална линия за таблици.
  • <Tab>T - Добавя нулев (непечатащ се) ред. Използува се за печат на хоризонтална линия в началото на таблицата (преди първия завъртян ред). Следващите символи не се печатат, но ако има включен атрибут "подчертаване", той предизвиква печат на линия с дебелина 2 точки.
  • Командата служи за печат на завъртян на 90 градуса текст. Хартиената лента побира до 18 реда текст (12 при тясна хартиена лента). Изпратените редове текст се натрупват в паметта на принтера по реда на изпращането им. Ако командата се изпълни повече от тринадесет пъти след отварянето на бона, то натрупаната информация се отпечатва и принтерът очаква нови текстови редове или команда 124 (затваряне на бона). При отпечатването на информацията принтерът определя най-дългия от пратените редове и допълва останалите до същата дължина.

    Ако се пратят повече от 18 (12) реда, то се отпечатва повече от една колона текст. Между двете колони няма никаква междина, така че с подходящо подбрани данни могат да се получат редове с неограничена дължина.

    Командата няма да се изпълни, ако не е отворен бон за печат на завъртян служебен текст.

    7Ch (124) ЗАТВАРЯНЕ НА СЛУЖЕБЕН БОН ЗА ЗАВЪРТЯН НА 90 ГРАДУСА ТЕКСТ

    Област за данни: Няма данни
    Отговор: <RotRec>
    RotRec Поредният номер на затваряния завъртян на 90 градуса бон за деня. 4 байта без знак. Командата затваря бона. Ако има не отпечатани редове, те се отпечатват автоматично преди затварянето му.

    Командата няма да се изпълни, ако не е отворен бон за печат на завъртян служебен текст.

    80h (128) СЕРВИЗЕН РЕСЕТ НА RAM

    Област за данни: Няма данни
    Отговор: Няма данни

    Командата нулира оперативната памет на принтера, след което автоматично рестартира принтера. След изпълнението и е необходимо сверяване на часовника с команда 61, при което се прави RAM ресет запис във фискалната памет със зададените дата и час.

    Командата е разрешена само при поставен сервизен джъмпер. Във фискалната памет има място за 100 RAM ресет записа.

    85h (133) СЕРВИЗНА ЗАБРАНА НА ПЕЧАТА

    Област за данни: <Disable>
    Отговор: Няма данни
    Disable Един байт с допустима стойност:
  • '0': Печатът е разрешен.
  • '1': Печатът е забранен.
  • Командата е разрешена само при поставен сервизен джъмпер. При забранен печат принтерът извършва всички действия, включително запис в КЛЕН, но не отпечатва нищо на хартията. В регистрите на принтера се натрупват правилно данни в зависимост от пратените данни, когато е необходимо, се извършва запис във фискалната памет и пращане на данни до НАП.

    Идеята е при деактивиран печат да се пращат команди с голяма скорост за тестване на принтера и КЛЕН, което би се забавило десетки пъти от печата.

    При включване на принтера печатът винаги е разрешен.

    86h (134) СЕРВИЗНА ПОДДРЪЖКА НА КЛЕН

    Област за данни: <Format>
    Отговор: <Result>
    Format Един байт със стойност 'F'.
    Result Един байт със стойност
  • 'P': (успешно) или
  • 'F': (грешка).
  • Командата е разрешена само при поставен сервизен джъмпер. Служи за начално форматиране на КЛЕН. Допустима е само при нефискализиран принтер или при все още неформатирана КЛЕН. Командата няма да се изпълни при вече форматирана КЛЕН дори и в сервизен режим (което би разрушило натрупаните там данни). При нова празна КЛЕН тя ще и зададе пореден номер и ще разреши работата с нея, но след това старата КЛЕН става забранена за запис и може да служи само за печат и четене на справки.

    87h (135) ТЕСТ НА GPRS МОДЕМА

    Област за данни: <Cmd[,<PIN]>]
    Отговор: <Result>,<Data>
    Cmd Един байт със стойност 'M'.
    PIN Ако картата на мобилния оператор изисква PIN, той се задава тук.
    Result Един байт със стойност
  • 'P': (успешно) или
  • 'F' (грешка).
  • Data При успех връща данни за модема, картата и установената връзка. При грешка връща код на грешка и кратко описание.

    Ако при подаване на командата модемът е зает (изпраща данни), тя може да продължи по-дълго от нормалното – ще се изчака завършването на задачата.

    90h (144) СЕРВИЗНА ИНИЦИАЛИЗАЦИЯ НА ДАНЪЧНИЯ ТЕРМИНАЛ

    Област за данни: <Text>
    Отговор: <Resp>

    Данните от тази команда са предназначени за данъчния терминал – за конфигурирането му и за четене на данни от него. С помощта на командата се зареждат всички необходими за работата на вградения терминал данни. Принтерът извършва допълнителни действия само в следните случаи:

    • Успешна регистрация и дерегистрация на принтера в НАП.
    • Успешна промяна на данни в НАП.
    • Успешна регистрация на сервизен договор.

    Командата е забранена преди фискализация на принтера.

    Принтерът проверява състоянието на данъчния терминал и при фискализиран, но нерегистриран принтер не разрешава издаването на фискални бонове.

    ПРИЛОЖЕНИЕ 1
    НАБОР ОТ ЗНАЦИ НА ФИСКАЛНИЯ ПРИНТЕР

    _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
    0_ 0 @ P ` p А Р а р А Р а р
    1_ ! 1 A Q a q Б С б с Б С б с
    2_ 2 B R b r В Т в т В Т в т
    3_ # 3 C S c s Г У г у Г У г у
    4_ $ 4 D T d t Д Ф д ф Д Ф д ф
    5_ % 5 E U e u Е Х е х Е Х е х
    6_ & 6 F V f v Ж Ц ж ц Ж Ц ж ц
    7_ 7 G W g w З Ч з ч З Ч з ч
    8_ ( 8 H X h x И Ш и ш И Ш и ш
    9_ ) 9 I Y i y Й Щ й щ Й Щ й щ
    A_ * : J Z j z К Ъ к ъ К Ъ к ъ
    B_ + ; K [ k { Л Ы л ы Л Ы л ы
    C_ , < L | l М Ь м ь М Ь м ь
    D_ - = M ] m } Н Э н э Н Э н э
    E_ . > N ^ n ~ О Ю о ю О Ю о ю
    F_ / ? O _ o П Я п я П Я п я

    ПРИЛОЖЕНИЕ 2
    СПИСЪК НА ФИСКАЛНИТЕ КОМАНДИ - ПО НАРАСТВАЩ НОМЕР

    HEX DEC ФУНКЦИЯ
    20h (32) Разширена информация за последната грешка
    21h (33) Изчистване на дисплея
    22h (34) Връщане или печат на информация за сервизен договор
    23h (35) Показване на текст на долния ред на дисплея
    24h (36) Настройка на LAN
    25h (37) Четене на данни за НАП
    26h (38) Отваряне на служебен бон
    27h (39) Затваряне на служебен бон
    29h (41) Запис на настройките и ключетата във flash-паметта
    2Ah (42) Печатане на свободен текст в служебен бон
    2Bh (43) Установяване на HEADER и FOOTER и опции на печат
    2Ch (44) Придвижване на хартията
    2Dh (45) Отрязване на хартията
    2Еh (46) Издаване на сторно бон
    2Fh (47) Показване на текст на долния ред на дисплея
    30h (48) Отваряне на фискален (клиентски) бон
    31h (49) Регистриране на продажба
    32h (50) Данъчни ставки задавани през съответния период
    33h (51) Междинна сума
    34h (52) Регистриране на продажба и показване на дисплея
    35h (53) Изчисляване на сбор (Total)
    36h (54) Печатане на свободен текст във фискален бон
    38h (56) Затваряне на фискален бон
    39h (57) Информация за купувача в разширена касова бележка (фактура)
    3Ah (58) Продажба на програмиран артикул
    3Ch (60) Прекратяване (анулиране) на фискален бон
    3Dh (61) Установяване на дата и час
    3Еh (62) Прочитане на датата и часа
    3Fh (63) Показване на датата и часа на дисплея
    40h (64) Информация за последния фискален запис
    41h (65) Информация за сумите за деня
    42h (66) Задаване на допустим интервал номера на фактура
    44h (68) Брой свободни полета във фискалната памет
    45h (69) Дневен финансов отчет с или без нулиране
    46h (70) Служебно въвеждане или извеждане
    47h (71) Печат на диагностична информация
    48h (72) Фискализация
    49h (73) Детайлен отчет на фискалната памет по номер на запис
    4Ah (74) Получаване на статуса на принтера
    4Bh (75) Форсиране на подтиснат печат в бон
    4Ch (76) Статус на фискалната транзакция
    4Fh (79) Съкратен отчет на фискалната памет по дата на запис
    50h (80) Издаване на звуков сигнал
    51h (81) Получаване на напрежението и температурата на печатащата глава
    53h (83) Установяване на десетични знаци, валута и разрешени данъчни ставки
    54h (84) Печат на баркод
    55h (85) Задаване на име на допълнителните типове плащане
    56h (86) Прочитане на датата на последния фискален запис
    57h (87) Програмиране име на департамент
    58h (88) Получаване на натрупаните суми за департамент
    59h (89) Програмиране на производствената тестова област
    5Ah (90) Четене диагностична информация
    5Bh (91) Програмиране на индивидуален номер на принтера и номер на ФП
    5Ch (92) Печат на разделителна линия
    5Dh (93) Получаване на данни за отстъпките и надбавките за деня
    5Eh (94) Детайлен отчет на фискалната памет по дата на запис
    5Fh (95) Съкратен отчет на фискалната памет по номер на запис
    61h (97) Прочитане на данъчните ставки
    62h (98) Установяване на ЕИК
    63h (99) Прочитане на зададения ЕИК
    64h (100) Показване на свободен текст на дисплея
    65h (101) Задаване на операторска парола
    66h (102) Задаване на име на оператор
    67h (103) Информация за текущия бон
    69h (105) Отчет по оператори
    6Ah (106) Отваряне на чекмедже
    6Bh (107) Дефиниране и отчитане на артикули
    6Ch (108) Разширен дневен финансов отчет (с разпечатка на артикулите)
    6Dh (109) Печат на дублиращ бон
    6Eh (110) Допълнителна информация за деня
    6Fh (111) Отчет по артикули
    70h (112) Получаване на информация за оператор
    71h (113) Получаване номера на последния отпечатан документ
    72h (114) Получаване на информация за фискален запис или период
    73h (115) Програмиране на графично лого
    74h (116) Четене на блок от фискалната памет
    75h (117) Разширен дневен финансов отчет с печат на департаментите
    76h (118) Разширен дневен отчет с разпечатка на департаментите и артикулите
    77h (119) Поддръжка на КЛЕН – четене, печат и информация
    79h (121) Четене на блок от кодовата памет (фирмуера)
    7Ah (122) Отваряне на служебен бон със завъртян на 90 градуса текст
    7Bh (123) Печат на завъртян на 90 градуса текст
    7Ch (124) Затваряне на служебен бон със завъртян на 90 градуса текст
    80h (128) Сервизен ресет на оперативната памет
    85h (133) Временна сервизна забрана на печата
    86h (134) Сервизна поддръжка на КЛЕН
    87h (135) Тест на GPRS модема
    90h (144) Инициализация и четене на данни от данъчния терминал

    ПРИЛОЖЕНИЕ 3
    КАРТА НА ВИДОВЕТЕ ПЛАЩАНИЯ

    Карта на видовете плащания фискални принтери тип 2

    Наименование / FW default Програмируемо Подкоманда Регистър НАП
    1. Плащане в брой (default) твърдо "P" "В брой"
    2. Плащане с кредит твърдо "N" "Сума по кредитни/дебитни карти"
    3. Плащане с чек твърдо "C" "С чек"
    4. Плащане с дебитна карта твърдо "D" "Сума по кредитни/дебитни карти"
    5. ДОПЪЛНИТЕЛНО ПЛАЩАНЕ 1 програмируемо "I"/„i "Резерв 1" / НЗОК
    6. ДОПЪЛНИТЕЛНО ПЛАЩАНЕ 2 програмируемо "J"/„j "Резерв 1" / НЗОК
    7. ДОПЪЛНИТЕЛНО ПЛАЩАНЕ 3 програмируемо "K"/„k "Резерв 1" / НЗОК
    8. ДОПЪЛНИТЕЛНО ПЛАЩАНЕ 4 програмируемо "L"/„l "Резерв 1" / НЗОК
    9. ТАЛОНИ програмируемо "m" "Талони"
    10. ВЪНШНИ ТАЛОНИ програмируемо "n" "Сума по външни талони"
    11. АМБАЛАЖ програмируемо "o" "Сума по амбалаж"
    12. ВЪТРЕШНО ОБСЛУЖВАНЕ програмируемо "p" "Сума по вътрешно обслужване"
    13. ПОВРЕДИ програмируемо "q" "Сума по повреди"
    14. БАНКОВИ ТРАНСФЕРИ програмируемо "r" "Сума по банкови трансфери"
    15. С ЧЕК програмируемо "s" "С чек"

    Карта на видовете плащания фискални принтери тип 3 и 31

    Наименование / FW default Програмируемо Подкоманда Регистър НАП
    1. Плащане в брой (default) твърдо "P" "В брой"
    2. Плащане с кредит твърдо "N" "Сума по кредитни/дебитни карти"
    3. Плащане с чек твърдо "C" "С чек"
    4. Плащане с дебитна карта твърдо "D" "Сума по кредитни/дебитни карти"
    5. ДОПЪЛНИТЕЛНО ПЛАЩАНЕ 1 програмируемо "I"/„i "Резерв 1"/ отложено плащане
    6. ДОПЪЛНИТЕЛНО ПЛАЩАНЕ 2 програмируемо "J"/„j "Резерв 1"/ отложено плащане
    7. ДОПЪЛНИТЕЛНО ПЛАЩАНЕ 3 програмируемо "K"/„k "Резерв 1"/ отложено плащане
    8. ДОПЪЛНИТЕЛНО ПЛАЩАНЕ 4 програмируемо "L"/„l "Резерв 2" / вътрешно потребление
    9. ТАЛОНИ програмируемо "m" "Талони"
    10. ВЪНШНИ ТАЛОНИ програмируемо "n" "Сума по външни талони"
    11. АМБАЛАЖ програмируемо "o" "Сума по амбалаж"
    12. ВЪТРЕШНО ОБСЛУЖВАНЕ програмируемо "p" "Сума по вътрешно обслужване"
    13. ПОВРЕДИ програмируемо "q" "Сума по повреди"
    14. БАНКОВИ ТРАНСФЕРИ програмируемо "r" "Сума по банкови трансфери"
    15. С ЧЕК програмируемо "s" "С чек"

    ПРИЛОЖЕНИЕ 4
    СПИСЪК НА РАЗШИРЕНА ИНФОРМАЦИЯ ЗА ПОСЛЕДНАТА ГРЕШКА

    Стойност Описание
    -150001 Синтактична грешка
    -150002 Невалидна команда
    -150003 Недопустима команда
    -150010 Принтерът е блокиран
    -150100 Сверете часовника
    -150101 Няма хартия
    -150102 Грешка в КЛЕН
    -150103 Аритметично препълване
    -150104 Невалидна парола
    -150105 По малко от 2 реда в Header
    -150106 Невалиден сериен номер
    -150107 Невалидни данни за баркода
    -150108 Недопустима заявка за справка
    -150109 Грешка при отрязване на хартията
    -150110 Грешка на презентера
    -150111 Данните съдържат 'ФИСКАЛ'
    -150112 Грешен номер на фактура
    -150113 Липсва УНП
    -150114 Препълване на брояча на УНП
    -150115 УНП трябва да нараства
    -150116 Не сте влезли (Не сте се логнали)
    -150117 Не дефинирана валута
    -150200 Отворен е бон
    -150201 Не е отворен бон
    -150202 Издавани са бонове за деня
    -150203 Не са издавани бонове за деня
    -150204 Повече от 24 часа бeз Z-отчет
    -150205 Дата и час преди запис във ФП
    -150206 Дата и час преди запис в КЛЕН
    -150207 Възможно грешни дата и час
    -150209 Не може да се чете от КЛЕН
    -150210 Не може да се пише в КЛЕН
    -150211 Не може да се форматира КЛЕН
    -150212 Не може да отвори документ в КЛЕН
    -150213 Забранен е достъпът до дисплея
    -150214 Близък край на КЛЕН
    -150215 Форматиране на валиден КЛЕН
    -150216 Пореден номер на КЛЕН над 31
    -150217 Не са намерени данни за документа
    -150218 Различна ширина на хартията в КЛЕН
    -150231 Буферът за КЛЕН е препълнен
    -150232 Записът в буфера на КЛЕН е неуспешен
    -150300 Фискалната памет не е форматирана
    -150301 Не е зададен сериен номер
    -150302 Не е зададен ЕИК
    -150303 Не са зададени данъчни ставки
    -150304 Няма разрешени данъчни ставки
    -150305 Принтерът не е фискализиран
    -150306 Принтерът е фискализиран
    -150307 Няма записи във фискалната памет
    -150308 Фискалната памет не отговаря
    -150309 Много записи във фискалната памет
    -150310 Вече е зададен сериен номер
    -150311 Фискалната памет забранена за запис
    -150312 Не е намерена фискална памет
    -150313 Грешка при четене на фиск. памет
    -150314 Променени данъчни ставки или десетични знаци
    -150400 Няма артикул с такова PLU
    -150401 Няма такъв департамент
    -150402 Невалидна данъчна група
    -150403 Данъчната група е забранена
    -150404 Твърде много продажби в бона
    -150405 Има плащане или групова отстъпка
    -150406 Отрицателна сума или количество
    -150407 Отстъпка по-голяма от цената
    -150408 Корекция на несъществуваща продажба
    -150409 Започнало е плащане
    -150410 Плащането не е дефинирано
    -150411 Вече е платено всичко
    -150412 Не са изцяло платени продажбите
    -150413 Няма достатъчно пари в брой
    -150414 Разрешено е само плащане в брой
    -150415 Не е допустимо да има ресто
    -150416 Има издавани бонове от оператора
    -150417 Има продажби на този артикул
    -150418 Има продажби по този департамент
    -150419 Програмирани са вече всички артикули
    -150420 Прекалено много редове в бона
    -150421 Няма данни за копие на бон
    -150422 Има натрупани данни за типа плащане
    -150423 Артикулът е продаван в бона
    -150424 Невалиден артикул за гориво
    -150425 Свободна продажба на гориво
    -150426 Не е бензиностанция
    -150427 Има движение по над 200 департамента
    -150428 Няма данни за печат на копие
    -150429 Не е разрешено връщане на гориво
    -150430 Недопустими дата и час на сторниране
    -150431 Нулева цена
    -150432 Твърде много продажби на гориво
    -150433 Вече е платено безналично
    -150434 Отказана платежна транзакция
    -150435 Натрупани суми
    -150436 Не е позволен бакшиш
    -150800 Принтерът не е регистриран
    -150801 Няма номер на фактура
    -150802 Номерът на фактура е извън интервала
    -150803 Няма интервал за номер на фактура
    -150804 Няма въведени данни за клиента
    -150805 Данните за клиента са вече въведени
    -150806 Не е разширен бон (фактура)
    -150807 Грешка в данъчния терминал
    -150808 GPRS-модемът не отговаря
    -150809 GPRS-модемът е зает
    -150810 Няма SIM-карта в модема
    -150811 Различна от регистрираната SIM-карта
    -150812 Неактуални данни за нивомерната система
    -150813 Няма команда за начало на данни
    -150819 Бонът е тип фактура
    Clone this wiki locally