Изменение визуальных форм

Материал из Википедия ЭТИМа (ETIM Wikipedia)
Перейти к навигации Перейти к поиску

Содержание


Общие сведения

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


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


Например с помощью изменения экранной формы пароля за 5 минут можно из такой формы ввода пароля:

Enter-password-blue.png

получить такую:

Enter-password-red.png


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

Местоположение файлов настроек:


/opt/R1Sensor/Settings


Стандартные каталоги программы: /opt/R1Sensor для ОС Linux и c:/R1Sensor для ОС Windows.

Правила формирования имен файлов:


Forms-X-Y.xml

Где:

X – название алгоритма работы (A0, A1 и т.д.).

Y – разрешение экрана (1024x768, 800х600 и т.д.),

Например для алгоритма А1 и разрешения 1024x768 имя будет: Forms-A1-1024x768.xml

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

FORMS 1.png

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

Все описания в файле записаны внутри тега AclasSelfServiceFormSettingsData, а описание форм находится внутри тега Forms:

<AclasSelfServiceFormSettingsData LastModify="22.08.2016 12:00:00" DBVersion="1.0.0">
  <Forms></Forms>
</AclasSelfServiceFormSettingsData>

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

  <Include File="Forms-A1-1024x768_Groups.xml"/>
  <Include File="Forms-A1-1024x768_SubGroups.xml"/>
  <Include File="Forms-A1-1024x768_Goods.xml"/>

В каждом файле структура тегов соответствует основному файлу.

Например, при установке программного обеспечения, для редактирования внешний вид кнопок на экране выбора товара нужно редактировать файл: Forms-A1-1024x768_Goods.xml

При использовании весового модуля LS215 (обычно с этим модулем используется персональный компьютер с тач-экраном на базе x86 совместимого процессора под управлением ОС Windows или Linux) формы в первую очередь ищутся в подкаталоге Settings/LS215. Подобное поведение связано с тем, что в настольных версиях ОС Windows или Linux визуальные размеры шрифтов отличаются от таких же шрифтов в ОС Embedded Linux, которая используется управляющих компьютера на базе процессоров ARM совместно с весовыми модулями LS515.

Использование специальных символов

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

Текст для задания в xml файле Значение
&lt;br&gt;
Перевод строки
&#xxxx;
Шестнадцатеричный код символа

Специальные символы HTML

символ html-код десятичный

код

