07.01.2015 19:15
VitorJ
 
Озадачился следующим вопросом.
Есть акционный товар, скидка на который не распространяется. Соответственно в конце чека мы получаем "Скидка такая, % печатается фактический к примеру 3,89%, сумма возможная скидка 5%"
Подскажите, возможно ли привести эту строку к такому виду
Скидка "Стандарт" 5% сумма скидки 5 руб.
Ковыряю скрипт на демо стенде, пока чтот не выходит!
Никто не заморачивался?
УКМ4 60 sp 4
08.01.2015 04:25
Eugin_S
 
Покажи секцию function print_hard_subtotal(__hard_subtotal, __print_data) из receipt.lua
08.01.2015 06:46
VitorJ
 
Код:
function print_hard_subtotal(__hard_subtotal, __print_data)
    if compresed_print == true then
      loc_item_table = {};
      loc_item_keys_table = {};
      local normal_items = __hard_subtotal.receipt.items:leavenormal();
      for j = 0, normal_items:size() - 1 do
          local i = get_table_from_item(normal_items:at(j));
          local key = i.item .. "_" .. tostring(i.price);
          if loc_item_table[key] == nil then
            table.insert(loc_item_keys_table,key);
            loc_item_table[key] = i;
          else
            loc_item_table[key].totalquantity = loc_item_table[key].totalquantity + i.totalquantity;
            loc_item_table[key].total = loc_item_table[key].total + i.total;

             for idk, idv in pairs(i.discounts) do
                 if loc_item_table[key].discounts[idk] == nil then
                     loc_item_table[key].discounts[idk] = {};
                     loc_item_table[key].discounts[idk].name = idv.name;
                     loc_item_table[key].discounts[idk].increment = idv.increment;
                 else
                     loc_item_table[key].discounts[idk].increment = loc_item_table[key].discounts[idk].increment + idv.increment;
                 end
             end

             for idk, idv in pairs(i.tax_item) do
                 if loc_item_table[key].tax_item[idk] == nil then
                     loc_item_table[key].tax_item[idk] = {};
                     loc_item_table[key].tax_item[idk].name = idv.name;
                     loc_item_table[key].tax_item[idk].percent = idv.name;
                     loc_item_table[key].tax_item[idk].amount = idv.amount;
                 else
                     loc_item_table[key].tax_item[idk].amount = loc_item_table[key].tax_item[idk].amount + idv.amount;
                 end
             end
          end
       end
--сортировка таблицей по ключу
       for i,v in ipairs(loc_item_keys_table) do
          print_item_to_printer(loc_item_table[v], ukm.printer_type_master(), __print_data);
       end
       loc_item_keys_table = {};
       loc_item_table = {};
    end
10.01.2015 00:41
vdm
 
Вопрос в чем, нужно выбросить фактический процент скидки и на его место поставить возможный?
Тогда в чем проблема, в receipt.lua есть текст "возможная скидка"? Там и копай.
Часовой пояс GMT +3, время: 21:22.

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