Set программа

  • автор:

Рекомендуем ознакомиться:

Основные вопросы перед покупкой Set Retail 10 (статья на нашем сайте центра внедрения).

Масштабируемая система управления кассами Set Retail 10

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

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

При этом максимальную выгоду от внедрения системы получают собственник магазина и руководитель IT-подразделения. SET Retail 10 ускоряет ключевые бизнес-процессы магазина, делая их прозрачными и легко управляемыми.

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

Быстрые расчеты на кассе и всегда актуальные цены, прозрачное начисление скидок и бонусов… В SET Retail 10 предусмотрено все, чтобы покупатель стал постоянным клиентом Вашего магазина.

SET Retail 10 в нашем каталоге

Страница нашего центра внедрения.

Начало работы

Кросс-платформенная система SET Retail 10 доступна через интернет из браузера или в виде отдельных приложений, благодаря технологии Flex.

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

Рекламные акции

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

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

Клиентские карты

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

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

Управление магазинами

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

Set Retail 10 Инструкция кассира

Транскрипт

1 Set Retail 10 Инструкция кассира

2 Оглавление Кассовый модуль Раскладка клавиатуры Кассовые операции Вход в систему Открытие смены Печать Х отчета Внесение денег Главный экран кассира Добавление товара в чек Добавление подарочной карты в чек Добавление товара из списка товаров Использование дисконтной карты клиента Использование купона Переход к расчету Выбор типа оплаты Тип платежа наличные Тип платежа оплата по банковской карте Тип платежа оплата по бонусной карте Тип платежа оплата по подарочной карте Тип платежа Бонусная карта Сбербанка Печать копии чека Изъятие денег Закрытие смены Смена пользователей Перезагрузка или выключение кассы Отмена последней позиции Декларация денежного ящика Информация о товаре Операции возврата и редактирования чека Возврат по чеку Произвольный возврат позиций в чеке Удаление позиции из чека Аннулирование чека

3 Кассовый модуль Кассовая программа это программа, которая установлена на кассовом узле и необходима для работы кассира. Она учитывает каждый товар, проходящий через кассу. С ее помощью кассир рассчитывает стоимость покупки и принимает оплату от покупателей. Set Retail очень простая и понятная кассовая программа. Она не требует обучения сотрудникам достаточно кратко с ней познакомиться. С ней удобно работать она не допускает возможность ошибок и сама подсказывает кассиру следующие действия. Раскладка клавиатуры Обратите внимание на меню кассовой программы! Каждый пункт меню (Кассир, Админ, Меню, Товары) кроме названия снабжен номером (1, 2, 3, 4, 5, 6, 7, 8, 9, 0). Вместо выбора каждого пунктами стрелками вверх, вниз, влево или вправо вы можете быстро перемещаться по пунктам меню, нажимая соответствующие цифровые клавиши на клавиатуре. Далее по тексту будут указаны сочетания по которым вы сможете перейти по пунктам. Каждый пункт меню кассовой программы предназначен для определенных задач. Весь функционал, требующийся для работы кассира представлен в меню Кассир, для администратора кассовой линейки (старший кассир) все необходимые функции представлены в меню Админ и т.д.

4 Меню 1 Кассир Редактирование чека Печать документов Копия последнего документа Копия документа Товарный чек Денежный ящик Открыть Декларировать Отложенный чек Отложить чек Поиск отложенного чека Меню 2 Администратор Операции со сменой Открыть смену Закрыть смену X отчет Внесение Изъятие Возврат Возврат по чеку Произвольный возврат Операции с чеокм Редактирование Аннулирование Печать документов Копия последнего документа Копия документа Товарный чек Меню 3 Меню Смена пользователя Перезагрузка Выключение Новая касса Меню ПИН пада Конфигуратор Оборудование Банки Внешние процессинги Номер магазина Юридическое лицо Настройка сети

