Petroglif

Статистика продаж и прогнозирование спроса

Базовые сведения из математической статистики

Для того чтобы были понятны принципы функционирования модуля прогнозирования спроса, мы приведем здесь некоторые сведения из теории вероятности и математической статистики. Постараемся быть предельно краткими.Рассмотрим пример ежедневных продаж молока за месяц (рис.link).

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

Количество значений ряда
[N] Общее число значение в ряду. В нашем примере количество значений ряда равно 31
i-е значение ряда
[x_{i}] Значение ряда с номером i. Например, 5-е значение нашего ряда равно 59
Сумма значений ряда
[

i-1

^N x_{i}]

Общая сумма всех значений ряда. Сумма значений ряда продаж молока за март равно 2860.

Среднее значение ряда
[

x

= /

i-1

}{N}]

Среднее арифметическое всех значений ряда. То есть, сумма всех значений, поделенная на количество значений ряда. Наш пример с продажами молока дает среднее значение равное 2860/31=92.258 пакетов молока. Среднее значение обладает тем замечательным свойством, что сглаживает все неровности ряда и дает оценку, правда, очень грубую, значения ряда в единицу времени.

Стандартное отклонение
[=

/ Σ-

x

)^{2

}{N-1}}]

Стандартное отклонение служит мерой рассеяния ряда. Проще говоря, величина стандартного отклонения дает оценку того, на сколько наш ряд “разбросан” относительно среднего значения. В примере с продажами молока стандартное отклонение равно 33.181.

Коэффициент вариации
[= / ]

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

Тренд временного ряда
Долговременная тенденция в изменении значений ряда. Тренд может иметь различную форму. Вообще говоря, правильная идентификация формы тренда задача сама по себе достаточно сложная. Мы будем рассматривать только линейный тренд, аналогичный показанному на рисунке, иллюстрирующем наш пример. Здесь изображена наклонная линия линейного тренда в продажах молока. Исходя из рисунка, мы видим, что продажи молока увеличиваются, несмотря на то, что имеются кратковременные всплески и снижения в продажах.

Вот, в общем, и все. Если мы что-либо забыли, то по ходу изложения будем пояснять необходимые понятия.

Принципы работы модуля анализа статистики продаж и прогнозирования

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

Задача прогнозирования спроса

Наша задача состоит в том, чтобы:

  1. спрогнозировать спрос на любой из товаров, присутствующих в справочнике, на произвольный период времени с максимальной точностью.
  2. иметь средства анализа, позволяющие проверить качество прогноза
  3. избежать индивидуального подхода к каждой позиции в справочнике, поскольку настроить каждую из нескольких тысяч позиций практически невозможно
  4. рассчитать прогноз спроса за минимальное время

В чем трудности?

Теперь сформулируем основные проблемы, связанные с нашей задачей:

  1. Временные ряды продаж по каждому отдельному товару крайне нестабильны. Это значит, что по большинству товаров коэффициент вариации превышает (часто на много) единицу.
  2. Временные ряды продаж содержат большое число пропусков, возникающих из-за отсутствия товара на складе или в магазине. Эта проблема накладывается на предыдущую в результате чего, мы не можем с достаточной точностью заполнить пропуски.
  3. Так как анализ статистики реализуется на уровне отдельных товарных позиций, мы вынуждены постулировать, что наши временные ряды продаж лишены какой-либо регулярности (сезонности). Это утверждение можно попытаться оспорить, но мы будем на нем настаивать, поскольку наш опыт убеждает нас именно в этом. Здесь уместно заметить, что не следует путать статистику по одному товару и статистику по выборке товаров. Так, например, временной ряд продаж пива имеет четко выраженную регулярность, в то время как ряд продаж совершенно конкретного наименования пива (скажем, Хольстен 12% в бутылках по 0,33 литра) регулярности не имеет. Еще одна оговорка по поводу этого утверждения: если ваше предприятие торгует очень узкой номенклатурой (до 100 наименований), то ряды по большинству из этих позиций все-таки будут регулярны. Аналогично, даже в большом торговом предприятии, оперирующем десятками тысяч наименований товаров, могут существовать очень стабильные с точки зрения спроса позиции, однако их число крайне мало и их сложно идентифицировать. Возможно, в следующих версиях нам удастся реализовать процесс автоматической идентификации таких товаров.
  4. При построении прогноза необходимо учитывать выходные дни. Так, если вы хотите знать прогноз продаж на следующие 14 дней, но ваше предприятие по воскресениям не работает, то система должна учесть этот факт и спрогнозировать спрос только на рабочие дни, попадающие в заданный интервал.

Как работает прогнозирование в системе Papyrus

Для прогнозирования спроса и анализа статистики продаж в первую очередь необходимо построить таблицу продаж. Таблица продаж - это таблица, в которой собраны данные о продажах каждого товара за каждый день и по каждому складу. Информация о продажах в этой таблице учитывается в количественных единицах и суммарных ценах продажи. Для использования модуля прогнозирования таблица продаж должна быть предварительно заполнена. Сама по себе, таблица продаж является исключительно полезным инструментом, используемым для анализа статистики продаж. Она позволяет идентифицировать наиболее стабильные с точки зрения спроса товарные позиции, а также обнаружить товары, которые есть на остатке, но продаются по каким-либо причинам, очень слабо.

Достоверность таблицы продаж

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

Охват истории продаж для прогнозирования

Для построения прогноза продаж система использует данные истории продаж не по календарному периоду, а по количеству достоверных точек продаж. То есть, программа извлекает заданное в конфигурации количество точек, соответствующих дням, на которые приходились не нулевые остатки товара.

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

Иллюстрация критерия надежности прогнозаДля иллюстрации критерия приведем следующий пример (см. рис.link): некоторый товар А имеет таблицу продаж за период до 30 июня 2007 года такую, как показана на рисунке. Если система строит прогноз на период от дня, следующего за этой датой и в конфигурации определено 14 точек прогнозирования, то система отсчитает эти точки от 30 июня до 15 июня включительно. При этом дни, когда товара на остатке не было исключаются из рассмотрения (на рисунке выделены цветом 18 и 19 июня).

Таким образом, надежность прогноза составляет 14 точек / 16 дней = 0.875 = 87.5%.Если критерий надежности прогноза составляет 90%, то прогноз по нашему примеру будет признан ненадежным, если же критерий надежности, скажем, 75%, то прогноз по такому примеру признается адекватным.

Учет выходных дней

Проблема учета выходных дней состоит из двух частей:
  1. Выходные дни, встречающиеся в периоде построения таблицы продаж. Такие выходные система распознает автоматически по отсутствию в эти дни документов, относящихся к видам операций продаж. В выходные дни значения в таблицу продаж не заносятся. Здесь потенциальным источником ошибок в построении таблицы продаж может оказаться наличие случайного единственного документа продаж. В этом случае система не сможет распознать такой день как выходной и неоправданно зафиксирует нулевые продажи по тем товарам, которые присутствовали в этот день на складе.
  2. Выходные дни, попадающие в период, на который строится прогноз продаж. Так как продаж в дни, на которые строится прогноз, нет и быть не может (иначе, зачем нам прогноз), то такие выходные должны быть указаны явно в конфигурации.

Методы прогнозирования

Для собственно прогнозирования в системе используется один из двух алгоритмов: простое среднее или линейная аппроксимация. Разберем каждый из этих алгоритмов.

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

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

Конфигурация прогнозирования

В случае если вы начали эксплуатировать систему Papyrus с версии более ранней, чем 4.4.11, вам необходимо в каталог базы данных скопировать пустые файлы данных psales.btr и gstat.btr и удалить из этого каталога файл garmapar.btr.

Для того чтобы правильно настроить заполнение таблицы продаж и прогнозирование, прежде всего, необходимо определиться со следующими вопросами:

  1. Какие виды операций должны учитываться как продажи? Если вы хотите, чтобы продажи учитывались по нескольким операциям, то заведите обобщенную операцию и ассоциируйте ее с этими видами операций.
  2. С какой даты следует начинать учет продаж в таблице продаж? Этот вопрос существенен из-за того, что таблицу продаж следует строить не с самого первого дня функционирования учета на предприятии, с некоторым временным смещением. Основная причина этого в том, что начальный период внедрения учета характеризуется высоким уровнем ошибок в учете. С другой стороны, потеря информации о, скажем, одном месяце работы не столь существенна, как возможные искажения, вносимые такими ошибками.
  3. Какие дни недели и даты учитывать как выходные дни? Этот вопрос не существенен для построения таблицы продаж, но очень критичен для расчета прогноза спроса на будущий период.

Диалог конфигурации прогнозирования

Конфигурация прогноза продаж

Для вызова диалога конфигурации прогнозирования обратитесь к пункту меню Админ→ Прочие конфигурации→ Конфигурация прогноза продаж. После этого на экране появится диалог, изображенный на рис. link.

▼Операция продажи товаров

Комбо-бокс, в котором следует выбрать вид операции продаж.

▼Операция закупки товаров

Вид операции, относящийся к типу драфт-приход, который будет применяться для создания документа закупки при расчете заказа поставщику (стр. link).
Дата начала продаж
Дата, с которой следует начать построение таблицы продаж. Указанный здесь день включается в период построения таблицы продаж.

Дата конца расчета

Метод прогнозирования

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

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

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

Минимальное число точек
Параметр Q модели
Этот параметр в настоящее время не используется. Значение должно быть нулевым.

Страховочный запас по умолчанию (дней)

Использование емкости упаковки

Переключатель, регулирующий вопрос применения емкостей упаковок при расчете рекомендуемого заказа:

○Не использовать

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

○Предпочтение отдавать емкости упаковки поставки

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

○Предпочтение отдавать емкости упаковки из последнего лота

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

Округление рекомендуемого заказа

Переключатель, регулирующий метод округления рекомендуемого заказа. Этот переключатель имеет смысл только для тех случаев, когда системе предписано учитывать емкости упаковок (см. описание переключателя выше).

○До емкости упаковки вниз

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

Обратите внимание на флаг ✓Если после округления рекомендуемый заказ нулевой, то 1 упаковка, описанный ниже. Он также влияет на изменение величины рекомендуемого заказа в зависимости от емкости упаковки.

○До емкости упаковки вверх

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

○До ближайшей емкости упаковки

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

▼Вид котировки поправочого коэффициента

✓Если после округления рекомендуемый заказ нулевой, то 1 упаковка

Если этот флаг установлен и рассчитанный рекомендуемый заказа (после учета емкости упаковки) оказался равен нулю, то система предложит заказать одну упаковку товара. Другими словами, если рекомендуемый заказ меньше одной упаковки, то заказываем одну упаковку. Это - корректирующий флаг, обычно применяемый для правиле округления ○До емкости упаковки вниз.

✓Учитывать страховочный запас товаров

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

✓Минимальный остаток трактовать как минимальный запас

Специальная опция, изменяющая алгоритм поправки рекомендуемого заказа При установке этого флага рекомендуемый заказ рассчитывается по следующей формуле:

O = (P > M) ? (P - R) : (M - R) где:

O

рекомендуемый заказа поставщику

P

прогноз продаж

M

минимальный запас товара

R

текущий остаток товара

Напомним, что если описываемый флаг не установлен, то формула расчета следующая: O = P + M - R

При использовании страховочного запаса в днях этот флаг не учитывается.

✓Округлять заказ, введенный вручную

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

Фиксация артикулов по поставщику

○Не применять

○Дополнить товарами, имеющими коды по поставщику

○Ограничить товарами, имеющими коды по поставщику

Редактирование списка выходных дней

Для редактирования выходных дней выберите пункт меню Админ→ Прочие конфигурации→ Выходные дни (для прогнозирования). Диалог редактирования списка выходных дней представлен комбо-боксом выбора склада, списком выходных дней и кнопками добавления и удаления элементов списка. Выходные дни могут задаваться раздельно по каждому складу либо для всех складов одновременно.

Выходной деньСистема использует следующий алгоритм определения является ли заданный день выходным:

  1. Если для заданного склада заданная дата явно указана как выходной день то так оно и есть, иначе
  2. Если для заданного склада календарный день, соответствующий заданной дате определен как выходной, то дата признается выходным днем, иначе
  3. Если по заданному складу день недели, соответствующий заданной дате определен как выходной, то дата - выходной, иначе
  4. Повторяем тот же алгоритм, только для списка определенного для всех складов.

Вы можете задавать выходные дни одним из трех способов: днем недели, днем года (действительным для всех лет) или полной датой. Диалог редактирования выходного дня выглядит так, как показано на рис. link.

Индикатор наименования склада
Показывает, для какого склада вносится выходной день. Если для всех, то здесь появится текст “Все склады”.

Вид выходного дня

Выберите один из трех вариантов. В пояснении нуждается только средний вариант: календарный день. Это - регулярный ежегодный выходной день. Например, 1 января.
Дата
В этом поле вводится либо дата, либо календарный день. Дата вводится по обычным правилам, используемых в системе Papyrus . Для календарного дня необходимо указать через разделитель день и месяц.

▼День недели

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

Заполнение таблицы продаж

Параметры заполнения таблицы продаж

Параметры заполнения таблицы продаж

Перед началом эксплуатации модуля прогнозирования необходимо осуществить заполнение таблицы продаж, для того, чтобы она содержала данные обо всех предшествующих продажах вашего предприятия, начиная со дня, указанного в конфигурации как дата начала продаж. В дальнейшем, следует дополнять таблицу новыми данными, для поддержки ее актуальности. Для выполнения заполнения таблицы продаж выберите пункт меню Админ→ Заполнение таблицы продаж. Вы увидите диалог, аналогичный показанному на рис. link.Верхний левый блок в этом диалоге - информационный. В нем показаны некоторые параметры из конфигурации прогнозирования, помогающие вам сориентироваться в выборе параметров заполнения таблицы.

В следующей таблице перечислены параметры заполнения таблицы продаж

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

Последняя заполненная дата
Справочное поле, показывающее дату, до которой таблица продаж уже построена на текущий момент.

▼Вид операции учета продаж

Справочное поле, отображающее наименование вида операций, учитываемой как операция продаж.

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

Дата начала перерасчета
Дата, с которой система должна начать пересчет таблицы продаж. Это значение игнорируется, если выбран режим полного пересчета таблицы. Так же как и для даты завершения расчета здесь можно использовать шаблонизированное представление даты с использованием символа @.

Если это поле не заполнено, то заполнение таблицы пойдет от последней заполненной даны (значение его указано в поле “Последняя заполненная дата”). При установке в этом поле значения, превышающего дату начала пересчета, система выдаст сообщение об ошибке.

▼Товарная группа

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

▼Товар

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

Выбор отдельного товара может быть полезен для проверки правильности заполнения или полного пересчета таблицы для одного единственного товара с целью отладки различных параметров расчета.

○Заполнить отсутствующие дни

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

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

○Полностью пересчитать данные

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

✓Использовать массовый расчет остатков

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

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

Прерывание заполнения таблицы продаж

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

Система предоставляет сервис для прерывания процесса и возобновления его в следующий раз.Существуют следующие средства прерывания этого процесса:

Отключение программного сеанса
Самый простой, но и самый грубый метод. В случае использования JobServer этот способ может быть применен остановкой службы Papyrus Server с последующим запуском.
Создание сигнального файла
Если в подкаталоге BIN основного каталога системы создать файл psalesstop (без расширения), то, увидев его, работающий процесс формирования таблицы продаж остановится занеся соответствующее сообщение в файл журнала.

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

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

Установка предельного времени работы процесса
Если вы точно знаете лимит времени, который может быть отведен процессу формирования таблицы продаж, то его можно определить в конфигурационном файле BIN/PP.INI в зоне [config] параметром PSales_MaxTime=время в секундах.

[config]
.exe /cash:cash_name здесь cash_name - это наименование кассового узла. После ввода имени пользователя и пароля система автоматически загрузит таблицу просмотра кассовых чеков для кассового узла cash_name.

Ввод нового чека

Для того чтобы начать ввод нового чека, необходимо в таблице кассовых чеков нажать клавишу <Insert> . При этом на экране появится диалог нового чека. В зависимости от того, является ли режим работы с синхронной кассовой сессией пассивным или активным этот диалог будет иметь различный внешний вид.

Выбор товара по группе и наименованию

Для того чтобы добавить новую строку чека в таблицу, необходимо либо нажать клавишу <Insert> , либо выбрать товар по штрихкоду.

Выбор товара по штрихкоду

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

Расчет сдачи

Если при завершении формирования чека вам необходимо рассчитать сдачу, которую следует выдать покупателю, то в диалоге заголовка чека нажмите клавишу <F2> . При этом появится диалог, в верхнем поле которого высвечивается общая сумма покупки. В поле “Наличность” укажите сумму, которую вам дает покупатель, и нажмите <Enter> . В поле “Сдача” вы увидите сумму, которую следует вернуть покупателю. Чтобы убрать этот диалог с экрана нажмите снова <Enter> или <Escape> .

Закрытие чека

Сформировав все товарные строки, чек необходимо закрыть. Это делается так же, как и проводка товарного документа: если открыта таблица строк чека, то клавишей <Escape> закройте ее, затем, в диалоге заголовка чека нажмите кнопку [ОК]. Одновременно с проводкой чека на кассовой машине отпечатается бумажный чек, с кратким содержанием покупок, суммой, датой и другой служебной информацией.

Режим панели чеков