описание
&nbsp; &#160; Неразрывный пробел
&ensp; &#8194; Узкий пробел (еn-шириной в букву n)
&emsp; &#8195; Широкий пробел (em-шириной в букву m)
&ndash; &#8211; Узкое тире (en-тире)
&mdash; &#8212; Широкое тире (em -тире)
&shy; &#173; Мягкий перенос
а́ &#769; Ударение, ставится после "ударной" буквы
© &copy; &#169; Копирайт
® &reg; &#174; Знак зарегистрированной торговой марки
&trade; &#8482; Знак торговой марки
º &ordm; &#186; Копье Марса
ª &ordf; &#170; Зеркало Венеры
&permil; &#8240; Промилле
π &pi; &#960; Пи (используйте Times New Roman)
¦ &brvbar; &#166; Вертикальный пунктир
§ &sect; &#167; Параграф
° &deg; &#176; Градус
µ &micro; &#181; Знак "микро"
&para; &#182; Знак абзаца
&hellip; &#8230; Многоточие
&oline; &#8254; Надчеркивание
´ &acute; &#180; Знак ударения
&#8470; Знак номера
🔍 &#128269; Лупа (наклонённая влево)
🔎 &#128270; Лупа (наклонённая вправо)
&#9742; Телефон
&#9993; Конверт, email, почта
💾 &#128190; Дискета
🛠 &#128736; Молоток и гаечный ключ, настройка
🔒 &#128274; Замок закрыт
🔓 &#128275; Замок открыт
🔔 &#128276; Колокольчик
🔕 &#128277; Колокольчик перечеркнутый
🗑 &#128465; Урна
🔥 &#128293; Огонь
🛇 &#128711; Запрещено
&#9940; Вход запрещен (кирпич)
&#9971; Фраг в воронке, местоположение, место встречи, гольф
знаки арифметических и математических операций
× &times; &#215; Умножить
÷ &divide; &#247; Разделить
< &lt; &#60; Меньше
> &gt; &#62; Больше
± &plusmn; &#177; Плюс/минус
¹ &sup1; &#185; Степень 1
² &sup2; &#178; Степень 2
³ &sup3; &#179; Степень 3
¬ &not; &#172; Отрицание
¼ &frac14; &#188; Одна четвертая
½ &frac12; &#189; Одна вторая
¾ &frac34; &#190; Три четверти
frasl; &#8260; Дробная черта
minus; &#8722; Минус
&le; &#8804; Меньше или равно
&ge; &#8805; Больше или равно
&asymp; &#8776; Приблизительно (почти) равно
&ne; &#8800; Не равно
&equiv; &#8801; Тождественно
&radic; &#8730; Квадратный корень (радикал)
&infin; &#8734; Бесконечность
&sum; &#8721; Знак суммирования
&prod; &#8719; Знак произведения
&part; &#8706; Частичный дифференциал
&int; &#8747; Интеграл
&forall; &#8704; Для всех (видно только если жирным шрифтом)
&exist; &#8707; Существует
&empty; &#8709; Пустое множество
Ø &Oslash; &#216; Диаметр
&isin; &#8712; Принадлежит
&notin; &#8713; Не принадлежит
&ni; &#8727; Содержит
&sub; &#8834; Является подмножеством
&sup; &#8835; Является надмножеством
&nsub; &#8836; Не является подмножеством
&sube; &#8838; Является подмножеством либо равно
&supe; &#8839; Является надмножеством либо равно
&oplus; &#8853; Плюс в кружке
&otimes; &#8855; Знак умножения в кружке
&perp; &#8869; Перпендикулярно
&ang; &#8736; Угол
&and; &#8743; Логическое И
&or; &#8744; Логическое ИЛИ
&cap; &#8745; Пересечение
&cup; &#8746; Объединение
знаки валют
&euro; &#8364; Евро
¢ &cent; &#162; Цент
£ &pound; &#163; Фунт
¤ &current; &#164; Знак валюты
¥ &yen; &#165; Знак йены и юаня
ƒ &fnof; &#402; Знак флорина
&#8381; Знак рубля
маркеры, птички, галочки, check mark
&bull; &#8226; Простой маркер
&#9675; Круг
· &middot; &#183; Средняя точка
&#8224; Крестик
&#8225; Двойной крестик
&spades; &#9824; Пики
&clubs; &#9827; Трефы
&hearts; &#9829; Червы
&diams; &#9830; Бубны
&loz; &#9674; Ромб
&#10084; Жирное сердце
&#10003; Символ галочка
&#10004; Жирная отметка галочкой
𐄂 &#65794; Крестик
🗸 &#128504; Тонкая галочка
&#9989; Жирная незакрашенная отметка галочка
&#9745; Галочка в квадрате
🗹 &#128505; Жирная галочка в квадрате
&#9888; Внимание!
карандаши, перья, кисти
&#9997; Пишущая рука
&#9998; Карандаш, направленный вправо-вниз
&#9999; Карандаш
&#10000; Карандаш, направленный вправо-вверх
&#10001; Незакрашенное острие пера
&#10002; Закрашенное острие пера
🖌 &#128396; Кисть, направленная влево-вниз
кавычки
" &quot; &#34; Двойная кавычка
& &amp; &#38; Амперсанд
« &laquo; &#171; Левая типографская кавычка (кавычка-елочка)
» &raquo; &#187; Правая типографская кавычка (кавычка-елочка)
&#8249; Одиночная угловая кавычка открывающая
&#8250; Одиночная угловая кавычка закрывающая
&prime; &#8242; Штрих (минуты, футы)
&Prime; &#8243; Двойной штрих (секунды, дюймы)
&lsquo; &#8216; Левая верхняя одиночная кавычка
&rsquo; &#8217; Правая верхняя одиночная кавычка
&sbquo; &#8218; Правая нижняя одиночная кавычка
&ldquo; &#8220; Кавычка-лапка левая
&rdquo; &#8221; Кавычка-лапка правая верхняя
&bdquo; &#8222; Кавычка-лапка правая нижняя
&#10075; Одиночная английская кавычка открывающая
&#10076; Одиночная английская кавычка закрывающая
&#10077; Двойная английская кавычка открывающая
&#10078; Двойная английская кавычка закрывающая
стрелки
&larr; &#8592; Стрелка влево
&uarr; &#8593; Стрелка вверх
&rarr; &#8594; Стрелка вправо
&darr; &#8595; Стрелка вниз
&harr; &#8596; Стрелка влево и вправо
&#8597; Стрелка вверх и вниз
&crarr; &#8629; Возврат каретки
&lArr; &#8656; Двойная стрелка влево
&uArr; &#8657; Двойная стрелка вверх
&rArr; &#8658; Двойная стрелка вправо
&dArr; &#8659; Двойная стрелка вниз
&hArr; &#8660; Двойная стрелка влево и вправо
&#8661; Двойная стрелка вверх и вниз
&#9650; Треугольная стрелка вверх
&#9660; Треугольная стрелка вниз
&#9658; Треугольная стрелка вправо
&#9668; Треугольная стрелка влево
звездочки, снежинки
&#9731; Снеговик
&#10052; Снежинка
&#10053; Зажатая трилистниками снежинка
&#10054; Жирная остроугольная снежинка
&#9733; Закрашенная звезда
&#9734; Незакрашенная звезда
&#10026; Незакрашенная звезда в закрашенном круге
&#10027; Закрашенная звезда с незакрашенным кругом внутри
&#10031; Вращающаяся звезда
&#9885; Начерченная белая звезда
&#9898; Средний незакрашенный круг
&#9899; Средний закрашенный круг
&#9913; Секстиле (типа снежинка)
&#10037; Восьмиконечная вращающаяся звезда
&#10057; Звёздочка с шарообразными окончаниями
&#10059; Жирная восьмиконечная каплеобразная звёздочка-пропеллер
&#10042; Шестнадцатиконечная звёздочка
&#10041; Двенадцатиконечная закрашенная звезда
&#10040; Жирная восьмиконечная прямолинейная закрашенная звезда
&#10038; Шестиконечная закрашенная звезда
&#10039; Восьмиконечная прямолинейная закрашенная звезда
&#10036; Восьмиконечная закрашенная звезда
&#10035; Восьмиконечная звёздочка
&#10034; Звёздочка с незакрашенным центром
&#10033; Жирная звёздочка
&#10023; Заострённая четырёхконечная незакрашенная звезда
&#10022; Заострённая четырёхконечная закрашенная звезда
&#9055; Звезда в круге
&#8859; Снежинка в круге
часы, время
&#9200; Будильник
&#8986; Наручные часы
&#8987; Песочные часы
&#9203; Песочные часы
🕰 &#128368; Каминные часы

Греческий алфавит

Греческий алфавит
строчные прописные описание
символ html-код символ html-код
α &alpha; Α &Alpha; Альфа
β &beta; Β &Beta; Бета
γ &gamma; Γ &Gamma; Гамма
δ &delta; Δ &Delta; Дельта
ε &epsilon; Ε &Epsilon; Эпсилон
ζ &zeta; Ζ &Zeta; Дзета
η &eta; Η &Eta; Эта
θ &theta; Θ &Theta; Тета
ι &iota; Ι &Iota; Йота
κ &kappa; Κ &Kappa; Каппа
λ &lambda; Λ &Lambda; Лямбда
μ &mu; Μ &Mu; Мю
ν &nu; Ν &Nu; Ню
ξ &xi; Ξ &Xi; Кси
ο &omicron; Ο &Omicron; Омикрон
π &pi; Π &Pi; Пи
ρ &rho; Ρ &Rho; Ро
σ &sigma; Σ &Sigma; Сигма
ς &sigmaf; Окончательная сигма
τ &tau; Τ &Tau; Тау
υ &upsilon; Υ &Upsilon; Ипсилон
φ &phi; Φ &Phi; Фи
χ &chi; Χ &Chi; Хи
ψ &psi; Ψ &Psi; Пси
ω &omega; Ω &Omega; Омега