5 Проверка связи Настройка времени Сохранение Калькулятор Меню 4 Товары Список товаров Информация о товаре Группы продаж Подарочная карта Меню 5 Оплаты Типы оплат Кассовые операции Вход в систему Для того, чтобы начать работу на кассе, необходимо ввести пароль.

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

7 Нажмите 1 «Открыть смену» для открытия смены. После нажатия клавиши 1 «Открыть смену» будет автоматически произведен процесс открытия смены. Во время открытия вам может быть предложено сделать внесение наличных и/или распечатать x отчет. Порядок действий регламентируется настройкой на кассовом сервере и соответствует регламенту магазина (для открытия смены нажать последовательно клавиши «Админ» 1 1). Печать Х отчета При необходимости, напечатать X отчет можно из меню Администратора. Для этого вам необходимо нажать кнопку «Админ» на кассовой клавиатуре.

8 В открывшемся меню выбрать пункт 1 «Операции со сменой» и далее выбрать пункт 3 «X Отчет».

9 Обратите внимание, что распечатать x отчет можно только при открытой смене. (для печати х отчета последовательно нажмите клавиши «Админ» 1 3) Внесение денег Для внесения наличных при открытой смене, нажмите кнопку «Админ» на кассовой клавиатуре. Далее выберите пункт 1 «Операции со сменой» и пункт 4 «Внесение».

10 В новом окне введите количество вносимых рублей.

11 (для внесения денег последовательно нажмите клавиши «Админ» 1 3)

12 Главный экран кассира 1 в верхней части экрана отображается состав чека. 2 отображается информация о скидках в чеке. Была ли применена дисконтная карта, сделана скидка или же применена ручная скидка 3 отображается общая сумма чека 4 в нижней части экрана отображается текущий товар и выполняемое действие. На скриншоте выше кассиру необходимо ввести количество товара Кукуруза Бондюэль 5 действие, которое необходимо выполнить кассиру Добавление товара в чек Для того, чтобы внести товар в чек необходимо просканировать штрихкод товара или ввести код вручную и нажать кнопку «Ввод».

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

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

15 Добавление товара из списка товаров Для добавления товаров из списка товаров, нажмите на клавиатуре кнопку «Товары», и выберите пункт 1 «Список товаров». Товар добавляется в чек по цене или по коду. Подтверждение производится клавишей «Ввод».

17 Выберите товар. Добавьте товар в чек, нажав кнопку Ввод.

19 Использование дисконтной карты клиента Карта клиента считывается на кассе по магнитной полосе до нажатия на кнопку «Расчет». Если карта покупателя найдена, появляется картинка дисконтной карты.

20 Использование купона Купон клиента считывается на кассе по штрих коду до нажатия на клавишу «Расчет» или вводится вручную. Переход к расчету Расчет по чеку производится по нажатию на клавишу «Расчет». Если необходимо после этого добавить товары в чек, необходимо нажать клавишу «Отмена». В момент перехода к расчету происходит расчет рекламных акций, действующих на чек и на его позиции. Выбор типа оплаты Для выбора типа оплаты необходимо нажать клавишу «Оплаты», далее выбрать пункт 1 «Типы оплат». Из представленного списка выберите нужный тип оплаты и нажмите клавишу «Ввод». Тип оплаты товаров по умолчанию наличные.

21 Тип платежа наличные Данный тип оплаты используется при оплате наличными. Кассир вводит сумму, внесенную покупателем и нажимает кнопку «Ввод». Тип платежа оплата по банковской карте Используется интегрированный с кассой банковский терминал. Следуйте инструкциям на экране банковского терминала. Тип платежа оплата по бонусной карте Используется при оплате внутренней бонусной картой. Тип платежа оплата по подарочной карте Используется при оплате внутренней подарочной картой. Тип платежа Бонусная карта Сбербанка Используется для оплаты бонусами Спасибо от Сбербанка. Выбирается данный тип платежа. При попытке оплатить бонусами отправляется запрос в процессинг сбербанка аналогично банковскому процессингу. Если баллов не хватает, приходит отказ в операции. При положительном ответе от процессинга сумма чека уменьшается на размер произведенной оплаты.