Кассовая панельПанель чеков позволяет быстро вводить всю необходимую информацию о розничных продажах в магазинах, ресторанах и других организациях, продающих какие-либо товары или оказывающих услуги населению. Панель состоит из следующих компонентов:
  • списка введенных товарных позиций
  • строки ввода (в нижней части панели)
  • буфера ввода (непосредственно под списком слева)
  • окна подсказок
  • информационных полей
  • Далее, описание работы

    Как выбрать товар

    Товар в панели чеков может быть выбран одним из следующих способов:
    По штрихкоду
    Просканируйте штрихкод товара. Если система найдет такой штрихкод в базе данных, то она немедленно вставит его в буфер ввода. Код может быть введен и вручную. Для этого наберите код товара в строке ввода и нажмите <Enter> . Если введенный штрихкод не найден, то система издаст звуковые сигналы и выдаст на экран сообщение.
    По наименованию
    Нажмите клавишу <F2> и в появившемся списке выберите группу товаров и товар. Подробно список выбора товара описан в разделе, посвященном товарным документам. Особенность панели чеков состоит в том, что, если в опциях кассового узла установлен флаг ✓При вводе чеков показывать все товары, выбрать можно любой товар. В противном случае, в списке будут видны только те позиции, которые числятся на текущих остатках.
    По цене
    Введите в поле ввода значение цены и нажмите <F4> . На экране появится список товаров, учетная цена которых равна введенной. Обратите внимание на то, что речь идет именно об учетной цене, то есть о цене, указанной в лотах товара, но не в котировках.

    Применение серийных номеров

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

    Как ввести количество

    После выбора товара следует указать продаваемое количество. Сразу, как только пользователь выбрал товар, система устанавливает количество равным одной единице. Если товар выбран по весовому штрихкоду, содержащему вес упаковки, то количество устанавливается таким, как закодировано в штрихкоде.Для ручного ввода количества существуют следующие методы:
    Значение + Специальная клавиша
    Введите в поле ввода значение количества и нажмите <F6> .
    Специальная кнопка + Калькулятор
    Этот метод применяется в кассовой панели для сенсорного экрана: нажмите кнопку [Количество] в ответ на это на экране появится калькулятор, в котором можно ввести значение и нажать кнопку [А].
    Значение + Enter
    Для того, чтобы программа восприняла строку в поле ввода как количество после нажатия <Enter> необходимо первым либо последним символом в строке ввести символ <*> .

    2.3* *4

    Специальные возможности при вводе количества
    Система предоставляет возможность ввода обыкновенных дробей в качестве значения количества продаваемого товара. Для того чтобы указать количество в виде обыкновенной дроби введите в строке ввода числитель и знаменатель дроби, разделив их символом <+> .

    3/5 2.5/6

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

    Допустим, существует товар Колбаса Докторская 0.400 (штучная колбаса, каждая единица которой весит 0.400 кг). Вы можете продать две штуки такой колбасы, введя 0,800/ Программа установит количество равным 2 (0.800 / 0.400).

    Особенности ввода количества
  • Значение количества сохраняется в строке чека с округлением до 6-го знака после десятичной точки.
  • Если единица измерения товара целочисленная, то программа запрещает вводить для такого товара дробные значения количества.
  • Если единица измерения товара определяет минимальную дробность количества, то в кассовой панели это ограничение действует при условии, что в конфигурации оборудования установлен флаг ✓Проверять дробность количества в кассовой панели (см. стр. link). Так, скажем, если для товара “Хлеб Окский” установлена единица измерения “Буханка”, в которой, в свою очередь, задана дробность 0.25, то в кассовой панели нельзя будет ввести количество 0.3 или любое иное, не кратное указанной дробности.
  • Для алкогольных товаров, подлежащих маркировке акцизными марками в соответствии с российским законодательством, допускается ввод только по одной единице на каждую строку чека, поскольку при выборе такого товара программа дополнительно запрашивает сканирование акцизной марки.
  • Как ввести номер отдела

    С каждой строкой кассового чека может быть связан номер отдела. Если для вас это важно, то существует два способа связывания номера отдала со строками чека:
  • Автоматический
  • Ручной
  • Автоматический метод ввода номера отдела
    При автоматическом способе система самостоятельно определяет принадлежность каждого товара какому-либо отделу на основании информации, определенной для кассового узла. Здесь следует иметь в виду то, что если программа не найден соответствия для товара, то такая строка останется с неопределенным номером отдела.

    Настройка кассового узла для автоматического сопоставления номеров отделов с товарными группами состоит в установке таких ассоциаций в записи кассового узла. Выберите пункт меню Справочники→ Оборудование→ Кассы. В списке выберите кассовый узел и дважды щелкните мышью по выбранной строке. В диалоге синхронного кассового нажмите кнопку [Группа-Отдел]. Вы увидите диалог, в котором есть список ассоциаций и кнопки для управления элементами этого списка. Для создания новой ассоциации нажмите кнопку [Добавить], выберите товарную группу и соответствующий ей номер отдела. Номер отдела по умолчанию (то есть для тех товаров, группы которых явно не перечислены в списке) определяется специальным элементом списка, в котором группа не выбрана. Например, допустим в вашем справочнике существует 10 обыкновенных товарных групп. Вы хотите, чтобы для двух из них (для определенности будем считать, что это “вино” и “сигареты”) номер отдела был соответственно 2 и 3, а для остальных - 1. Создайте в списке три элемента:

  • Группа “Вино” - отдел 2
  • Группа “Сигареты” - отдел 3
  • Пустая группа (не выбрана) - отдел 1
  • .
    Ручной метод ввода номера отдела
    При ручном методе установки номера отдела кассир после выбора наименования товара должен указать в кассовой панели номер отдела, которому сопоставлена вновь вводимая строка.Для этого следует ввести номер отдела в строке ввода и нажать <F9> . Если при нажатии на <F9> строка ввода была пуста, то откроется калькулятор, в котором вы сможете нажать кнопку, соответствующую номеру отдела, а затем для подтверждения кнопку [=].Описанный способ крайне трудоемок для кассира и использовать его следует только тогда, когда это действительно необходимо.Если в опциях кассового узла установлен флаг ✓Запрет ввода позиции без номера отдела, тогда система не позволит перевести строку из промежуточного буфера в список строк, если номер отдела не указан.

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

  • DIV02 - второй отдел
  • DIV1 - первый отдел
  • DIV003 - третий отдел
  • Таким образом, можно заранее заготовить палетки со штрихкодами, соответствующими всем номерам отделов (штрихкод должен быть в стандарте CODE39) с тем, чтобы кассир вместо нажатия на клавиши, мог бы просто просканировать нужный штрихкод.

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

    Как занести введенный товар в список чека

    После того, как товар выбран и введено его количество, строку из буфера ввода необходимо переместить в список. Для этого можно либо просто нажать <Enter> в пустой строке ввода, либо выбрать следующий товар. При этом позиция из буфера ввода переместится в список строк чека.

    Как определяется цена на товар

    Панель чеков не позволяет ввести цену товара, так как определение цены не входит в компетенцию кассира. Система позволяет использовать один из нескольких алгоритмов определения цены товара, которые грубо можно разбить на две категории:
  • По учетной цене
  • По котировкам
  • В сущности, это разделение определяет приоритет использования значений цен на товар. Если приоритетной является котировка, то после выбора товара система сначала ищет наиболее подходящую котировку для него, и, если находит, то показывает в панели чеков это значение. Если подходящей котировки нет, то система использует учетную цену. Если приоритетной является учетная цена, то система использует ее для всех лимитируемых товаров. Для нелимитированых товаров (услуги и пр.) система использует базовую котировку. Подробнее политика ценообразования описана в соответствующем разделе.

    Как привязать чек к агенту (продавцу, официанту)

    Система привязки чека к агенту построена на использовании специализированных штрихкодов. Каждый агент должен иметь карточку со штрихкодом, соответствующем ему. При сканировании этой карточки система привязывает чек к соответствующему агенту. В информационном поле средней части панели чеков высвечивается имя агента, к которому привязан чек.Если в опциях кассового узла установлен флаг ✓Запрет операций без выбора агента, то при попытке выбрать товар или провести чек система выдаст сообщение об ошибке, сопровождаемое звуковым сигналом.

    Специализированный штрихкод карточки агента должен иметь следующий формат: SAL99999 Здесь SAL - зарезервированный системой префикс, а 99999 - код поискового регистра агента. Количество символов в коде регистра не существенно. Штрихкод должен быть в кодировке CODE39. Все агенты должны принадлежать таблице статей, привязанной к зарезервированному виду персоналий Агенты. Тип регистра поискового агента определяется вами и указывается в таблице статьей, к которой относятся записи агентов (поле “Тип регистра для поиска” в диалоге редактирования таблицы аналитических статей). Вы можете переопределить префикс кода агента в конфигурации оборудования (см. стр. link). Для того чтобы система могла вести учет привязки чеков к агентам, в системных параметрах общих настроек должен быть установлен флаг ✓Использовать расширение кассовых чеков.

    Как привязать чек к номеру стола (для ресторанов)

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

    Специализированный штрихкод карточки стола должен иметь следующий формат: TBL999 Здесь TBL - зарезервированный системой префикс, а 999 - числовой номер стола. Количество символов в коде стола не существенно. Штрихкод должен быть в кодировке CODE39. Для того чтобы система могла вести учет привязки чеков к агентам, в системных параметрах общих настроек должен быть установлен флаг ✓Использовать расширение кассовых чеков.

    Как провести чек

    Нажатие <Enter> в пустой строке ввода, когда буфер ввода пуст, а в списке есть хоть одна позиция, приведет к проведению чека. При этом система запросит способ оплаты (наличная или безналичная) и, в случае наличной оплаты, выведет на экран калькулятор для расчета сдачи. Если кассовый узел, с которым связана панель чеков, настроен на работу с фискальным регистратором, то на фискальном регистраторе отпечатается чек. Если чек успешно проведен и отпечатан, то панель чеков сразу после этого готова к вводу нового чека.

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

    Как отложить чек

    Если по каким-либо причинам чек не должен быть проведен немедленно, его можно отложить для последующей обработки. Для того чтобы отложить чек нажмите клавишу <F8> . При этом чек немедленно будет переведен в состояние отложенного и список панели чеков будет готов для ввода нового чека.

    Как выбрать отложенный чек

    Ручной выбор отложенного чека
    При необходимости вернуться к чеку, который был отложен, нажмите клавишу <F8> , когда панель свободна, то есть когда и список строк чека и буфер ввода пусты. При этом на экране появится диалог, в котором отобразятся все отложенные чеки для кассового узла, к которому относится текущая панель чеков. При выборе одного из этих чеков, он немедленно отобразится в кассовой панели как текущий.Если непосредственно перед выбором отложенного чека, вы введете в панель код агента и (или) номер стола, то список выбора отложенных чеков будет ограничен только выбранным агентом и (или) столом. Эта опция позволяет уменьшить трудозатраты на выбор требуемого отложенного чека.
    Выбор отложенного чека по специальному штрихкоду
    Если образ чека, который был отложен, печатался на принтере со специальным штрихкодом, то можно быстро восстановить этот чек, просканировав такой штрихкод сканером.

    Для кодирования чеков применяется специальное правило: первые два символа кода: CA, далее следует 4-значный идентификатор кассового узла и, затем, 6-значный номер чека. Для печать этого штрихкода следует применять кодировку CODE39. В структуре DL600 CCheckDetail поле с кодом называется OrderCode, а его версия для печать штрихкода на принтере POrderCode.

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

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

    Как разделить отложенный чек на два

    В некоторых случаях возникает необходимость разбивки одного большого чека на несколько меньших. Чаще всего это случается если несколько клиентов заказывали одновременно, а расчет просят предоставить раздельно.Вы можете разделить отложенный чек на два с помощью кнопки [Разделить] в диалоге выбора отложенного чека. При нажатии на эту кнопку появляется диалог, состоящий и горизонтально разделенных двух частей: в верхней части расположены строки выбранного отложенного чека, а в нижней - строки нового чека. Вам следует перенести требуемые позиции из верхней части в нижнюю (при переносе система запрашивает количество товар, который должен из одного чека перейти в другой).

    Как ввести чек возврата

    Система предоставляет два режима ввода возврата покупки:
  • Привязанный возврат
  • Не привязанный возврат
  • В первом случае, вы принимаете от покупателя товар в соответствии с чеком продажи, который он вам предоставил. Во втором случае, ввод возвращаемых позиций свободный. Естественно, первый вариант предпочтительней, хотя бы по тому, что система при этом “вспомнит” цены, по которым была осуществлена продажа. Ко второму варианту приходится прибегать в том случае, если покупатель не может предоставить вам чек, но при этом вы готовы принять его товар обратно. В любом случае, для ввода чека возврата нажмите в панели чеков <Ctrl-F5> . При этом на экране появится диалог, в котором следует ввести номер чека и дату продажи, по которой делается возврат, после этого нажмите <Enter> . В списке отобразятся все чеки (обычно один единственный), имеющие эту дату и номер. Выберите чек. Сразу после выбора чека на экране появится диалог, в котором отображены позиции чека продажи. Выберите те из них, которые покупатель хочет вернуть. Проведите сформированный чек возврата. Если вы хотите сделать не привязанный возврат, то когда появится диалог выбора чека продажи, нажмите <Esc> или кнопку [Отмена]. После этого вы можете свободно выбирать любые товарные позиции для возврата.

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

    Как ввести дисконтную карту

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

    Внесение денег на корпоративную кредитную карту

    Для того, чтобы оператор мог через кассовую панель внести деньги на кредитную карту клиента необходимо создать специальный нелимитированный (он должен принадлежать товарному типу с признаком ✓Нелимитированный ресурс) товар и сослаться на него в конфигурации дисконтных карт (см. стр. link). Мы настоятельно рекомендуем присвоить ему какой-либо штрихкод для того, чтобы оператор мог быстро выбрать его с помощью сканера при обслуживании клиента.

    Порядок внесения следующий:
    1. Нажмите <F3> и введите номер карты.
    2. Просканируйте штрихкод товара внесения средств на карту.
    3. Введите сумму и символ '*' (сумма внесения вводится как количество виртуального товара).
    4. Проведите строку и чек.
    Не следует в чек внесения денег добавлять обычные товары: он должен содержать только одну строку с указанным специальным товаром.

    Возврат денег с корпоративной кредитной карты

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

    Как предоставить скидку на весь чек

    В кассовой панели, начиная с релиза Papyrus 11.0.9, вы можете предоставить произвольную скидку на весь чек. Скидка может быть установлена как в процентном значении, так и в суммовом выражении.Для того чтобы установить процентную скидку на весь чек введите в поле ввода значение скидки и символ % после него, после этого нажмите <Ctrl-F4> . Например: 10% и <Ctrl-F4> : на чек будет установлена скидка 10%.Вместо символа % можно использовать слэш (/).Суммовая скидка предоставляется аналогично, только надо ввести просто сумму и нажать <Ctrl-F4> . Например: 100 и <Ctrl-F4> распределит 100 рублей на все позиции чека.Если кроме ручной скидки к чеку привязана дисконтная карта со скидкой, то скидка ручная скидка применяется после скидки по карте.Право использование ручной скидки на весь чек регламентируется флагом ✓Произвольная скидка на весь чек в правах доступа по объекту Кассовая сессия. Подробно права доступа описаны на стр. link.

    Как предоставить скидку на отдельную позицию чека

    Ручное назначение скидки на отдельную позицию чека является нежелательной операцией с точки зрения защиты от недобросовестных сотрудников предприятия.Тем не менее, если необходимо предоставить сотрудникам возможность назначения скидки на позицию чека, следует установить для пользователя флаг ✓Разрешать скидку на строку в правах по объекту Кассовая сессия.Скидка можно предоставить только на позицию, находящуюся в буфере ввода кассовой панели. Для этого нажмите клавишу <F3> (ввод дисконтной карты) и вместо номера карты наберите в строке ввода значение процента скидки и символ % либо / после этого значения.Например:

    <F3>  → 5%

    Скидка на строку в буфере 5%.

    <F3>  → 3.5/

    Скидка на строку в буфере 3.5%.

    <F3>  → 2000100000717

    Дисконтная карта с номером 2000100000717.
    Важная особенность учета такой скидки состоит в том, что она сразу же включается в цену. То есть, если строка попадет из буфера в список строк чека, то величина предоставленной скидки не будет отражаться в колонке “Скидка”, но цена будет уменьшена на величину скидки.Если на чек будет назначена общая скидка по дисконтной карте, то для рассматриваемой строки общая скидка будет применена уже на цену, включающую ручную скидку (таким образом, вы должны учитывать возможность “двойной” скидки).Для отмены или изменения ручной скидки следует сбросить содержимое буфера ввода и выбрать товар снова.

    Как ввести примечание к чеку и (или) параметры доставки

    Примечание и параметры доставкиПри необходимости можно ввести примечание к чеку. Кроме того, система позволяет определить кассовый чек как требующий доставки и ввести дополнительные данные о доставке чеке.Для вызова диалога ввода примечания и параметров доставки следует дважды щелкнуть мышью в поле ввода кассовой панели, либо нажать <F10> . В результате на экране появится диалог, изображенный на рис. link.Этот диалог содержит следующие управляющие элементы:
    Примечание
    Текстовое поле, в котором можно ввести произвольный текст длиной до 255 символов.

    ✓Доставка

    Если этот флаг включен, то чек получает признак “Доставка” и описанные ниже поля становятся доступными для изменения.

    ▼Город

    Комбо-бокс, в котором можно выбрать город доставки. Так как обычно доставка осуществляется в пределах населенного пункта, в котором находится ваше предприятие, то по умолчанию здесь устанавливается город, указанный в адресе главной организации.
    ИД
    Справочное поле, отражающее идентификатор адреса.
    Адрес
    Поле, в котором следует ввести адрес, по которому должны быть осуществлена доставка товаров.
    Телефон
    Здесь можно ввести номер контактного телефона заказчика.
    Дата
    Дата доставки.
    Время
    Планируемое время доставки.
    Если, до включения флага ✓Доставка поля адреса и телефона были пусты и в чеке установлена карта, связанная с конкретной персоналией, то система пытается извлечь адрес и телефон из данных об этой персоналии. Если эта попытка оказалась успешной, то соответствующие данные окажутся в полях диалога автоматически.

    Как отпечатать чек на офисном принтере

    Для того чтобы отпечатать текущий чек на обычном офисном принтере, нажмите <Alt-F7> . При этом будет вызвана обычная процедура печати. Если список товарных позиций панели пуст, то эта команда отпечатает последний проведенный чек.
    Раздельная печать чека на несколько принтеров
    Для ресторанного бизнеса бывает важно разделить печать чека на несколько частей и отправить каждую часть на строго определенный принтер. Это связано с необходимостью информировать различные подразделения предприятия о необходимости приготовления того или иного блюда. В случае, если на вашем предприятии система настроена на раздельную печать, то при вызове команды печати чека вы увидите диалог выбора способа печати: на локальные принтеры или на принтер по умолчанию. Печать на локальные принтеры осуществит вывод строк чека на соответствующие принтеры, печать на принтер по умолчанию выведет чек обычным образом.

    Раздельная печать чека требует аккуратной настройки. Прежде всего, каждое подразделение, на которое отправляется своя часть чека, должно быть ассоциировано с каким-либо складом в базе данных. Например, если на вашем предприятии две кухни и один бар, то в базе данных должны быть заведены три склада, соответствующих этим подразделениям. Далее, система должна “знать”, какая товарная позиция к какому подразделению относится. Для определения этих соответствий необходимо воспользоваться справочником ассоциаций товар-склад (меню Справочники→ Товары→ Ассоциации товар-склад). Наконец, необходимо настроить так называемые локальные принтеры (меню Справочники→ Оборудование→ Локальные принтеры). Для каждого подразделения вы должны создать запись локального принтера, в которой указать наименование принтера, склад, с которым он связан и системный сетевой путь к принтеру. После того, как все это сделано, система сможет правильно разделить позиции чеков по подразделениям и, сгруппировав, отправить эти позиции на соответствующие принтеры. Сотрудники этих подразделений, увидев отпечатанные списки блюд, которые им необходимо приготовить, смогут сделать это.

    Специальные коды в кассовой панели

    Строка ввода кассовой панели специальным образом обрабатывает некоторые коды, вводимые с клавиатуры или со сканера штрихкодов. Большая часть этих кодов определяются префиксом, а следующая за префиксом часть распознается как уточняющая часть кода. Некоторые коды мы уже обсуждали выше. Здесь мы приведем сводку специальных кодов и их значение. После обозначения кода следует пометка, является ли этот код, собственно полным кодом (Код) или префиксом (Префикс).
    TBL
    Префикс. Выбор стола. Сразу за префиксом должен следовать номер стола.
    SAL
    Префикс. Выбор официанта (агента по чеку). За префиксом должен следовать номер регистра персоналии, заданный в таблице статей Агенты как поисковый. Данный префикс может быть переопределен конфигурацией (см. стр. link).
    SUS00
    Код. Отложить чек.
    SUS01
    Код. Выбрать отложенный чек.
    DIV
    Префикс. Выбор номера отдела. За префиксом должен следовать номер отдела.
    TSN
    Префикс. Выбор технологической сессии для конвертации в чек. За префиксом должен следовать ид технологической сессии. Этот префикс предназначен для внутреннего использования. Вместе с тем, ни что не мешает применять его для непосредственного ввода из строки команд.
    99999
    Код. Блокировка панели.

    Режим кассовой панели для сенсорных экранов

    Кассовый панель для сенсорного экранаСистема Papyrus предоставляет специализированный режим кассовой панели для использования с сенсорными мониторами. Принципы и методы работы этого варианта аналогичны описанным для обыкновенной кассовой панели. Различия заключаются лишь в деталях, а именно:
  • Список подбора товаров и групп находится непосредственно в окне панели слева.
  • Дополнительно введен режим выбора товара из альтернативной группы наиболее популярных позиций (кнопка выбора группы с символом “масть червей”).
  • Все кнопки и большинство вспомогательных диалогов имеют увеличенный размер для того, чтобы удобнее было выбирать команды и опции пальцем на экране.
  • Настройка кассовой панели для сенсорных экранов

    Для использования этого режима кассовой панели в первую очередь необходимо создать запись для сенсорного экрана в справочнике. Для этого обратитесь к пункту меню Справочники→ Оборудование→ TouchScreen.

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

    Диалог редактирования записи TouchScreenДиалог редактирования записи о сенсорном мониторе показан на рис. link. Перечислим управляющие элементы этого диалога:
    Наименование
    Уникальная среди всех записей данного объекта данных строка наименования записи.
    ИД
    Идентификатор записи.

    ▼Тип экрана

    Тип монитора.

    ▼Группа по умолчанию

    Альтернативная товарная группа, содержащая наиболее популярные продаваемые позиции. Если этот комбо-бокс оставить пустым, то функция выбора из такой группы будет не доступна.

    [Выбор групп товаров]

    По этой кнопке открывается диалог выбора товарных групп, которые будут доступны при подборе товара в диалоге кассовой панели.

    [Выбор шрифта товаров]

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

    ✓Печать подкладного документа

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

    ✓Текст на кнопках

    Этот флаг предписывает системе показывать подписи к кнопкам в кассовой панели.
    После того, как запись сформирована можно связать с нею запись кассового узла во вкладке по кнопке [Доп. устройства] (см. стр. link). С этого момента кассовая панель для этого узла будет работать в варианте сенсорного монитора.

    Автоматическое начисление подарков покупателям

    В маркетинговых целях многие предприятия розничной торговли организуют акции, заключающиеся в выдаче подарков покупателям, если те приобретут определенный набор товаров.Система Papyrus позволяет автоматизировать некоторые формы такого поощрения покупателей при использовании синхронных кассовых узлов.Здесь существуют следующие возможности:
  • Автоматическое добавление к кассовому чеку подарочных товаров с нулевой ценой.
  • Фиксированная скидка с суммы чека, при наступлении условий предоставления подарка.
  • Применение специальной цены на товары, составляющие подарочную комбинацию, при помощи подарочной котировки.
  • Оба варианта реализуются при помощи так называемых подарочных товарных структур. То есть, товар, являющийся подарком должен содержать структуру, имеющую признак ✓Подарок (стр. link).Обратите внимание: владельцем подарочной структуру является товар-подарок, а номенклатурные позиции, покупка которых служит условием для предоставления поощрения - компоненты этой структуры.Следующее важное замечание: компоненты подарочной структуры могут быть обобщенными товарами, но сам подарок - нет (иначе система просто не будет знать какой именно товар из обобщения выдавать в качестве подарка).

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

    любого из

    шампуней (все они должны входить в обобщение) один флакон

    конкретного

    ополаскивателя для волос.

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

    За покупку десяти тетрадей и двух ручек вы дарите покупателю один карандаш. В этом случае, если покупатель купил 20 тетрадь и 2 ручки, система предоставит ему в подарок два карандаша.

    Начисление подарка в виде скидки на чек

    Если вы хотите, чтобы в качестве поощрения покупатель, за купленный им набор товаров, получил бы не товар, а дополнительную скидку на чек, то следует поступить следующим образом: для комбинации товаров, за покупку которой дается скидка, создать специальный нелимитированный товар, к которому и привязать подарочную структуру аналогично тому, как это было сделано для подарка-товара.Самым важным здесь является необходимость определить для этого товара специализированную котировку, принадлежащую зарезервированному виду Подарочная скидка.Если этот вид котировки отсутствует в вашей базе данных, то его можно создать автоматически, обратившись к функции Разное→ Создание зарезервированных объектов (этот пункт есть в системном меню, которое можно увидеть, войдя в базу данных под именем SYSTEM и с паролем пользователя MASTER.Этот вид котировки будет создан со следующими атрибутами:
    Наименование
    Подарочная скидка
    Символ
    GIFT
    ИД
    2
    Значение котировки должно быть задано в абсолютном выражении, то есть подарочная скидка может быть определена только точной суммой.Подведем краткое резюме правилам определения подарочной скидки:
  • Товар, для которого определена подарочная структура с суммовой скидкой, должен быть нелимитированным.
  • Для этого товара должна быть определена котировка вида Подарочная скидка.
  • Значение подарочной скидки должно быть задано абсолютным значение, но не процентной величиной.
  • Кроме всего вышесказанного, подарочная скидка имеет особенности в плане распределения величины скидки по строкам чека. В общем случае, при проведении чека эта скидка пропорционально распределяется по строкам, содержащим товары, входящим в подарочную комбинацию.Если один из компонентов товаров подарочной структуры содержит признак “Основной компонент структуры”, то скидка будет распределена только по строкам, содержащим товары, соответствующие этому компоненту.

    Начисление подарка специальных цен

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

    Настройка кассового узла для использования подарочных структур

    Для того, чтобы кассовый узел мог обрабатывать подарочные структуры необходимо в записи этого узла установить флаг ✓Проверять на выдачу подарков (см. стр. link).

    Учет суммовых подарков при списании сессии

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

    Использование в кассовой панели

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

    Специальные операции в кассовой панели

    В режиме кассовой панели кассиру доступен (при наличии прав доступа) специальный диалог, позволяющий вызвать одну из следующих функций:
  • Снятие X-отчета
  • Закрытие текущей кассовой сессии
  • Печать копии Z-отчета
  • Инкассация
  • Блокировка кассовой машины
  • Снятие блокировки кассовой машины
  • Печать копии чека
  • Для вызова этих функций используется либо комбинация клавиш <Ctrl-F9> либо отдельная кнопка с иконкой, показанной на картинке .

    Работа с кассовыми машинами с асинхронным интерфейсом

    Укрупнено процесс работы с асинхронной кассовой сессией состоит из следующих шагов:
    1. Начальная загрузка данных в кассовые машины, объединенные кассовым узлом (открытие сессии)
    2. Обновление данных на кассовых машинах, по мере поступления нового товара и изменения данных по товарам (например, цен)
    3. После снятия суточных (Z) отчетов на кассовых машинах, закрытие сессии, в результате которого информация о продажах будет занесена в базу данных системы Papyrus .
    4. Сравнение результатов закрытия сессии с данными кассовых отчетов и, в случае обнаружения расхождений, выявление причин и устранение возникших проблем.
    5. Частичное или полное устранение излишков по кассовым сессиям.

    Полная загрузка кассового узла

    Для полной загрузки кассовых машин, привязанных к кассовому узлу, следует выбрать пункт меню Оборудование→ Кассовый узел. Если ваша система настроена на работу с более чем одним кассовым узлом, то система запросит выбор одного из них. Далее, на экране появится командная панель для работы с кассовым узлом. На этой панели следует нажать кнопку [Открыть сессию]. После чего система начнет процесс формирования данных для загрузки кассовых машин. Если используемый вашим предприятием тип кассовых машин и программных модулей, управляющих ими, не позволяет автоматически загрузить сформированные данные, то может понадобиться на каждой машине инициировать процесс загрузки.

    Обновление данных на кассовых машинах

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

    Закрытие сессии

    Для закрытия последних сессий существуют три альтернативных метода:
    1. Из таблицы кассовых сессий
    2. Из панели управления кассовым узлом
    3. Из командной строки
    Опишем подробно каждый из методов

    Закрытие кассовых сессий из таблицы кассовых сессий

    Выберите пункт меню Оборудование→ Кассовые сессии В фильтре кассовых сессий выберите кассовый узел и период, включающий последние дни (если база данных вашего предприятия включает не очень много кассовых сессий, то можно период оставить пустым). Флажок ✓Только суперсессии должен быть включен. Нажмите [ОК]. В появившейся на экране таблице нажмите клавишу <F8> или пиктограмму, показанную слева. Процесс закрытия сессий может занять несколько минут, после чего в таблице появятся вновь сформированные сессии. Подробно работа с таблицей кассовых сессий описана в соответствующем разделе.

    Закрытие кассовых сессий из панели управления кассовым узлом

    Выберите пункт меню Оборудование→ Кассовый узел. Выбрав, если необходимо, кассовый узел, в панели управления кассовым узлом нажмите кнопку [Закрыть сессию].

    Закрытие кассовых сессий из командной строки

    Этот способ удобен для автоматического закрытия кассовых сессий без дальнейшего наблюдения за результатами закрытия. Для реализации этого метода следует ввести из командной строки либо задать в batch-файле следующую командную строку: ppw.exe [user_name] [/db:database_name] /imp:cash_node_name [/batch]Здесь:
    user_name
    Необязательный параметр, обозначающий имя пользователя, под которым следует входить в систему.
    /db:database_name
    Необязательный параметр - имя базы данных, в которую следует войти для закрытия сессии.
    /imp:cash_node_name
    Ключевой в данном контексте параметр, предписывающий системе закрыть кассовые сессии на кассовом узле с именем cash_node_name.
    /batch
    Необязательный параметр, предписывающий системе завершить работу по окончании закрытия сессий.

    Таблица кассовых сессий

    Таблица кассовых сессий является развитым инструментом оперирования результатами работы кассовых машин. Как и большинство таблиц в системе Papyrus , таблица кассовых сессий предваряется фильтром выбора условий просмотра.Для входа в таблицу необходимо выбрать пункт меню Оборудование→ Кассовые сессии.

    Фильтр просмотра кассовых сессий

    Фильтр по кассовым сессиямВнешний вид фильтра кассовых сессий показан на рис. link. Следующая таблица перечисляет поля
    Период
    Период, в который должны попадать, показываемые в таблице сессии.
    Кассовый узел
    Кассовый узел, к которому должны относиться показываемые сессии. Кнопка [Список] справа от поля, позволяет выбрать список кассовых узлов, по которым необходимо увидеть сессии.
    Номер кассы
    Логический номер кассовой машины, сессии по которой вы хотите увидеть в таблице. Если здесь стоить 0, то будут показаны сессии, относящиеся ко всем кассовым машинам, и удовлетворяющие остальным условиям фильтра.

    ✓Расширенная ведомость

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

    ✓Только суперсессии

    Этот признак (установленный по умолчанию) предписывает системе показывать только так называемые суперсессии, то есть сессии, объединяющие сессии со всех кассовых машин, относящихся к выбранному кассовому узлу и закрытые в течение одних суток.

    Сортировка

    В этом блоке радио-кнопок можно выбрать желаемый вариант сортировки. Вариант ○По умолчанию предполагает, что сессии будут сортироваться в порядке определенном системой (исходя из компромисса между удобством пользователей и производительностью).

    Таблица просмотра кассовых сессий

    Показанная на рис. link таблица (не расширенная) содержит следующие колонки:
    ИД
    Идентификатор сессии.
    Дата
    Дата закрытия сессии. Для суперсессии - это дата закрытия последней из содержащихся в ней сессий.
    Номер смены
    Для обычных сессий - номер Z-отчета, снятого с кассовой машины, для суперсессии (если она одновременно не соответствует лишь одной кассовой машине) - номер по внутреннему реестру.
    Кассовый узел
    Наименование кассового узла, которому принадлежит сессия.
    Номер кассы
    Номер кассового аппарата, с которым связана сессия. Для синхронных сессий этот номер равен идентификатору кассового узла. Для асинхронных сессий - это номер кассового аппарата, импортируемый вместе с чеком из кассового модуля.
    Завершенность
    Специальное поле, указывающее на уровень завершенности в обработке сессии. Правильно закрытая сессия имеет это значение равным нулю. Если уровень завершенности не нулевой, то следует обратиться к сопровождению за консультациями.
    Сумма чеков
    Общая сумма чеков, пробитых кассовой машиной (или кассовыми машинами для суперсессии). Эта сумма должна соответствовать данным кассового журнала и Z-отчетам, снятым с кассовых машин.
    В том числе
    Группа колонок отображающая значения различных видов оплат, включенных в общую сумму чеков.
    Безналичн оплата
    Сумма чеков, оплаченных безналично.
    Корп кредитные карты
    Сумма чеков, оплаченных корпоративными кредитными картами.
    Скидка
    Сумма скидок по чекам предоставленных покупателям на кассовых машинах. Обращаем внимание на то, что сумма скидки включена в значение суммы чеков.
    Списанная сумма
    Сумма документов розничной продажи, сформированных по результатам кассовой сессии. Эта сумма может присутствовать только у суперсессий, поскольку только по ним система осуществляет списание. Списанная сумма, как правило, меньше суммы чеков на сумму излишков.
    Сумма дефицита
    Сумма чековых позиций, которые не удалось списать из-за того, что учетный остаток в системе соответствующих товаров недостаточен для такой операции. Ежедневная работа оператора обязательно должна включать анализ и устранение причин возникновения дефицита по кассовым сессиям, а также меры по устранению самого дефицита.

    Операции в таблице кассовых сессий

    Таблица кассовых сессий предоставляет возможность осуществления ряда важных операций по анализу и управлению данными. Приведем список этих операций:
    Деталировка
    <Enter> Операция деталировки выбранной сессии. Для суперсессии будет показан список сессий по отдельным кассовым машинам, относящихся к этой суперсессии. Для обычной сессии система высветит список чеков, относящихся к ней.
    Создать новую сессию
    <Insert>
    Удалить сессию
    <Delete> Для суперсессии система предложит на выбор либо удаление результатов списания, либо полное удаление сессии.Если кассовая сессия является синхронной и текущей для кассового узла, которому принадлежит, то вы не сможете ее удалить.Право на удаление сессий регламентируется флагом ✓Удаление в правах доступа по объекту “Кассовые сессии”.
    Дефицит по сессии
    <F3> Просмотр дефицита по суперсессии. Предварительно система предложит выбрать, хотите ли вы увидеть дефицит по выбранной сессии или по всей выборке сессий.
    Товарный отчет по списанию
    <F4> Этот отчет позволяет увидеть список товаров, попавших в документы списания сессии с проданным количеством, ценами, суммами и доходностью. Как и в случае с просмотром излишков, система предварительно запросит, показывать ли отчет по выбранной сессии либо по всей совокупности сессий, удовлетворяющих условиям фильтра выборки.
    Налоговый отчет по списанию
    <Shift-F4> Эта функция позволяет получить налоговый отчет по документам списания сессии или выборки сессий. Непосредственно перед расчетом система запрашивает дополнительные критерии отчета.Наибольшее значение эта функция приобретает в том случае, если вам необходимо рассчитывать такой отчет для магазина, работающего круглосуточно. В этом случае очень трудно подобрать период расчета в независимом от кассовых сессий налоговом анализе товарооборота, с тем, чтобы суммы по нему согласовывались с суммами Z-отчетов по кассовым аппаратам.
    Чеки по всей выборке сессий
    <Alt-F4> Открывает таблицу анализа чеков, отображающую чеки, привязанные ко всем сессиям выборки.
    Документы списания
    <F5> Показывает таблицу документов списания выбранной суперсессии. Эта функция может быть полезна для уточнения результатов списания.
    Документы покрытия дефицита
    <Shift-F5> Вызывает таблицу просмотра документов покрытия дефицита списания по выбранной сессии.
    Документы списания по всей выборке
    <Ctrl-F5> Показывает таблицу документов списания по всем сессиям выборки.
    Завершить сессию
    <Ctrl-F8> Завершает закрытие выбранной суперсессии. Такая операция необходима в случае завершения списания неудачно закрытых сессий, либо при дополнительном списании с учетом закрытия позиций излишков.
    Списание драфт-документов дефицита по сессии
    <Shift-F8> Функция вызывает процедуру списания драфт-документов покрытия дефицита по сессии.
    Передать сессию
    <Ctrl-H> Передача сессии в другой раздел.Обратите внимание, что для кассовых сессий в отличие от большинства других таблиц, этой операцией передается только текущая сессия, а не вся выборка. Это связано, в первую очередь, с тем, что кассовые сессии вместе со связанными с ними чеками занимают довольно большой объем, а потому передача выборки сессий займет очень много времени и потребует большого дискового пространства.
    Создать драфт-документ
    <Ctrl-C> Создание драфт-документа по сессии или по выборке сессий. Специализированная функция, позволяющая на основе сессии по заранее заданному правилу сформировать драфт-документ, который может быть использован для формирования каких-либо учетных данных.Правила создания таких драфт-документов определяются в пункте меню Админ→ Прочие конфигурации→ Правила создания драфт-документов по кассовым сессиям.
    Печать
    <F7> Печать списка сессий.Стандартная форма отчета:
    CSessView
    Для обычной таблицы сессий
    CSessViewExt
    Для расширенной таблицы сессий
    Закрыть последнюю сессию
    <F8> Завершение последних кассовых сессий
    Печать чека на POS-принтер
    <Ctrl-Z>
    Итог по выборке
    <F9> Просмотр итоговых сумм по всей выборке сессий
    Фильтр
    <Ctrl-V> Позволяет изменить условия фильтрации текущей таблицы.
    Системная информация о сессии
    <Ctrl-F3> Просмотр и корректировка системной информации по выбранной кассовой сессии. При выборе этой операции на экране появляется диалог, в котором можно увидеть системные атрибуты кассовой сессии. Кроме того, некоторые из атрибутов сессии можно изменить. Будьте крайне осторожны с модификацией атрибутов кассовых сессий: все атрибуты устанавливаются автоматически и система очень чувствительна к их значениям.Право доступа к этой операции регламентируется флагом ✓Системная информация по сессии в правах доступа по объекту “Кассовые сессии”.
    Отвязать сессию от суперсессии
    <Ctrl-D> Корректирующая функция. В редких случаях встречается ситуация, когда суперсессия содержит в себе сессию, обработанную как суперсессия. В этом случае получается так, что документы списания сформированы и по внутренней сессии и по внешней суперсессии, что является очевидной ошибкой. Для извлечения внутренней сессии из внешней, на внутренней сессии следует нажать <Ctrl-D> . При этом внутренняя сессия потеряет ссылку на родительскую суперсессию, после чего обе сессии следует пересписать.Право доступа к этой операции регламентируется флагом ✓Корректировка сессий в правах доступа по объекту “Кассовые сессии”.
    Пересчитать сессию
    <Ctrl-R> Корректирующая функция. См ниже.Право доступа к этой операции регламентируется флагом ✓Корректировка сессий в правах доступа по объекту “Кассовые сессии”. Причем, отсутствие этого флага не запрещает пользователю провести проверку выборки кассовых сессий, так как эта проверка не модифицирует сессии, а только лишь информирует о существующих проблемах.При выборе корректировки кассовых сессий на экране появляется диалог выбора корректирующей операции. Этот диалог содержит блок переключателей, значение которых определяется следующим перечнем:
    Пересчитать выбранную сессию
    Эта функция пересчитывает суммы по сессии. В штатном режиме все суммы по сессиям строго соответствуют внутреннему содержанию этих сессий, то есть, сумма по чекам равна сумме чеков, находящихся в сессии, сумма списания равна сумме документов списания и т.д. Однако, в исключительных ситуациях может получиться так, что какие-то суммы не совпадают с теми суммами, которые они агрегируют. В этом случае функция пересчета приведет значения агрегирующих сумм по выбранной сессии в соответствие с содержанием сессии.
    Пересписать выбранную сессию до 5-го уровня
    Эта функция объединяет раздельные операции по откату списания сессии и повторному ее списанию. Эту функцию следует использовать с осторожностью.
    Пересписать выбранную сессию до 10-го уровня
    Эта функция объединяет раздельные операции по откату списания сессии до 10-го уровня завершенности (удаляется группировка по чекам) и повторному списанию этой сессии. Значительным преимуществом этой функции по сравнению с раздельным исполнением является то, что она сохраняет результаты подстановки альтернативных товаров в дефиците по сессии. Эту функцию следует использовать с осторожностью.
    Проверить всю выборку
    Эта функция проверяет соответствие агрегирующих сумм по всем сессиям выборки с содержанием каждой сессии, а также обнаруживает ошибочную вложенность суперсессий. Эта операция не осуществляет никаких действий над проверяемыми сессиями, по этому, совершенно безопасна.
    Перепровести бухгалтерские документы по всей выборке
    Реализует пересчет и, если отсутствуют, формирование бухгалтерских документов списания для всей выборки сессий. Товарные документы списания при этом не затрагиваются.
    Корректирующая передача в другой раздел
    Специальная опция, позволяющая передать всю выборку кассовых сессий в другой раздел со специальным признаком корректировки, который заставит раздел-приемник проверить и скорректировать существующие синхронизированные сессии в соответствии с теми данными, которые ему будут переданы этой отсылкой.

    Дефицит по кассовым сессиям

    Так как система не допускает отрицательных товарных остатков по учетным операциям, при списании кассовой сессии товары, которых не достаточно для формирования расходных или возвратных документов, формируют дефицит по этой кассовой сессии.Хорошей практикой можно считать регулярную работу по выявлению и устранению причин возникновения такого дефицита. Основные его причины следующие:
    Пересортица при приеме товаров от поставщиков
    Например, от поставщика пришло две номенклатурные единицы (с разными штрихкодами) по 20 штук каждой, а в приходный документ занесли одну номенклатурную единицу в количестве 40 штук. В этом случае тот товар, который не попал в документ прихода будет продаваться в торговом зале, но не будет списан из-за того, что его нет на остатке (при этом, тот товар который был введен в документ, будет не оправданно значится на остатке).
    Ошибки в маркировке товаров
    При ручной маркировке, либо при маркировке посредством электронных весов, неверная идентификация маркируемого товара может также привести к возникновению дефицита.
    Ошибки при ручном формирование товарных документов
    Так как обычно часть движения товаров учитывается ручным вводом документов (например, межскладские перемещения, возвраты поставщикам и т.д.), то ошибки идентификации товаров при вводе таких документов также могут привести к возникновению дефицита по кассовым сессиям.

    Таблица дефицита по кассовым сессиям

    Таблица дефицита по кассовой сессииПримерный вид таблицы показан на рис. link. Она содержит следующие столбцы:
    Знак
    Эта колонка содержит либо 1 для продажи, либо -1 - для возвратов.
    Товар
    Наименование дефицитного товара.
    Продано
    Количество торговых единиц дефицитного товара, которое было продано (возвращено) через кассу в течении сессии (выборки сессий).
    Дефицит
    Количество торговых единиц товара, которое не удалось списать из-за того, что товара нет на учетном остатке по складу, которому принадлежит кассовая сессия.
    Цена
    Средняя цена продажи дефицитного товара. Обращаем внимание на то, что эта величина получается расчетным путем как результат деления суммы продажи на количество торговых единиц. То есть, эта цена может отличаться от номинальной цены, которая указана на ценнике в торговом зале, из-за скидок или изменения цен в течении кассовой сессии.
    Сумма
    Общая сумма, на которую дефицитный товар был продан (возвращен).

    Группа колонок “Альтернативный товар”

    Эта группа отображает информацию, связанную с подстановкой вместо дефицитного товара иной номенклатурной позиции, которую система должна списать.
    Альтернативный товар - Наименование
    Наименование альтернативного товара.
    Альтернативный товар - Списано
    Количество альтернативного товара, которое было списано в результате досписания кассовой сессии после подстановки.
    Альтернативный товар - Цена
    Цена альтернативного товара, по которой он был списан после подстановки.
    Альтернативный товар - Сумма
    Сумма досписания альтернативного товара.
    Альтернативный товар - Результат
    Разница между суммой списания альтернативного товара и суммой продажи (возврата) дефицитного товара. Эта величина позволяет оценить потери или прибыль от причин возникновения дефицита. Важно помнить, что данный показатель будет адекватен только в том случае, если подстановка альтернативного товара была правильной. То есть, если альтернативный товар - действительно тот, что был пронесен покупателем через кассу.

    Действия в таблице дефицита по кассовым сессиям

    Таблица дефицита по кассовым сессиям допускает следующие действия:
    Товар
    <F2> Открывает диалог просмотра и редактирования товара, которому соответствует выбранная строка.
    Лоты
    <F3> Открывает таблицу лотов, связанных с товаром, которому соответствует выбранная строка.
    Альтернативный товар
    <F4> Открывает диалог подстановки альтернативного товара вместо дефицитного. Подробно подстановка дефицита описана ниже.
    Добавить в корзину все товар? из отчета
    <Ctrl-F8> Позволяет перенести в выбранную товарную корзину все номенклатурные позиции, представленные в отчете.В корзину попадает дефицитное количество торговых единиц каждого из товаров отчета.
    Печать
    <F7> Отправляет отчет на печать или на экспорт.Стандартной формой отчета, в зависимости от параметров фильтрации, является: Стандартная форма отчета:
  • Если в фильтре выбран флаг ✓С альтернативными товарами, то CSESSEXCALT.
  • В противном случае, CSESSEXC.
  • Итог
    <F9> Открывает диалог с итоговыми значениями отчета.
    Фильтр
    <Ctrl-V> Позволяет изменить условия фильтрации текущего отчета.

    Подстановка дефицита

    Диалог подстановки дефицитного товараСистема позволяет подставить вместо дефицитного товара какой-либо иной и учесть это повторным “досписанием” кассовой сессии.Для подстановки выберите в таблице дефицита по кассовым сессиям строку, для которой хотите осуществить подстановку и вызовите команду “Альтернативный товар” (<F4> ).Откроется диалог, показанный на рис. link.Диалог состоит из двух блоков:
    Блок информации о дефицитном товара
    Здесь присутствуют следующие информационные поля:
  • Наименование дефицитного товара.
  • Дата последнего поступления дефицитного товара.
  • Цена поступления (по последнему лоту).
  • Цена реализации (по последнему лоту).
  • Фактическая цена продажи. То есть та цена, которая была получена за товар на кассе с учетом всех скидок.
  • Блок подстановки

    ✓Показывать только те товары, которые сейчас есть на остатке

    Если этот флаг установлен, в списке описанного ниже комбо-бокса ▼Товар будут отображаться только номенклатурные позиции, присутствующие на текущем учетном остатке.

    ▼Товарная группа

    Вспомогательный комбо-бокс, позволяющий выбрать группу для сужения списка товаров, отображаемых в списке комбо-бокса ▼Товар. При открытии диалога для строки дефицита, в которой не определен подстановочный товар, данный комбо-бокс инициализируется той же группой, которой принадлежит дефицитный товар.

    ▼Товар

    Здесь может быть выбран собственно подстановочный товар.
    Дата прихода
    Дата прихода последнего лота выбранного подстановочного товара.
    Цена поступления
    Цена поступления по последнему лоту.
    Цена реализации
    Цена реализации по последнему лоту.

    [Лоты]

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

    Таблица кассовых чеков

    Для просмотра, анализа и печати кассовых чеков используется таблица с соответствующим названием. Для доступа к этой таблице обратитесь к пункту меню Оборудование→ Кассовые чеки.

    Фильтр кассовых чеков

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

    ✓Период начала обслуживания

    Этот флаг влияет на то, как система интерпретирует указанный выше период. Если флаг установлен, то в отчет отбираются только те чеки, чье время начала обслуживания попадает в указанный период. Время начала обслуживания фиксируются для чеков, не имеющий признака ✓Доставка или ✓Заказ стола, и равно времени, когда чек был создан. Таким образом, сколько бы раз чек не откладывали и не восстанавливали из отложенных, время начала обслуживания остается неизменным (в отличии от основного времени чека, которое изменяется каждый раз при сохранении чека в отложенных).

    ▼Кассовый узел

    Выберите здесь кассовый узел, которым следует ограничить список чеков. Обращаем ваше внимание на то, что выбор конкретного кассового узла может несколько замедлить вывод и обработку списка чеков на экран. Справа от комбо-бокса находится кнопка [Список], нажав на которую вы можете выбрать список кассовых узлов, по которому необходимо получить чеки.
    Номер кассы
    В этом поле можно указать номер кассового аппарата, чеки по которому вы хотите видеть.
    Диапазон номеров чеков
    В этом поле можно указать диапазон значений, разделенных двумя точками, в который должны попадать номера показываемых чеков. Например: 1023..1119.

    ▼Группа товаров

    Если вы выберите группу в этом комбо-боксе, то система покажет вам только те чеки, которые содержат товарные позиции, относящиеся к этой группе. С права от комбо-бокса расположена кнопка [Фильтр], позволяющая установить сложный фильтр для выбора товаров, находящихся в анализируемых чеках.

    ▼Товар

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

    ▼Серия карточек

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

    ▼Номер карточки

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

    ▼Агент

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

    ▼Кассир

    Позволяет выбрать персоналию-кассира, который выбивал чеки. Этот комбо-бокс инициализируется только в том случае, если в конфигурации оборудования установлен ▼Вид персоналии - кассиры (см. стр. link).

    ▼Пользователь-инициатор

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

    ✓С неопределенной кассовой сессией

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

    ✓Показывать отложенные

    По умолчанию, система не показывает отложенные чеки, поскольку они никак не участвуют в учете. Если же вы, все-таки, хотите увидеть отложенные чеки, то включите этот флаг.

    ✓Только отложенные

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

    Включение этого флага автоматически включает и ✓Показывать отложенные.

    ✓Только возвратные

    Установка этого флага предписывает системе показывать только чеки возвратов.

    ✓Только JUNK-чеки

    При включенном флаге в выборку чеков войдут только те из них, которые помечены признаком ✓JUNK. Напомним, что речь идет о чеках, которые были извлечены в чековую панель из отложенных, но после этого не были ни проведены, ни отложены вновь. То есть, проще выражаясь, это - отложенные чеки, которые были потеряны из-за сбоя электропитания либо прерывания сеанса по каким-то иным причинам. Вследствие вышесказанного JUNK-чеки - достаточно редкая вещь и использование рассматриваемого флага актуально в исключительных случаях, когда совершенно не понятно куда исчез отложенный чек.

    ✓Только ненапечатанные

    Показывает только те чеки, у которых не установлен признак ✓Отпечатан. Напомним, этот признак устанавливается у всех чеков, которые принадлежат синхронному кассовому узлу и были успешно проведены через фискальный регистратор. Если при печати чека на фискальном регистраторе возникла ошибка, то чек сохраняется в базе данных, но для него не устанавливается флаг ✓Отпечатан. Чеки, относящиеся к кассовому узлу с типом “Эмулятор” всегда имеют этот признак. Чеки, относящиеся к асинхронному кассовому узлу никогда не имеют этого признака.

    ✓Только с признаком 'Подарок'

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

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

    ✓Только чеки заказа стола

    Установка флага предписывает системе отображать только чеки, созданные как записи о заказе столов. При включении этого флага в таблице просмотра чеков (без группировки) отображаются дополнительные колонки:
  • Время начала обслуживания по заказу
  • Предполагаемое время завершения обслуживания по заказу
  • ✓Только чеки с доставкой

    Если флаг установлен, то отображаться будут только те чеки, у которых есть признак “Доставка”. При включении этого флага в таблице просмотра чеков (без группировки) отображаются дополнительные колонки:
  • Время исполнения
  • Телефон
  • Город доставки
  • Адрес доставки
  • Флаги ✓Только чеки заказа стола и ✓Только чеки с доставкой - взаимоисключающие. То есть, при установке одного из них другой отключается.

    ✓Только с доставкой и не исполненные

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

    Установка этого флага автоматически включает установку флага ✓Только чеки с доставкой и отключение ✓Только чеки заказа стола.

    ✓Рассчитывать статистику по строкам

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

    Установка этого флага увеличивает время подготовки отчета.

    ✓Пропускать неучитываемые чеки

    При включенном флаге в выборку не попадают чеки, не учитываемые как завершенная продажа. Пропуск осуществляется по следующему правилу: чек пропускается, если имеет признак ✓Не обрабатывать чек или чек не имеет признака ✓Отпечатан и в кассовом узле, к которому он относится установлен флаг ✓Пропускать не отпечатанные чеки.

    ✓Печать детализации чеков

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

    ✓Без признака специального финиша

    Специализированная опция, позволяющая отобразить только те чеки, у которых не установлен флаг ✓Финишированный чек. Опция может быть использована для включения дополнительной фазы обработки чеков.

    ✓Только с маркированными позициями

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

    Установка этого флага увеличивает время подготовки отчета.

    Параметры группировки
    С помощью группировки чеков вы сможете провести всесторонний анализ продаж по чекам. Варианты группировки описаны ниже.
    Подстановка при группировке
    Дополнительная опция, позволяющая заместить в группировке товар одним из его атрибутов, например, группой. Доступна только для тех вариантов группировки, которые включают в себя товар.
    Дробность группировки
    Определяет дробность группировки сумм чеков или количества товара в строках чеков при использовании группировки по сумме или по количеству, соответственно.

    Сортировать по

    Позволяет выбрать порядок сортировки записей в таблице.

    ○Умолчанию

    ○Количеству чеков

    ○Количеству

    ○Сумме

    Наличные/безналичные

    Вы можете выбрать здесь одно из значений:

    ○Все

    показывать чеки независимо от признака наличной/безналичной оплаты.

    ○Только наличные

    показывать только чеки, оплаченные наличными деньгами.

    ○Только безналичные

    показывать только чеки, оплаченные безналично.

    Альтернативный регистратор

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

    ○Все

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

    ○Только 'ДА'

    показывать только чеки, отпечатанные на альтернативном регистраторе.

    ○Только 'НЕТ'

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

    Группировка кассовых чеков

    Система предоставляет следующие варианты группировка кассовых чеков:
    По часам
    Система сгруппирует все выбранные чеки по каждому часу. Благодаря такой группировке, вы увидите, какие часы работы являются самыми продуктивными, а какие, наоборот, проходят “вхолостую”.
    По дням
    Группировка осуществляется по каждому дню за выбранный период времени.
    По дням недели
    Чеки будут сгруппированы по дням недели.
    По дням недели и часам
    В таблице будет отображена группировка чеков одновременно по двум параметрам: дню недели и часу.
    По аппаратам
    Чеки будут сгруппированы по номерам кассовых аппаратов. Такой отчет дает представление о загруженности каждого из аппаратов в магазине.
    По карточкам
    Система группирует чеки по пластиковым картам (и дисконтным и кредитным).
    По сумме
    Чеки группируются по диапазонам сумм. Градация диапазонов задается в поле “Дробность группировки по сумме”. Если вы укажете дробность группировки, скажем, 500, то чеки будут сгруппированы в группы 0..499.99; 500..999.99; 1000..499.99 и т.д.
    По количеству
    Чеки группируются по диапазонам количества товара одного наименования в чеке. Градация диапазонов задается в поле “Дробность группировки” аналогично тому, как это делается в случае группировке по сумме.
    По товарам
    Чеки группируются по наименованиям товаров, содержащихся в строках чеков.
    По кассирам
    Чеки группируются по кассирам. Если вы используете асинхронные кассовые узлы, то вам необходимо настроить загрузку кассиров в базу данных кассового модуля из системы Papyrus для того, чтобы система могла правильно идентифицировать кассиров, работающих на кассах.
    По агентам
    Чеки будут сгруппированы по агенту, к которому привязан чек. Этот вариант может быть использован только в том случае, если на вашем предприятии применяется такая привязка.
    По количеству строк в чеке
    Чеки группируются по количеству строк. Градация диапазонов здесь не применяется: обычно количество возможных вариантов не превышает сотни.
    По номеру отдела
    Группировка осуществляется по номеру отдела, указанному в строках чеков.
    По количеству гостей
    Чеки группируются по параметру “Количество гостей”, вводимому в расширении чека. Опция может быть интересна для предприятий общественного питания.
    По номеру стола
    Если система используется в ресторанном бизнесе, то опция позволит анализировать чеки в разрезе номеров столов.
    По агентам и часам
    Комбинированная группировка, суммирующая чеки по паре факторов: агент и час.
    По кассовому узлу
    Чеки группируются по кассовому узлу, к которому относятся. Не путайте с номером кассового аппарата: при работе с асинхронными кассовыми узлами один кассовый узел может обслуживать несколько кассовых аппаратов.
    По агентам и товарам
    Еще одна комбинированная группировка, собирающая чеки одновременно по двум атрибутам: агент и товар. Так как один чек содержит (как правило) более одного товара, то данная группировка разбивает чеки. При отображении в таблице количество строк в каждой группе показывается с выравниванием нулями до 4 знаков (например 0003 - чеки с тремя строками). Сделано это для правильной сортировки элементов.
    Для всех группировок, кроме вариантов “По товарам” и “По карточкам” в таблице доступна функция вывода графической гистограммы (исключенные варианты обычно представлены слишком большим количеством элементов, чтобы можно было их уместить на одном графике).

    Цветовое выделение элементов таблицы кассовых чеков

  • Если заказ отменён, то левый верхний угол ячейки с номером чека окрашивается в тёмно-синий цвет, иначе в светло-синий.
  • Если чек является чеком z-отчёта, то левый верхний угол ячейки с номером чека окрашивается в жёлтый цвет.
  • Если отложенный чек загружен в чековую панель, то левый верхний угол ячейки с номером чека окрашивается в коричневый цвет.
  • Если чек является отложенным, то левый верхний угол ячейки с номером чека окрашивается в оранжевый цвет.
  • Если чек является чеком возврата, то левый верхний угол ячейки с номером чека окрашивается в красный цвет.
  • Если чек был отпечатан (пробит на ККМ), то левый верхний угол ячейки с номером чека окрашивается в серый цвет.
  • Если чек, имееющий опцию доставки, является чеком закрытого заказа стола, то левый нижний угол ячейки с номером чека окрашивается в жёлтый цвет, иначе в коралловый .
  • Действия в таблице кассовых чеков

    До того как перечислить функции в таблице кассовых чеков скажем, что часть из этих функций доступна только по сгруппированным чекам, а другая часть - только по не сгруппированным (см. опции фильтра чеков).
    Просмотр чека/Детализация
    <Enter> Эта функция позволяет увидеть товарное содержание чека. При этом редактирование этой информации не возможно. Если отчет получен с группировкой, то эта операция детализирует выбранную сгруппированную строку.
    Добавить чек
    <Insert> Эта функция доступна только в режиме работы с чеками активной кассовой сессии синхронного кассового узла. При выборе этой команды на экране появляется панель ввода чеков, где пользователь может вводить данные о продажах. В остальных случаях эта функция не действует.
    Удалить чек
    <Delete> Удаляет выбранный чек. Эта операция возможна только в том случае, если пользователь имеет право на удаление чеков. Удаление чеков бывает нужно крайне редко, а потому мы настоятельно рекомендуем выставлять запрет пользователям на эту операцию. Кроме того, удаленные чеки по синхронным кассовым узлам восстановить невозможно, в противовес асинхронным кассовым узлам, где чеки, как правило, можно повторно забрать из базы данных кассового модуля (по крайней мере, в течение какого-то времени).
    Создание драфт-документа по чеку
    <F2> С помощью этой функции вы можете создать расходный драфт-документ по одному (текущему) чеку либо по всей выборке чеков. Для того, чтобы эта функция была возможна в конфигурации оборудования должен быть определен вид операции покрытия временных сессий (см. link). Кроме того, система проверяет чтобы этот вид операции относился к типу драфт-расход (в противном случае вызов функции ни к чему не приведет).
    Системная информация о чеке
    <Ctrl-F3> Позволяет просмотреть системную информацию о чеке. Эта функция допускает частичную модификацию этой информации, что бывает нужно очень редко в целях исправления каких-либо нештатных ситуаций.

    Доступ к этой функции регламентируется признаком ✓Специальная информация по чекам в правах доступа по объектам “Кассовые сессии”.

    Корреляция товаров
    <F6> Рассчитывает по-парные количества совместного нахождения товаров в чеках. Перед запуском этой функции система запросит у вас параметры отчета.
    Печать списка чеков
    <F7> Выводит на печать отчет, соответствующий выбранным параметрам фильтрации. Используются следующие стандартные формы отчетов:
    CCheckView
    Если не выбрана группировка чеков. То есть, этот отчет содержит простой список чеков.
    CCheckView_Q
    Список строк чеков, который формируется при выборе в фильтре товара или товарной группы, а также при фильтрации отчета по диапазону суммы, но без группировки.
    CCheckView_G_DT
    При группировке чеков по дате.
    CCheckView_G_Q
    При группировке чеков по количеству.
    CCheckView_G
    При остальных вариантах группировки чеков.

    Корректировка чеков

    <Ctrl-R> Специальная функция, проверяющая рассогласования в чеках. Не смотря на название функции, она в действительности не предпринимает каких-либо шагов для исправления обнаруженных ошибок. Проверка осуществляется по следующим критериям:
  • Соответствие суммы чека суммам строк.
  • Соответствие скидки по чеку скидкам по строкам этого чека.
  • Целостность ссылки на дисконтную карту. То есть, если чек привязан к карте, но такой карты в базе данных не существует, то будет выведено сообщение об ошибке.
  • Итоги
    <F9> Показывает итоговые значения по выборке чеков.
    График
    <Ctrl-N> Эта функция доступна только в таблице просмотра группировки чеков. При ее вызове открывается гистограмма распределения сумм и скидок чеков, сгруппированных по заданным параметрам.

    Язык описания форматов POS-отчетов

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

    Источники данных при печати POS-отчетов

    Источником данных для печати POS-отчетов могут служить:
  • Кассовые чеки
  • Товарные документы
  • Кассовые сессии
  • Естественно, вы должны настраивать формы исходя из предположения, что именно будет выводиться на печать с помощью этой формы.

    Вводный пример

    Для того, чтобы разъяснения по этому языку были понятнее, начнем с простого примера
    
    slip Form1 {
    	title="КОПИЯ ЧЕКА"
    	number="@billno"
    	pagewidth=36
    	pagelength=60
    	paper=regular,journal
    .header
    	"@mainorg"
    	"ПРОДАЖА"
    	"@date-@time-@billno"
    	space="-"
    .detail
    	"@goods"
    	if(@qtty != 1)
    		"@qtty X @price=@itemamt" right
    	else
    		"@price=@itemamt" right
    	endif
    .footer
    	if(@discount > 0)
    		"СКИДКА @pctdis=@discount" right
    	endif
    	space="-"
    	"ИТОГО=@amount" right
    
    В файле определения форматом может содержаться любое количество таких описаний.

    Рамка описания формата

    Описание каждого формата начинается с зарезервированного слова slip, за которым следует наименование формата. Затем должна следовать открывающая фигурная скобка. Завершается описание закрывающей фигурной скобкой.И так, пустое описание формата будет иметь вид:
    
    slip Form1 {
    
    Так как от такого описания мало пользы, то его следует наполнить содержанием.

    Заголовочная зона формата

    Содержание состоит, во-первых, из заголовочной зоны, которая следует с новой строки после открывающей фигурной скобки и представлена набором параметров. Каждый параметр записывается в форме: параметр=значение<перевод каретки> Перечислим эти параметры

    Title
    Заголовок чека, передаваемый специализированному печатающему устройству. Использование этого параметра полностью определяется конкретным печатающим устройством и система больше никак его не применяет.
    Number
    Номер документа. Так же как и параметр title, этот параметр передается специализированному печатающему устройству. Система не пытается самостоятельно выводить это значение на печать.

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

    Paper
    Так как некоторые устройства могут одновременно печатать на несколько источников бумаги, то этот параметр уточняет на какую именно бумагу (ленту) печатать форму. Здесь допустимы следующие варианты:

    regular
    печать на регулярную кассовую ленту
    journal
    печать на контрольную кассовую ленту
    slip
    печать подкладного документа.
    В зависимости от возможностей принтера, некоторые из этих опций могут быть невыполнимыми. В этом случае, система просто не будет выводить соответствующий отчет. Опции regular и journal могут быть совмещены: paper=regular,journal При этом принтер будет выводить форму одновременно и на регулярную и на контрольную ленты. Если этот параметр вовсе опущен, то система считает, что задана опция regular.
    Font
    Определитель шрифта. При выводе отчета на обычный принтер, можно задать набор шрифтов, которые будут использоваться при печати различных строк.

    В заголовочной зоне может быть задано произвольное количество таких определителей. Формат определителя шрифта следующий:

    font-id = “font-name” font-size [page-width] Здесь:

    font-id
    Идентификатор определителя. Это значение используется в описании строк зоны вывода для ссылки на тот или иной определитель шрифта.

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

    font-name
    Наименование гарнитуры шрифта. Это наименование должно быть заключено в кавычки.

    font-size
    Размер шрифта.
    page-width
    Опциональное значение количества символов, которое может быть отпечатано заданным шрифтом. Если это значение не указано, то программа применит для этого шрифта величину, указанную параметром PageWidth, описанным выше.

    font 0 = "courier new" 10 50
    font 1 = "times new roman" 12
    font 2 = "Arial Bold" 12 30

    Зоны вывода

    В описании формы может быть несколько зон вывода данных. Каждая из зон характеризуется принадлежностью к одному из трех видов:

  • header - зона заголовка формы. Она печатается в самом начале и один раз.
  • detail - зона повторяющейся по строкам источника данных информации.
  • paymdetail - зона по элементам оплат кассового чека. Данная зона не применима для иных источников данных кроме кассового чека (для прочих источников она игнорируется).

    Зона введена в версии 8.4.1

  • footer - завершающая зона формы. Печатается один раз в конце отчета.
  • Хотя, синтаксически допустимо в файле описывать более одной зоны одинакового вида, система будет использовать для печати только первую из них.

    Описание зоны состоит из следующей в начале строки точки, непосредственно за которой следует наименование вида зоны (header, detail, footer). Затем должен следовать перевод каретки.Содержание зоны состоит из определения печатаемых строк. Определение может быть одного из трех видов:

  • строка
  • определение пустой строки
  • условный оператор
  • Строка
    Элемент строки содержит собственно строку печати, обрамленную двойными кавычками и, возможно, опции форматирования.

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

    Перенос строки при печати

    Для того, чтобы при печати строка была перенесена на следующую используется специальная грамматическая конструкция: wrap=number, где number - количество символов на одной строке.

    { "@goods" wrap=20

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

    При переносе система пытается разбивать строки по пробелу. То есть, если в приведенном выше примере 21-й символ не является пробелом, то будет найдет первый пробел слева от него и по этому пробелу и произойдет разрыв строки. Если же пробел найден не будет, то строка будет разорвана посреди слова.

    Разбиение строки на левую и правую части

    Если необходимо вывести строку, состоящую из двух частей, таких что, левая часть выравнивается по левому краю ленты, а правая - по правому краю, то следует в описании строки вставить пару символов \t. Эта пара разобьет выводимую строку так как описано выше.По умолчанию, левая и правая части строки будут разделены пробелами. Если требуется использовать иной символ разделения, то укажете его непосредственно после \t, предварив знаком \.

    { "@goods\t@qtty X @price"

    { "@goods\t\.@qtty X @price"}

    При печати строки чеки, по которой продан товар, скажем, 'Бананы, вес' в количестве 3.21кг по цене 30руб. за килограмм получим следующие результаты:{ Бананы, вес            30 x 3.210}

    и{ Бананы, вес........... 30 x 3.210}

    соответственно. }Обратим внимание на то, что, фактически, строка разбивается на две только в том случае, если сумма длин левой и правой частей плюс один символ пробела, меньше, чем ширина бумажной ленты в символах (с учетом определителя шрифта, в котором должна печататься эта строка).

    Определение пустой строки
    Для вывода пустой строки применяется специальный оператор space. Этот оператор может использоваться в конструкции, позволяющей заполнить строку каким-либо символов. Для этого символ следует указать в кавычках вслед за оператором после символа =.

    { space="-"

    Этот оператор выведет строку, состоящую из символов - (тире).

    { space}Этот оператор выведет строку, состоящую из одних пробелов.

    }

    Условный оператор

    Язык описания POS-отчетов допускает использование простых условных операторов if и else. При этом условиями внутри оператора if могут быть операторы сравнения:

    <
    меньше
    <=
    меньше или равно
    >
    больше
    >=
    больше или равно
    =
    равно
    ==
    равно (“синтаксический сахар” - полностью аналогичен оператору =)
    <>
    не равно
    !=
    не равно (“синтаксический сахар” - полностью аналогичен оператору <>)
    
    Примеры условных конструкций:

    if(@itemdispct > 0) if(@isgiftquot > 0) "ПОДАРОЧНАЯ СКИДКА =@ITEMDISPCT%" right else "СКИДКА =@ITEMDISPCT%" right endif endifif(@scard <> ""') "НОМЕР КАРТЫ: @scard"' endif

    Псевдопеременные языка описания POS-отчетов

    Следующая таблица перечисляет все псевдопеременные, которые можно использовать в описаниях POS-отчетов.

    Заметим, что программа при разборе описаний не проверяет допустимость псевдопеременных. Таким образом, если вы введете в строке форматирования скажем такой текст “@ABRACADABRA”, то программа выведет в отчете строку ABRACADABRA.Если система не может исходя из контекста правильно подставить значение псевдопеременной, то она подставляет пустую строку.

    Например, требование напечатать строку “Количество = @QTTY” в итоговой зоне отчета приведет к появлению текста: “Количество =” (разумеется, без кавычек).Дополнительно заметим, что описываемый язык не “умеет” решать формулы. То есть, вы не можете указать “@PRICE * 2” в надежде получить удвоенную цену по строке. Результатом будет что-то вроде этого: “45.00 * 2”.

    @CURDATE
    Контекст: Любой

    Текущая дата.

    @CURTIME
    Контекст: Любой

    Текущее время.

    @MAINORG

    Контекст: Любой Наименование главной организации.

    @DATE
    Контекст: Кассовый чек, документ, кассовая сессия.

    Дата документа (чека, сессии).

    @TIME

    Контекст: Кассовый чек, кассовая сессия. Время кассового чека или сессии.

    @BILLNO
    Контекст: Кассовый чек, документ, кассовая сессия.

    Номер документа (чека, сессии).

    @CLIENT

    Контекст: Документ. Наименование контрагента по документу.

    @CLIENTEXTNAME
    Контекст: Документ.

    Расширенное наименование контрагента по документу. Если персоналия-контрагент не имеет расширенного наименования, то псевдопеременная замещается стандартным наименованием контрагента.

    @AGENT

    Контекст: Кассовый чек, документ. Наименование агента по документу либо кассовому чеку.

    @CASHIER
    Контекст: Кассовый чек, документ, кассовая сессия.

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

    @DIRECTOR
    Контекст: Кассовый чек, документ, кассовая сессия.

    Имя директора текущей главной организации.

    @ACCOUNTANT

    Контекст: Кассовый чек, документ, кассовая сессия. Имя главного бухгалтера текущей главной организации.

    @TABLE
    Контекст: Кассовый чек.

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

    @TABLN

    Контекст: Кассовый чек. Номер стола, к которому привязан кассовый чек. В отличии от @TABLE данная переменная никогда не замещается наименованием стола из справочника.

    Переменная введена в релизе 8.4.1.

    Обратите внимание на написание переменной - буквы E между L и N нет.

    @AMOUNT
    Контекст: Кассовый чек, документ, кассовая сессия.

    Номинальная сумма документа или чека. Для кассовой сессии - сумма выручки по чекам за минусом возвратов (включая и наличный и безналичный расчет). Эта сумма учитывает все скидки, предоставленные покупателю.

    @DISCOUNT

    Контекст: Кассовый чек, документ, кассовая сессия. Сумма скидка по документу или чеку. Для кассовой сессии - общая сумма скидки по всем чекам.

    @AMOUNTWODIS
    Контекст: Кассовый чек, документ, кассовая сессия.

    Сумма документа (чека, сессии) без учета скидок (в предположении, что по документам или чекам скидки не предоставлялись). Величины @AMOUNT, @DISCOUNT и @AMOUNTWODIS связаны выражением: @AMOUNT = @AMOUNTWODIS - @DISCOUNT.

    @FISCALAMOUNT
    Контекст: Кассовый чек.

    Фискальная сумма чека.

    @NONFISCALAMOUNT

    Контекст: Кассовый чек. Нефискальная сумма чека.

    @AMOUNTBONUS
    Контекст: Кассовый чек.

    Сумма использованного бонуса при оплате по кассовому чеку.

    @AMOUNTWOBONUS

    Контекст: Кассовый чек. Номинальная сумма чека за вычетом использованного бонуса.

    Величины @AMOUNT, @AMOUNTBONUS и @AMOUNTWOBONUS связаны выражением: @AMOUNT = @AMOUNTWOBONUS + @AMOUNTBONUS.

    @BRINGAMOUNT

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

    @DELIVERYAMOUNT
    Контекст: Кассовый чек.

    Сумма сдачи возвращенная кассиром покупателю. Для чека, оплаченного безналично значение этой пвсевдопеременной равно нулю. Величины @AMOUNT, @BRINGAMOUNT и @DELIVERYAMOUNT связаны выражением: @DELIVERYAMOUNT = @BRINGAMOUNT - @AMOUNT.

    @SCARD
    Контекст: Кассовый чек, документ.

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

    @SCARDOWNER
    Контекст: Кассовый чек, документ.

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

    @ISCREDITSCARD
    Контекст: Кассовый чек, документ.

    Если карта, к которой привязан чек или документ является кредитной, то эта пвсевдопеременная равна 1, в противном случае 0. Данную псевдопеременную не следует использовать, начиная с версии 7.4.10: вместо нее рекомендуется применять переменную @SCARDTYPE.

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

    @SCARDTYPE

    Контекст: Кассовый чек, документ. Тип карты, ассоциированной с чеком или документом. Возможные варианты результата следующие:

    1
    Обыкновенная дисконтная карта.
    2
    Корпоративная кредитная карта.
    3
    Бонусная карта.
    0
    С чеком либо документом не ассоциирована карта, или же возникла ошибка с определением ее типа (такая ошибка может возникнуть только в результате сбоя в базе данных).

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

    Переменная введена в релизе 7.4.10.

    @SCARDREST
    Контекст: Кассовый чек, документ.

    Остаток на корпоративной кредитной карте, к которой привязан чек или документ. Если карта не является кредитной, то значение всегда 0. Значение остатка учитывает операцию, по которой печатается отчет.

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

    @PCTDIS

    Контекст: Кассовый чек, документ. Величина скидки в процентах к величине @AMOUNTWODIS.

    @WROFFAMOUNT
    Контекст: Кассовая сессия.

    Сумма списания кассовой сессии.

    @DEFICIT

    Контекст: Кассовая сессия. Сумма дефицита по кассовой сессии.

    @ITEMNO
    Контекст: Кассовый чек, документ. Только для зоны .detail.

    Номер строки чека или товарного документа.

    Переменная введена в релизе 6.2.12.

    @GOODSGRP
    Контекст: Кассовый чек, документ. Только для зоны .detail.

    Наименование непосредственной родительской группы товара, соответствующего строке чека или документа.

    Переменная введена в релизе 5.9.9.

    @GOODS
    Контекст: Кассовый чек, документ. Только для зоны .detail.

    Наименование товара, соответствующего строке чека или документа.

    @QTTY

    Контекст: Кассовый чек, документ. Только для зоны .detail. Количество товара, соответствующего строке чека либо документа. Величина этой переменной всегда больше или равна нулю.

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

    @PHQTTY

    Контекст: Кассовый чек, документ. Только для зоны .detail. Физическое количество товара, соответствующего строке чека либо документа. Величина этой переменной всегда больше или равна нулю.

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

    Переменная введена в релизе 7.5.0.

    @PHUNIT

    Контекст: Кассовый чек, документ. Только для зоны .detail. Наименование физической единицы измерения товара, соответствующего строке чека или документа. Если для товара не определена физическая единица, то пвсевдопеременная замещается на пустую строку.

    Переменная введена в релизе 7.5.0.

    @PRICE

    Контекст: Кассовый чек, документ. Только для зоны .detail. Цена единицы товара, соответствующая строке чека или документа. Эта величина учитывает все скидки, предоставленные покупателю.

    @PRICEWODIS
    Контекст: Кассовый чек, документ. Только для зоны .detail.

    Цена единицы товара, соответствующая строке чека или документа без учета скидок.

    @ITEMDIS

    Контекст: Кассовый чек, документ. Только для зоны .detail. Скидка по строке чека на одну единицу товара (документа). Значение округляется до двух знаков после точки.

    Величины @PRICE, @PRICEWODIS и @ITEMDIS связаны соотношением: @PRICE = @PRICEWODIS - @ITEMDIS

    @ITEMDISAMT
    Контекст: Кассовый чек, документ. Только для зоны .detail.

    Сумма скидка по строке чека (документа). Значение округляется до двух знаков после точки. Должно выполняться равенство:

    @ITEMDISAMT = @ITEMDIS * @QTTY

    @ITEMDISPCT

    Контекст: Кассовый чек, документ. Только для зоны .detail. Процентная величина скидка по строке чека (документа). Значение округляется до одного знака после точки.

    @ITEMAMT
    Контекст: Кассовый чек, документ. Только для зоны .detail. Сумма по строке документа или чека с учетом всех скидок.

    Должно выполняться равенство: @ITEMAMT = @PRICE * @QTTY

    @ITEMAMTWODIS
    Контекст: Кассовый чек, документ. Только для зоны .detail. Сумма по строке документа или чека без учета скидок.

    Должно выполняться равенство: @ITEMAMTWODIS = @PRICEWODIS * @QTTY

    @ISGIFTQUOT
    Контекст: Кассовый чек. Только для зоны .detail. Если по строке предоставлена скидка по подарочной котировке, то результатом подстановки этой псевдопеременной будет 1, в противном случае - 0.

    Переменная введена в релизе 7.4.10.

    @MEMO
    Контекст: Кассовый чек, документ.

    Текст примечания к документу или чеку.

    @POS
    Контекст: Кассовый чек, кассовая сессия.

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

    @POSNODE

    Контекст: Кассовый чек, кассовая сессия. Наименование кассового узла, которому соответствует кассовый чек или сессия.

    @POS
    Контекст: Кассовый чек, кассовая сессия.

    Номер кассового аппарата, на котором пробит чек либо снята кассовая сессия.

    @ISRET

    Контекст: Кассовый чек, документ. Признак того, что либо документ отражают операцию возврата от покупателя. Если чек (документ) возвратный, то значение переменной равно 1, в противном случае - 0.

    @RETURN
    Контекст: Кассовый чек, документ, кассовая сессия.

  • Для чека - сумма чека, если чек возвратный и ноль в противном случае
  • Для документа - сумма документа, если он возвратный и ноль в противном случае
  • Для кассовой сессии - сумма чеков возвратов по этой сессии
  • @CASHAMOUNT

    Контекст: Кассовый чек, документ, кассовая сессия.

  • Для чека - сумма чека, если чек оплачен наличными деньгами и ноль в противном случае
  • Для документа - равно сумме документа (тоже, что и @AMOUNT)
  • Для кассовой сессии - сумма чеков по этой сессии, оплаченных наличными
  • @BANKAMOUNT
    Контекст: Кассовый чек, документ, кассовая сессия.

  • Для чека - сумма чека, если чек оплачен безналично и ноль в противном случае
  • Для документа - 0
  • Для кассовой сессии - сумма чеков по этой сессии, оплаченных безналично
  • @RETCASHAMOUNT

    Контекст: Кассовый чек, кассовая сессия.

  • Для чека - сумма чека, если это - чек возврата, оплаченный наличными и ноль в противном случае.
  • Для кассовой сессии - сумма чеков возврата по этой сессии, учтенных наличным расчетом.
  • Переменная введена в релизе 7.5.0.

    @RETBANKAMOUNT

    Контекст: Кассовый чек, кассовая сессия.

  • Для чека - сумма чека, если это - чек возврата, оплаченный через банк и ноль в противном случае.
  • Для кассовой сессии - сумма чеков возврата по этой сессии, учтенных расчетом через банк.
  • Переменная введена в релизе 7.5.0.

    @CHECKCASHCOUNT

    Контекст: Кассовый чек, кассовая сессия.

  • Для чека - если это - чек продажи, оплаченный наличными, то 1 и ноль в противном случае.
  • Для кассовой сессии - количество чеков продажи по этой сессии, оплаченных наличными.
  • Переменная введена в релизе 7.5.0.

    @CHECKBANKCOUNT

    Контекст: Кассовый чек, кассовая сессия.

  • Для чека - если это - чек продажи, оплаченный через банк, то 1 и ноль в противном случае.
  • Для кассовой сессии - количество чеков продажи по этой сессии, оплаченных через банк.
  • Переменная введена в релизе 7.5.0.

    @RETCASHCOUNT

    Контекст: Кассовый чек, кассовая сессия.

  • Для чека - если это - чек возврата, учтенный наличным расчетом, то 1 и ноль в противном случае.
  • Для кассовой сессии - количество чеков возврата по этой сессии, учтенных наличным расчетом.
  • Переменная введена в релизе 7.5.0.

    @RETBANKCOUNT

    Контекст: Кассовый чек, кассовая сессия.

  • Для чека - если это - чек возврата, учетнный расчетом через банк, то 1 и ноль в противном случае.
  • Для кассовой сессии - количество чеков возврата по этой сессии, учтенных расчетом через банк.
  • Переменная введена в релизе 7.5.0.

    @INITTIME

    Контекст: Кассовый чек. Строка даты/времени создания чека.

    Дата и время создания чека актуальны только для асинхронных кассовых чеков.

    @UHTTSCHASH

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

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

    Переменная введена в релизе 7.4.10.

    @ISORDER
    Контекст: Кассовый чек.

    1 - если чек является заказом на обслуживание за столом и 0 в противном случае.

    @ORDERDATE

    Контекст: Кассовый чек. Дата заказанного начала обслуживания за столом.

    @ORDERTIMESTART
    Контекст: Кассовый чек.

    Время заказанного начала обслуживания за столом.

    @ORDERTIMEEND

    Контекст: Кассовый чек. Время окончания заказанного обслуживания за столом.

    @ORDERDURATION
    Контекст: Кассовый чек.

    Заказанная продолжительность обслуживания за столом.

    @LINKORDERNO

    Контекст: Кассовый чек. Номер чека заказа, к которому привязан данный чек.

    @LINKORDERDATE
    Контекст: Кассовый чек.

    Дата чека заказа, к которому привязан данный чек.

    @DLVRCITY

    Контекст: Кассовый чек. Только для чека с признаком доставки: наименование города, в который следует осуществить доставку.

    @DLVRADDR
    Контекст: Кассовый чек.

    Только для чека с признаком доставки: текст адреса, по которому следует осуществить доставку.

    @DLVRPHONE

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

    @PAYMTYPE
    Контекст: Кассовый чек. Доступно только в зоне paymdetail.

    Текстовое описание типа элемента оплаты по чеку.

    Переменная введена в релизе 8.4.1.

    @PAYMAMT
    Контекст: Кассовый чек. Доступно только в зоне paymdetail.

    Сумма элемента оплаты по чеку.

    Переменная введена в релизе 8.4.1.

    @ISEGAIS
    Контекст: Кассовый чек.

    Логическая переменная, принимающая значение 1, если чек содержит маркированную алкогольную продукцию, по которой надлежит передавать данные в систему ЕГАИС. Если чек не содержит такой продукции, то псевдопеременная принимает значение 0.

    @EGAISURL

    Контекст: Кассовый чек. Если чек содержит маркированную алкогольную продукцию, по которой надлежит передавать данные в систему ЕГАИС и данные были успешно переданы, то эта переменная содержит строку url-адреса, по которому можно видеть переданную информацию на сайте ЕГАИС. Эта же строка печатается на чеке в виде QR-кода.

    @EGAISSIGN
    Контекст: Кассовый чек.

    Если чек содержит маркированную алкогольную продукцию, по которой надлежит передавать данные в систему ЕГАИС и данные были успешно переданы, то эта переменная содержит строку хэш-подписи чека, полученной от сервера УТМ.

    @MANUFSERIAL

    Контекст: Кассовый чек. Заводской номер кассового аппарата, заданный в записи синхронного кассового узла.

    @BUYERINN
    Контекст: Кассовый чек. ИНН покупателя. Это поле доступно только для кассовых чеков, сформированных по документам. Для этого в чек специально вносится текстовое поле расширения.

    Переменная введена в релизе 11.0.4

    @BUYERNAME
    Контекст: Кассовый чек. Наименование покупателя. Это поле доступно только для кассовых чеков, сформированных по документам. Для этого в чек специально вносится текстовое поле расширения. Кроме того, если контрагент в документе, по которому формируется кассовый чек, имеет расширенное наименование, то эта псевдопеременная будет замещена расширенным наименованием, в противном случае - стандартным наименованием персоналии.

    Переменная введена в релизе 11.0.4

    Стандартный файл описания кассовых отчетов

    Система использует файл описания отчетов с именем stdslip.fmt, находящийся в каталоге BIN (там же, где находятся исполняемые файлы системы).

    По умолчанию применяются следующие наименования форматов:

    CCheck
    Стандартный фискальный чек.
    CCheckCopy
    Копия чека.
    CCheckRetCopy
    Копия чека возврата.
    ZReportCopy
    Копия Z-отчета.

    Имя файла описания отчетов может быть переопределено для конкретного кассового узла установкой пути к этому файлу в записи кассового узла (см. стр. link).

    Сканеры штрихкодов

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

    Классификация сканеров штрихкодов

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

    По физическому способу считывания

    Лазерные
    Используют лазерный луч. Дорогие устройства с высоким расстоянием и большой точностью считывания.
    Светодиодные
    Используют светодиод. Доступные по цене устройства. Считывают код только с очень близкого расстояния.

    По количеству направлений считывания

    Одноплоскостные
    Один считывающий луч сканирует одно направление. Цена невысокая, но приходится ориентировать сканируемый штрихкод перпендикулярно лучу.

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

    По способу работы оператора со сканером

    Ручные
    Оператор, считывая код, держит сканер в руке.
    Стационарные
    Сканер закреплен, и оператор для считывания кода должен пронести товар перед сканером.

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

    По интерфейсу подключения к компьютеру

    Клавиатурные
    Сканер подключается к клавиатурному разъему компьютера. Такой вариант подключения позволяет легко использовать сканер как эмулятор клавиатуры. То есть, считываемые сканером знаки воспринимаются компьютером так, как будто они поступают с клавиатуры.

    При сканировании штрихкодов, содержащих латинские символы (это допускается такими стандартами штрихкодов, как CODE39, CODE59 и некоторыми другими) обратите внимание на то, что некоторые модели сканеров возвращает символ, соответствующий скан-коду клавиатуры, а не самому символу. На практике это означает, что символы, возвращаемые таким сканером фактически могут зависеть от текущего значения переключателя языка клавиатуры. Так, для русской раскладки клавиатуры и в режиме ввода русских букв сканер вместо латинской 'Q' может вернуть русскую 'Й'.

    Последовательные
    Сканер подключается к последовательному порту компьютера. В этом случае программа, использующая сканер, должна быть специально адаптирована для такого варианта подключения. Так как система работает со сканером штрихкодов так, как будто просканированные данные поступают непосредственно с клавиатуры, то для использования сканера, подключаемого к COM-порту компьютера, следует воспользоваться программой эмуляции, например, бесплатной программой SoftWedge компании Metrologic (www.metrologic.com).

    USB
    Сканер подключается через USB-шину. Аналогично случаю с последовательным подключением, программа, использующая сканер, должна быть специально адаптирована для этого.

    Настройка сканера штрихкодов

    Для конфигурирования сканера штрихкодов обычно используется прилагаемая к нему изготовителем инструкция с набором штрихкодов, считывая которые можно установить те или иные параметры.Наиболее существенные параметры, с точки зрения использования с системой Papyrus - это те, которые определяют, передает ли сканер при считывании штрихкода контрольную цифру. Если вы вводите штрихкоды без контрольной цифры, то проверьте, чтобы сканер не передавал ее для кодов EAN-8, EAN-13, UPC-A и UPC-E. По умолчанию, большинство сканеров настроено на передачу контрольной цифры.

    Некоторые сканеры не позволяют установить отказ от передачи контрольной цифры в указанных стандартах штрихкодов.При вводе штрихкода со сканера непосредственно в систему Papyrus убедитесь, чтобы передачу кода он завершал символом перевода каретки.

    Электронные весы

    Под электронными весами, использование которых описывается в этом разделе, мы подразумеваем устройства для взвешивания товара, способные одновременно с этим рассчитывать цену взвешенного товара и печатать этикетку со штрихкодом. Система Papyrus адаптирована для работы со следующими типами и моделями электронных весов:
  • CAS LP-15
  • CAS LP-15 (версия протокола 1.6)
  • CAS C5000J
  • MettlerToledo TIGER
  • Масса-К
  • DIGI
  • Любые устройства, с которыми работает сервер торгового оборудования Кристалл-Сет компании Кристалл-Сервис
  • Bizerba
  • Штрих-Принт
  • При необходимости подключения весов других моделей следует обратиться в службу сопровождения.

    Конфигурация подключения электронных весов

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

    Прямое подключение к последовательному порту компьютера
    Для устройства явно указывается номер последовательного порта, к которому оно подключено. Загрузка весов возможна только с того компьютера, к которому подключены весы. Возможен вариант, когда загрузкой весов можно управлять, подключаясь к компьютеру, к которому подключены весы, через терминал удаленного доступа.
    Подключение весов к компьютеру через специализированный концентратор
    В этом случае к одному последовательному порту компьютера подключается специальное устройство - концентратор, а несколько взвешивающих устройств уже включаются в этот концентратор. В этом случае, в системе для каждого из этих устройств указывается один и тот же номер последовательного порта, но разные логические номера.

    Подключение весов в цепь один аппарат за другим. При этом только первый аппарат в цепи подключается прямо к последовательному порту компьютера
    Такая схема поддерживается только весами Масса-К.
    Подключение через IP-протокол
    Этот способ используется для тех взвешивающих устройств, которые поддерживают соответствующий протокол обмена. В этом случае вместо порта обмена для таких устройств задается IP-адрес. Загрузка по IP-протоколу идет значительно быстрее, чем через последовательный порт.

    Подключение через программу-посредника
    Существуют специализированные программы, реализующие интерфейс с широким набором типов устройств. При использовании таких программ, Papyrus передает им данные для загрузки весов в виде файла, который обрабатывается этой программой, и передается на весы.

    Настройка системы для работы с электронными весами

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

    Диалог редактирования записи о весахВызвав пункт меню Справочники→ Оборудование→ Весы, вы увидите диалог со списком весов. Для добавления новых весов нажмите кнопку [Добавить]. На экране появится диалог для ввода параметров нового аппарата (рис. link). В таблице перечислены параметры настройки весов и описано их значение

    ▼Группа

    Группа устройств, которой принадлежат данные весы. Группировка устройств упрощает процедуру загрузки нескольких весов за одну операцию.

    ▼Тип весов

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

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

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

    Ид
    Закрытое для изменения поле. Это - внутренний идентификатор записи, информация о котором может понадобиться для сопровождения системы.
    Порт обмена
    Наименование порта обмена для связи компьютера с весами. Для устройств, обмен с которыми осуществляется через порт RS-232, допустимы значения COM1, COM2 и т.д. до COM31. Для устройств, обмен с которыми реализован посредством протокола TCP/IP, здесь указывается IP-адрес устройства.

    Логический номер
    Это поле должно содержать ненулевое значение только в том случае, когда используется множественное подключение весов к одному компьютеру (через концентратор или последовательным включением аппаратов друг за другом). При этом каждый из аппаратов должен иметь уникальный логический номер. Если весы подключены в одиночку и непосредственно к асинхронному или IP-порту компьютера, то это поле должно содержать 0.
    Версия протокола обмена
    Специализированное поле требуется для идентификации системой версии концентратора, через который подключаются весы. Для правильной установки этого поля обратитесь к сопровождению.

    ▼Склад

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

    ▼Группа товаров

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

    ▼Котировка

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

    Эта формула может состоять из букв A, B, C, D, E, M. Каждая буква обозначает одну дополнительную строку и источник ее формирования. Смысл букв следующий:

    A
    Дополнительное поле товара A
    B
    Дополнительное поле товара B
    C
    Дополнительное поле товара C
    D
    Дополнительное поле товара D
    E
    Дополнительное поле товара E
    M
    Дата и время производства товара, извлеченное из тега лота, определившего учетную цену этого товара. Тип тега зарезервированный - Дата производства (ид 14, символ MANUFTIME).

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

    (AB)M Первой строкой будет сцепка дополнительных полей товара A и B. Второй строкой - дата/время производства.

    Длина строки доп текста
    Максимальная длина одной строки, которая может быть загружена на данные весы. Если это поле пустое или содержит ноль, то система применяет значение на собственное усмотрение (в зависимости от типа весов).

    ✓Игнорировать весовой префикс

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

    Например: “Колбаса Русская Вес” имеет штрихкод 2944008. При этом на кассовый аппарат этот товар должен поступать с таким же кодом, а на весы с кодом 44008. В этом случае для весов устанавливается флаг ✓Игнорировать весовой префикс.

    ✓Загружать то, что на складе

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

    ✓Использовать TCP/IP протокол

    Флаг, указывающий, что для выбранных весов используется протокол обмена TCP/IP. Этот флаг следует устанавливать для весов Mettler Toledo TIGER.

    ✓Проверять при загрузке данные на ошибки

    Перед отправкой данных на весы каждая запись проверяется на корректность по ряду критериев, существенных для правильной загрузки на устройство.

    ✓Пассивные

    Если этот флаг включен, то для таких весов не осуществляется процедура загрузки данных.

    Загрузка данных о товарах в электронные весы

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

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

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

    Особенности настройки конкретных типов весов

    Весы CAS

    Компания CAS Electronics поставляет обширный ассортимент весов. Наиболее популярны в розничной торговле устройства типа LP-15. С точки зрения системы Papyrus важно то, что существуют две значительно различающиеся версии протоколов обмена данными между весами CAS Electronics и компьютерными программами:

  • Протокол версии 1.6.
  • Протокол, предшествующий этой версии.
  • Кроме того, устройства этого производителя поставляются как с последовательным интерфейсом обмена (RS-232), так и с сетевым протоколом TCP.

    Papyrus “умеет” работать со следующими конфигурациями таких весов:

  • Протокол, предшествующий версии 1.6 с интерфейсом RS-232.
  • Протокол 1.6 с интерфейсом RS-232
  • Протокол 1.6 с интерфейсом TCP
  • Рассмотрим особенности настройки для каждого из этих вариантов:

    Протокол, предшествующий версии 1.6 с интерфейсом RS-232
    Весы подключаются непосредственно к компьютеру, на котором запускается сеанс Papyrus . Следующие параметры записи весов в базе данных Papyrus имеют существенное значение:
    Тип весов
    CAS Electronics
    Порт обмена
    Строка наименования COM-порта с номером. Например, COM2. Допустимыми являются номера портов от COM1 до COM31.
    Логический номер
    0
    Версия протокола обмена
    0

    ✓Использовать TCP/IP протокол

    Включен

    [Системные параметры]→ Задержка между попытками чтения из порта

    Это значение рекомендуется устанавливать в диапазоне от 10 до 500 миллисекунд. Выбор величины может зависеть от особенностей конкретного компьютера. Практически применяются значения от 30 до 100.

    Остальные системные параметры игнорируются.

    Протокол 1.6 с интерфейсом RS-232

    Весы подключаются непосредственно к компьютеру, на котором запускается сеанс Papyrus .Само устройство настраивается специальной программой Tibbo DS MANAGER. Необходимо задать следующие параметры устройства:

    Закладка
    “Serial Settings”

    Serial interface
    2 - Automatic
    RTS/CTS flow control
    0 - Disabled or remote
    DTR mode
    0 - Idle or remote
    Baud rate
    9600
    Parity
    0 - None
    Data bits
    1 - 8 bits
    Soft entry into Serial...
    0 - Disabled
    On-the-fly commands
    0 - Disabled
    Notification bitmask
    0
    Закладка
    “Outbound packets”

    Max packet length
    255
    Max intercharacter delay
    5
    Start on any char
    1 - Yes
    Use start-character
    0 - No
    Start character (ASCII)
    0
    Use stop-character
    0 - No
    Stop-character (ASCII)
    0
    Number of post-character
    0
    Следующие параметры записи весов в базе данных Papyrus имеют существенное значение:
    Тип весов
    CAS Electronics
    Порт обмена
    Строка наименования COM-порта с номером. Например, COM2. Допустимыми являются номера портов от COM1 до COM31.
    Логический номер
    не нулевое значение, соответствующее логическому номеру устройства, определяемое настройками на нем самом.
    Версия протокола обмена
    16

    ✓Использовать TCP/IP протокол

    Выключен

    [Системные параметры]→ Задержка между попытками чтения из порта

    Это значение рекомендуется устанавливать в диапазоне от 10 до 500 миллисекунд. Выбор величины может зависеть от особенностей конкретного компьютера. Практически применяются значения от 30 до 100.

    Остальные системные параметры игнорируются.

    Протокол 1.6 с интерфейсом TCP

    Весы подключаются в ту же компьютерную сеть, в которую входит компьютер, на котором запускается сеанс Papyrus .Само устройство настраивается специальной программой Tibbo DS MANAGER. Необходимо задать следующие параметры устройства:

    Закладка
    “Network Settings”

    Owner name
    пусто
    Device name
    пусто
    Mac-address
    не изменять
    DHCP
    0 - Disabled
    Ip-address
    Доступный в сети IP-адрес. В Papyrus вы должны будете указать для соответствующей этому устройству записи это же значение адреса.
    Port
    1001
    Transport protocol
    1 - TCP
    Inband commands
    0 - Disabled
    Data login
    0 - Disabled
    Connection timeout (min)
    5
    Routing Mode
    0 - Server (Slave)
    Notification destination
    0 - Last port
    Закладка
    “Outbound packets”

    Max packet length
    255
    Max intercharacter delay
    5
    Start on any char
    1 - Yes
    Use start-character
    0 - No
    Start character (ASCII)
    0
    Use stop-character
    0 - No
    Stop-character (ASCII)
    0
    Number of post-character
    0
    Следующие параметры записи весов в базе данных Papyrus имеют существенное значение:
    Тип весов
    CAS Electronics
    Порт обмена
    IP-адрес, заданный для весов (см. выше).
    Логический номер
    не нулевое значение, соответствующее логическому номеру устройства, определяемое настройками на нем самом.
    Версия протокола обмена
    16

    ✓Использовать TCP/IP протокол

    Включен

    [Системные параметры]→ Задержка между попытками чтения из порта

    10000

    [Системные параметры]→ Задержка между попытками записи в порт

    1000

    Остальные системные параметры игнорируются. Установите их в значение 0.

    Специализированные концентраторы
    При использовании специализированных концентраторов, разрабатываемых сторонними фирмами, необходимо проконсультироваться с компанией, осуществляющей внедрение на вашем предприятии.

    Дополнительные особенности
    Для более устойчивого обмена по протоколу RS-232 рекомендуется в файле pp.ini установить параметр[system]

    ComPortReadCycling=10,10Подробно этот параметр описан в файле pp_ini.txt распространяемом с дистрибутивом системы.

    Весы DIGI (через программу Sis2002)

    Весы DIGI поддерживают интерфейс обмена данными через протокол TCP/IP. Порядок настройки следующий:
    1. Выбрать компьютер, на котором будет работать программа SiS2002
    2. Установить программу на этом компьютере. Подробности установки смотрите в документации к этой программе. Мы рекомендуем осуществить установку SiS2002 в каталоге PPY, в котором установлена система Papyrus в подкаталог DIGI/SIS2002.
    3. В каталоге, в который установлен SiS2002, создайте каталоги DATA и INOUTDIR, ссылку на которые укажите в настройках базы данных программы SiS2002.
    4. В параметрах настройки базы данных программы SiS2002 укажите следующие опции:
    5. Каталог основной базы данных: путь к каталогу DATA, определенном в предыдущем пункте
    6. Каталог обмена данными: путь к каталогу INOUTDIR, определенном в предыдущем пункте
    7. Маска импорта: *.dat
    8. Проверка данных импорта: да
    9. Перезаписывать названия артикулов: да
    10. Режим Устройство<→ Группа: выключен
    11. Формат импорта: простой
    12. Поле “Артикул” файла импорта: Номер PLU
    13. Кодировка файла импорта: Кодировка Windows
    14. Для каждого весового устройства в Papyrus 'е укажите свой уникальный логический номер (лучше всего, совпадающий с последним байтом IP-адреса весов), а также путь (кнопка [Системные параметры]) к каталогу INOUTDIR (например, H:/PPY/DIGI/SIS2002/INOUTDIR).
    15. Сделайте первую загрузку каждого из устройств. После того, как SiS2002 заберет выгруженные из Papyrus 'а данные, и вы увидите их в окне SiS2002, сделайте привязку каждой из групп к своему устройству.

    Весы Mettler Toledo Tiger

    Система взаимодействует с этими весами через сетевой протокол TCP/IP. Существует два режима работы с этими устройствами:
    1. Непосредственная передача данных из системы в весы по сетевому протоколу TCP/IP.
    2. Используя специализированный драйвер весов.
    Первый метод является предпочтительным. Для его использования в записи весов следует установить версию протокола 0, а в системных параметрах количество попыток чтения и записи - 0, задержка между попытками чтения и задержка между попытками записи должны быть равны 1000. Если используются весы с духстрочной печатью, то версию протокола следует установить равной 2.

    Для использования 2-го метода необходимо установить драйвер и в записи весов указать версию протокола обмена равной 101 (для устройств с однострочной печатью) или 102 (для устройств с двухстрочной печатью).

    Весы Штрих-Принт

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

    Строки дополнительной информации о товарах загружаются, начиная с версии Papyrus 7.4.1. Так же, начиная с этой версии, на весы передается информация о штучных товарах.

    Принтеры штрихкодов

    Принтеры штрихкодов являются специализированными устройствами, предназначенными для печати товарных этикеток, содержащих, как правило, штрихкод товара и небольшой текст, описывающий наименование, цену и свойства товара.Система Papyrus поддерживает работу с принтерами штрихкодов, производимых компаниями Zebra и Datamax Corp, а так же принтерами любых производителей, чьи устройства распознают языки вывода ZPL (Zebra) и Datamax. Следует обратить внимание на то, что принтеры Zebra работают как с оригинальным ZPL, так и со скриптом описания этикеток, унаследованными этой компанией от приобритенной ее компании Eltron: Papyrus поддерживает оба формата.

    Начиная с версии 9.6.6 система Papyrus поддерживает печать этикеток на любом принтере, для которого есть Windows-дра?вер.

    Диалог редактирования принтера штрихкодов

    Принтер этикетокДля просмотра и редактирования списка принтеров штрихкодов выберите пункт меню Справочники→ Оборудование→ Принтеры штрихкодов.

    Диалог редактирования записи принтера штрихкодов изображен на рис. link. Определим управляющие элементы этого диалога.

    Наименование
    Наименование принтера. Строка длиной не более 47 символов.
    Тип принтера
    Тип принтера. Возможны следующие варианты:
    ZEBRA
    Принтер производителя Zebra либо иной, поддерживающий язык вывода ZPL.
    DATAMAX
    Принтер производителя Datamax либо иной, поддерживающий язык вывода EPL.
    ELTRON
    Принтер производителя Zebra либо иной, поддерживающий язык вывода CPCL.
    WINDOWS
    Любой принтер, для которого есть драйвер Windows. Обращаем внимание на то, что при печати на такой тип принтера язык описания форматов этикеток не применяется. Вместо этого используется специализированные отчет BarcodeLabelList со структурой данных DL600 BarcodeLabelList.
    Порт вывода
    Наименование порта вывода, для отправки этикеток на печать. Это могут быть как зарезервированные обозначения последовательных или параллельных портов COM1, COM2, COM3, LPT, LPT1, LPT2, LPT3 так и символьное наименование принтера, по которому ваша операционная система идентифицирует направление отправки этикеток.

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

    Форма
    Наименование формы вывода, определенной в файле описания этикеток, подробное описание которого приведено ниже.

    ✓OEM-кодировка

    Флаг актуален только для принтеров типа ZEBRA. Если установлен, то данные на принтер будут подаваться в OEM-кодировке.
    Толщины полос штрихкодов (в точках)

    Два параметра актуальные на текущий момент только для принтеров типа ELTRON. Они определяют факторы печати штрихкодов на принтере. С их помощью можно варьировать общий размер выводимого штрихкода а так же обеспечить более уверенное считывание штрихкода сканером.

    Толщина узких полос
    Толщина широких полос

    Параметры COM-порта
    Набор параметров, актуальных только при прямом выводе этикетки на принтер через COM-порт. Учитывая то, что COM-порты встречаются все реже, внимание этим параметрам можно не уделять.

    Скорость COM-порта

    Контроль четности

    Биты данных

    Формат описания этикеток

    Для того чтобы можно было печатать этикетки со штрихкодами товаров на принтере штрихкодов из программы Papyrus необходимо подготовить файл описания форматов этикеток и настроить параметры принтера или принтеров (если у вас их более одного).Для печати этикеток на принтере штрихкодов необходимо создать файл описания этикеток. Этот файл должен находиться в каталоге бинарных файлов (обычно PPY/BIN). Название файла по умолчанию должно быть BARLABEL.LBL. Если вы хотите использовать другое имя файла, то его необходимо прописать в файле pp.ini в разделе [config] параметром label_file. Формально синтаксис файла описания этикеток следующий.

    
    label_definition_file = label_definitions
    label_definitions = label_definition | label_definitions
    label_definition = LABEL label_name { label_param_list . label_format }
    label_name - наименование формата этикетки. В файле может быть несколько описаний этикеток,
    каждое из которых должно иметь уникальное наименование.
    label_param_list = label_param | label_param_list
    label_param = SIZE x_size y_size | GAP gap_size | HOME  x_pos y_pos | CODEPAGE
    codepage_symbol
    x_size, y_size -  размеры этикетки по ширине и высоте соответственно.
    gap_size - высота зазора между этикетками на ленте
    x_pos, y_pos - начальная позиция области печати по оси x и y соответственно.
    codepage_symbol - таблица кодировки символов текста
    label_format = label_format_statement | label_format
    label_format_statement = text_statement | barcode_statement
    text_statement = TEXT [: maxlen] rotation x_pos y_pos font_name x_multiplier y_multiplier
    "text"
    wrap_statement = WRAP [:maxlen] rotation x_pos y_pos font_name x_multiplier y_multiplier
    font_name = font_name[,font_width,font_height]
    Здесь font_width и font_height - соответственно, ширина и высота масштабируемого шрифта.
    barcode_statement = BARCODE rotation x_pos y_pos height x_multiplier y_multiplier
    serialcode_statement =SERIALCODE rotation x_pos y_pos height x_multiplier y_multiplier
    
    LABEL, SIZE, GAP, HOME, TEXT, WRAP, BARCODE, SERIALCODE, SERXNOM являются зарезервированными словами. Их можно вводить в любом регистре (либо строчными либо прописными латинскими буквами).

    rotation - угол поворота текста или штрихкода относительно горизонтальной оси этикетки в градусах по часовой стрелке. Большинство принтеров поддерживает только четыре угла поворота: 0, 90, 180 и 270 градусов. Если вы укажете иное значение, то реальный угол поворота будет тот, что позволяет принтер и который наиболее близок к значению, указанному вами.xpos, ypos - координаты верхнего левого угла области печати текста или штрихкода.

    fontname - наименование шрифта, которым следует печатать текст. Этот параметр зависит от принтера и набора шрифтов, загруженных в принтер.height - высота штрихкода.

    xmultiplier, ymultiplier - целочисленные коэффициенты масштабирования текста или штрихкода по осям x и y соответственно. Допустимый диапазон 1..9. Используются в принтерах Datamax Corp.

    Внимание: для серийного номера (CODE39) эти два параметра должны быть установлены в 0.

    text - текст, который необходимо вывести в этикетке. Текст может содержать псевдопеременные для подстановки реальных параметров. Следующая таблица перечисляет и поясняет значения этих псевдопеременных.

    Псевдопеременные

    @date
    Текущая дата.

    @time
    Текущее время.
    @mainorg
    Наименование главной организации

    @warehouse
    Наименование склада, с которым ассоциирован факт печати этикетки (определен не во всех случаях).
    @user
    Имя пользователя, который печатает этикетку. Если пользователь ассоциирован с персоналией, то @user - имя персоналии, в противном случае - это то символическое имя, которое пользователь вводит при входе в систему.

    @gname
    Наименование товара.
    @goodsgrpname
    Наименование группы товара (непосредственный родитель товара, для которого печатается этикетка).

    @goodscode
    Текстовое представление кода товара.
    @price
    Цена товара. Данная цена формируется по правилам определения розничной цены товара в текущем контексте (склад, дата, и пр.).

    @quot:symb
    Значение котировки вида с символом sybm для товара по складу, соответствующему текущему контексту. Дата привязки значения применяется текущая системная. Символ вида котировки извлекается из описания этикетки до достижения одного из следующих терминальных событий: знак пробел, знак табуляция, конец строки, длина более 19 знаков, идентифицирован вид котировки по считанной строке.

    Таким образом, если в базе данных есть виды котировок, имеющие одинаковый префикс, то возникает риск неверного определения символа. Допустим, вы хотите получить в этикетке значение котировки вида с символом “Quot012”, а в базе данных есть виды котировок “Quot012” и “Quot01”. Если вы введете в описание этикетки псевдопеременную “@quot:Quot011”, то результатом будет что-то вроде “25.002” (в предположении, что значение котировки вида “Quot01” равно 25).

    @linecost
    Цена поступления товара, извлеченная непосредственно из контекста печати. В случае печати этикетки по строке документа, это - цена поступления, заданная в этой строке. При печати этикетки по лоту - цена поступления лота.

    @lineprice
    Цена реализации товара, извлеченная непосредственно из контекста печати.
    @revalprice
    Цена товара до переоценки. Значение этой псевдопеременной может отличаться от @price только в том случае, если этикетка печатается из строк документа переоценки.

    @manuf
    Наименование производителя товара.
    @country
    Наименование страны производителя товара.

    @brand
    Наименование торговой марки товара.
    @gcdimx
    Значение размерности X классифицированного товара.

    @gcdimy
    Значение размерности Y классифицированного товара.
    @gcdimz
    Значение размерности Z классифицированного товара.

    @gcdimw
    Значение размерности W классифицированного товара.
    @gckind
    Строка наименования классификатора KIND классифицированного товара.

    @gcgrade
    Строка наименования классификатора GRADE классифицированного товара.
    @gcaddprop
    Строка наименования классификатора ADDPROP классифицированного товара.

    @gcaddprop2
    Строка наименования классификатора ADDPROP2 классифицированного товара.
    @expiry
    Срок годность товара.

    @manufdate
    Дата/время изготовления товара. Значение для подстановки этой псевдопеременной берется из зарезервированного тега Дата производства лота, из которого извлечена учетная цена товара. Следующие псевдопеременные применимы только для печати этикеток по лотам:

    @serialcode
    Серийный номер лота.
    @billdate
    Дата документа прихода лота. Если этикетка печатается по технологической сессии, то вместо этой псевдопеременной подставляется дата, которой введена строка.

    @billno
    Номер документа прихода лота. Если этикетка печатается по строке технологической сессии, то вместо этой переменной подставляется номер технологической сессии.
    @qtty
    Оприходованное количество в лоте.

    @phqtty
    Оприходованное количество в лоте в физических единицах.
    @pack
    Емкость упаковки.

    @brutto
    Масса брутто оприходованного количества.
    @objname
    Статья технологической сессии, к которой относится строка, по которой печатается этикетка.

    @obj2name
    Дополнительная статья технологической сессии, к которой относится строка, по которой печатается этикетка.
    @prcname
    Наименование процессора, к которому относится технологическая сессия, по строке которой печатается этикетка.

    @ext_a
    Дополнительное поле товара A (Условия хранения и срок годности).
    @ext_b
    Дополнительное поле товара B (Стандарт).

    @ext_c
    Дополнительное поле товара C (Состав).
    @ext_d
    Дополнительное поле товара D (Энергетическая ценность).

    @ext_e
    Дополнительное поле товара E (Способ использования или приготовления).

    Приведем пример описания этикетки


    LABEL label_one {
    .
    TEXT 0 20 80 115 1 2 “@gname”
    TEXT 0 20 70 101 1 1 “Цена:”
    TEXT 0 40 68 115 1 2 “@price”
    TEXT 0 20 60 101 1 1 “Дата маркировки: @date”
    TEXT 0 20 50 101 1 1 “Маркировщик: @user”
    BARCODE 0 20 0 20 2 2 }

    Перенос текста
    Если вся строка целиком не вмещается на этикетке, то, начиная с версии 5.1.12, появилась возможность задавать в формате этикетки печать текста в несколько строк. Для этого используется ключевое слово WRAP и опция максимальной длины строки, задаваемая после ключевых слов TEXT и WRAP. Принцип переноса проще всего показать на примере. Допустим, мы определяем строку вывода наименования товара:

    TEXT 0 20 80 115 1 2 “@gname”

    Так как этикетка маленькая, то в длину умещается только 30 символов (приблизительно). Для того чтобы система разбила наименование товара на две части, перепишем указанный пример в следующем виде:


    TEXT:30 0 20 80 115 1 2 “@gname”
    WRAP 0 20 70 115 1 2

    Теперь на этикетке будет печататься в первой строке наименования не более 30 символов, а на следующей строке (обратите внимание на координату y - она, естественно, задается вручную как для первой, так и для второй строки) оставшиеся символы (сколько поместится на этикетке). Ключевое слово WRAP можно использовать только вслед за строкой, содержащей ключевое слов TEXT или WRAP. При этом, первый оператор TEXT, определяющий печатаемую строку обязательно должен содержать максимальную длину строки. То есть, следующие примеры приведут к ошибке разбора формата этикетки:

    TEXT 0 20 80 115 1 2 “@gname”
    WRAP 0 20 70 115 1 2 // Для предыдущего оператора TEXT не указана максимальная длина строки - непонятно
    // как переносить текст
    BARCODE 0 20 0 20 2 2
    WRAP 0 20 70 115 1 2 // Предыдущий оператор не TEXT - непонятно что переносить.

    Шрифты

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

    Настройка параметров принтеров штрихкодов

    Для настройки параметров принтеров этикеток выберите пункт меню Справочники→ Оборудование→ Принтеры штрихкодов. Для добавления нового принтера в появившемся на экране списке нажмите кнопку [Добавить] или клавишу <Insert> . Диалог ввода и редактирования параметров принтера штрихкодов выглядит так, как показано на рисунке. В поле наименование необходимо ввести наименование принтера. Здесь под наименованием подразумевается не марка принтера, а наименование того физического устройство, для которого заводится данная запись. Если у вас более одного принтера, то таких записей должно быть ровно столько, сколько у вас принтеров штрихкодов.В комбо-боксе “Тип принтера” необходимо выбрать тип, к которому относится ваш принтер. Тип принтера подразумевает не обязательно производителя устройства, а набор команд, используемый для формирования этикеток. Если ваше устройство не поддерживает ни один из перечисленных типов, то вам следует обратиться к сопровождению для получения более подробной информации по решению этой проблемы.

    Поле “Порт вывода” задает порт, к которому присоединен ваш принтер. Это может быть COM1, COM2, LPT1, LPT2, и т.д. Портом вывода может быть и имя файла. В этом случае формат этикетки будет выводиться в файл с таким именем. Это бывает удобно для отладки форматов этикеток. Поле “Форма” содержит наименование формы этикетки, используемой для вывода на принтер.

    Печать этикеток

    Принтер этикетокНапечатать этикетки из программы можно, находясь либо в таблице просмотра товаров, либо из диалога редактирования товара. Находясь в таблице просмотра товаров, выберите товар, для которого хотите напечатать этикетку, затем нажмите <Ctrl-L> . После этого на экране появится диалог, предлагающий выбрать принтер, на который следует вывести этикетку, а также порт вывода и количество экземпляров этикеток, которое необходимо отпечатать. В диалоге товара следует также нажать <F7> и далее процедура та же, что и для таблицы. Этикетки, содержащие параметры лота (серийный номер, количество и т.д.) могут быть отпечатаны из таблицы просмотра лотов (Отчетность→ Лоты).

    Терминалы сбора данных

    Система Papyrus поддерживает работу с терминалами сбора данных Denso BHT (BHT-терминал). Для этого предназначен модуль StyloBHT (поставляется отдельно), загружаемый на терминал.

    Система позволяет использовать BHT-терминал для ускорения приемки товаров и для инвентаризации. В обоих случаях процесс использования BHT-терминал состоит из трех этапов: BHT-терминал - это электронное устройство для сбора, хранения, и передачи данных. Он состоит из двух частей - блока приема и хранения данных, то есть, собственно, терминала, и блока передачи данных.Терминал представляет собой мини компьютер, снабженный сканером штрихкодов, экраном и клавиатурой.

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

    Начало и завершение работы.

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

    Как работать с терминалом

    Схема работы терминала очень проста. Сначала он получает данные об известных системе товарах и поставщиках из основного компьютера. Затем используется в работе, сканирует штрихкоды, а затем передает полученные данные для обработки обратно в систему. Терминал работает под управлением программы StyloBHT Основное меню терминала состоит из следующих разделов

  • НАКЛАДНЫЕ
  • ИНВЕНТАРИЗАЦИЯ
  • ОБМЕН ДАННЫМИ
  • ЗАГРУЗКА ПРОГРАММЫ
  • Для того чтобы выбрать раздел меню установите на него курсор и нажмите клавишу <ENT> . Для того чтобы вернуться в предыдущий раздел нажмите <C> . Перемещаться по строкам меню, можно нажимая клавишу, с соответствующим разделу номером или при помощи клавиш со стрелками. В разделах, где осуществляется ввод данных, используются следующие правила
  • Для ввода цифровой информации (номеров накладных, количества) используйте цифровую клавиатуру.
  • Ввод даты осуществляйте строго по шаблону XX.XX.XX
  • Чтобы считать штрихкод нажмите кнопку расположенную сбоку на рукоятке терминала. При этом сканер терминала вспыхнет красным светом. Это означает, что терминал готов к считыванию штрихкода. Проведите сканером по полоскам штрихкода. Как только код считается, терминал издаст короткий звуковой сигнал и красный свет погаснет.
  • Переход вперед по строкам ввода осуществляется при нажатии клавиши <ENT> , назад - клавиши <С> . Рассмотрим поэтапно всю схему работы с терминалом.
  • Как загрузить в терминал справочники товаров и поставщиков?
    Включите терминал и положите его на устройство передачи данных. Выберите в системе Papyrus раздел Оборудование→ Загрузка BHТ-Терминала. В диалоге “Загрузка данных в BHТ-Терминал” укажите опцию ✓Полная загрузка и поставьте флажок в строке обновить исходные данные. Нажмите [ОК]. Затем аккуратно исполните инструкции системы.
  • На ТСБ выберите меню ОБМЕН ДАННЫМИ→ ПОСТАВЩИКИ
  • На ТСБ выберите меню ОБМЕН ДАННЫМИ→ ТОВАРЫ
  • После того как весь справочник товаров будет загружен нажмите на терминале кнопку <С> и вы вернетесь в главное меню системы

    Как выгрузить из терминала результаты работы

    Включите терминал и положите его на устройство передачи данных. Выберите раздел Оборудование→ Выгрузка с ТСБ. И в окне “Загрузка с BHT-терминала” нажмите [ОК]. По окончании выгрузки на терминале нажмите <С> .

    Как с помощью терминала осуществлять приемку товаров

    Включите терминал и выберите раздел меню НАКЛАДНЫЕ→ ВВОД Введите номер накладной, дату и номер поставщика (см. Распечатку поставщиков) Как только вы это введете, на терминале появится строка КОД. Возьмите товар и просканируйте его. Если терминал знает такой код, на экране отразится ОК, если товар новый на экране будет NF. Неизвестные системе товары следует отложить в корзинку (по одному наименованию) и по завершению приемки отнести операторам, которые вручную занесут эти товары в компьютер.

    Как вводить ревизию

    Включите терминал и выберите раздел меню ИНВЕНТАРИЗАЦИЯ→ ВВОД. Введите номер инвентаризации и дату.

    Важно! Если вы используете в инвентаризации несколько терминалов, введите на них одинаковый номер и дату. Это следует сделать с той целью, чтобы при передаче данных в компьютер, документы с разных терминалов правильно объединились в один документ инвентаризации.

    Просканируйте штрихкод товара, введите его количество. В конце работы нажмите <ENT> еще раз и закройте документ.

    Что делать если терминал завис?

    Часто, после неправильного нажатия клавиш, на терминале появляется сообщение об ошибке. Обычно, чтобы вернуться к знакомым разделам меню достаточно несколько раз нажать на клавишу <С> или <ENT> . Но иногда, пользователи, умудряются основательно заблокировать систему, так что привычных нажатий клавиш не достаточно для того чтобы привести терминал в рабочее состояние. Чтобы оживить терминал проделайте следующее:
  • Выключите терминал
  • Нажмите клавишу <1> , затем, не отпуская ее нажмите вторую клавишу <SF> (клавиша голубого цвета), и придерживая их обе нажатыми, нажмите оранжевую клавишу.
  • Если клавиши нажимались правильно, на экране терминала появится следующий текст
  • Терминал сбора с модулем StyloBHTII

    Предварительная настройка ТСД и модуля StyloBHTII

    Установка имени терминала

    Имя терминала устанавливается на самом устройстве следующим образом:
  • [Пуск].
  • Settings→ Control Panel.
  • В панели управления выбрать ярлык System.
  • В диалоге “System Properties” выбрать закладку “Device Name”.
  • В поле “Device name” указать имя устройства. Например, BHT-DEV01.
  • Нажать [OK].
  • Создание записи терминала в Papyrus

  • Выберите меню Справочники→ Оборудование→ BHT-терминал.
  • Нажмите [Добавить]
  • В появившемся диалоге:
  • Введите наименование записи (это наименование не обязательно должно соответствовать имени устройства, но во избежании путаницы, лучше сделать его таким же).
  • Выберите тип терминала ○StyloBHTII.
  • Укажите путь импорта/экспорта данных. Его можно узнать установив соединение вашего компьютера с терминалом и посмотрев свойства этого соединения.

    Например: C:/Documents and Settings/ivan-ws/Мои документы/bht-dev01 My Documents

  • Установка модуля на ТСД

  • Подключите терминал к компьютеру и установите связь между компьютером и ТСД.
  • Откройте в окне проводника Windows папку, в которой содержится дистрибутив программы StyloBHTII. Файл дистрибутива обычно имеет наименование, состоящие из префикса SBII и номера версии, непосредственно, следующим за этим префиксом. Расширение файла - EXE. Например: SBII101.EXE.
  • Конфигурация оборудования

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

    Возможность просмотра и редактирования этой конфигурации для конкретного пользователя определяется наличием элемента “Конфигурация оборудования” в списке доступных конфигураций.Вид диалога конфигурации показан на рис. link. Далее перечисляются элементы этого диалога и описывается его управляющие элементы.

    ▼Бухгалтерская операция списания сессии

    Вид операции, применяемый для формирования бухгалтерского документа, содержащего суммы, связанные со списанной кассовой сессией. Подробности см. на стр. link.

    ▼Вид персоналии - кассиры

    В этом комбо-боксе можно указать группу пользователей, используемую для загрузки информации о кассирах на кассовые узлы, для которых такая возможность поддерживается. В настоящее время Papyrus обеспечивает такую возможность для кассовых модулей Кристалл-Сет и Кристалл-УКМ. Для правильной загрузки информации о кассирах на кассовые узлы используются следующие правила указания наименований пользователей, относящихся к этой группе:

  • Если вместе с наименованием кассира необходимо загрузить пароль, то этот пароль должен быть указан в том же поле после собственно наименования кассира через двоеточие. Например: Соколова:абв Такой подход используется из-за того, что бы не нарушить секретность паролей, хранимых в базе данных Papyrus .
  • Если необходимо удалить из кассового модуля какого-либо кассира, то перед его наименованием следует поставить знак '-'. Например для удаления кассира Соколовой ее имя должно быть следующем: -Соколова:абв.
  • Настоятельно рекомендуется не применять пользователей из группы кассиров в качестве реальных пользователей Papyrus . Для этого всей группе следует максимально урезать права доступа к данным внутри базы данных Papyrus .

    ▼Кассовый узел по умолчанию

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

    ▼Прием данных с весов

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

    ▼Операция покрытия временных сессий

    Если здесь определен вид операции (этот вид должен относиться к типу операций Драфт-расход либо Драфт-приход), то при приеме незакрытой асинхронной кассовой сессии будет формироваться драфт-документ заданного вида. При повторном приеме этой сессии, драфт-документ покрытия временной сессии, который был сформирован до этого удаляется. Если вновь принятая сессия опять является временной, то формируется новый документ покрытия.

    Данная опция может понадобиться в том случае, если вы хотите анализировать продажи и остатки с учетом еще не завершенных кассовых сессий. Отчет “Остатки товаров” поддерживает функцию расчета остатков с учетом документов покрытия временных кассовых сессий.

    Существует дополнительная функциональная нагрузка на этом поле. Указанный здесь вид операции (если он относится к типу драфт-расход) используется для создания драфт-документов по кассовым чекам (см. link).

    ▼FTP-аккаунт

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

    ✓Проверять ввод с весов

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

    ✓Комплектация дефицита

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

    Вид операции, используемый для комплектации таких товаров, система извлекает из общих настроек (Админ→ Настройки кнопка [Операции] - Операция автокомплектации). Если вид операции автокомплектации не задан, то комплектация дефицитных позиций осуществляться не будет. Система комплектует только те позиции, для которых хватает наличного количества компонентов.

    ✓Закрывать кассовые сессии до 10-го уровня

    Если этот признак включен, то система не реализует списания кассовых сессий. Такие сессии остаются со степенью завершенности 10 и по ним не формируются документы списания. Это может быть полезно в тех случаях, когда вам нужна только информация о чеках, но не нужно получать привязанные к кассовым сессиям учетные документы списания. Пример: из раздела данных, соответствующего удаленному магазину вы получаете документы розничных продаж и, наряду с этим, кассовые сессии. Для того, чтобы избежать дублирования документов продаж, установите этот флаг и кассовые сессии будут существовать независимо от документов продаж.

    ✓Не проверять готовность кассовых машин к приему данных

    Для некоторых кассовых модулей система Papyrus проверяет их готовность к приему данных. Если кассовый модуль некорректно информирует о неготовности к приему данных, установка этого флага позволяет выгрузить данные из системы, несмотря на отсутствие явного подтверждения готовности кассового модуля. Признаком неготовности кассового модуля к приему данных является сообщение “Кассовая машина не готова к приему данных”.

    ✓Не использовать обобщенные товары для компенсации дефицита

    По умолчанию, при возникновении дефицита при списании кассовых сессий, система пытается для его компенсации использовать товары, входящие в обобщении наряду с дефицитным товаром. Например, если кассиры на кассе постоянно путают код хлеба “Дарницкий” с кодом хлеба “Окский”, то можно создать обобщенный товар, в который войдет как один так и другой хлеб. Тогда, при возникновении дефицита, скажем, по хлебу “Дарницкий”, система спишет хлеб “Окский”.

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

    ✓Тестировать чеки при закрытии кассовой сессии

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

    Здесь применяется та же процедура проверки, которая может быть вызвана вручную из таблицы просмотра чеков (стр. link).

    ✓Вести журнал чековых операций

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

    Опцию следует включать при использовании синхронных кассовых узлов. Журнал чековых операций в этом случае помогает разбирать спорные и сомнительные ситуации, возникающие на расчетно-кассовом узле. Если ваше предприятие работает только с асинхронными кассовыми узлами, данная опция излишняя. Более того, в этом случае, она может приводить к неоправданному снижению быстродействия при закрытии кассовых сессий.

    ✓Распознавать значение кодов

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

  • Товар по штрихкоду, совпадающему с введенным кодом
  • Лот по серийному номеру
  • Агента по поисковому коду персоналии
  • Дисконтную карту
  • Опция позволяет избежать применения специального префикса кода агента и нажатия кнопки выбора дисконтной карты. Однако, при этом необходимо, чтобы коды агентов, коды товаров и коды дисконтных карт не пересекались. Другими словами, не должно существовать товаров, имеющих такие же коды, что и коды агентов, равно как и дисконтных карт, имеющих коды такие же как у товаров либо поисковые коды персоналий-агентов.

    ✓Унифицированный расчет в кассовой панели

    Если флаг установлен, то в кассовой панели применяется новый метод (с версии 6.8.0) выбора способа оплаты чека. В большинстве случаев рекомендуется устанавливать этот флаг.

    ✓Подтверждать безналичную оплату при унифицированном расчете

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

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

    ✓Игнорировать товарный признак 'Без скидки' в кассовой панели

    Специализированная опция, блокирующая ограничение на предоставление скидки на товар, если в товара установлен флаг ✓Без скидки.

    Данная опция может быть использована в тех случаях, когда продажа товаров с помощью товарных документов совмещается с продажами через кассовую панель, причем применение скидки в документах должно ограничиваться признаком товара 'Без скидки', а в кассовой панели - нет.

    ✓Проверять дробность количества в кассовой панели

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

    Подробно о единицах измерения рассказано на стр. link.

    ✓Запрещать ввод номера карты вручную

    Опция применяется в кассовой панели для предотвращения злоупотреблений путем ввода номера персональной карты вручную.

    Система отличает ввод посредством сканера от ручного путем замера промежутков времени между поступлениями символов с клавиатуры.

    ✓Не применять выравнивание сумм документов списания

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

    Подробно вопрос освещен на стр. link.

    ✓Цены товаров по котировкам

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

    При отсутствии этого признака система определяет цены на товар исходя из учетных цен реализации по лотам. При загрузке данных на весы, для которых указан вид котировки, который следует использовать для определения цены, флаг ✓Цены товаров по котировкам имеет меньший приоритет. То есть, система сначала пытается определить цену на товар, исходя из котировки вида, указанного для весов, и только если такая котировка не определена для товара, используется общее правило.

    ✓Безусловная базовая цена для асинхронных узлов

    При загрузке на данных на асинхронные кассовые узлы для цен товаров не применяются правила розничных котировок (по дням недели, времен дня и т.д.).

    ✓Автосохранение синхронных чеков

    При каждом изменении чека в кассовой панели система автоматически сохраняет его в виде JUNK-чека. Эта опция резко снижает риск потери введенных данных, вызванной потерей связи с сервером, отключением электричества и т.д.

    ✓Привязывать чеки по документам к текущей сессии

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

    Длина кода агента и префикс кода агента

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

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

    Если длина кода равна 5, а префикс 77, то коды: 77001, 77209, 77014 будут восприниматься как выбор агентов с номерами поисковых регистров соответственно, 001, 209, 014. При этом код 7700102220001 будет восприниматься как код товара поскольку длина этой строки не равна 5 (хотя префикс и совпадает с заданным).

    Система не разрешает ввод длины кода агента, меньшей чем длина префикса плюс 1.

    Префикс кода отложенного чека
    Не используется.
    Предельное отличие цены при подстановке дефицита по кассовой сессии
    Параметр ограничивает возможность выбора товара для подстановке в таблице дефицита по кассовой сессии. Основное назначения параметра - снизить вероятность случайной или намеренной ошибки при компенсации дефицита.

    В этом поле может быть определен диапазон допустимого процентного отклонения учетной цены реализации подставляемого товара от цены, по которой был продан дефицитный товар. Нижняя граница диапазона должны быть меньше верхней. При этом отрицательное значение допускает уменьшение цены, а положительное - увеличение. Например: -60..30 означает, что система разрешит подставить товар, учетная цена которого составляет не менее 40% (100-60) и не более 30% от цены продажи.

    Подробнее о дефиците по кассовым сессиям см. стр. link.

    Период извлечения фиксированных цен (дней)
    Значение в этом поле определяет количество дней, начиная с текущего, которое программа охватывает при поиске лотов с различающимися ценами на выбранный товар.

    Такой обзор применяется в специальных случаях, когда одна из фиксированных цен может быть выбрана в ручную кассиром при продаже товара. В России это, главным образом, относится к сигаретам, имеющим фиксированную максимальную розничную цену (МРЦ), которая имеет в последнее время (2016-2018 годы) обыкновение часто меняться. Техника извлечения фиксированных цен применяется как для синхронных так и для асинхронных кассовых узлов.

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

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

    ▼Операция покрытия дефицита для своего склада

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

    ▼Операция покрытия дефицита для чужого склада

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

    ▼Вид котировки для чужого склада

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

    ✓Покрытие дефицита по другому складу по базовой цене реализации

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

    Если флаг не установлен, то цена реализации в таких документах будет устанавливаться согласно последнему лоту на складе, к которому относится создаваемый драфт-документ. Опция применяется в том случае, когда необходимо формировать документы производства по указанным драфт документах таким образом, чтобы учетная цена реализации формируемых товаров соответствовала складу, на котором осуществляется продажа. Флаг не доступен, если установлен вид котировки для чужого склада (см. выше).

    Конфигурация клавиатуры с ключом

    Система Papyrus поддерживает ограничение прав доступа к функциям кассовой панели по положениям ключа в специализированной клавиатуре.Для настройки соответствия положений ключа правам доступа необходимо выбрать пункт меню Админ→ Прочие конфигурации→ Конфигурация клавиатуры с ключом.

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

    Чеки возврата
    При заданных положениях ключа допускается вводить чеки возврата.
    Удаление покупки из чека
    Допускается удаление строки из текущего вводимого чека.

    Безналичный расчет
    Допускается применять закрытие чека за безналичный расчет.
    Снятие Z-отчета
    Допускается снятие Z-отчета (закрытие сессии).

    Отмена чека
    Допускается отменять текущий вводимый чек.
    Копия чека
    Допускается печать копии чека.

    Копия Z-отчета
    Допускается печать копии Z-отчета.
    Скидка на отдельную позицию
    Допускается вручную предоставлять скидку на отдельную позицию чека.

    Снятие X-отчета
    Допускается снятие X-отчета.
    Разделение чека

    Изменение чека после печати счета

    Для примера, если Z-отчет можно снимать только при положении ключа в позиции 3, то в поле напротив соответствующего текста (Снятие Z-отчета) следует поставить цифру 3.Если безналичный расчет допускается при положении ключа 1, 2 и 3, то в поле напротив “Безналичный расчет” следует указать 1,2,3.

    OOO "Петроглиф"
    Copyright © 2019