Описание форм 

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

Для задания формы (как и для задания многих других элементов) используется тег Item.

Тип формы задается атрибутом Type.

Например:

<AclasSelfServiceFormSettingsData LastModify="22.08.2016 12:00:00" DBVersion="1.0.0">
  <Forms>
    <Item Name="GroupForm-Algoritm-A11" Type="13" Version="0.0.1.0" Created="19.03.2015">
      … Здесь будет описание элементов формы … 
    </Item>
  </Forms>
</AclasSelfServiceFormSettingsData>


Атрибуты Name, Version и Created - необязательны и служат для более удобного восприятия файлов с описанием.

Типы форм 

Тип формы Назначение формы Примечание
10 Форма с обычными группами товаров
11 Форма с подгруппами товаров
12 Форма с одновременным выводом обычных групп товаров и клавиатуры для набора кода товара  
13 Не используется  
14 Форма с вводом номера товара Для ввода кода пользователем (не фасовка)
15 Форма для режима фасовки  
16 «Плавающая» форма ввода номера товара Для ввода кода пользователем (не фасовка)
17 Форма для режима работы без групп товаров Выводятся кнопки для выбора или алфавитных или цифровых групп
18 Форма с автоматическими цифровыми группами Если форма не задана - используется форма 10
19 Форма с автоматическими алфавитными группами Если форма не задана - используется форма 10
20 Форма со списком товаров
21 Форма со списком товаров + популярные товарамы
40 Форма для вывода системных сообщений
Системное сообщение «Идет загрузка ПО» Подтип: MessageType=Loading
Системное сообщение «Критическая ошибка» Подтип: MessageType=CriticalError
Системное сообщение «Весы заблокированы» Подтип: MessageType=LockScale
Системное сообщение «Вызов продавца» Подтип: MessageType=CallService
Системное сообщение «Весы не работают» Подтип: MessageType=OutOfOrder
Системное сообщение «Нет связи с весовым модулем» Подтип: MessageType=NoLink
Системное сообщение «Ошибка печати» Подтип: MessageType=CommonPrintError
Системное сообщение «Не закрыта крышка принтера» Подтип: MessageType=ClosePrinterCover
Системное сообщение «Не установлена кассета» Подтип: MessageType=NoCassette
Системное сообщение «Установлена неверная кассета» Подтип: MessageType=BadCassette
Системное сообщение «Закончились этикетки» Подтип: MessageType=OutOfPaper
Системное сообщение «Не снята этикетка» Подтип: MessageType=RemoveLabel
Системное сообщение «Необходима калибровка принтера» Подтип: MessageType=NeedRecalibrate
41 Описание вывода веса (цены/стоимости)
42 Форма с выводом информации о товаре после печати этикетки
43 Описание вывода веса (цены/стоимости) для режима системного меню
44 Форма ввода пароля
45 Форма при печати, если нулевой вес
46 Форма при печати, если товар не найден
47 Форма ожидания выполнения действия
48 Форма ввода количества штучного товара Ввод количества пользователем
50 Форма для вывода рекламных сообщений для основного экрана
51 Форма для вывода рекламных сообщений для дополнительного экрана
52 Форма для вывода рекламных сообщений для дополнительного экрана в режиме фасовки
55 Форма обратной связи. Используется для вывода контактов для связи.
56 Форма показа QR кода в режиме системного меню.
57 Форма для вывода информации в режиме проверки цен.
58 Форма для вывода информации при ожидании отложенного сохранения данных.
59 Форма при печати, необходимо подтверждение печати Используется при голосовом управлении для подтверждения печати голосовой командой

Используемые теги и их иерархия

Название тега Описание Возможные "Type" для "Item" Примечание
<Form><Item>         
  Width        
  Height        
  StyleSheet        
  BackgroundColor        
  BackgroundPicture        
  ButtonsZone        
  Item   Group, Goods, Back, Forward, Empty, AlphaKeyboard, Keyboard, AlphaInputString, InputString    
  Item Number, BarCode, DisplayNumber, Name, Price, DiscountPrice, Total, Weight, Picture, SecondPicture, Action, Message, BackgroundText, BackgroundPicture. MiddlePicture    
  StyleSheet       
    ExtParams      
  StyleSheet        
  ExtParams        
  Pictures          
  Item         
  ExtParams       
  StaticTexts          
  Item         
  ExtParams       
  StyleSheet      
  Buttons          
  Item         
  ExtParams       
  StyleSheet      
  ErrorMessage          
  StyleSheet      
  ServiceZones          
  Item         
  Weight          
  StyleSheet      
  Tare          
  StyleSheet      
  Price          
  StyleSheet      
  Total          
  StyleSheet      
  ModeMessage         Для режима фасовки
  StyleSheet      
  StateMessage         Для режима фасовки
  StyleSheet      
  InfoMessage         Для режима фасовки
  StyleSheet      
  ProgressBar         Только для экрана загрузки
  Counter         Только для экрана загрузки
  ProgressPictures         Только для экрана загрузки
  Item         
</Item></Form>        

       

Дополнительные теги для изменения внешнего вида и поведения элементов

Название тега Описание Примечание
StyleSheet Тег описывающий визуальное представление элемента. Цвета, шрифт и т.д. Для задания используется тип CDATA.

Например:

<StyleSheet> <![CDATA[border-left: 3px; border-style: solid; border-left-color: black; ]]> </StyleSheet>
ExtParams  Тег задающий дополнительные параметры для элемента. Содержимое элемента задается в формате JSON.

Для элемента "InputString": "empty-text" : "текст при отсутствии введенного номера" и "empty-text-style-sheet" : "стиль текста при отсутствии введенного номера"