22 Печать копии чека Для печати копии чека необходимо нажать кнопку «Кассир» и выбрать пункт меню » 2 Печать документов».

23 Выберите пункт 2 «Копия документа». Поиск чека можно произвести по «номеру документа» или «по дате и номеру смены»

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

25 При выборе пункта «по дате и номеру смены» необходимо ввести дату смены

26 Выбрать смену

27 Выбрать тип документа

28 Изъятие денег Для операции изъятия денег необходимо нажать клавишу на кассовой клавиатуре «Админ», далее выбрать пункт 1 «Операции со сменой».

29 Выберите пункт 5 «Изъятие» и нажмите клавишу «Ввод». Можно вввести количество денег по купюрно. Для перехода между полями необходимо использовать клавишу ввод «Ввод» или клавиши курсора «вверх» «вниз». Далее подтвердить изъятие.

30 После подтверждения печатается документ изъятия. Если требуется ввести более точную сумму без подсчета количества купюр, тогда перейдите в поле «монеты» и введите необходимую сумму.

32 Закрытие смены Для закрытия смены необходимо нажать кнопку на кассовой клавиатуре Админ и выбрать пункт 1. «Операции со сменой»

33 Далее выбрать пункт 2 «Закрыть смену»

34 Необходимо подтвердить закрытие смены Далее будет предложено выполнить действия, соответствующие регламенту работу магазина. Например может быть предложено напечатать x отчет и провести изъятие денег из кассы. Следуйте инструкциям на экране кассовой программы. При закрытии смены всегда будет напечатан Z отчет. После этого смена считается закрытой. Смена пользователей Смена пользователей предназначена для учета персональных продаж. Для смены пользователя необходимо нажать кнопку Меню на кассовой клавиатуре и выбрать пункт меню 1 «Смена пользователя». Нажмите кнопку Ввод.

36 Для входа в кассу наберите свой пароль и нажмите клавишу «Ввод». Перезагрузка или выключение кассы Для перезагрузки кассы необходимо нажать клавиш Меню на кассовой клавиатуре и выбрать пункт 2 «Перезагрузка».

38 Для выключения кассы необходимо нажать клавишу Меню на кассовой клавиатуре и выбрать пункт 3 Выключение.

39 Отмена последней позиции Для отмены позиции в чеке в нижней части экрана, которая еще не добавлена в чек, можно воспользоваться клавишей «Отмена» При использовании клавиши «Отмена» позиция, которая была не добавлена в чек, будет отменена.

40 Декларация денежного ящика Для декларации денежного ящика необходимо нажать клавишу «Кассир» на кассовой клавиатуре и выбрать пункт 3 «Денежный ящик».

41 Выбрать пункт 2 «Декларировать» и нажать клавишу «Ввод».

42 Ввести сумму денег по купюрно. После подтверждения печатается документ декларации денежного ящика. Сумма денег в кассе не уменьшается.

43 Информация о товаре Для просмотра информации о товаре без добавления его в чек воспользуйтесь клавишей «Товары» на кассовой клавиатуре и выберите пункт 2 «Информация о товаре».

45 Операции возврата и редактирования чека Ниже описан тип возврата в зависимости от чека продажи Тип платежа Наличные Безналичные Подарочная карта Подарочная карта ЦФТ Кредитный договор Спасибо от Сбербанка Бонусная карта Plas Tek Особенности возврата Возврат тем же видом платежей При использовании интегрированного пин пада Сбербанка возврата возврат тем же видом платежей. Возврат только за наличные Возвращаются наличные средства. Баланс подарочной карты ЦФТ не восстанавливается. Возврат тем же видом платежа. Это означает, что возврат денег клиенту только в размере первоначального взноса. Возврат тем же видом платежа Для возврата по чеку, оплаченному бонусами Plas Tek, обратитесь к Администратору.

