Работа с формули
от Wiki
Microinvest Баркод Принтер Pro позволява работа с динамични формули, които съставят съдържанието на определено поле, текст или QR код. В настоящия материал е описана технологията за съставяне на формула в програмата и изчисляване на съдържанието на съответното поле.
Съдържание |
Основи на формулите
Частите от формула, заградени с фигурални скоби {}, се изчисляват, ако елементите, включени в тях са с числови стойности - {израз за изчисляване}. Под-елемент, заграден с фигурални скоби {израз за изчисляване} трябва да съдържа математически израз, който ще се изчисли при отпечатване.
Израз, заграден с фигурални скоби {} може да съдържа само числа, имена на колони от базата и математически оператори.
Ако в {израз за изчисляване} има зададен числов елемент от базата, изразът ще се изчисли със стойността му.
Ако в {израз за изчисляване} има зададен не числов елемент от базата, изразът няма да се изчисли, а ще се отпечати на мястото на зададения елемент от базата, неговата стойност за съответната стока.
Изразът за изчисляване трябва да следва математическата последователност за изписване: операнд оператор операнд.
Важно: използва се десетична точка за дробни числа въведени в изрази за изчисляване.
Важно: Ако текстът на Formula не е свързан с базата, се визуализира текстовото й съдържание в дизайн режим (при конструиране на етикета).
Извън фигуралните скоби може да се въведе произволен текст - той ще се отпечати еднакво за всички етикети. Двоен интервал в този текст, задава нов ред при отпечатвне.
Оператори
Допустими записи на оператори във фигуралните скоби за конструиране на изрази за изчисляване:
оператори: +, -, *, /, ^, (, ), (sqrt), (√), (sin), (cos), (tg), (ctg),(sh), (ch), (th), (log), (ln), (exp), (abs), (upper), (sub), (round)
Всяка функция се загражда в кръгли скоби ().
За работа с функции записът е: {операнд (функция)}, или {(операнд) (операнд) (функция)} - означаващо прилагане на функцията върху операнда/операндите (числото/числата).
При повече от един последователни операнди, всеки се загражда в кръгли скоби.
За задаване на изричен ред на операциите, се добавят кръгли скоби.
Примери
{pricegroup3 * 2 (sqrt)} {pricegroup3 * (2 (sqrt))} {(10) (3) (log)} {5 (ln)} {3(√)}
Особености
Важно: "," е недопустима в изрази от Формула. Ползва се само за въвеждане на повече аргументи Важно: При делител 0 за изчисления в елемент Формула, се дели на 1, не на 0 при отпечатване на резултата.
Допустими записи на операнди във фигуралните скоби за конструиране на изрази за изчисляване:
1/числа 2/числови стойности, свързани с базата: "wholesaleprice", "retailprice", "pricegroup1", "pricegroup2", "pricegroup3", "pricegroup4", "pricegroup5", "pricegroup6", "pricegroup7", "pricegroup8", "wholesalepricex", "retailpricex", "pricegroup1x", "pricegroup2x", "pricegroup3x", "pricegroup4x", "pricegroup5x", "pricegroup6x", "pricegroup7x", "pricegroup8x", "wholesalepricedivx", "retailpricedivx", "pricegroup1divx", "pricegroup2divx", "pricegroup3divx", "pricegroup4divx", "pricegroup5divx", "pricegroup6divx", "pricegroup7divx", "pricegroup8divx", "qtty", "ratio" 3/стрингови стойности, свързани с базата: "displayname", "name", "description", "barcode1", "barcode2", "barcode3", "code", "catalog", "catalog2", "catalog3", "serialno", "itemlot", "productiondate", "enddate", "note", "location", "datetime", "date", "time" Ако в израз за изчисляване означен с фигурални скоби присъства стрингова стойност на елемент свързан с базата, изразът няма да бъде изчислен, а ще се отпечати стойността на стринга от базата за съответната стока, на мястото в израза, където е зададен.
Форматиране
Форматирането на резултата от изчислението във фигуралните скоби при печат, е както е зададено във форма „Документ“ -> „Настройки“ -> „Формат на цените“. Добавена е възможност за задаване на различен формат за отпечатване на резултата от всеки {израз за изчисляване} Различният формат се задава, като се изписва format непосредствено след отварящата фигурална скоба и индекс 1-9, обозначаващ желания формат: format0 - 0 format1 - 0.0 format2 - 0.00 format3 - 0.000 format4 - 0.0000 format5 - 0.00000 format6 - 0.000000 format7 - 0 руб. 00 коп. format8 - 0-00 format9 – 0°° Ако въведен израз във фигурални скоби {} е невалиден, още при дизайн Едиторът на Формула ще изведе съобщение за невалидна стойност във Формула. Ако не се изведе такова съобщение и все още в някой заграден със {} израз за изчисляване има невалидни части от записа, при изпечатването ще изпише „Невалидна стойност във формула“ вместо изчислената стойност.
Останалите части от елемент „Формула“, които не са заградени с фигурални скоби, се изписват еднакво за всички зададени за печат стоки.
Практика
Примери за изрази за изчисляване и цялостно зададен текст на елемент Формула: {qtty} {format3qtty} {ratio} {qtty * retailprice * ratio} {pricegroup3 * (sqrt) 2} {format0pricegroup8 * retailprice * ratio} {format1qtty * wholesaleprice * ratio} Тази цена е само за днес! Моля поискайте късметче! {format2 qtty*retailprice*ratio} {format3 pricegroup3 * retailprice * ratio} Тук може да запишете каквото пожелаете. Този текст ще се отпечати еднакво на всички етикети. {format4wholesaleprice * retailprice} С двоен интервал задаваме нов ред при отпечатване на текста тук {format5 qtty * retailprice * pricegroup2divx} {format6ratio / pricegroup1} {format7qtty * retailprice * ratio} {format8pricegroup4 * wholesalepricex * ratio} {format9qtty * retailprice * wholesalepricedivx} Произволен текст {format8qtty * retailprice * ratio} Текст {Barcode1} {90 (sin) } {0 (sin) } {1 (tn) } {180 (cos) } {2 * (90(sin)) } {format6 (10) (3) (log) * pricegroup1} {10 (ln)} {format2 5(√) * 8} {format2 5(sqrt) * 8} {22 * 90 (sh)} {format4 180 (ch) } {360 (th) * ratio} {format9pricegroup1 * 90 (sin) }