Для текстов, кнопок, картинок: "autohide-xxx" : "true/false" и "autoshow-xxx" : "true/false"

Например:

<ExtParams> <![CDATA[  { "smooth-transformation" : "true", "keep-aspect-ratio" : "true" } ]]> </ExtParams>

Атрибуты-описатели визуальных элементов

Название атрибута Описание Возможные значения Примечание
Type Тип элемента  
Enabled Разрешение/запрещение вывода элемента true/false
Top Координаты верхней границы элемента число если число от 0 – координата.

если число < 0 – координата   отсчитывается от противоположной границы родительского элемента.

Left Координаты левой границы элемента число если число от 0 – координата.

если число < 0 – координата   отсчитывается от противоположной границы родительского элемента.

Width Ширина элемента число если задано значение "0", тогда происходит увеличение размера по правой стороне до конца родительского элемента
Height Высота элемента число если задано значение "0", тогда происходит увеличение размера по нижней границе до конца родительского элемента
VAlign Выравнивание содержимого элемента по вертикали
HAlign Выравнивание содержимого элемента по горизонтали
Scaled Разрешение/запрещение растягивания содержимого элемента true/false если элемент является картинкой, включение данного атрибута позволяет растянуть загружаемую картинку до размеров элемента.
ScaledContent Непропорциональное растягивание картинок и текста. true/false
Tracing Обводка текста альтернативным цветом число если задано значение "0" - обводки нет
TracingColor Обводка текста альтернативным цветом Цвет обводки Например: rgb(255, 255, 255) - белый цвет
WordWrap Перенос слов по словам true/false
Text Выводимый текст текст Данное поле может содержать шаблон вывода значения для следующих типов: weight, price, total, tare.

Шаблон для вывода следующего типа: {%total%} - полное значение; {%int%} - целая часть; {%fract%} - дробная часть; {%fract-simple%} - дробная часть без лидирующих нулей.

Типы визуальных элементов

Тип элемента Возможные атрибуты Описание Примечание
Group Описание блока с кнопками групп товаров. Кнопки распологаются внутри блока в сетке.

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

Enabled Включение/выключение видимости элемента без удаления его из файла описания формы.  
Rows Количество рядов в сетке кнопок групп (кнопок по вертикали).  
ButtonInRow Количество колонок в сетке кнопок групп (кнопок по горизонтали).  
Top, Left, Width, Height Координаты блока верхнего левого угла и размер по ширине и высоте.  
MaxWidthButton, MaxMaxHeight, MinWidthButton, MinMaxHeight Максимальные и минимальные размеры кнопки.  
BackgroundPicture Фоновая картинка для каждой кнопки. Картинка расположена в самом нижнем слое.

Картинка растягивается пропорционально по всей кнопке. Размеры места под картинку соответствуют размеру кнопки.

MiddlePicture Дополнительная картинка для каждой кнопки. Картинка расположена над картинкой группы.

Картинка растягивается пропорционально по всей кнопке. Размеры места под картинку соответствуют размеру кнопки.

ForegroundPicture Картинка верхнего уровня для каждой кнопки. Картинка расположена в самом верхнем слое.

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

 
 
 
 
 
DigitGroup  
Name  
Number  
Picture  
DisplayNumber  
Price  
Action  
BackgroundText  
BackgroundPicture  
Back  
Forward  
Text  
TimeDate  
 
 
 
 
 
 

Типы кнопок (Buttons)

Если атрибут "Type" элемента из группы "Buttons" равен указанному в таблице значению, то элемент приобретает соответствующие возможности.

Тип кнопки Описание Примечание
MainMenu Переход на первоначальный экран.  
ResetPrinter Сброс (калибровка) принтера.  
AlphaGroups Переход на экран с алфавитными группами.  
DigitGroups Переход на экран с цифровыми группами.  
NameGroups Переход на экран с группами товаров.  
ExtraGroups Переход на экран с группами товаров (отличный от главного).  
PackingUserScreen Переход на экран с набором кода товара.  
PackingSplashScreen Показ всплывающего экрана с набором кода товара.  
PrintCopyLabel Печать копии последней этикетки.  
FeedPaper Промотка этикетка. Построчная.  
PrintTestLabel Печать тестовой этикетки.  
Close Закрыть текущую форму.
Retry Повтор последней операции. В данный момент не используется. 
PrintLabel Печать этикетки, если есть набранный (выбранный) код товара.  
PreviousGroup Переход на предыдущую группу товаров.  
NextGroup Переход на следующую группу товаров.  
BackGoodsPage Переход на предыдущую страницу товаров в пределах одной группы.  
ForwardGoodsPage Переход на следующую страницу товаров в пределах одной группы.  
SystemMenu Показать системное меню.  
Feedback Показать форму обратной связи (тип формы = 55).  
ClearInputString Очистить набранный номер товара при поиске.  
ClearAlphaInputString Очистить набранное название товара при поиске.  
TareWeight Выполнить тарирование веса..  
ZeroWeight Выполнить обнуление веса.  
ExtraGroups Показать дополнительный экран с группами.  
StartImageRecognition Запустить ручное распознавание товара нейронной сетью.  

Типы текстовых полей (StaticText)

Если аттрибут "Type" элемента из группы "StaticText" равен указанному в таблице значению, то элемент приобретает дополнительные возможности.

Если в текст элемента необходимо добавить принудительный переход на новую строку, то в текст нужно вcтавить следующую последовательность:

 &lt;br&gt

Специальные символы можно вставлять с помощью специальной конструкции:

 &#xxxx;

, где xxxx - шестнадцатеричный код символа.

Тип поля Описание Примечание
Text Вывод простого текста. В поле "text" находится текст для вывода. Для вывода фона/рамки достаточно в поле "text" ввести пробел. И возможно дополнение шаблонами для вывода следующего типа:

