Выкачать инсталлятор Версия для офлайнового просмотра

Утилита для работы в режиме фискального принтера

 

Содержание

Введение. 3

Комплект поставки и процедура установки. 3

Конфигурирование параметров работы.. 3

Конфигуратор. 3

Использование системного реестра. 5

Параметры командной строки. 6

Использование приложения VSU.. 8

Обработка ошибок. 8

Начало и окончание работы.. 9

Установление связи. 9

Исполнение команд по работе с фискальным принтером.. 9

Автоматический запуск файлов на исполнение. 9

Использование BAT-файлов в Windows. 10

Формат входного текстового файла по умолчанию.. 10

Продажа (S) 11

Комментарий (P) 12

Оплата (T) 12

Выплата (W) 13

Скидки (D) 13

Отмены (V) 13

Внос/вынос денег (I) 14

Начало возвратного чека (R) 14

Начало налоговой фактуры (N) 14

Альтернативный комментарий (C) 14

Печать на бланке (F) 15

Бинарный комментарий (B) 15

Игнорируемые строки (;) 15

Формат входного файла (эмуляция драйвера ISL) 16

Продажа (R) 16

Продажа по номеру отдела (S) 16

Оплата (T) 16

Фактура (F) 17

Печать текста (P) 17

Комментарий (;) 17

Процентные скидки и наценки (%) 17

Универсальная команда (A) 18

Формат входного файла (эмуляция драйвера ELKA) 18

Продажа. 18

Печать текста (:) 18

