Форум OlegON > Программы и оборудование для автоматизации торговли > Кассовые программы > УКМ-4

Вывод в печатную форму чека id кассира : УКМ-4

03.05.2024 2:47


21.05.2015 12:17
manhant
 
Просьба помочь:
1) необходимо вывести в печатную форму чека id кассира из таблицы trm_in_users
2) в печатной форме вывести только 6 знаков обрезав 1 в конце и все остальные впереди.
Как это реализовать в lua?
просто имя пользователя вывести понятно:
text = text .. ukm.rightpad(__header.login.name, width, " ") .. "
";
а как именно id и отсечь ненужные знаки?
id кассиров разной длины.
пример:

вывести нужно 6 знаков: 300933
- отсекаем последнюю цифру.
- и все цифры (при любом кол-во) до.
Миниатюры
Нажмите на изображение для увеличения
Название: iduser.png
Просмотров: 708
Размер:	4.8 Кб
ID:	4701  
21.05.2015 13:16
Павел Сосновских
 
Код:
        text = text .. ukm.left(ukm.right(ukm.rightcut(tostring(__header.login.id),1),6), width) .. "\n";
21.05.2015 15:27
manhant
 
В чек не выводиться id, добавил информацию сразу после вывода имени:
text = text .. ukm.rightpad(__header.login.name, width, " ") .. "\n";
text = text .. ukm.left(ukm.right(ukm.rightcut(tostring(__header.login.id),1),6), width) .. "\n";
21.05.2015 15:48
manhant
 
В чеке появилась пустая строка:
Миниатюры
Нажмите на изображение для увеличения
Название: id.jpg
Просмотров: 649
Размер:	781.5 Кб
ID:	4702  
21.05.2015 16:54
Павел Сосновских
 
что-то "Не верю"(с)
откуда "#"?
Наверное:
Код:
text = text .. ukm.left(ukm.right(ukm.rightcut(tostring(__header.login.id),1),6), width) .. "\n"; 
text = text .. ukm.rightpad(__header.login.name, width, " ") .. "\n";
у этого пользователя точно trm_in_users.id длинный как в примере?
указанное поведение может быть, если мое предположение о коде верно и у этого кассира ид из одной цифры
попробуйте:
Код:
text = text .. ukm.left(tostring(__header.login.id), width) .. "\n"; 
text = text .. ukm.left(ukm.rightcut(tostring(__header.login.id),1), width) .. "\n"; 
text = text .. ukm.left(ukm.right(ukm.rightcut(tostring(__header.login.id),1),6), width) .. "\n"; 
text = text .. ukm.rightpad(__header.login.name, width, " ") .. "\n";
что будет?
предположу, что примерно так:
Код:
...
#Терминал №1
#1
#
#
#Иванов ...
...
21.05.2015 17:36
manhant
 
Да, Вы правы, я изменил в базе вручную id, но он не применился и id был 1.
Теперь все работает, спасибо.
22.05.2015 14:21
manhant
 
Подскажите, а возможно ли данную информацию выводить в подвал чека?
22.05.2015 14:41
Mtirt
 
А что вам мешает попробовать сделать это?
22.05.2015 14:43
vdm
 
__footer.receipt.header.login.name и т.п.
22.05.2015 14:59
manhant
 
Получилось вывести и в подвал с отсечением 1 последнего знака и выводом оставшихся 6 знаков с конца, отсекая все знаки впереди:
text = text .. ukm.left(ukm.right(ukm.rightcut(tostring(__footer.receipt.login.id),1),6), width) .. "\n";
Часовой пояс GMT +3, время: 02:47.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.