{%version%} - вывод полной версиии ПО, {%version-short%} - вывод сокращенной версиии ПО, {%scale-version%} - вывод версии весового модуля, {%serial-number%} - вывод заводского номера, {%all-ip-address%} - вывод всех IP адресов, {%eth-ip-address%} - вывод IP проводной сети, {%eth-mac-address%} - вывод MAC адреса проводной сети, {%wifi-ip-address%} - вывод IP адреса беспроводной сети, {%wifi-mac-address%} - вывод MAC адреса беспроводной сети.

BackgroundFone Вывод фонового цвета (так же выводит текст). В поле "text" находится текст для вывода. Для вывода фона/рамки достаточно в поле "text" ввести пробел. И возможно дополнение шаблонами для вывода следующего типа:

{%version%} - вывод полной версиии ПО, {%version-short%} - вывод сокращенной версиии ПО, {%scale-version%} - вывод версии весового модуля, {%serial-number%} - вывод заводского номера, {%all-ip-address%} - вывод всех IP адресов, {%eth-ip-address%} - вывод IP проводной сети, {%eth-mac-address%} - вывод MAC адреса проводной сети, {%wifi-ip-address%} - вывод IP адреса беспроводной сети, {%wifi-mac-address%} - вывод MAC адреса беспроводной сети.

DateTime Вывод текущего времени/даты В поле "text" находится шаблон для вывода времени/даты, состоящий из элементов:

dd - день; ММ - месяц; yyyy - год; hh - часы; mm - минуты; ss - секунды. Другие символы выводятся в неизменном виде.

GroupName Название текущей группы товаров.  
GroupPicture Основная картинка текущей группы товаров.  
GroupSecondPicture Дополнительная картинка текущей группы товаров.  
Weight Вывод текущего веса. В поле "text" находится шаблон для вывода следующего типа:

{%total%} - полное значение; {%int%} - целая часть; {%fract%} - дробная часть; {%fract-simple%} - дробная часть без лидирующих нулей; {%weight-text%} - единица измерения веса.

Tare Вывод текущей тары товара или глобальной. В поле "text" находится шаблон для вывода следующего типа:

{%total%} - полное значение; {%int%} - целая часть; {%fract%} - дробная часть; {%fract-simple%} - дробная часть без лидирующих нулей; {%weight-text%} - единица измерения веса.

Price Вывод цены товара. В поле "text" находится шаблон для вывода следующего типа:

{%total%} - полное значение; {%int%} - целая часть; {%fract%} - дробная часть; {%fract-simple%} - дробная часть без лидирующих нулей; {%currency%} - символ валюты; {%weight-unit%} - весовая единица товара.

Total Вывод общая сумма (цена * вес). В поле "text" находится шаблон для вывода следующего типа:

{%total%} - полное значение; {%int%} - целая часть; {%fract%} - дробная часть; {%fract-simple%} - дробная часть без лидирующих нулей; {%currency%} - символ валюты.

QRCode Вывод QR кода.
ActiveState Вывод активности работы.
WiFiState Вывод состояния WiFi.
EthState Вывод состояния проводной сети.

Порядок вывода визуальных элементов на формы

  1. Фоновая картинка формы
  2. Статичные тексты
  3. Статичные картинки
  4. Поля веса/цены/стоимости
  5. Кнопки
  6. Поле с выбором товаров
  7. Поля для входа в системное меню

Элементы, которые выводятся на экране позднее перекрывают ранее выведенные элементы.

Расширенное управление элементами с помощью "ExtParams"

Для элемента "InputString" и "AlphaInputString"

Имя тега Тип данных Описание Используется в алгоритмах
empty-text string Строка выводимая, когда не введен номер товара А11, А12, А13, А14, A21
empty-text-style-sheet string Стиль строки ввода, когда не введен номер товара А11, А12, А13, А14, A21
to-upper string Выводить все символы в ВЕРХНЕМ регистре А11, А12, А13, А14, A21
to-lower string Выводить все символы в нижнем регистре А11, А12, А13, А14, A21
autohide bool Автоскрывать при невыбранном товаре
autoshow bool Автопоказывать при невыбранном товаре
autohide-alphasearch bool Скрывать при поиске по алфавиту
autoshow-alphasearch bool Выводить при поиске по алфавиту
weight-is-stable bool Выводить при стабильном весе
weight-is-not-stable bool Выводить при не стабильном весе
weight-is-zero bool Выводить при нулевом весе
weight-is-not-zero bool Выводить при не нулевом весе
number-prefix string Выводить перед введенным значением
number-suffix string Выводить после введенным значением

Для элемента "BackgroundText"

Имя тега Тип данных Описание Используется в алгоритмах
selected-group-stylesheet string Cтиль кнопки текущей группы при выводе кнопок групп на форме товаров

Для элемента "Weigth"

Имя тега Тип данных Описание Используется в алгоритмах
enable-blink-on-error string
weight-not-stable-color string
weight-error-color string
weight-not-stable-style-sheet string
weight-over-flow-style-sheet string
weight-error-style-sheet string
weight-overflow-text string Текст на который заменяется вес в случае перегрузки весов AdPicturePackingSecondScreen, ScaleInfo

Для элемента "Tare"

Имя тега Тип данных Описание Используется в алгоритмах
hide-on-zero bool Скрывать поле, если значение тары ==0

Для элемента "Keyboard"

Имя тега Тип данных Описание Используется в алгоритмах
keyboard-map string
contents-margins integer array 4 числа для задания расстояния от границ.

Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5]

spacing integer Расстояние между кнопок по вертикали и горизонтали
v-spacing integer Расстояние между кнопок по вертикали
h-spacing integer Расстояние между кнопок по горизонтали
name string Задание имени поля клавиатуры. Используется для возможности изменения цветов и стиля через StyleSheet.

В StyleSheet необходимо задавать объект: QWidget#name { background:transparent; }

autohide bool Автоскрывать при невыбранном товаре
autoshow bool Автопоказывать при невыбранном товаре
autohide-alphasearch bool Скрывать при поиске по алфавиту
autoshow-alphasearch bool Выводить при поиске по алфавиту
weight-is-stable bool Выводить при стабильном весе
weight-is-not-stable bool Выводить при не стабильном весе
weight-is-zero bool Выводить при нулевом весе
weight-is-not-zero bool Выводить при не нулевом весе

