[ОТВЕТИТЬ]
Опции темы
14.05.2012 12:16  
Tiger
Цитата:
Сообщение от Andrew_Konev
что-то вообще сомневаюсь, что в печать купона позиции попадают...

через прямую кишку, но наверное сработает:

в register.lua взвести переменную. добавить в самом конце строку
Код:
print_coupon_by_item = false;
ту же самую строку добавить в самое начало receipt.lua (по началу печати чека устанавливаем, что купон пока не нужен)

там же в receipt.lua внутри функции
Код:
function print_item_to_printer(__item, __printer_type, __print_data)
проверять __item.item и если попался нужный - выставить print_coupon_by_item = true (купон нужен)

по хорошему, надо еще не забыть про __item.type если у кассиров есть права на аннуляцию позиции или ошибку. чтобы не получилось: большой чек, воткнули купонную позицию, тут же убрали ошибкой, а купон всё равно вылез.

а уже после этого в купонах проверять состояние print_coupon_by_item
А __item.item сравнивать с наименование товара, правильно понимаю, а какое поле отвечает за артикул, если хочу сравнивать по артикулы! И в каком месте необходимо прописать условие, можно ли в начале самой функции?
 
14.05.2012 13:24  
akonev
Цитата:
Сообщение от Tiger
А __item.item сравнивать с наименование товара, правильно понимаю, а какое поле отвечает за артикул, если хочу сравнивать по артикулы! И в каком месте необходимо прописать условие, можно ли в начале самой функции?
неправильно понимаешь. это как раз артикул должен быть. наименование в __item.name живет.

Добавлено через 15 минут 14 секунд
в каком месте - дело вкуса.

прежде чем в печать чека залезать, тебе в любом случае надо очень внимательно и пристально её изучить.
досконально разобраться, в каком куске что происходит.

я бы вставил после проверки типа строки
Код:
        if __item.type == ukm.item.normal then
           text = text .. hw_command_normal_color;
        else
           text = text .. hw_command_alter_color;
        end
-- вот сюда куда-то
        if __item.type == ukm.item.normal then
-- проверка артикула и установка переменной
        end
 
15.05.2012 11:31  
Tiger
Цитата:
Сообщение от Andrew_Konev
неправильно понимаешь. это как раз артикул должен быть. наименование в __item.name живет.

Добавлено через 15 минут 14 секунд
в каком месте - дело вкуса.

прежде чем в печать чека залезать, тебе в любом случае надо очень внимательно и пристально её изучить.
досконально разобраться, в каком куске что происходит.

я бы вставил после проверки типа строки
Код:
        if __item.type == ukm.item.normal then
           text = text .. hw_command_normal_color;
        else
           text = text .. hw_command_alter_color;
        end
-- вот сюда куда-то
        if __item.type == ukm.item.normal then
-- проверка артикула и установка переменной
        end
Выполнил предложенное решение, всё хорошо! Но интересует еще такой момент, как объявить переменную (глобальную), которая была бы счетчиком для подсчета данного артикула и затем использовать при печати купона!
 
15.05.2012 11:55  
akonev
Цитата:
Сообщение от Tiger
Выполнил предложенное решение, всё хорошо! Но интересует еще такой момент, как объявить переменную (глобальную), которая была бы счетчиком для подсчета данного артикула и затем использовать при печати купона!
по той же схеме: в конце register.lua прописать.

Цитата:
-- Модуль регистрации событий и создания основных объектов системы
 
15.05.2012 14:07  
Tiger
Цитата:
Сообщение от Andrew_Konev
по той же схеме: в конце register.lua прописать.
Меня интересует синтаксис объявления числовой переменной глобально!
 
15.05.2012 15:34  
akonev
Цитата:
Сообщение от Tiger
Меня интересует синтаксис объявления числовой переменной глобально!
честно, я не понял в чем конкретно проблема.

1) в LUA динамическая типизация и автоматическое приведение. присвоил число - переменная числовая. объявление как таковое не требуется

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

если это всё "не про то" - подробнее рассказывай решаемую задачу
 
16.05.2012 08:39  
Tiger
Цитата:
Сообщение от Andrew_Konev
честно, я не понял в чем конкретно проблема.

1) в LUA динамическая типизация и автоматическое приведение. присвоил число - переменная числовая. объявление как таковое не требуется

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

если это всё "не про то" - подробнее рассказывай решаемую задачу
Поправьте где не прав:

В модуле register.lua добавил переменную в конец скрипта
Цитата:
item_kol = 0;
В модуле receipt.lua в начале добавил эту же переменную
Цитата:
item_kol = 0;
И в этом же модуле в условие добавил счетчик
Цитата:
item_kol = item_kol + 1;
Но на кассе возникает ошибка, которая связана как-то с модулем ukm.lua
 
16.05.2012 16:24  
akonev
получается лечение по фотографии.

код. ошибку.
 
17.05.2012 03:35  
Tiger
Цитата:
Сообщение от Andrew_Konev
получается лечение по фотографии.

код. ошибку.
Ошибка того типа, вот часть лога вовремя ошибки:
Цитата:
17:03:16: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:16: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:16: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(126) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:16: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libukm/ccontext_default.cpp(1475) HandleCashierchanging: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:16: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:16: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:16: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:16: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:18: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:18: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:19: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:19: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:19: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:19: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:19: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
17:03:19: 0x00004000: WARNING: debug#/root/rel-49_sp5_patch/libtv/cdynamictext.cpp(24) draw: При исполнении скрипта 'ukm.lua' произошла ошибка:
 
17.05.2012 07:04  
Mtirt
В Web-е при открытии чека с купоном или без та же ошибка? Или другая?
 
 


Опции темы



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

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