Добрый день!
Помогите со скриптоп: при покупке 3х единиц любого товара, третий товар с наименьшей ценой в подарок
вроди все пробовала, не получается
Цитата: ВКом від Січень 14, 2020, 13:28:20
Добрый день!
Помогите со скриптоп: при покупке 3х единиц любого товара, третий товар с наименьшей ценой в подарок
вроди все пробовала, не получается
1. Что именно вы пробовали?
2. Условие не полное, не понятно это "при покупке
больше 3х единиц любого товара" или "при покупке
каждой из3х единиц любого товара" или "при покупке
количества3х единиц любого товара" (т.е. купили 2 шт. - Товара 1 и 1 шт. Товара 2, не говоря уже о 5 шт. - Товара 1, 4 шт. - Товара 2, 3 шт. - Товара 3).
Можно ли в sql дисконте указывать производителя?
Например скидку на все товары кроме товаров такого-то производителя.
Если можно, то какая переменная отвечает за производителя?
Цитата: admin від Грудень 20, 2017, 14:54:41
Это перенаправленное письмо:
От: УкрСклад
Кому: Николай
Дата: 20 грудня 2017 р., 14:54:09
Тема: Fwd: скрипт для рождественских и новогодних продаж для окна кассира.
===8<==============Оригинал текста письма===============
Приветствую Вас,
19.12.2017 в 12:29, Вы писали:
НС> Вы нам давали скрипт для "черной пятницы".
НС> А теперь мы придумали по-сложнее...
НС> Срок действия акции - 18.12.2017 - 7.01.2018
НС> Внизу Id товара и размер скидки (есть процентная и числовая).
НС> 2 - 15%
НС> 50 - 277,00
НС> 51 - 15%
НС> 53 - 15%
НС> 54 - 262,00
НС> 55 - 15%
НС> 57 - 277,00
В меню Справочники : Дисконты : SQL дисконт по товару, используйте
след. скрипт:
IF(in_date >= '18.12.2017' AND in_date <= '07.01.2017') THEN
BEGIN
IF(in_tovar_id IN (2, 51, 53, 55)) THEN
tovar_znig_proc = 15;
ELSE
IF(in_tovar_id IN (50, 57)) THEN
tovar_znig_proc = ( (277)/(in_tovar_cena*in_tovar_kolvo) )*100;
ELSE
IF(in_tovar_id IN (54)) THEN
tovar_znig_proc = ( (262)/(in_tovar_cena*in_tovar_kolvo) )*100;
END
--
С уважением, Дмитрий Котельников
Служба поддержки УкрСклад.
===8<===========Окончание оригинала теста письма========
здесь ошибка в дате
IF(in_date >= '18.12.2017' AND in_date <= '07.01.20
18') THEN
Потрібна допомога.
Як записати таку умову:
Якщо кількість позицій в чеку для товарів з певної групи більша 2,
то на певний товар знижка в 5%
Не кількість товарів, а кількість позицій в чеку, де в кожній позиції хоча б 1 одиниця товару?
Добрий день!
Допоможіть, будь-ласка, з скриптом по бонусній програмі.
Зараз базовий бонус встановлений 7% (0,07).
Планую це змінити і для запуску нової бонусної програми зробити базовий 1% (0,01). Тоді на всі товари в групах товарів з ID: 153, 86, 154, 60, 53, 4, 141, 42, 42, 122, 56, 28 буде нараховуватися базовий бонус 1%.
А збільшені бонуси на групи товарів з ID:
1) 37, 146, 142 бонус 1.5%
2) 97, 118, 49, 50, 136, 103, 135, 166, 167, 138, 139, 137, 112, 158, 51 бонус 2%
3) 150, 126, 164, 67, 75, 89, 79, 99, 78, 68, 113, 133, 148, 134, 106, 107, 110, 111, 157, 62, 147 бонус 3%
4) 152, 163, 129, 33, 140, 91, 119, 116, 121, 87, 101, 104, 104, 64, 27, 95, 88, 155, 160 бонус 4%
5) 165, 127, 100, 38, 115, 132, 109, 156, 84 бонус 5%
6) 98, 105 бонус 6%
7) 58, 71, 59, 35, 36 бонус 8%
Я зрозумів принцип, що базовий залишається 0,01, а при нарахуванні на товари у групах з більшим бонусом до нього буде додаватися різниця між потрібним і базовим.
Тобто на цю групу з ID "1) 37, 146, 142 бонус 1.5%" до базового 0,01 буде додаватися 0,005 і т. д
Наперед вдячний!
Найбільше підходить цей скрипт:
SELECT
SUM(vc.tov_kolvo*vc.tov_cena)
FROM
get_vkas_check_info(:in_doc_id) AS vc
WHERE
vc.group_id IN ( 429 )
INTO
:tmp_float1; -- сумма товаров для бонуса=0.1
tmp_float2 = in_doc_suma_value - tmp_float1; -- сумма товаров для бонуса=0.4
all_bonus_out = (((tmp_float2 * 0.04)+(tmp_float1 * 0.01) )/in_doc_suma_value);
Вітаю.
Перше повыдомлення не в те тему написав.
А як до цього дисконту додати певну групу клієнтів ?
Щоб кожен раз не додавати в скрипт ІД-окремого клієнта. Зараз їх 10, а згодом на касі буде +-1000.
В мене зараз ось так :
IF(client_id IN (-20, 56, 59, 60,
66, 67, 77, 78,
79, 83
)) THEN
SELECT
tn.tov_proizv
FROM
tovar_name tn
WHERE
tn.num = :in_tovar_id
INTO
:tmp_str1;
IF(TRIM(tmp_str1) = 'Brit') THEN
BEGIN
tovar_znig_proc = 10;
END
IF(TRIM(tmp_str1) = 'Savory') THEN
BEGIN
tovar_znig_proc = 10;
END
Добрий день. Потрібна допомога. Знайшов потрібні sql дисконти але не знаю як їх об'єднати.
1. При покупці товару з групи 4 одного ID кратно 6 знижка 3%, кратно 12 - 5%, кратно 24 - 10%
2. При покупці товару з групи 9 товар з групи 11 за пів ціни
3. Знижка на товар з групи 30 - 25%
Вже зробили ?
Цитата: nikolllo від Травень 09, 2023, 18:04:43Добрий день!
Допоможіть, будь-ласка, з скриптом по бонусній програмі.
Зараз базовий бонус встановлений 7% (0,07).
Планую це змінити і для запуску нової бонусної програми зробити базовий 1% (0,01). Тоді на всі товари в групах товарів з ID: 153, 86, 154, 60, 53, 4, 141, 42, 42, 122, 56, 28 буде нараховуватися базовий бонус 1%.
А збільшені бонуси на групи товарів з ID:
1) 37, 146, 142 бонус 1.5%
2) 97, 118, 49, 50, 136, 103, 135, 166, 167, 138, 139, 137, 112, 158, 51 бонус 2%
3) 150, 126, 164, 67, 75, 89, 79, 99, 78, 68, 113, 133, 148, 134, 106, 107, 110, 111, 157, 62, 147 бонус 3%
4) 152, 163, 129, 33, 140, 91, 119, 116, 121, 87, 101, 104, 104, 64, 27, 95, 88, 155, 160 бонус 4%
5) 165, 127, 100, 38, 115, 132, 109, 156, 84 бонус 5%
6) 98, 105 бонус 6%
7) 58, 71, 59, 35, 36 бонус 8%
Я зрозумів принцип, що базовий залишається 0,01, а при нарахуванні на товари у групах з більшим бонусом до нього буде додаватися різниця між потрібним і базовим.
Тобто на цю групу з ID "1) 37, 146, 142 бонус 1.5%" до базового 0,01 буде додаватися 0,005 і т. д
Наперед вдячний!
Найбільше підходить цей скрипт:
SELECT
SUM(vc.tov_kolvo*vc.tov_cena)
FROM
get_vkas_check_info(:in_doc_id) AS vc
WHERE
vc.group_id IN ( 429 )
INTO
:tmp_float1; -- сумма товаров для бонуса=0.1
tmp_float2 = in_doc_suma_value - tmp_float1; -- сумма товаров для бонуса=0.4
all_bonus_out = (((tmp_float2 * 0.04)+(tmp_float1 * 0.01) )/in_doc_suma_value);