Для элемента "AlphaKeyboard"

Элементов "AlphaKeyboard" может быть несколько.

Для каждого языка ввода создается отдельный элемент.

Имя тега Тип данных Описание Используется в алгоритмах
keyboard-map string
contents-margins integer array 4 числа для задания расстояния от границ.

Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5]

spacing integer Расстояние между кнопок по вертикали и горизонтали
v-spacing integer Расстояние между кнопок по вертикали
h-spacing integer Расстояние между кнопок по горизонтали
name string Задание имени поля клавиатуры. Используется для возможности изменения цветов и стиля через StyleSheet.

В StyleSheet необходимо задавать объект: QWidget#name { background:transparent; }

autohide bool Автоскрывать при невыбранном товаре
autoshow bool Автопоказывать при невыбранном товаре
autohide-alphasearch bool Скрывать при поиске по алфавиту
autoshow-alphasearch bool Выводить при поиске по алфавиту
weight-is-stable bool Выводить при стабильном весе
weight-is-not-stable bool Выводить при не стабильном весе
weight-is-zero bool Выводить при нулевом весе
weight-is-not-zero bool Выводить при не нулевом весе
search-anywhere bool Искать в любом месте любого слова наименования.

По умолчанию поиск по началу слов.

Данная опция имеет приоритет над другими опциями поиска.

Поддерживается начиная со сборок 4320.

search-only-first-word bool Искать при поиске по первому слову наименования товара или по любому.

По умолчанию поиск по началу любого слова

max-enter-count int Ограничение вводимого количества символов
autohide-numbersearch bool Автоматически скрывать при поиске по номеру

Для элемента "PackingKeyboard"

Имя тега Тип данных Описание Используется в алгоритмах
keyboard-map string
contents-margins integer array 4 числа для задания расстояния от границ.

Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5]

spacing integer Расстояние между кнопок по вертикали и горизонтали
v-spacing integer Расстояние между кнопок по вертикали
h-spacing integer Расстояние между кнопок по горизонтали
name string Задание имени поля клавиатуры. Используется для возможности изменения цветов и стиля через StyleSheet.

В StyleSheet необходимо задавать объект: QWidget#name { background:transparent; }

autohide bool Автоскрывать при невыбранном товаре
autoshow bool Автопоказывать при невыбранном товаре
autohide-alphasearch bool Скрывать при поиске по алфавиту
autoshow-alphasearch bool Выводить при поиске по алфавиту
weight-is-stable bool Выводить при стабильном весе
weight-is-not-stable bool Выводить при не стабильном весе
weight-is-zero bool Выводить при нулевом весе
weight-is-not-zero bool Выводить при не нулевом весе

Для элемента "Groups"

Имя тега Тип данных Описание Используется в алгоритмах
dont-show-empty-group-button bool Не показывать пустые кнопки групп, если групп меньше чем места в ряду кнопок
hide-current-group-button bool Скрывать кнопку текущей группы, при выводе кнопок групп на форме товаров
autohide bool Автоскрывать при невыбранном товаре
autoshow bool Автопоказывать при невыбранном товаре
autohide-alphasearch bool Скрывать при поиске по алфавиту
autoshow-alphasearch bool Выводить при поиске по алфавиту
weight-is-stable bool Выводить при стабильном весе
weight-is-not-stable bool Выводить при не стабильном весе
weight-is-zero bool Выводить при нулевом весе
weight-is-not-zero bool Выводить при не нулевом весе
contents-margins integer array 4 числа для задания расстояния от границ.

Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5]

v-spacing int Расстояние по вертикали между кнопками
h-spacing int Расстояние по горизонтали между кнопками

Для элемента "Goods"

Имя тега Тип данных Описание Используется в алгоритмах
contents-margins integer array 4 числа для задания расстояния от границ.

Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5]

v-spacing int Расстояние по вертикали между кнопками
h-spacing int Расстояние по горизонтали между кнопками
autohide bool Автоскрывать при невыбранном товаре
autoshow bool Автопоказывать при невыбранном товаре
autohide-alphasearch bool Скрывать при поиске по алфавиту
autoshow-alphasearch bool Выводить при поиске по алфавиту
weight-is-stable bool Выводить при стабильном весе
weight-is-not-stable bool Выводить при не стабильном весе
weight-is-zero bool Выводить при нулевом весе
weight-is-not-zero bool Выводить при не нулевом весе
imagerecognition-on-idle bool Выводить включенной, но неактивной системе распознавания товаров
imagerecognition-on-search bool Выводить при анализе товара системой распознавания товаров
imagerecognition-on-result bool Выводить при результативном распознавании товара
imagerecognition-on-error bool Выводить при ошибке распознавания товара

Для элемента "Price" и "Total"

Имя тега Тип данных Описание Используется в алгоритмах
contents-margins integer array 4 числа для задания расстояния от границ.

Слева - Сверху - Справа - Снизу. Например: [3, 5, 3, 5]

joint-price bool Выводить или цену, или цену со скидкой, если есть скидка на товар

Для элемента "Goods/Name"

Имя тега Тип данных Описание Используется в алгоритмах
replace-to int На что меняется название товара, если нет картинки и разрешена ее замена на название товара

0 - номер товара, 1 - код магазина, 2 - доп номера товара

use-name bool Использовать поле "Name" вместо "FullName". Поддерживается начиная со сборки 3860.
remove-1kg bool Удалять строки подобные "1 кг" из названия товара при выводе на экран. Поддерживается начиная со сборки 3960.
remove-1kg-regexp string При удалении строк "1 кг" использовать заданное значение в качестве фильтра поиска. Параметр задается в формате regular expressions. Поддерживается начиная со сборки 3960.
remove-weight bool Удалять строки подобные "вес." из названия товара при выводе на экран. Поддерживается начиная со сборки 3960.
remove-weight-regexp string При удалении строк "вес." использовать заданное значение в качестве фильтра поиска. Параметр задается в формате regular expressions. Поддерживается начиная со сборки 3960.