46 Возврат по чеку Для осуществления возврата нажмите клавишу «Админ» на кассовой клавиатуре и выберите пункт 2 «Возврат».

47 Далее выберите пункт 1 «Возврат по чеку» и подтвердите клавишей «Ввод».

48 Возврат по чеку может быть произведен двумя способами: 1. По дате и номеру смены

49 Для этого введите дату

50 Выберите смену и нажмите клавишу «Ввод»

51 Выберите необходимый чек и нажмите клавишу «Ввод».

52 Далее вам доступен возврат всего чека или возврат только одной позиции чека.

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

54 После подтверждения откроется денежный ящик и напечатается чек возврата.

55 Произвольный возврат позиций в чеке Для возврата части позиций нажмите клавишу «Админ» на кассовой клавиатуре и выберите пункт 2 «Возврат»

56 Далее выберите пункт «1 Возврат по чеку» и нажимать клавишу «Ввод»

57 Чек можно найти по «номеру документа» или «дате и номеру смены». Для поиска по номеру введите номер документа(чека)

58 Далее выберите «Возврат позиций»

59 Далее появится окно со списком позиций чека для возврат. Выберите позицию, нажав клавишу «Ввод» и измените количество. Если требуется убрать всю позицию, тогда ввести 0 и нажать клавишу. Если требуется вернуть определенное количество товара, тогда просто ввести его количество

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

61 Удаление позиции из чека По нажатию на клавишу «Кассир» на кассовой клавиатуре выберите «Редактирование чека».

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

63 Отредактируйте количество или удалите позицию Аннулирование чека Нажать клавишу «Админ» на кассовой клавиатуре и выбрать пункт меню 3 «Операции с чеком», далее выберите пункт 2 «Аннулирование».

64 Выберите пункт «Да» и нажмите клавишу «Ввод» на клавиатуре. Чек будет аннулирован.

Set Retail простая, понятная и удобная кассовая программа. С ее помощью кассир может рассчитывать стоимость покупки и принимает оплату от покупателей.
Помимо кассовой программы в поставку входит ПО Set Retail Кассовый сервер. Сервер собирает и обрабатывает данные о работе касс и продажах товаров, следит за такими операциями, как загрузка цен на кассы, печать ценников, закрытие и открытие смен, правила продажи отдельных групп товаров.
Сервер собирает и обрабатывает данные о работе касс и продажах товаров. Подробнее: http://www.crystals.ru/avtomatizacija-torgovli Сервер собирает и обрабатывает данные о работе касс и продажах товаров. Подробнее: http://www.crystals.ru/avtomatizacija-torgovli Сервер собирает и обрабатывает данные о работе касс и продажах товаров. Подробнее: http://www.crystals.ru/avtomatizacija-torgovli
Кассиру не нужно думать о том, что он продает, какие ограничения действуют на этот товар и какие способы оплаты существуют. Он просто проводит товары через сканер, а Set Retail берет на себя все остальные операции и защищает кассира от ошибок.
Set Retail исключает возможность ошибки. Программа сама определяет следующее действие кассира. Если товар весовой — предлагает его взвесить. Если штучный — запрашивает число товаров. Сведения о товарах и чеке удобно отображаются на экране. Наверху — информация о товарах в чеке, внизу — информация о конкретном товаре.
Бывает такое, что кассовый сервер или компьютерная сеть ломаются. Это особенно неприятно в пиковые часы продаж. Кассовая программа Set Retail продолжит обслуживать покупателей, рассчитывать скидки и обрабатывать рекламные акции в автономном режиме. Потеря данных о совершенных продажах исключена. Когда канал связи будет восстановлен, все данные будут отправлены на кассовый сервер. Даже если касса будет внезапно выключена, то после ее включения работа продолжится ровно с того места, когда произошло выключение.

