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, время: 13:40.

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