Скидки и наценки (#S,#P) 18

Задание имени оператора (#O) 19

Оплата (#E) 19

Начало фактуры (#L) 19

Бланк фактуры (#F) 19

Включение клавиатуры (#A) 19

Выключение клавиатуры (#B) 19

Дневной обнуляющий отчет ($FN) 20

Дневной отчёт без обнуления ($FI) 20

Отчёт без обнуления с выводом в файл ($FO) 20

Печать копии чека ($FC) 20

Управление шрифтом (&H) 20

Отмена последней продажи (#V) 20

Структура входной таблицы базы данных. 20

Коды возврата. 20

Система защиты от несанкционированного использованияя. 22

 


Введение

Утилита работы в режиме фискального принтера (далее vsu) предназначена для автоматизации продаж на кассовых аппаратах, поддерживающих протокол EQL. Хотя утилита VSU реализована в виде приложения Windows, она может быть использована приложениями DOS в качестве посредника для связи с кассовыми аппаратами. Это становится возможным благодаря тому, что утилита vsu может обрабатывать команды фискального принтера записанные как в простом текстовом виде, так и в виде таблиц баз данных (dbf и другие форматы, поддерживаемые стандартом OLE DB).

 

Комплект поставки и процедура установки

 

В инсталляционной директории поставляются следующие файлы:

Для установки программы нужно запустить vsuinst.exe.

Конфигурирование параметров работы

Конфигуратор

Страница “Default Connection”

На закладке “Default Connection” Вы можете включить или выключить автоматическое установление соединения с кассовым аппаратом при загрузке VSU, а также выбрать параметры соединения.

Если выбран полный протокол по логическому номеру, то для установления соединения необходимо задать логический номер кассы, номер кассира и пароль указанного кассира.

Если выбран полный протокол по сетевому номеру, то для установления соединения необходимо задать порт, к которому подключена касса, сетевой номер кассы, номер кассира и пароль указанного кассира.

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

vsucfg: Default Connection tab

Страница “Files Settings”

Эта страница позволяет выбрать формат входного файла, кодировку входных и выходных файлов и указать каталог для автоматической обработки файлов.

Поддерживается 3 формата входных файлов для ключа /File:

Независимо от того, какой формат выбран, файлы для ключей /Form, /Comment, /Void всегда должны быть в оригиналном формате утилиты VSU.

Для входных и выходных текстовых файлов можно задать кодировку DOS (она же OEM) или Windows.

Если включено автоматическое отслеживание файлов в указанной директории, то Вы можете задать маску файлов, которые необходимо обрабатывать. В масках можно использовать стандартные подстановочные символы * и ?. Все файлы появляющиеся в указанном каталоге и соответствующие заданной маске будут выполняться точно так же как если бы ихимя было указано в командной строке с помощью ключа /File.

Независимо от того, какая маска файлов указана в данном диалоге, если задана директория для отслеживания, то будут запускаться на исполнение также и файлы со стандартными именами, которые описаны в разделе « Автоматический запуск файлов на исполнение ».

vsucfg: Files Setting tab

Страница “Department Codes”

Эта страница имеет значение только при использовании входных файлов в режиме эмуляции формата драйвера ISL . На ней Вы можете изменить коды товаров, привязанных к номерам отделов, используемых в команде S.

vsucfg: Department Codes tab

Использование системного реестра

Настройка параметров работы утилиты с базами данных производится путем добавления и изменения ключей и значений системного реестра под базовым ключом этой утилиты: HKEY_LOCAL_MACHINE\SOFTWARE\Help Co\vsu.

Логическое значение с именем OEMInput, находящееся в базовом ключе, может задавать кодировку входной информации. Если это значение отсутствует, то считается, что входная информация находится в OEM (DOS) кодировке. Если же это значение присутствует, то значение ЛОЖЬ, означает, что входная информация закодирована в кодировке Windows, иначе в кодировке OEM (DOS). Для указания кодировки выходной информации (сообщения об ошибках) аналогичным образом используется значение с именем OEMOutput.

Для указания параметров соединения с таблицей базы данных используется строковое значение с именем base_cs. Если значение base_cs отсутствует, то используется строка соединения "Driver={Microsoft Visual FoxPro Driver};SourceDB=%s;SourceType=DBF;" где вместо символов %s подставляется текущий каталог приложения. В качестве имени таблицы используется имя файла, заданное в командной строке (см. опцию / file ниже в разделе «Параметры командной строки»). Если значение base_cs присутствует, то оно может содержать либо имя файла (возможно с путем) в формате dbf (при этом используется строка соединения по умолчанию, приведенная выше), либо строку соединения. При этом в начале строки соединения может присутствовать предложение вида vsu=< tablename>; , задающее имя таблицы. Если такого предложения нет, то используется имя таблицы по умолчанию (см. выше).

 

Параметры командной строки

Команды регистрации и разрегистрации COM сервера в системе Windows:

/RegServer

Этот параметр регистрирует приложение vsu.exe в системе Windows как сервер COM. При этом имеет значение каталог, из которого запускается приложение vsu.exe. Если приложение переносится в другой каталог, то необходимо произвести повторную регистрацию из нового каталога с помощью команды vsu.exe /RegServer .

/UnregServer

Отменяет регистрацию приложения vsu.exe в системе Windows.

 

Команды установления связи с кассовым аппаратом и настройки параметров работы программы:

[/WinInput] [/WinOutput]

Запуск без параметров либо с одним или обоими из параметров WinInput, WinOutput приводит к загрузке утилиты в память. Когда утилита загружена в память, в области System Tray появляется иконка.

Параметр WinInput указывает, что входная информация закодирована в кодировке Windows. Параметр WinOutput указывает, что выходные сообщения должны быть закодированы в кодировке Windows. Эти параметры имеют преимущество над умолчаниями (по умолчанию для ввода-вывода используется кодировка OEM (DOS )) и над установками в системном реестре (см. раздел «Конфигурирование перед началом работы»). Установки кодировок действуют на все последующие команды / File, / Comment, / Form .

/Unload

Выгружает утилиту из памяти. Утилиту можно также выгрузить, щёлкнув правой кнопкой мышки на иконке утилиты в области System Tray и выбрав пункт Shut Down

/Connect /n<Логич. номер> /u<Оператор>[:<Пароль>]

Устанавливает либо разрывает связь с кассовым аппаратом. Эту команду необходимо запускать только после того, как утилита vsu была запущена без параметров (см. раздел «Запуск приложения» ниже). Для установления связи подставьте значения логического номера, номера и пароля оператора, например: vsu. exe / connect / n1 / u1:0

Для установления связи по упрощенному протоколу вместо параметра /n<Логич. номер> нужно указать параметр /p<Порт>. В остальном работа по упрощенному протоколу не отличается от работы по полному протоколу.

Для разрыва связи выполните команду vsu. exe / connect / n-1 / u-1:-1 Примечание: для разрыва связи всегда используются значения –1 (независимо от того, какие значения были использованы при установлении связи).

/Watch <Каталог>

Указывает каталог, в котором отслеживается появление файлов для автоматического запуска. См. ниже раздел « Автоматический запуск файлов на исполнение »

/Wildcard <Маска>

Указывает  маску имён файлов, которые автоматически запускаются в режиме /File .

/Format <формат>

Устанавливает формат интерпретации файлов параметром /File . Формат может принимать следующие значения:
0 – оригинальный формат
VSU
1 – формат драйвера
ISL
2 – формат драйвера
ELKA

 

Команды управления кассовым аппаратом:

/File <имя файла>

Команда предназначена для печати чека на кассовом аппарате с помощью команд фискального принтера. Перед запуском этой команды необходимо установить связь с кассовым аппаратом с помощью команды /connect (см. выше). В качестве имени файла указывается либо имя текстового файла, либо имя файла таблицы базы данных. Программа определяет формат входного файла по наличию в имени входного файла подстроки . DBF либо . dbf . Форматы входных файлов описаны в последующих разделах. Допустимые строки входного файла (см. раздел «Формат входного текстового файла»): S, P, T, W, D, I, B, ;.

/Form <имя файла>

Команда предназначена для печати информации на подкладном бланке кассового аппарата с помощью команд фискального принтера. Перед запуском этой команды необходимо установить связь с кассовым аппаратом с помощью команды /connect (см. выше). В качестве имени файла указывается либо имя текстового файла, либо имя файла таблицы базы данных. Программа определяет формат входного файла по наличию в имени входного файла подстроки . DBF либо . dbf . Форматы входных файлов описаны в последующих разделах. Примечание: в некоторых моделях кассовых аппаратов эта команда не реализована. Допустимые строки входного файла (см. раздел «Формат входного текстового файла»): F, ;.

/Comment <имя файла>

Команда предназначена для печати нефискальных комментариев на контрольной ленте кассового аппарата с помощью команд фискального принтера. Перед запуском этой команды необходимо установить связь с кассовым аппаратом с помощью команды / connect (см. выше). В качестве имени файла указывается либо имя текстового файла, либо имя файла таблицы базы данных. Программа определяет формат входного файла по наличию в имени входного файла подстроки . DBF либо . dbf . Форматы входных файлов описаны в последующих разделах. Примечание: в некоторых моделях кассовых аппаратов эта команда не реализована. Допустимые строки входного файла (см. раздел «Формат входного текстового файла»): C, ;.

/ClrAllPLU

Команда предназначена для удаления всех товаров из кассового аппарата, с которым установлена связь. Удаление всех товаров может закончиться успешно только в том случае, если ни по одному из товаров не было зарегистрировано продаж, то есть перед этой командой необходимо вывести обнуляющие отчеты (подробнее см. инструкцию по эксплуатации кассового аппарата).

/Squeeze

Выполняет сквизирование таблицы товаров кассового аппарата. Команда необходима только на редко встречающихся, устаревших моделях кассовых аппаратов, которые после определённого времени работы блокируют добавление и модификацию товаров (хотя свободное место в таблице товаров ещё есть) и для разблокирования требуют произвести сквизирование.

/Report <вид отчета>

Выводит отчет указанного вида.
Большинство аппаратов поддерживают такие виды отчётов:
0 –
Z1 отчёт
1 –
Z2 отчёт
10 –
X1 отчёт
20 – отчёт по артикулам
Примечание 1: в некоторых моделях кассовых аппаратов эта команда не реализована.
Примечание 2: в некоторых моделях фискальных принтеров (таких как Мини-ФП, ЭККА-П.01) эта команда доступна только если связь установлена кассиром №14 (см. команду
/Connect )

/FMReport <вид отчёта> <BegDate> <EndDate> <BegRec> <EndRec>

Запускает печать отчёта по фискальной памяти.
В большинстве аппаратов реализованы такие виды отчётов фискальной памяти:
1 – полный по датам
2 – полный по номерам
3 – краткий по датам
4 – краткий по номерам
При печати отчёта по датам задайте нулевые значения парметрам
BegRec и EndRec
При печати отчёта по номерам параметрам
BegDate и EndDate можно задать произвольные даты, например: 01.01.2001
Примечание 1: в некоторых моделях кассовых аппаратов эта команда не реализована.
Примечание 2: в некоторых моделях фискальных принтеров (таких как Мини-ФП, ЭККА-П.01) эта команда доступна только если связь установлена кассиром №14 (см. команду
/Connect )

/CopyChk

Печатает копию последнего чека.

/Void <имя файла>

Команда предназначена для обработки ситуации, когда кассовый аппарат не позволяет отменить открытый чек. Например, такая ситуация может возникнуть при работе с кассовыми аппаратами ПФП-1, если в чеке продавались товары с признаком «печать на подкладном бланке». Команда Void позволяет отменить продажи в таком чеке и корректно его закрыть. Допустимые строки входного файла (см. раздел «Формат входного текстового файла»): V, T, ;.

 

 

Использование приложения VSU

 

Утилита фискального принтера работает следующим образом: в память компьютера загружается резидентная часть программы. При этом на панели задач Windows отображается иконка программы в области Tray. Загруженная в память компьютера программа VSU может держать открытое соединение с фискальным принтером. Это позволяет не терять время на установление соединения при поступлении дальнейших команд по работе с фискальным принтером.

Общая последовательность работы с программой такая:

  1. Загрузка в память резидентной части VSU
  2. Установление связи с фискальным принтером
  3. Исполнение команд по работе с фискальным принтером (формирование чеков, печать отчётов, другие команды)
  4. Выгрузка VSU из памяти

Обработка ошибок

Утилита VSU предназначена для работы совместно с другими программами, формирующими команды для фискального принтера. Поэтому предусмотрен механизм передачи результатов выполнения команд в вызывающую программу.

Результаты выполнения команд /Connect, /File, /Form, /Comment, /ClrAllPLU, /Squeeze, /Report, /FMReport, /CopyChk, /Void сохраняются в файле vsuerr. log в рабочем каталоге VSU. Появление этого файла свидетельствует о том, что выполнение команды завершено. Таким образом вызывающая программа может отслеживать выполнение команд. Файл vsuerr. log имеет следующий формат:

Строка 1

<серийный номер кассы>;<код ошибки>;

Строка 2

<описание ошибки>

Если серийный номер кассы в файле vsuerr. log равняется нулю, то это значит, что на момент выполнения команды связь с кассой не была установлена.

Код ошибки выводится в шестнадцатеричном представлении с префиксом 0x.

Если команда выполнена успешно, то код ошибки равен нулю (выводится 0x0) и вторая строка в файле vsuerr.log отсутствует.

При использовании автоматического запуска файлов на исполнение (см. ниже) результаты обработки каждого входного файла сохраняются в том же каталоге, в котором находятся входные файлы, в файле-результате с именем, построенным на основе имени входного файла. Формат файла-результата совпадает с форматом файла vsuerr.log , описанным выше. Появление файла-результата является признаком того, что утилита VSU закончила обработку входного файла. Подробнее это описано в подразделе «Автоматический запуск файлов на исполнение».

Для того, чтобы вызывающая программа могла определить наличие/отсутствие связи с фискальным принтером в произвольный момент, при отсутствии связи в рабочем каталоге VSU создаётся файл-флаг с именем no- conn. flg . При возобновлении связи файл-флаг удаляется. Отслеживание файла-флага no- conn. flg не является обязательным требованием к вызывающей программе, однако может помочь конечному пользователю быстрее обнаружить обрыв связи с фискальным принтером.

Начало и окончание работы

Для загрузки в память компьютера резидентной части утилиты фискального принтера необходимо запустить исполняемый модуль vsu.exe без параметров.

Для того, чтобы выгрузить утилиту vsu из памяти, запустите vsu.exe с параметром /Unload. Для выгрузки можно также щелкнуть правой кнопкой мыши на иконке vsu в области Tray панели задач и выбрать в появившемся меню пункт « Shut Down».

Установление связи

При загрузке в память утилита фискального принтера может сразу же начать процедуру установления связи с устройством, если в конфигураторе настроен режим автоматического соединения (см. раздел «Конфигуратор»).

Если режим автоматического соединения отключен, то для установления связи с фискальным принтером нужно воспользоваться командой /connect. Например:
               
vsu.exe /connect /n1 /u1:0

Исполнение команд по работе с фискальным принтером

После того как связь установлена, можно выполнять команды /File, /Form, /Comment, /ClrAllPLU, /Squeeze, /Report, /FMReport, /CopyChk, /Void либо воспользоваться функцией автоматического запуска файлов на исполнение (см. следующий подраздел).

Например, чек, сформированный в файле script1.cmd, можно распечатать следующей командой:
               
vsu.exe /file script1.cmd

Автоматический запуск файлов на исполнение

Утилита фискального принтера может автоматически отслеживать появление и запускать на исполнение файлы с определенными именами, которые появляются в каталоге, указанном в команде /Watch (см. раздел «Параметры командной строки»). Если команда /Watch не запускалась, то слежение не производится. Имена файлов, которые отслеживаются, приведены в таблице:

Файл-команда

Файл-результат

Содержимое файла-команды

File.vsu

File.vsu.log

Текстовый файл в том же формате, что и файл для параметра командной строки /file

File.dbf

File.dbf.log

DBF-файл в том же формате, что и файл для параметра командной строки /file

Form.vsu

Form.vsu.log

Текстовый файл в том же формате, что и файл для параметра командной строки /form

Form.dbf

Form.dbf.log

DBF-файл в том же формате, что и файл для параметра командной строки /form

Comment.vsu

Comment.vsu.log

Текстовый файл в том же формате, что и файл для параметра командной строки /comment

Comment.dbf

Comment.dbf.log

DBF-файл в том же формате, что и файл для параметра командной строки /comment

ClrAllPLU.vsu

ClrAllPLU.vsu.log

Игнорируется

Squeeze.vsu

Squeeze.vsu.log

Игнорируется

Report.vsu

Report.vsu.log

Строка-вид отчета, который нужно вывести.

FMReport.vsu

FMReport.vsu.log

В файле должно быть 5 параметров: вид отчёта, начальная дата, конечная дата, номер первого отчёта, номер последнего отчёта. Параметры должны быть разделены пробелами или табуляциями или переводами строки.

CopyChk.vsu

CopyChk.vsu.log

Игнорируется

Void.vsu

Void.vsu.log

Текстовый файл в том же формате, что и файл для параметра командной строки /void

Void.dbf

Void.dbf.log

DBF-файл в том же формате, что и файл для параметра командной строки /void

 

Если в каталоге, указанном в команде /Watch появляется файл с именем одного из файлов-команд, утилита проверяет наличие соответствующего файла-результата. Если файл результат присутствует, то ничего не происходит. Если файла-результата нет, то исполняется соответствующая команда и результат её исполнения записывается в файл-результат.

Таким образом, чтобы запустить на исполнение файл-команду нужно его сформировать и удалить файл-результат.

Рекомендуется формировать файл-команду под другим именем, а затем переименовывать его в файл с именем, которое отслеживается утилитой.

Использование BAT-файлов в Windows

Иногда пользователи VSU пытаются автоматизировать работу с VSU путём объединения нескольких вызовов vsu.exe в одном командном файле (файле с расширением bat или реже с расширением cmd). Принципиальных проблем при этом не возникает, однако некоторые особенности работы Windows и VSU при этом необходимо учитывать. Попытаемся перечислить некоторые рекомендации, которые помогут избежать проблем при использовании bat-файлов с VSU:

  1. Если производится первичная загрузка VSU из bat-файла (вызов vsu.exe без параметров), то необходимо делать это таким образом, чтобы вызов vsu.exe был асинхронным. Иначе командный интерпретатор Windows не будет выполнять команды, следующие в bat-файле после вызова vsu.exe, до тех пор, пока пользователь не завершит работу VSU вручную.
  2. Не рекомендуется объединять в одном bat-файле команду первичной загрузки VSU и какие-либо другие команды.
  3. Если в одном bat-файле объединены несколько команд, генерирующих результаты в файле vsuerr.log , то все вызовы этих команд должны быть синхронными, чтобы командный интерпретатор Windows выполнял их последовательно, а не параллельно (одновременно).

Чтобы запустить программу асинхронно, используйте в bat-файлах такую команду:

      start vsu.exe <параметры>

Чтобы запустить программу синхронно, используйте в bat-файлах такую команду:

      start /w vsu.exe <параметры>

 

Формат входного текстового файла по умолчанию

 

Текстовый файл интерпретируется следующим образом.

Если к моменту начала интерпретации в ФП имеется открытый чек - он отменяется.

Если в результате интерпретации файла получается чек, который не может быть

закрыт - он отменяется. При этом сообщение об ошибке записывается в файл с именем vsuerr. log . Если печать чека заканчивается успешно, то файл vsuerr.log содержит текстовую строку в формате:

                <серийный номер кассы>;0x0;

При печати следующего чека информация в файле vsuerr.log перезаписывается.

 

Чеки могут быть четырех видов:

                1. продажи, скидки, оплаты.

                2. внос-вынос денег.

                3. печать чека с комментариями, которые не заносятся в электронную ленту.

                4. печать на подкладном бланке.

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

или изъятие денег и наоборот.

В чеках, где производится продажи, имеются две части

                - часть продажи, где можно производить продажи и скидки,

                - часть оплаты, где производится оплата чека.

Комментарии могут располагаться в любом месте чека, даже после полной расплаты

по чеку.

Примечание: в зависимости от настроек Windows программа может предъявлять различные требования к символу, разделяющему целую и дробную часть в суммах, цене товара, продаваемом количестве и других дробных значениях. В системе Windows можно установить десятичный разделитель по умолчанию следующим образом: откройте Панель Управления (Control Panel), выберите Региональные Установки (Regional Settings), в появившемся диалоговом окне выберите закладку Числа (Number), на этой закладке в поле Десятичный Разделитель (Decimal Symbol) находится символ десятичного разделителя, используемого в системе по умолчанию. Именно его необходимо использовать во входных файлах для обеспечения правильной работы данной утилиты.

 

Продажа (S)

 

Продажи могут появляться только во входных файлах команды /file (см. раздел «Параметры командной строки»).

В зависимости от возможностей кассового аппарата, возможны 2 режима оформления продаж:

  1. Продажа с записью атрибутов товара в электронную контрольную ленту. Этот вариант будет использован на большинстве кассовых аппаратов с протоколом EQL.
  2. Продажа товара из таблицы товаров кассы. Этот вариант продажи используется только при работе со старыми моделями кассовых аппаратов, которые были разработаны до середины 2000 года. Поэтому на современных кассовых аппаратах и фискальных принтерах этот вариант работать не будет.

 

Режим 1. Продажа с записью атрибутов товара в ЭКЛ

S;<Код>;<Имя>;<Цена>;<Кол.>;<Отд>;<Груп>;<Нал>;;[<Комментарий>][;<Размерность>[;]]

 

Параметры:

 

<Код>                          код товара (до 14 цифр)

<Имя>                         название

<Цена>                        цена (<=9999999.99)

<Кол.>                         количество товара (<=999999.999)

<Отд>                          отдел

<Груп>                       группа

<Нал>                          налоговая группа

<Комментарий>       дополнительное название товара (Используется только в аппаратах, поддерживающих процедуру FullNameProd (Мини-ФП). В остальных аппаратах этот параметр игнорируется.)

<Размерность>         название единицы измерения (Используется только в аппаратах, поддерживающих процедуру FullNameProd (Мини-ФП). В остальных аппаратах этот параметр игнорируется.)

 

Параметры <Комментарий> и <Размерность> являются необязательными и могут быть опущены. Если эти параметры заданы при продаже на аппарате, не поддерживающем дополнительное название товара и единицы измерения, то они будут проигнорированы.

 

Режим 2. Продажа товара из таблицы товаров

S;<Код>;[<Имя>];[<Цена>];[<Кол.>];[<Отд>];[<Груп>];[<Нал>];[<Флаги>];

 

Параметры:

 

<Код>                          код товара (до 14 цифр)

<Имя>                         название

<Цена>                        цена (<=9999999.99)

<Кол.>                         количество товара (<=999999.999)

<Отд>                          отдел

<Груп>                       группа

<Нал>                          налоговая группа

<Флаги>                      флаги товара

 

Примечание: Этот вариант продажи используется только при работе со старыми моделями кассовых аппаратов, которые были разработаны до середины 2000 года. Поэтому на современных кассовых аппаратах и фискальных принтерах этот вариант работать не будет.

Особенность этого варианта состоит в том, что продаваемый товар должен присутствовать в таблице товаров кассы. Поэтому, если указанного кода нет в таблице товаров, то перед продажей производится попытка создать в таблице товаров новую запись с атрибутами, указанными в параметрах команды. В связи с этим при проведении продаж по этому варианту со временем в таблице товаров кассы накапливаются товары, которые когда-либо продавались. Это может привести к переполнению таблицы товаров и блокированию продажи новых товаров. Для решения этой проблемы Вы можете воспользоваться командой /ClrAllPLU . Кроме того, в некоторых моделях кассовых аппаратов есть флажок, при включении которого кассовый аппарат может сам очищать таблицу товаров при выводе дневного обнуляющего отчета. Более подробной информацией об этом флажке ищите в инструкции к Вашему кассовому аппарату.

Вторая особенность этого варианта продажи состоит в том, что обязательным является только параметр <Код>. Если имя товара либо цена товара не указана, то используется информация из таблицы товаров кассового аппарата. Если количество не указано, то продается одна штука товара.

Если флаги товара не указаны, то по умолчанию устанавливаются флаги свободной цены и возможности дробных продаж. В большинстве случаев такое значение флагов обеспечивает максимальную гибкость при работе кассового аппарата в режиме фискального принтера. Если Вам по каким-либо причинам необходимо изменить значение флагов, используемое по умолчанию, Вы можете создать в системном реестре значение с именем DefaultFlags в ключе HKEY_LOCAL_MACHINE\SOFTWARE\Help Co\vsu и записать в него новое значение по умолчанию. Например, чтобы установить значение флагов по умолчанию, равное 5, Вы можете воспользоваться файлом vsupost.reg, входящим в инсталляцию. Для этого выберите этот файл в проводнике Windows (Windows Explorer) и дважды щелкните на нем мышкой.

 

Комментарий (P)

 

P; <Комментарий>;

 

Параметры:

 

<Комментарий> - текст комментария

 

Комментарии могут появляться только во входных файлах команды /file (см. раздел «Параметры командной строки»).

 

Оплата (T)

 

Т; <Код>;<Сумма>;<Код клиента>;

 

Параметры:

 

<Код> - пусто или 1 - наличные;
2 - чек;
3 - кредит

<Сумма> - пусто - на всю сумму чека
или (<=99999999999.99)

<Код клиента> - пусто
или код клиента

 

Оплаты могут появляться только во входных файлах команды /file (см. раздел «Параметры командной строки»).

 

Выплата (W)

 

W; <Код>;<Сумма>;

 

Параметры:

 

<Код> - пусто или 1 - наличные;
2 - чек;
3 - кредит

<Сумма> - пусто - на всю сумму чека
или отрицательная сумма выплаты.

 

В чеке может быть не более одной выплаты.

Выплаты могут появляться только во входных файлах команды /file (см. раздел «Параметры командной строки»).

Примечание: в некоторых моделях кассовых аппаратов эта команда не реализована.

 

Скидки (D)

 

D; <Тип>;<Величина>;

 

Параметры:

 

<Тип> - тип скидки:
0 - Суммовая скидка на товар
1 - Суммовая наценка на товар
2 - Процентная скидка на товар
3 - Процентная наценка на товар
4 - Суммовая скидка на промежуточный итог
5 - Суммовая наценка на промежуточный итог
6 - Процентная скидка на промежуточный итог
7 - Процентная наценка на промежуточный итог

<Величина> - сумма скидки (<=99999999999.99) или процент скидки (<100.00) в зависимости от типа скидки

 

Скидки могут появляться только во входных файлах команды /file (см. раздел «Параметры командной строки»).

Отмены (V)

 

V;[<Код товара>];

 

Параметры:

 

<Код товара> - код товара, продажу которого нужно отменить. Если параметр пропущен, то отменяется последняя операция в чеке. Отменять можно только продажи товаров в текущем незакрытом чеке.

 

Внос/вынос денег (I)

 

I; <Тип оплаты>;<Сумма>;

 

Параметры:

 

<Тип оплаты> -
1 - наличные;
2 - чек;
3 - кредит

<Сумма> - +/-(<=9999999.99)

 

Строки вноса/выноса могут появляться только во входных файлах команды /file (см. раздел «Параметры командной строки»).

Начало возвратного чека (R)

R;

 

Начинает возвратный чек. Эта команда может быть только первой в файле. Если она не первая, то произойдёт ошибка.

Эта команда может появляться только во входных файлах команды /file (см. раздел «Параметры командной строки»).

Начало налоговой фактуры (N)

N;<налоговый код>;

 

Параметры:

 

<Налоговый код> - целое число – налоговый код (должно быть больше чем 9999)

 

Начинает фискальный чек с налоговой фактурой. Эта команда может быть только первой в файле. Если она не первая, то произойдёт ошибка. Если в чеке с налоговой фактурой после полной оплаты (после команд T) появляются комментарии (команды P), то эти комментарии формируют бланк фактуры. Иначе используется бланк фактуры по умолчанию.

Эта команда может появляться только во входных файлах команды /file (см. раздел «Параметры командной строки»).

 

Альтернативный комментарий (C)

 

C; <Комментарий>;

 

Параметры:

 

<Комментарий> - текст комментария

 

Печатает на чеке комментарий, который не заносится в электронную контрольную ленту. Остальные строки входного файла должны содержать только команды C.

Строки альтернативных комментариев могут появляться только во входных файлах команды /comment (см. раздел «Параметры командной строки»).

Примечание: в некоторых моделях кассовых аппаратов эта команда не реализована.

 

Печать на бланке (F)

 

F;<Комментарий>;

 

Параметры:

 

<Комментарий> - строка для печати

 

Печатает строку на подкладном бланке. Остальные строки входного файла должны содержать только команды F.

Строки печати на бланке могут появляться только во входных файлах команды /form (см. раздел «Параметры командной строки»).

 

Примечание: в некоторых моделях кассовых аппаратов эта команда не реализована.

 

Бинарный комментарий (B)

 

B;<Идентификатор>;<Данные>;

 

Параметры:

 

<Идентификатор> - число, идентифицирующее бинарный комментарий. Может принимать значения в диапазоне 0 – 255 за исключением идентификаторов 49, 50, 51, которые зарезервированы для представления текстовых комментариев.

<Данные> - шестнадцатеричные данные бинарного комментария в формате XX XX XX XX XX XX XX XX XX, где каждый символ X обозначает шестнадцатеричную цифру.

 

Заносит в электронную контрольную ленту 9 байт двоичных данных. При этом на чековой ленте ничего не печатается.

Бинарные комментарии могут появляться только во входных файлах команды /file (см. раздел «Параметры командной строки»).

 

 

Игнорируемые строки (;)

 

Любая строка входного файла, первый символ которой является символом «точка с запятой» (;), игнорируется. Кроме того, игнорируются все пустые строки и строки, состоящие только из пробелов и табуляций. Таким образом, с помощью символа «точка с запятой» можно создавать комментарии во входных файлах.

Формат входного файла (эмуляция драйвера ISL)

Файлы в этом формате могут исполняться при вызове VSU с параметром /File или если настроен автоматический запуск файлов на исполнение. Чтобы перевести VSU в режим эмуляции драйвера ISL, запустите VSU с параметром /Format 1 (этот параметр действует только на текущий сеанс работы с VSU) или воспользуйтесь конфигуратором, чтобы VSU всегда был в режиме эмуляции ISL.

Продажа (R)

Смещение

Длина

Описание

0

1

Код команды (R)

1

10

Цена за единицу

12

10

Количество

23

1

Налоговая группа

25

6

Код товара

32

До 24

Наименование товара

 

Пример:
Продажа Товара 1 в количестве 3.33 по цене 1.23 за штуку с налоговой группой 2 и товарной группой 4:

S      1.23       3.33 2 4 Товар 1  
||          |          | | |        
01234567890123456789012345678901234567890
- Смещение

Продажа по номеру отдела (S)

Смещение

Длина

Описание

0

1

Код команды (S)

1

10

Цена за единицу

12

10

Количество

23

1

Налоговая группа

25

1

Номер отдела

27

12

Наименование товара

 

Примечание: В кассовых аппаратах разработки фирмы Хелп-Микро любая продажа производится по коду товара. Поэтому при обработке этой команды номер отдела преобразуется в код товара с помощью таблицы перекодировки. Вы можете изменить коды товаров, к которым привязаны отделы, на закладке “Department Codes” в конфигураторе.

Оплата (T)

Команда полностью оплачивает текущий чек укзанным видом оплаты.

Смещение

Длина

Описание

0

1

Код команды (T)

2

1

Номер вида оплаты
0 – Наличные
1, 2, 3 – другие виды оплат в соответствии с таблицей видов оплат в кассовом аппарате

 

Фактура (F)

Если во входном файле есть команды печати фактуры, то они должны быть перед любыми другими командами.

Даннные, из которых состоит фактура, могут быть заданы несколькими строками входного файла.

Смещение

Длина

Описание

0

1

Код команды (F)

2

1

Тип данных

4

Зависит от типа данных

Данные

 

Данные, составляющие фактуру

Тип данных

Длина

Описание

1

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

Название фирмы

2

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

Адрес фирмы

3

13+12

Налоговый код и булстат

4

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

ФИО

0, 5, 6, 7, 8, 9

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

Произвольная текстовая информация

 

На бланке фактуры печатаются текстовые строки в порядке возрастания типа данных.

Пример:

F 1 Название фирмы
F 2 Адрес фирмы
F 3 1226013527   121108681Ю
F 4 Теофил Энгельгард
| | |            |
01234567890123456789012345678901234567890
- Смещение

Печать текста (P)

Смещение

Длина

Описание

0

1

Код команды (P)

2

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

Произвольный текст

 

Комментарий (;)

Строка, начинающаяся с символа ‘;’ считается комментарием и игнорируется.

Процентные скидки и наценки (%)

Смещение

Длина

Описание

0

1

Код команды (%)

2

1

Вид операции
0 – скидка
1 – наценка

4

5

Процент скидки/наценки

 

Пример:
Чтобы сделать скидку на 6.7% введите строку:

% 0 06.70
| | |   
01234567890123456789012345678901234567890
- Смещение

Универсальная команда (A)

Команда не реализована. Строки, начинающиеся с символа A, игнорируются.

Формат входного файла (эмуляция драйвера ELKA)

Файлы в этом формате могут исполняться при вызове VSU с параметром /File или если настроен автоматический запуск файлов на исполнение. Чтобы перевести VSU в режим эмуляции драйвера ELKA, запустите VSU с параметром /Format 2 (этот параметр действует только на текущий сеанс работы с VSU) или воспользуйтесь конфигуратором, чтобы VSU всегда был в режиме эмуляции ELKA.

Продажа

Смещение

Длина

Описание

Умолчание

0

4

Код товара

Обязательное поле

4

12

Наименование товара

Обязательное поле

16

8

Цена за единицу товара в копейках (без десятичной точки)

Обязательное поле

24

8

Продаваемое количество в граммах (без десятичной точки)

Обязательное поле

32

1

Налоговая группа
0 – без налога
от 1 до максимальной налоговой группы конкретного аппарата (обычно до 4 или до 8)

2 (Б)

33

2

Товарный отдел. От 1 до максимального номера товарного отдела в конкретном кассовом аппарате (обычно 15)

1

35

2

Товарная группа. От 1 до максимального номера товарной группы в конкретном кассовом аппарате (обычно 9)

1

37

1

Вид оплаты. Не используется

0

Поля налоговая группа, товарный отдел, товарная группа, вид оплаты можно не задавать. Если они не заданы, то используются значения по умолчанию.

Печать текста (:)

Если строка начинается с символа ‘:’, то текст, следующий после этого символа, печатается на чеке. Максимальная длина этого текста зависит от конкретной модели кассового аппарата. Если длина строки превышает возможности кассы, то конец строки отбрасывается.

Скидки и наценки (#S,#P)

Смещение

Длина

Описание

0

1

#

1

1

Область действия:
S – на промитог
P – на последню продажу

2

1

Скидка или наценка:
+ – наценка
- – скидка

3

4

Процент скидки/наценки без десятичной точки. Десятичная точка подразумевается посередине

 

Задание имени оператора (#O)

Команда устанавливает оператора, которым будут зарегистрированы последующие чеки. Строка с этой командой должна быть до любых строк, печатающих в чеке (таких как строки с продажами и с командами ‘:’, ‘#P’, ’#S’, ‘#E’).

Смещение

Длина

Описание

0

2

#O

2

Произвольная

Имя оператора. Если в таблице операторов касоового аппарата нет оператора с таким именем, то происходит ошибка и обработка файла с командами прекращается

 

Оплата (#E)

Смещение

Длина

Описание

0

2

#E

2

1

Номер вида оплаты в соответствии с таблицей видов оплат кассового аппарата

3

Произвольная

Сумма оплаты (с десятичной точкой)

Если сумма оплаты не указана, то чек полностью оплачивается указанным видом оплаты.

Если укзанная сумма превышает сумму по чеку, то чек полностью оплачивается и касса считает сдачу.

Если указанная сумма меньше чем сумма по чеку, то оплачивается часть чека. Окончательно оплатить чек нужно последующими командами #E.

Начало фактуры (#L)

Начинает фискальный чек с налоговой фактурой.

Строка с этой командой должна быть до любых строк, печатающих в чеке (таких как строки с продажами и с командами ‘:’, ‘#P’, ’#S’, ‘#E’).

Строка с этой командой должна быть после команд #O, $FN, $FI, $FC, если они присутствуют во входном файле.

Смещение

Длина

Описание

0

3

#LM или #LN

3

14

Налоговый код клиента. Целое число больше чем 9999

 

Бланк фактуры (#F)

Пять строк комментариев (:), следующие после этой команды, формируют бланк фактуры. Если команды #F нет во входном файле, то кассовый аппарат печатает бланк по умолчанию.

Включение клавиатуры (#A)

Команда не реализована. Строки с этой командой игнорируются.

Выключение клавиатуры (#B)

Команда не реализована. Строки с этой командой игнорируются.

Дневной обнуляющий отчет ($FN)

Печатает на кассе дневной обнуляющий отчет.

Строка с этой командой должна быть до любых строк, печатающих в чеке (таких как строки с продажами и с командами ‘:’, ‘#P’, ’#S’, ‘#E’).

Дневной отчёт без обнуления ($FI)

Печатает на кассе дневной отчет без обнуления.

Строка с этой командой должна быть до любых строк, печатающих в чеке (таких как строки с продажами и с командами ‘:’, ‘#P’, ’#S’, ‘#E’).

Отчёт без обнуления с выводом в файл($FO)

Команда не реализована. Строки с этой командой игнорируются.

Печать копии чека ($FC)

Печатает на кассе копию последнего чека.

Строка с этой командой должна быть до любых строк, печатающих в чеке (таких как строки с продажами и с командами ‘:’, ‘#P’, ’#S’, ‘#E’).

Управление шрифтом (&H)

Команда не реализована. Строки с этой командой игнорируются.

Отмена последней продажи (#V)

Отменяет последнюю продажу товара.

Структура входной таблицы базы данных

 

Входная таблица базы данных должна иметь как минимум 3 колонки:

  1. Первая колонка должна содержать код команды в текстовом виде (одна из букв S, P, T, W, D, V, I, C, F, B).
  2. Вторая колонка должна содержать параметры команды в том же самом формате, что и в текстовом файле.
  3. Третья колонка изменяется утилитой vsu по мере обработки файла в зависимости от успешности или не успешности выполнения команд. При успешном выполнении команды в эту колонку записывается строка «OK». При возникновении ошибки в эту колонку записывается сообщение об ошибке, а во всех предыдущих записях, которые были выполнены успешно, строка «OK» заменяется строкой «Cancelled».

 

Коды возврата

 

Код

Значение

Возможные пути устранения

0

Успешное завершение

 

0xС0005001

Связь с кассовым аппаратом не установлена

Проверьте, включен ли кассовый аппарат и вставлен ли его сетевой шнур в компьютер. Запустите программу с ключом / connect (см. раздел «Параметры командной строки») и убедитесь, что связь установлена.

0xС0005002

Синтаксическая ошибка в строке: <строка входного файла>.

Исправьте ошибки во входном файле (см. раздел «Формат входного файла»).

0xС0005003

Неверный код товара: <строка входного файла>

Исправьте код товара

0xС0005004

Неверное имя товара: <строка входного файла>

Исправьте имя товара

0xС0005005

Неверная цена: <строка входного файла>

Исправьте цену товара

0xС0005006

Неверное количество: <строка входного файла>

Исправьте количество товара

0xС0005007

Неверный отдел: <строка входного файла>

Исправьте отдел товара

0xС0005008

Неверная товарная группа: <строка входного файла>

Исправьте товарную группу товара

0xС0005009

Неверная налоговая группа: <строка входного файла>

Исправьте налоговую группу товара

0xС000500A

Неверная команда комментария: <строка входного файла>

Скорее всего, в конце комментария отсутствует точка с запятой

0xС000500B

Неверный вид оплаты: <строка входного файла>

Исправьте вид оплаты

0xС000500C

Неверная сумма оплаты: <строка входного файла>

Исправьте сумму оплаты

0xС000500D

Неверный дополнительный код: <строка входного файла>

Исправьте дополнительный код

0xС000500E

Неверный вид скидки: <строка входного файла>

Исправьте вид скидки

0xС000500F

Неверная сумма скидки: <строка входного файла>

Исправьте сумму скидки

0xС0005010

Неверный вид вноса/выноса: <строка входного файла>

Исправьте вид вноса/выноса

0xС0005011

Неверная сумма вноса/выноса: <строка входного файла>

Исправьте сумму вноса/выноса

0xС0005012

Неизвестный идентификатор команды в строке: <строка входного файла>

В разделе «Формат входного файла» перечислены известные идентификаторы команд

0xС0005013

Неверные флажки товара: <строка входного файла>

Исправьте флажки товара

0xС0005014

Недопустимый идентификатор бинарного комментария: <строка входного файла>

Исправьте идентификатор бинарного комментария

0xС0005015

Недопустимый формат бинарного комментария: <строка входного файла>

Исправьте строку бинарного комментария во входном файле

0xС0005016

Неверный налоговый код: <строка входного файла>

Исправьте налоговый код в строке, указанной в сообщении об ошибке.

0xС0005017

Касса не поддерживает печать фактур: <строка входного файла>

Устройство не поддерживает команду, заданную во входном файле

0xС0005018

Касса не поддерживает возвратные чеки: <строка входного файла>

Устройство не поддерживает команду, заданную во входном файле

0xC0005019

Невозможно исполнить файл <имя файла> так как связь с кассовым аппаратом не установлена

Установите связь с кассой с помощью команды /connect или настройте автоматическое установление связи в конфигураторе

0xC000501A

Невозможно исполнить файл <имя файла> так как VSU ожидает связи с кассовым аппаратом

Дождитесь установления связи с устройством. Если установление связи занимает более 5 секунд, то проверьте линию связи, настройки устройства и параметры, заданные для установления связи

0xC000501B

Невозможно исполнить файл <имя файла> так как связь с кассовым аппаратом внезапно оборвалась

Проверьте линию связи и состояние устройства (эта ошибка возникает при обрыве линии связи или при выключении устройства)

0x0000000B

Неверный формат параметров командной строки

Внимательно прочитайте раздел «Параметры командной строки»

0xС0005134

Доступ закрыт

Переведите кассовый аппарат в режим фискального принтера

0xC00051C2

Неверный параметр

Один из параметров команды не входит в допустимый диапазон для этого параметра. Исправьте во входном файле ту строку, в которой произошла ошибка

0xC00051C3

Действие запрещено если аппарат не в режиме фискального принтера

Переведите кассовый аппарат в режим фискального принтера. Как это сделать, читайте в инструкции Вашего аппарата

0xC00051C4

Изменено имя или налоговая группа товара

При первой регистрации продажи товара кассовый аппарат запоминает в электронной контрольной ленте код, имя, налоговую группу этого товара. Если в дальнейшем делается попытка продать товар с тем же кодом, но другим именем или другой налоговой группой, то кассовый аппарат выдаёт ошибку 0xC4. Нельзя в одном дневном отчёте продать один и тот же товар (один и тот же код товара) с разными именами или с разными налоговыми группами. Чтобы касса позволила продать товар с такими изменениями, нужно вывести дневной обнуляющий отчёт

0xС00051D3

Продажи запрещены до вывода обнуляющих отчетов

Выведите дневной обнуляющий отчёт

0xC00051D7

Нечего обнулять

Сделана попытка обнулить дневной отчёт когда он уже обнулён. Перед обнулением дневного отчёта нужно что-то продать

0xC000513D

Товар уже продавался

Эта ошибка возникает, если Вы пытаетесь продать товар с именем, налоговой группой, либо флагами, отличающимися от запрограммированных в кассе и этот товар уже продавался. Чтобы изменить атрибуты такого товара в кассе, необходимо вывести обнуляющий отчет. Чтобы продать товар с атрибутами, запрограммированными в кассе, исправьте входной файл (данные атрибуты могут быть пропущены, см. раздел «Формат входного файла»).

 

Система защиты от несанкционированного использования

 

Данная программа будет работать с нефискализированными кассовыми аппаратами без ключа доступа. Для работы данной программы с фискализированными кассовыми аппаратами, обратитесь в за ключом доступа в организацию, осуществляющую поддержку Вашего кассового аппарата. Ключи доступа для различных кассовых аппаратов должны храниться в файле с именем keysfile. txt . Файл keysfile. txt должен находиться в том же каталоге, что и программа vsu.exe.