[ОТВЕТИТЬ]
04.04.2018 09:59
Velik
 
Доброго дня. На днях в одной из сетей встретил интересный формат чека, с точки зрения экономии кассовой ленты. В нем - печать налогов обозначена как А -10% НДС, В - 18% НДС и после цены в каждой строке указана всего 1 буква "А" или "В", а в футере расписано - что А-10% - столько-то рублей, И-18% столько-то рублей. Как такое возможно реализовать на УКМ? Ниже приведу картинку - что хотелось бы увидеть в итоге ....
PS: Там еще несколько вопросов по оптимизации чека... буду очень благодарен за ответы и возможные пути решения возникших проблем
PPS Можно ли переместить/уменьшить QR -?

УКМ версия 78sp2
СП402Ф прошивка 008.17.220




(0,23Мб)
04.04.2018 12:29
LightStep
 
Для переноса налогов придется редактировать receipt.lua, секцию print_SP_KKT_item и включать режим печати свободной строкой. Вариант с шифрованием налогов под "А" или "В" у меня не получился. получилось немного по другому. Уменьшить штрихкод можно включив в настройках ФР режим сжато2. Переместить можно только на СП802Ф, будет печататься совместно с текстом.
04.04.2018 12:33
sh00r00p
 
Сайты чеков у вас примечательные. Прям-таки разные)
04.04.2018 13:20
Velik
 
Цитата:
LightStep Для переноса налогов придется редактировать receipt.lua, секцию print_SP_KKT_item и включать режим печати свободной строкой. Вариант с шифрованием налогов под "А" или "В" у меня не получился. получилось немного по другому. Уменьшить штрихкод можно включив в настройках ФР режим сжато2. Переместить можно только на СП802Ф, будет печататься совместно с текстом.
Спасибо большое, буду значит ковырять эту секцию....но если не жалко и есть возможность выложить Ваш вариант print_SP_KKT_item буду примного благодарен! А то боюсь я этих lua .... А на 802 с какой прошивкой позволяет печатать QR рядом с текстом ?
04.04.2018 13:43
LightStep
 
Начиная с версии 008.19
Режим печати QR кода настраивается параметром ККТ “MACRO:FDDDesign:PrintQRWithText”:
0 – (значение по умолчанию) печатать QR код и текст последовательно в одну колонку
1 – печатать QR код и текст параллельно в 2 колонки

Мне не жалко, пользуйся. Только предварительно проверяй все на тестовом сервере. А то одним неверным движение положишь все кассы на всех магазинах. Будет неприятно.


Цитата:
function print_SP_KKT_item(__item, __print_data)
local printer_type = ukm.printer_type_master();
local printer = ukm.get_printer(printer_type);
if printer then
local text = "";
local width = printer:get_width();

local item_total = __item.total;
local price_with_discount = __item.price;

local discount_count = __item.discounts:size();
if discount_count > 0 then
local discount_total = ukm.currency(0);
for i = 0, discount_count - 1 do
local discount = __item.discounts:at(i);
if discount.increment ~= ukm.currency(0) then
discount_total = discount_total - discount.increment;
end
end

if discount_total:sign() ~= 0 then
item_total = item_total - discount_total;
price_with_discount = ukm.currency((__item.total - discount_total) / __item.totalquantity);
end
end

local itemname = ukm.insert_delimiters(__item.name, "\n", width - 1);
local itemprice = ukm.leftpad(tostring(__item.totalquantity),7," ") .. " " .. ukm.leftpad(tostring(price_with_discount),8," ") .. " " .. ukm.leftpad(tostring(item_total),10," ");
local tax_found = false;
local taxes = ukm.taxes(__item.receipt);
taxes:create(__item);
for i = 0, taxes.itemtaxes:size() - 1 do
local tax = taxes.itemtaxes:at(i);
text = " " .. text .. tax.name .. tax.percent;
tax_found = true;
end

if not tax_found and (__tax_system == 1) then
text = text .. " " .. " БезНДС";
end


if ukm.str_len(itemname .. " " .. itemprice) <= width-7 then
text = ukm.adjustment(itemname, itemprice, width-7, " ") .. text .. "\n";
else
text = " " .. itemprice .. text;
text = ukm.left(itemname, width - 8 - ukm.str_len(itemprice)) .. text .. "\n";
end


__print_data:add(text, printer_type);
end
end
04.04.2018 14:02
Velik
 
Цитата:
LightStep Мне не жалко, пользуйся. Только предварительно проверяй все на тестовом сервере. А то одним неверным движение положишь все кассы на всех магазинах. Будет неприятно.
СПАСИБО!!!!!!!!! Буду пробовать !
05.04.2018 09:02
Velik
 
При режиме свободной строкой, по Вашему lua - ругается - чего то не хватает ему, я так понимаю не хватает строки со скидкой



(0,13Мб)
05.04.2018 09:32
LightStep
 