Новые возможности Set Retail 10

Какие функции появились в Set Retail 10 с начала 2019 года, что изменилось в работе решения и как это поможет нашим клиентам

Для сокращения издержек

Работа с электронными ценниками Hanshow

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

Теперь Set Retail 10 поддерживает работу с электронными ценниками Hanshow. Это один из крупнейших производителей таких устройств: в 30 странах мира работает более 20 млн электронных ценников Hanshow. В России их используют «Лента», «О’КЕЙ», «Ашан», «Верный» и другие ритейлеры.

Электронные ценники особенно удобно использовать для товаров, цена на которые часто меняется. Они будут эффективны при динамическом ценообразовании. Благодаря интеграции Set Retail 10 с ценниками Hanshow информация на них будет обновляться автоматически после изменения в системе.

Автоматизация комиссионной торговли

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

Такая схема позволяет платить меньше НДС, если поставщик работает по УСН. В договоре комиссии можно обозначить условия возврата некачественного товара поставщику с сохранением комиссионного вознаграждения. И это только некоторые преимущества.

Новый модуль Set Retail «Комиссионная торговля» позволяет торговать по договорам комиссии с учётом всех требований законодательства.

Печать ценников только для товаров на остатках

Теперь Set Retail 10 умеет печатать ценники только для товаров, которые есть на остатках магазина. Новая функция ускоряет процесс печати, сокращает затраты на бумагу и помогает высвободить ресурсы персонала. Сотрудники больше не тратят рабочее время, чтобы отредактировать, напечатать, вырезать и повесить ценники на товары, которые закончились.

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

Когда весы расположены в торговом зале, некоторые покупатели осознанно взвешивают 50-100 граммов продукта, печатают этикетку, а затем докладывают ещё. Это один из самых распространенных сценариев воровства.

Set Retail 10 предупредит о товарах с подозрительно маленьким весом и только после того, как кассир взвесит их на контрольных весах, добавит позиции в чек. Ритейлер сам может выбрать продукты и минимально допустимый вес при настройке. Наша рекомендация — от 100 граммов.

Сервис лимитов рекламных акций

Новый сервис в Set Retail 10 позволяет ограничивать количество срабатываний акций в определенный промежуток времени. Функцию можно настроить для одного покупателя: например, применение скидки на день рождения только один раз. Для покупателей определённых товаров — ограничив количество позиций, покупаемых со скидкой одним человеком (не больше 10 баночек икры по акции в одни руки). Или для всей сети: ограничить число скидочных купонов от поставщиков, выдаваемых на кассах.

Для скорости и качества обслуживания

Добавление позиций в чек при соблюдении условий

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

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

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

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

Добавление товаров через RFID

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

Для привлечения покупателей

Накопительный дисконт с пересчётом

В Set Retail 10 появился новый популярный бонусный механизм, регулирующий размер скидки в зависимости от суммы покупок за предыдущий период. Например, если покупатель потратил в этом месяце 10 тысяч рублей, в следующем его скидка будет увеличена на 5%. И наоборот: купил товаров меньше чем на 3 тысячи — в следующем месяце вернулся к базовой скидке сети.

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

Отмена оплаты при сбоях

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

Новая функция Set Retail 10 даёт возможность оперативно отменить оплату. Если деньги списались, а платёж не прошёл, кассир несколькими нажатиями отменит оплату. Покупателю не нужно будет ждать, как раньше, несколько дней — деньги вернутся на карту в течение часа. Благодаря этому он не будет испытывать негативных эмоций после визита в магазин и придёт снова.

Частичное списание с подарочной карты

Списание части средств с подарочной карты — возможность, которую покупатели особенно ценят за удобство. Такую функциональность мы добавили в Set Retail 10. С ней интерес к подарочным картам возрастёт: никто не откажется от покупки сертификата на большую сумму, ведь её получатель сможет воспользоваться им несколько раз.

