[ОТВЕТИТЬ]
23.11.2011 10:12
Nordik
 
Нужно напечатать купон после чека с некой информацией, условие такое чтобы купон печатался при условии что чек на определенную сумму и в чеке содержится нужный товар. По купонам можно никакую информацию не сохранять. Как лучше сделать через Маркетинг или дописывать скрипт ?
23.11.2011 11:28
Mtirt
 
Печать купонов из Маркетинга вроде как только по сумме чека срабатывает...
23.11.2011 11:37
Nordik
 
Цитата:
Mtirt Печать купонов из Маркетинга вроде как только по сумме чека срабатывает...
т.е лучше допиливать receipt.lua задавать данные условия и выводить на печать в конце чека ??
23.11.2011 11:38
Mtirt
 
Или найти печать купона и попытаться туда добавить условие по товару.
23.11.2011 11:42
Nordik
 
Цитата:
Mtirt Или найти печать купона и попытаться туда добавить условие по товару.
ок спасибо, буду тогда язык lua изучать
12.05.2012 07:41
Tiger
 
Кто-нибудь пробовал печатать купоны (слипы) после чека. Имеется задача: необходимо напечатать (купон-слип), если сумма чека больше определенной суммы, и в чеки присутствуют нужные позиции! Интересует какой скрипт редактировать, как вообще напечатать какой-нибудь слип, как напечатать купон, который приведен в discount_coupon.lua?
12.05.2012 22:09
GENDALF
 
В параметрах есть... называется типа "печать после чека"... или создай купонный маркетинг.
13.05.2012 17:51
Kosh Naranek
 
Цитата:
Tiger Кто-нибудь пробовал печатать купоны (слипы) после чека. Имеется задача: необходимо напечатать (купон-слип), если сумма чека больше определенной суммы, и в чеки присутствуют нужные позиции! Интересует какой скрипт редактировать, как вообще напечатать какой-нибудь слип, как напечатать купон, который приведен в discount_coupon.lua?
купон, который приведен в discount_coupon.lua, печатается автоматически если настроена скидка "Печать купонов". Но у нее в условиях идет лишь сумма чека, от артикулов этот купон не зависит. Если достаточно печатать купон с любимым содержимым в зависимости от суммы чека, то можно изменить текст discount_coupon.lua и создать скидку "Печать купонов" с нужным суммовым диапазоном.
14.05.2012 11:31
Tiger
 
А что передается в переменной __rep? Или как мне найти определенную позицию в чеке, для того чтобы написать условие!
14.05.2012 11:58
akonev
 
что-то вообще сомневаюсь, что в печать купона позиции попадают...

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

в 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
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-е при открытии чека с купоном или без та же ошибка? Или другая?
17.05.2012 08:16
akonev
 
да, укм всегда отличился повышенной информативностью в сообщениях об ошибках :)
давай код: регистер, ресипт, дисконт-купон.
17.07.2012 13:56
Tiger
 
Цитата:
Andrew_Konev да, укм всегда отличился повышенной информативностью в сообщениях об ошибках :)
давай код: регистер, ресипт, дисконт-купон.
Возникла необходимость печати купона, при появлении в чеки определенной скидки, т.е хочу сравнить конкретное название скидки со всеми имеющимися скидками, если такое есть устанавливаю переменную в true (печатаю купон). Вопрос как будет выглядеть условие для сравнения? Верно ли мое предположение
Цитата:
if discount_name="Игрушка"
Или вместо discount_name нужно указать что-то иное?
17.07.2012 17:21
vdm
 
А подробнее, покажи куда ты это вписываешь.
В каком месте какого скрипта.
18.07.2012 09:11
Tiger
 
Получилось реализовать, то что я описал выше! Но возникла необходимость печати вместо одно купона, двух как реализовать это возможно? Указав в параметрах Документ при завершении чека - скрипт печати купона (discount_coupon.lua) и количество копий = 2, печатается вместо второго купона, слип шапки чека (т.е название ООО и т.д)!
20.07.2012 13:49
Tiger
 
Продолжаю борьбу с купонами ))) Создал скидку купон с диапазоном сумм от 1999 до 10000! Но купон печатается почему-то когда сумма равна до 5 рублей и свыше 2000! Подскажите как избавиться от диапазона 1..5? Уже акцию полностью удалил печать купона всё равно идет из этого диапазона 1..5!


Может кто-нибудь поможет написать условие, типа если общая сумма чека меньше 2000 рублей, то переменной присваиваем true или false! А зачем проверяем по условию печатать купон или нет!
23.07.2012 14:09
akonev
 