Для элементов "Picture", "SecondPicture"

Имя тега Тип данных Описание Используется в алгоритмах
smooth-transformation bool Режим масштабирования Если текст есть, он заменяет генерируемое системой значение в коде
transformation int Режим масштабирования: 0 - быстрое, 1 - качественное Если текст есть, он заменяет генерируемое системой значение в коде
keep-aspect-ratio bool Соблюдение пропорций при масштабировании Если текст есть, он заменяет генерируемое системой значение в коде
keep-aspect-ratio-by-expanding bool Соблюдение пропорций при масштабировании с расширением по максимальной строге Если текст есть, он заменяет генерируемое системой значение в коде
aspect-ratio int Соблюдение пропорций при масштабировании: 0 - не соблюдать, 1 - соблюдать, 2 - соблюдать с расширением Если текст есть, он заменяет генерируемое системой значение в коде
autohide bool Автоматически скрывать при невыбранном товаре
autoshow bool Автоматически скрывать при невыбранном товаре
autohide-alphasearch bool Скрывать при поиске по алфавиту
autoshow-alphasearch bool Выводить при поиске по алфавиту
weight-is-stable bool Выводить при стабильном весе
weight-is-not-stable bool Выводить при не стабильном весе
weight-is-zero bool Выводить при нулевом весе
weight-is-not-zero bool Выводить при не нулевом весе

Для элемента "StaticText"

Имя тега Тип данных Описание Используется в алгоритмах
autohide bool Автоскрывать при невыбранном товаре
autoshow bool Автопоказывать при невыбранном товаре
autohide-alphasearch bool Скрывать при поиске по алфавиту
autoshow-alphasearch bool Выводить при поиске по алфавиту
weight-is-stable bool Выводить при стабильном весе
weight-is-not-stable bool Выводить при не стабильном весе
weight-is-zero bool Выводить при нулевом весе
weight-is-not-zero bool Выводить при не нулевом весе
lower bool Разместить текст внизу под другими элементами
imagerecognition-on-idle bool Выводить включенной, но неактивной системе распознавания товаров
imagerecognition-on-search bool Выводить при анализе товара системой распознавания товаров
imagerecognition-on-result bool Выводить при результативном распознавании товара
imagerecognition-on-error bool Выводить при ошибке распознавания товара

Для элемента "Pictures"

Имя тега Тип данных Описание Используется в алгоритмах
autohide bool Автоскрывать при невыбранном товаре
autoshow bool Автопоказывать при невыбранном товаре
autohide-alphasearch bool Скрывать при поиске по алфавиту
autoshow-alphasearch bool Выводить при поиске по алфавиту
weight-is-stable bool Выводить при стабильном весе
weight-is-not-stable bool Выводить при не стабильном весе
weight-is-zero bool Выводить при нулевом весе
weight-is-not-zero bool Выводить при не нулевом весе
smooth-transformation bool Режим масштабирования Если текст есть, он заменяет генерируемое системой значение в коде
keep-aspect-ratio bool Соблюдение пропорций при масштабировании Если текст есть, он заменяет генерируемое системой значение в коде
movie bool Анимированная картинка (gif)

Для элемента "Progress"

Имя тега Тип данных Описание Используется в алгоритмах
showtext bool

Для элемента "PopularGoods"

Имя тега Тип данных Описание Используется в алгоритмах
enable-buttons bool Показывать или нет кнопки перехода между страницами

Для элемента "QRCode"

Имя тега Тип данных Описание Используется в алгоритмах
prescaler int Количество пикселей на бит полученного кода По умолчанию 1
error-correction int Уровень коррекции ошибок От 0 (lowest) до 3 (highest). По умолчанию 1.

Level L (Low): up to 7% damage.

Level M (Medium): up to 15% damage.

Level Q (Quartile):up to 25% damage.

Level H (High): up to 30% damage.

smooth-transformation bool Режим масштабирования Если текст есть, он заменяет генерируемое системой значение в коде
keep-aspect-ratio bool Соблюдение пропорций при масштабировании Если текст есть, он заменяет генерируемое системой значение в коде
encode-mode int Режим кодирования информации в коде От 0 до 7
text string Текст для кодирования в коде Если текст есть, он заменяет генерируемое системой значение в коде.

Шаблоны используемые при формировании текста:

{%sn%} - заводской номер весов.
{%date%} - текущая дата.
{%time%} - текущее время.
{%address%} - адрес места установки весов.
{%req-id%} - уникальный номер заявки/сообщения.
{%error%} - номер и описание ошибки.
{%from%} - источник сообщения (с какой формы отправили).
{%scale-info%} - общая информация о весах.
{%scale-model%} - модель весов.
{%full-system-info%} - полная информация о системе.
%0A или {%new-line%} - Переход на новую строку.

Для элемента "Forms"

Имя тега Тип данных Описание Используется в алгоритмах
show-time int Время показа формы Используется в форме "Feedback" для ограничения времени вывода

Описание создания клавиатуры (элементы хххKeyboard)

Данное описание используется при создании трех видов клавиатур:

  1. Цифровой - для выбора товара по номерам. Элемент: Keyboard
  2. Фасовочной - для выбора товара по номерам и использования специальных функций. Элемент: PackingKeyboard
  3. Алфавитной - для алфавитного поиска товаров. Элемент: AlphaKeyboard

Элементов "AlphaKeyboard" может быть несколько.

Для каждого языка ввода создается отдельный элемент.

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

Основные тэги

Имя тега Тип данных Описание Используется в алгоритмах
rows int Количество рядов клавиатуры
button-in-row int Количество кнопок в каждом ряду
row-x array Описание ряда x клавиатуры
button-x array Описание кнопки x
type int Тип кнопки
name string Название (надпись) кнопки
picture string Картинка кнопки
col-in-button int Количество занимаемых кнопкой столбцов

Типы кнопок