Печать картинок на купонах

Решение Set Retail вкупе с контрольно-кассовой техникой Pirit теперь печатает изображения, логотипы и QR-коды не только на чеках, но и на скидочных купонах. Информация на купоне, представленная в таком новом и оригинальном формате, привлечёт больше внимания покупателя, чем процент скидки и мелкий шрифт. А значит — поможет повысить конверсию рекламных предложений.

Рекламные акции в прайс-чекерах

Мы модернизировали и другое решение из экосистемы Set Retail — Set Kiosk. Оно управляет прайс-чекерами CSI и теперь выводит на экран не только цену, фото и состав товара, но и действующие на него скидочные предложения.

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

Для соблюдения законов

Продажа маркированного табака

С версии 10.2.67.0 Set Retail 10 готов к продаже табачной продукции в соответствии с актуальными требованиями законодательства о маркировке.

Проверка возраста покупателя

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

В Set Retail 10 для каждого товара можно указать минимальный возраст, с которого разрешена покупка. При продаже таких товаров касса автоматически будет запрашивать подтверждение, что покупатель не моложе определённого возраста. Кассир легко сверит дату на экране с датой рождения покупателя в паспорте (или визуально) и примет решение о продаже. Если в чеке несколько товаров с одинаковым возрастным ограничением, система запросит возраст один раз.

Уведомление для кассира при продаже товара с возрастным ограничением

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

Для надёжности и удобства

Надёжность в сетях любого масштаба

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

Модернизация интерфейса

Мы по модулям переводим Set Retail 10 на новую технологию визуализации HTML5 вместо устаревшей Adobe Flash. Благодаря этому интерфейс модулей становится более удобным и современным, а решение работает на мобильных устройствах. Мы уже перевели на HTML5 «Операционный день», «Персонал» и «Магазины», а до конца года закончим перевод остальных модулей.

Модуль «Операционный день» в новом интерфейсе на базе HTML5

Если вы хотите узнать больше о возможностях Set Retail 10 или добавить новую функцию, свяжитесь с нами:
Алексей Онуфриев

НАПИСАТЬ АЛЕКСЕЮ

Строим стенд производительности на примере сервера Set Retail 10