первая мысль: все настройки скидок надо делать строго из IE. в любом другом броузере возможны не прогнозируемые и не диагностируемые косяки.
23.07.2012 21:19
Павел Сосновских
 
Цитата:
Andrew_Konev первая мысль: все настройки скидок надо делать строго из IE. в любом другом броузере возможны не прогнозируемые и не диагностируемые косяки.
На последних версиях УКМа это не так. Особенно глючно стало с ИЕ на серверных виндах

Цитата:
Tiger Продолжаю борьбу с купонами ))) Создал скидку купон с диапазоном сумм от 1999 до 10000! Но купон печатается почему-то когда сумма равна до 5 рублей и свыше 2000! Подскажите как избавиться от диапазона 1..5? Уже акцию полностью удалил печать купона всё равно идет из этого диапазона 1..5!


Может кто-нибудь поможет написать условие, типа если общая сумма чека меньше 2000 рублей, то переменной присваиваем true или false! А зачем проверяем по условию печатать купон или нет!
Не надо писать такого рода условия в lua-скриптах, все равно не правильно сработает. У тебя где-то что-то осталось.
Не руками ли в базе удалялась акция?
Действительно ли надо "до 10000" или это большая недостижимая сумма?
На мой взгляд в скидке должно быть заполнено следующее:
Новое название скидки: <что-нибудь>
Время начала действия купона <какое-нибудь число>
Время окончания действия купона <какое-нибудь число>
Добавлен ОДИН диапазон(подозреваю, что их может быть 2, больше...)
Начальная сумма: 1999
Скидка: скидка, 0, %% (если надо только печатать и никаких реальных скидок из этого не делать)

остальные поля пустые
08.09.2012 05:51
Tiger
 
Борьба с купонами снова в разгаре ))) А именно сделал всё что задумано для печати купона на фискальниках СП-402, а именно печатаю купон если появилась нужная скидка. Переменную для условия беру от сюда:
Цитата:
baner=baner
..ukm.center(" !!! АКЦИЯ !!! ",width,"*").."\n"..ukm.slice("По акции \""..discount_name.."\" вы получили "
..tostring(items[item].count).." товара \""..items[item].name.."\" по специальной цене \""
..tostring(items[item].total/ukm.currency(items[item].count)).."\"",width).."\n";
if discount_name == 'нужная скидка' then
присваиваю переменной значение для печати купона

Данный баннер печатается на фискальнике СП-402!

Вопрос: На фискальнике СП-101 данный баннер не печатается и вместо баннер приведенного выше печатается просто название акции, никак не относящееся видимо к discount_name! Подскажите какое поле печатается для скидки в стандартном чеке? Чтобы сравнить в условии для печати купона!
18.09.2012 16:21
Belivern
 
Ребят, в новых версиях появился функционал "зависимых" скидок. Сейчас точно не опишу принципы, уже растерял из-за времени это инфо, но лучше посмотреть новую доку на сайте.
Так вот там сейчас можно настроить так, чтобы вторая из 2-х скидок сработала при условии, что до этого сработала первая.
В кратце - скидка на Классификатор + Печать купонов.
Если сработала На классификатор (с определенным товаром), то тогда печатать купон.

А вот дальше уже нужно как-то копать в сторону правки LUA. Как выбрать конкретное название конкретного товара из чека и вписать в купон - думаю тут будет большая засада. =(
Но мало-ли... может, у кого голова большая, додумается =)
19.09.2012 04:10
Tiger
 
Цитата:
Belivern Ребят, в новых версиях появился функционал "зависимых" скидок. Сейчас точно не опишу принципы, уже растерял из-за времени это инфо, но лучше посмотреть новую доку на сайте.
Так вот там сейчас можно настроить так, чтобы вторая из 2-х скидок сработала при условии, что до этого сработала первая.
В кратце - скидка на Классификатор + Печать купонов.
Если сработала На классификатор (с определенным товаром), то тогда печатать купон.

А вот дальше уже нужно как-то копать в сторону правки LUA. Как выбрать конкретное название конкретного товара из чека и вписать в купон - думаю тут будет большая засада. =(
Но мало-ли... может, у кого голова большая, додумается =)
А как будет выглядить ситуация если нам нужно будет напечатать нужный текст купона! Я так понимаю скрипт будет один и в нем придется делать проверку скидки по которой нужно напечатать необходимый текст!


Опции темы


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

 

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