Код кнопки Тип кнопки Описание Примечания
-1 Пустая Не используется для нажатия - выводится пустое место
0...9 Цифры Используется для ввода чисел
10 C Сброс набранного
11 Ввод
12 Ноль
13 Промотка этикетки
14 Авто печать
15 Тара
16 Фикс товара
17 Итоговая этикетка
18 Выбор оператора
19 Буква Используется для добавления кнопки ввода букв
20 Пробел
21 Переключение алфавитной клавиатуры (смена языка)

Стили отображения

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

Для этого необходимо задать StyleSheet для блока клавиатуры.

Возможны следующие названия для кнопок:

ButtonSwitchLang
ButtonClear
ButtonPrint
ButtonZero
ButtonFeed
ButtonAutoPrint
ButtonTare
ButtonFixPLU
ButtonTotalLabel
ButtonSelectOperator
ButtonSpace
Цифровые кнопки ButtonX - X заменяется на тип кнопки
Алфавитные кнопки ButtonX_Y - X заменяется на тип кнопки, Y заменяется на unicode код буквы в десятичном представлении

Пример:

  <StyleSheet><![CDATA[ 
    * { color: rgb(0, 0, 0); font: bold 50pt "Futura PT"; margin: 5px; }
    QPushButton { border: 0px; border-style: solid; border-radius: 7px; background-color: #465682; color: white; font: bold 40pt "Futura LT"; qproperty-iconSize: 80px 80px;} 
    QPushButton#ButtonSwitchLang { color: #ffb722;} 
    QPushButton#ButtonClear { color: grey; font: bold 40pt "Futura PT"; qproperty-iconSize: 80px 80px; background-color: rgba(230, 230, 230, 0);} 
    QPushButton#ButtonPrint { background-color: red; color: white; font: bold 45pt "Futura PT"; } 
    QPushButton#ButtonPrint:hover { background-color: rgb(95, 89, 89); color: rgb(255, 255, 255); }
    QPushButton#ButtonClear:hover { background-color: rgba(95, 89, 89,0); color: rgb(255, 255, 255); }
    QPushButton:hover { background-color: rgb(95, 89, 89); color: rgb(255, 255, 255); }
  ]]></StyleSheet>

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

"spacing" : 0,
"keyboard-map" : {
  "rows" : 4,
  "button-in-row" : 3,
  "row-1" : {
    "button-1" : { "type" : 1 },
    "button-2" : { "type" : 2 },
    "button-3" : { "type" : 3 },
  },
  "row-2" : {
    "button-1" : { "type" : 4 },
    "button-2" : { "type" : 5 },
    "button-3" : { "type" : 6 },
  },
  "row-3" : {
    "button-1" : { "type" : 7 },
    "button-2" : { "type" : 8 },
    "button-3" : { "type" : 9 },
  },
  "row-4" : {
    "button-1" : { "type" : 10, "name" : "", "picture" : "{%algoritm-path%}/backspaceb.png", "col-in-button" : "1" },
    "button-2" : { "type" : 0 },
    "button-3" : { "type" : 11, "name" : "Ввод", "picture" : " " },
  },
}

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

"autohide-numbersearch" : "false",
"spacing" : 0,
"keyboard-map" : {
  "rows" : 7,
  "button-in-row" : 5,
  "row-1" : {
    "button-1" : { "type" : 19, "name" : "а", "picture" : " " },
    "button-2" : { "type" : 19, "name" : "б", "picture" : " " },
    "button-3" : { "type" : 19, "name" : "в", "picture" : " " },
    "button-4" : { "type" : 19, "name" : "г", "picture" : " " },
    "button-5" : { "type" : 19, "name" : "д", "picture" : " " },
  },
  "row-2" : {
    "button-1" : { "type" : 19, "name" : "е", "picture" : " " },
    "button-2" : { "type" : 19, "name" : "ж", "picture" : " " },
    "button-3" : { "type" : 19, "name" : "з", "picture" : " " },
    "button-4" : { "type" : 19, "name" : "и", "picture" : " " },
    "button-5" : { "type" : 19, "name" : "й", "picture" : " " },
  },
  "row-3" : {
    "button-1" : { "type" : 19, "name" : "к", "picture" : " " },
    "button-2" : { "type" : 19, "name" : "л", "picture" : " " },
    "button-3" : { "type" : 19, "name" : "м", "picture" : " " },
    "button-4" : { "type" : 19, "name" : "н", "picture" : " " },
    "button-5" : { "type" : 19, "name" : "о", "picture" : " " },
  },
  "row-4" : {
    "button-1" : { "type" : 19, "name" : "п", "picture" : " " },
    "button-2" : { "type" : 19, "name" : "р", "picture" : " " },
    "button-3" : { "type" : 19, "name" : "с", "picture" : " " },
    "button-4" : { "type" : 19, "name" : "т", "picture" : " " },
    "button-5" : { "type" : 19, "name" : "у", "picture" : " " },
  },
  "row-5" : {
    "button-1" : { "type" : 19, "name" : "ф", "picture" : " " },
    "button-2" : { "type" : 19, "name" : "х", "picture" : " " },
    "button-3" : { "type" : 19, "name" : "ц", "picture" : " " },
    "button-4" : { "type" : 19, "name" : "ч", "picture" : " " },
    "button-5" : { "type" : 19, "name" : "ш", "picture" : " " },
  },
  "row-6" : {
    "button-1" : { "type" : 19, "name" : "щ", "picture" : " " },
    "button-2" : { "type" : 19, "name" : "ы", "picture" : " " },
    "button-3" : { "type" : 19, "name" : "ъ", "picture" : " " },
    "button-4" : { "type" : 19, "name" : "э", "picture" : " " },
    "button-5" : { "type" : 19, "name" : "ю", "picture" : " " },
  },
  "row-7" : {
    "button-1" : { "type" : 10, "name" : "", "picture" : "{%algoritm-path%}/backspaceb.png", "col-in-button" : "4" },
    "button-2" : { "type" : 10, "name" : "я", "picture" : " " },
    "button-3" : { "type" : 1 },
    "button-4" : { "type" : 2 },
    "button-5" : { "type" : 19, "name" : "я", "picture" : " " },
  },
}

Дополнительное описание

Вот здесь