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

Поиск в каталоге

В каталоге можно выполнить поиск товаров и каталогов по наименованию. По умолчанию поиск выполняется от 3-х символов. Для изменения количества символов можно воспользоваться настройкой:

Наименование параметраВозможные значенияОписание
Файл /opt/sst-sco/conf/picklist.ini, секция [PickList], настройки каталога товаров
filterSize

целое положительное число
по умолчанию 3

Минимальное количество символов для поиска

Текст подсказки, отображаемый в поле поиска при вводе меньшего количества символов, по умолчанию не задан. Его можно задать через id pickListSearchMinLength. Пример для 3-символов:

/opt/sst-sco/conf/i18n.ini
[I18n.ru]
pickListSearchMinLength = от 3-х символов

Подтверждение выбора товара

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

Наименование параметраВозможные значенияОписание
Файл /opt/sst-sco/conf/picklist.ini, секция [PickList], настройки каталога товаров
confirm
  • true
  • false (по умолчанию)
Подтверждать выбранный товар.
Если включена, то после нажатия на товар отображается диалог подтверждения выбора

Настройка периода обновления каталога товаров

Есть возможность задать период обновления данных, отображаемых в каталоге товаров.
Информация обновляется:

  • при переходе в каталог или в группу товаров,
  • при нахождении в каталоге или в группе товаров.
Наименование параметраВозможные значенияОписание
Файл /opt/sst-sco/conf/picklist.ini, секция [PickList], настройки каталога товаров
updateInterval

целое положительное число (от 1)
по умолчанию 30

Период обновления каталога в секундах

Отображение элементов каталога

Для изменения отображения элементов каталога можно воспользоваться настройками:

Наименование параметраВозможные значенияОписание
Файл /opt/sst-sco/conf/picklist.ini, секция [PickList.PickListForm.items], настройки отображения элементов каталога
itemSize

<ширина>x<высота>
по умолчанию не установлено
в теме оформления slim 230x270

Размеры элемента в пикселях. Адаптивная версия параметра gridSize, позволяет на любом экране отображать примерно одинаковые элементы. Берется доступное место под каталог, делится на itemSize, полученное значение устанавливается как gridSize.
Если этот параметр установлен, то gridSize игнорируется. Используется в теме slim.

gridSize<количество столбцов>x<количество строк>
по умолчанию 4x2
Количество кнопок по ширине и высоте.
Рекомендуется использовать itemSize вместо этого параметра
maxLinesцелое положительное число
по умолчанию 2
Максимальное количество строк наименования. Если наименование товара/каталога будет длиннее, то текст будет отображаться с ограничением знаком многоточия. При 0 текст отображается полностью.
styleSheetстрока со стилями
по умолчанию не установлено
Стили отображения элементов. 
Пример компактного отображения элементов каталога
[PickList.PickListForm.items]
itemSize = 160x160
styleSheet = "font-size: 18px"

Отображение цен в каталоге товаров

На кнопках товаров в каталоге можно включить отображение цен настройкой showPrice.
С ценой дополнительно можно отображать единицу измерения товара в формате "<price> за 1 <unit>" при включении настройки showUnits.
По умолчанию отображение настроено для темы default и slim без рекламы, цена отображается над наименованием слева.

При любом изменении отображения элементов каталога также необходимо настроить отображение цены через style.qss
Наименование параметраВозможные значенияОписание
Файл /opt/sst-sco/conf/picklist.ini, секция [PickList], настройки каталога товаров
showPrice
  • true
  • false (по умолчанию)
Показывать цену товара в каталоге
showUnits
  • true
  • false (по умолчанию)
Показывать единицы измерения с ценой товара
Для работы необходимо включить отображение цены showPrice

Примеры ниже работают только при выключенной настройке showQuantity.

Пример отображения цены сверху слева для default
.PickList--PickListForm #extra {
    margin-top: 0px;
 }

.PickList--PickListForm #extra[text] {
    color: #666;
    background-color: #fff;
}
Пример отображения цены сверху слева для slim с рекламой
#FormingForm .PickList--PickListForm #extra {
    margin-top: 0px;
 }
 
#FormingForm .PickList--PickListForm #extra[text] {
    color: #666;
    background-color: #fff;
}

Кастомизация отображения товаров в каталоге

Можно изменить отображение цены и единиц для товаров в каталоге.

В новую тему оформления добавляются настройки:

conf/picklistbutton.ini
[PickList.PickListButton.layout]
type = vertical
margin = 0

item.0 = ImageView(image)
item.1 = QWidget(textWidget)

[PickList.PickListButton.text]
maxLines = 3

[PickList.PickListButton.textWidget.layout]
type = horizontal
margin = 0
spacing = 4

item.0 = QWidget(priceWidget)
item.1 = MultilineLabel(text)

[PickList.PickListButton.priceWidget.layout]
type = grid
margin = 4
verticalSpacing = 0

item.0.0.1.1 = QLabel(price), AlignRight|AlignTop
item.1.0.1.1 = QLabel(unit), AlignRight|AlignTop
item.2.0.2.1 = Spacer(Minimum, Minimum)
style.qss
.PickList--PickListForm #priceWidget {
    background-color: #ccc;
    max-width: 85px;
}

.PickList--PickListForm #textWidget {
    max-height: 85px;
}

.PickList--PickListForm #text {
    font-size: 14pt;
    qproperty-alignment: "AlignLeft|AlignTop";
}

.PickList--PickListForm #menuButton[itemGroup="true"] #text {
    font-size: 20pt;
    qproperty-alignment: "AlignCenter";
}

.PickList--PickListForm #price {
    font-size: 18pt;
}

.PickList--PickListForm #unit {
    font-size: 10pt;
}

.PickList--PickListForm #menuButton[hasPrice="false"] #text {
    padding: 0 10px;
    qproperty-alignment: "AlignCenter";
}

Наименование товара отображается максимально в 3 строки (maxLines).
Если цена товара не получена, наименование по умолчанию будет отображаться по центру.
Настройки применяются к темам на основе slim и default.

Получение цены при запросе каталога товаров (Artix SCO)

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

НаименованиеВозможные значенияОписание
Файл /linuxcash/cash/conf/ncash.ini.d/sstsco.ini, секция [SstSco], настройки интеграции с SCO
pickListWithPrice
  • true
  • false (по умолчанию)
Отправлять цену при запросе каталога товаров

Отображение количества товара

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

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

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

Наименование параметраВозможные значенияОписание
Файл /opt/sst-sco/conf/picklist.ini, секция [PickList], настройки каталога товаров

showQuantity

  • true
  • false (по умолчанию)
Показывать количество товара в чеке

Изменить размер иконки количества можно через параметр quantityInPickListHeight из группы параметров geometrytheme.json).

Для корректного отображения количества товара вместе с ценой необходимо настроить отображение через style.qss

Параметры отображения количества товара вместе с ценой зависят от темы оформления и настроек отображения рекламы.

Пример отображения количества и цены для темы default
.PickList--PickListForm #extra {
	margin-top: 8px;
}
Пример отображения количества и цены для темы slim
#FormingForm .PickList--PickListForm #extra {
	margin-top: 8px;
}
Пример отображения количества и цены для темы slim с рекламой
#FormingForm .PickList--PickListForm #extra {
	margin-top: -2px;
}

Для использования вместе с примером кастомизации в новую тему оформления дополнительно добавляются настройки:

conf/picklistbutton.ini
[PickList.PickListButton.image.layout]
margin = 2
item.0 = QLabel(quantity), AlignRight|AlignTop
  • No labels