Возможно в вашем receipt.lua есть еще какие то изменения. Верните родную часть скрипта и проверьте печать в режиме свободной строки. Есть еще момент. В версии 78сп2 не поддерживается группировка для печати свободной строкой, нужно проверить: настройка магазина - описание - параметры. Выставить тип печати чека: после расчета сжато. У меня на тестовом стенде 78сп2 с прошивкой 008.20 все работает.
05.04.2018 09:55
Velik
 
Цитата:
LightStep Возможно в вашем receipt.lua есть еще какие то изменения. Верните родную часть скрипта и проверьте печать в режиме свободной строки. Есть еще момент. В версии 78сп2 не поддерживается группировка для печати свободной строкой, нужно проверить: настройка магазина - описание - параметры. Выставить тип печати чека: после расчета сжато. У меня на тестовом стенде 78сп2 с прошивкой 008.20 все работает.
Не - именно часть print_SP_KKT_item была родной и не трогалась. Выставил настройки как Вы описали. та же самая ошибка.ФР прошил на 009.0.353.... изменений нет (((
05.04.2018 10:22
Velik
 
Печатает скрипт свободной строкой - загвоздка была в чем: я включал Свободную строку на ФР (ставил галочку в Настройках принтера) , а начал печатать без ошибки после того, как включил свободную строку на УКМ - параметрах фискальника в Конфигурационной группе ....
16.05.2018 09:36
Tiger
 
Цитата:
LightStep Начиная с версии 008.19
Режим печати QR кода настраивается параметром ККТ “MACRO:FDDDesign:PrintQRWithText”:
0 – (значение по умолчанию) печатать QR код и текст последовательно в одну колонку
1 – печатать QR код и текст параллельно в 2 колонки

Мне не жалко, пользуйся. Только предварительно проверяй все на тестовом сервере. А то одним неверным движение положишь все кассы на всех магазинах. Будет неприятно.
Попробовал дизайн вашего чека и получаю ошибку при пробитии чека:

Цитата:
15:17:33.549: 0x00004000: WARNING: debug#/usr/local/storage/home/ukm/build-br-80-2018_04_16_19_37_44/ukm/libukm/kkt_sp.cpp(1111) Receipt: [string "receipt.lua"]:1682: attempt to index local '__print_data' (a boolean value)
15:17:45.596: 0x00004000: WARNING: debug#/usr/local/storage/home/ukm/build-br-80-2018_04_16_19_37_44/ukm/libukm/kkt_sp.cpp(1111) Receipt: [string "receipt.lua"]:1682: attempt to index local '__print_data' (a boolean value)
15:17:46.550: 0x00004000: WARNING: debug#/usr/local/storage/home/ukm/build-br-80-2018_04_16_19_37_44/ukm/libukm/kkt_sp.cpp(1111) Receipt: [string "receipt.lua"]:1682: attempt to index local '__print_data' (a boolean value)
15:17:47.801: 0x00004000: WARNING: debug#/usr/local/storage/home/ukm/build-br-80-2018_04_16_19_37_44/ukm/libukm/kkt_sp.cpp(1111) Receipt: [string "receipt.lua"]:1682: attempt to index local '__print_data' (a boolean value)
15:17:48.476: 0x00004000: WARNING: debug#/usr/local/storage/home/ukm/build-br-80-2018_04_16_19_37_44/ukm/libukm/kkt_sp.cpp(1111) Receipt: [string "receipt.lua"]:1682: attempt to index local '__print_data' (a boolean value)
Количество ошибок равно количеству позиции в чеке. Оставил свободную строку и свой скрипт чек выбивается. Может это зависит от параметра ширина печати, у меня стоит 56, а у Вас?
16.05.2018 13:25
LightStep
 
Я скрипт тестировал на ФР802. Выставлял ему и 56 и 63 символа. Все нормально печаталось. А версия укм и прошивка ФР какие?
16.05.2018 13:30
Tiger
 
Цитата:
LightStep Я скрипт тестировал на ФР802. Выставлял ему и 56 и 63 символа. Все нормально печаталось. А версия укм и прошивка ФР какие?
УКМ 80sp1 и прошивка ККТ последняя. Есть предположение что нужно вашу функцию подкинуть в 78 версию, а затем уже обновить на 80.
16.05.2018 13:40
LightStep
 
Скорее всего для 80 нужно переписывать скрипт заново. Нужно смотреть чего они там наворотили в этой функции и переделывать по аналогии с моим вариантом.
16.05.2018 16:17
Tiger
 
Цитата:
LightStep Скорее всего для 80 нужно переписывать скрипт заново. Нужно смотреть чего они там наворотили в этой функции и переделывать по аналогии с моим вариантом.
1. Обновил свою 75 версию до 78
2. Заменил функцию function print_SP_KKT_item(__item, __print_data) после обновления на Вашу
3. Обновил до 80 версии function print_SP_KKT_item(__item, __print_data) поменялась function print_SP_KKT_item(__item,__bSplit, __print_data), добавился только параметр __bSplit в функцию, само тело функции осталось неизменным.

Завтра проверю, может в нем была проблема.
Опции темы


Часовой пояс GMT +3, время: 13:37.

 

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