Привет. Хочу вам рассказать, как мы шли по дороге понимания производительности нашей системы Set Retail 10. А именно, как мы учились измерять производительность, и какими способами отслеживали ее изменения.
Для тестирования мы построили стенд производительности, и теперь на несколько дней запускаем на нём нагрузочные тесты. На этапе проработки тестового стенда мы сломали много копий о щиты ожесточённых споров. Но нам удалось найти ответы на самые главные вопросы — что и как делать, и в какой последовательности. Буду рад, если наш опыт станет полезен и вам.
Несколько слов о сервере Set 10. Это Enterprise Java-приложение на 500 бинов, которые разбиты примерно на 100 модулей. Каждый из бинов более или менее связан с остальными. Эта небольшая армия (точнее, батальон) бинов обслуживает 20-30 потоков данных. Логически они не зависят друг от друга, однако, так как все крутится на одной машине, когда начинает литься поток данных это сказывается и на остальных процессах. Я бы сравнил эту систему с котлом где “варятся” бины, и который может “переварить” все, что в него кинут.
До недавнего времени вопросы производительности сервера Set 10 решались «набегами». Мы смотрели места, которые с нашей точки зрения работали не совсем оптимально. Для таких мест писались разовые скрипты, нагружающие эти места и как-то показывающие их «проходимость». Далее выполнялись работы по оптимизации таких «проблемных мест», и снова запускались скрипты «нагрузи и померь». По результатам смотрелась разница, делались выводы, насколько увеличилась скорость в этом месте. Потом докладывали начальству, все радовались, но на один вопрос мы никак не могли ответить (а нам его часто задавали): «ОК, вы вот это оптимизировали, и что это дало в целом системе? Насколько она стала быстрее работать?»
Так продолжалось бы и дальше, однако нам потребовалось выработать систематический подход к вопросу производительности. Толчком для этого стала необходимость выдвинуть системные требования для железа, на котором будет крутиться наша сложная система. А сложность тут кроется в том, что модулей много, и потоков данных много. Каждый пользователь системы может использовать одни модули и не использовать другие. К примеру, один клиент может пользоваться внешней системой лояльности, и это никак не будет нагружать большую часть модулей нашего сервера, а другой будет использовать ее активно, имея миллионы клиентских карт и активно выдавать им бонусы, купоны, подарки и т.д.
Один клиент может генерировать по 1 чеку в полчаса с 300 касс, а другой может вести активную торговлю скоростью чек в минуту на каждой из 20 касс. Получается, что одна и та же версия такой «сложной системы» может иметь разные требования у разных клиентов. Вот тут-то и пришло понимание, что система «набегов» не помогает решить эту задачу. Мы не можем выставить требования для всей системы в целом. Нужно знать, какая конфигурация у клиента, и это первая зависимость, которую мы обнаружили.
Чтобы ответить на этот вопрос требуется взять некоторый набор оборудования m1, m2, …. и некоторый набор конфигураций k1, k2 … и найти для каждой такой конфигурации ki оборудование mj — на котором эта конфигурация будет справляться с задачами клиента, а именно с обслуживанием продаж. Сразу скажу, что мы отдельно выделили 3-4 конфигурации, которые взяли за базовые (чтоб хоть как-то сократить количество вариантов), и для которых будем искать требования. Так вот, основной вопрос в том, насколько хорошо работает конкретный сервер на конкретной машине? То есть, взяв конфигурацию Ki на оборудовании Mj, как определить хорошо ли работает система?

Логически — это функция сопоставления работающего под нагрузкой сервера числу:
F(x)->y
Запрограммировав такую функцию в виде кода/скрипта/стенда — мы получим мощный инструмент, который поможет нам ответить на все поставленные перед нами вопросы. Но обо всем по порядку.
F(x): что это за функция и от каких переменных она считается?
Эта функция считает, насколько «хорошо» работает наша сложная система. Не вдаваясь в реализацию, сразу можно сказать, что она зависит как минимум от железа (на быстрых машинках система будет работать лучше, чем на медленных), конфигурации сложной системы (то, о чем я уже говорил выше, кто-то использует одни модули, кто-то другие), версии кода (с выпуском новых версий системы, ее производительность может увеличиваться, или наоборот уменьшаться). Тут можно придумать еще что-то специфичное для вас, но в нашей компании мы договорились, что эти параметры хорошо отражают зависимости производительности. Итого получилась функция от 3-х переменных.
->y: что за значение?
Числовой показатель, хорошо ли работает сервер. Если число большое — сервер работает хорошо. Если число маленькое — сервер работает недостаточно хорошо. Это число может быть как чем-то абстрактным (очки производительности) или же очень конкретным (скорость в конкретных единицах). Важно, чтоб это было одно число, далее станет ясно, почему. Мы в компании договорились, что у нас это будет процентное выражение от достигнутых на этом прогоне бизнес-требований. То есть если мы получили результат F(x)=84%, это означает, что система отвечает требованиям бизнеса на 84%.
Итого, мы получили описание функции как:
F(железо, конфигурация, версия) -> % от бизнес требований
Если мы сможем реализовать эту функцию программно, то мы как раз и получим наш стенд тестирования производительности, который сможет по конфигурации выдать подходящее железо, а на основе железа, сказать, на какую конфигурацию системы можно рассчитывать. Помимо прочего, на таком стенде можно будет (зафиксировав железо и конфигурацию) мерить производительности от версии к версии, а если зафиксировать железо и версию, то можно выделять параметры внутри конфигурации, которые более чем другие влияют на производительность.

Конфигурация

Из 3-х параметров нашей функции производительности только конфигурация вызывает вопросы. Действительно, запуская один и тот же тест на разном оборудовании, мы получим разные значения функции производительности, это понятно и не вызывает особых вопросов. С версией тоже проблем нет — запуская тест на разных версиях, мы так же имеем свободную размерность и можем её менять, как хотим. Но с конфигурацией у нас были большие вопросы. К примеру, какие параметры должны входить в конфигурацию? Как их комбинировать? Кто их должен формулировать — программисты или бизнес? Что в конкретном случае мерить?

После долгих споров мы пришли к следующим выводам:

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

2. Далее бизнес выставляет требование к каждому фактору по списку. Требование не должно зависеть ни от других частей системы, ни от железа, ни от прочих факторов. Эти требования мы еще использовали для выставления количественной оценки: требование выполнено — 100%, требование выполнено наполовину — 50% и т.д.
3. Так как система работает на одной машине, то нельзя их проверять по очереди (все по очереди они могут работать быстро, но все вместе у реального заказчика — тормозить), поэтому нагружать нужно все и сразу.

Пример:

Примеры таких факторов в системе автоматизации продаж ритейлера: Скорость прогрузки товаров, карт, скорость доставки чеков с касс, Скорость формирования отчетов,…
Пример бизнес требований: скорость товаров — 100 товаров/сек на все кассы, скорость карт 100 карт/сек на все кассы, время доставки чека не должно превышать 5 минут.
Пример конфигурации из этих факторов (средний магазин): товаров прогружать — 300 000, карт 10 000 000, касс — 20, чеки шлются с касс — 1 чек/касса/минута.

Реализация

Для реализации стенда производительности мы просмотрели несколько готовых решений, на которых можно было основывать подобный стенд.
Требования были довольно простыми:
1. Возможность запускать sh/bat скрипты, для установки и настройки системы на удаленной машине перед нагрузкой
2. Возможность запускать Java-код для нагрузки системы на удаленной машине
3. Возможность снятия как базовых метрик машины (память, диск, процессор, сеть) так и наших внутренних метрик (доступность по HTTP, внутренние очереди в БД) в процессе теста
4. Возможность все полученные данные теста вывести на 1 странице в виде графиков. Тут могут быть дополнительные данные теста (лог медленных запросов, результаты анализа памяти …).

Что мы пробовали:

1. JMeter — система нагрузочного тестирования. Очень специфичный инструмент. Изначально разрабатывался для нагрузки WEB-приложений, и это чувствуется. Достаточно сложно реализовать произвольный тест производительности, чтобы потоки нагрузки создавались в определенном месте теста, чтобы был этап ПРЕ-теста и ПОСТ-теста. Много проблем с визуализацией результатов теста (встроены некоторые графики и можно генерить картинки по ним, но все равно генерация общей страницы предполагается делать за пределами JMeter). В общем, написать свой алгоритм теста проще оказалось на Java, чем разбираться с многообразием нодов JMeter и их последовательностью и ограничениями.
2. Zabbix — система мониторинга. Умеет запускать скрипты и мониторить любые метрики. Рассматривалась возможность логику теста зашить в скрипты (не очень хотелось так делать) или вынести в Java. Огромный плюс zabbix’a — он уже умеет мониторить основные параметры системы и можно легко дописывать свои параметры для мониторинга. Плюс есть наглядные графики. Но мы нашли еще более простое решение.
3. Glances — система мониторинга. Позволяет мониторить основные параметры удаленной машины. Легко устанавливается, запускается в виде сервера и имеет API по HTTP/Json. Все очень просто и удобно.
В итоге, логику теста мы реализовали на Java, мониторинг работает на glances, небольшой веб-сервис умеет запускать тесты и показывать их результаты (html, js), для графиков использовали chartJS
Выглядит это так:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *