Добрый день,
Подскажите кто в курсе, как скриптом сделать наценку относительно розничной цены? К примеру, розничная цена установлена 100, как сделать так, чтобы Оптовая цена была к пимеру
Оптовая цена = Розничная цена*0,6
цена1 = Розничная цена*0,7
цена2 = Розничная цена*0,8
цена3 = Розничная цена*0,9
Для этого выполняю такой скрипт
IF(grupa_id_in = 2) THEN
BEGIN
cena_o_out = ROUND(cena_r_in * 0,6, 2);
cena_1_out = ROUND(cena_r_in * 0,7, 2);
cena_2_out = ROUND(cena_r_in * 0,8, 2);
cena_3_out = ROUND(cena_r_in * 0,9, 2);
END
На вкладке Наценки по группам установлены такие галочки(вернее ничего не установлено)
http://prntscr.com/g69951 (http://prntscr.com/g69951)
На вкладке "Наценка СКЛ скриптом"
http://prntscr.com/g699ns (http://prntscr.com/g699ns)
Товары до наценки
http://prntscr.com/g69ah0 (http://prntscr.com/g69ah0)
Товары после наценки
http://prntscr.com/g69bu8 (http://prntscr.com/g69bu8)
Все живет своей жизнью.
Где ошибка? Заранее спасибо откликнувшимся
В базе скриптом это делается так, а вот через программу не получается
update tovar_name set cena_o = cena_r*0.5, cena_1=cena_r*0.4, cena_2=cena_r*0.6, cena_3=cena_r*2 where tip=23
Вирахуйте відповідність гуртової ціни відносно базової і в колонках задавайте вирахувану націнку.
Наприклад:
база 100 (просто зручно рахувати)
націнка на роздріб 100%
гурт 1 70% від роздрібу:
маємо 100+100%=200*0,7=140
гурт 1 (70% від роздрібу) це +40% до вхідної ціни при націнці 100% для роздрібної ціни
При націнці 50%
100+50%=150*0,7=105
гурт 1 (70% від роздрібу) це +5% до вхідної ціни при націнці 50% для роздрібної ціни
Думаю алгоритм зрозумілий
;)
так не канает, поскольку всегда наценка разная и по формуле в лоб относительно закупочной цены считать не можем.
Короче буду скриптом апдейта напрямую в базе менять, там все понятно сразу
Да все отлично работает, снимки прикрепили.
Цитата: hellga від Серпень 09, 2017, 12:42:31
Добрый день,
Подскажите кто в курсе, как скриптом сделать наценку относительно розничной цены? К примеру, розничная цена установлена 100, как сделать так, чтобы Оптовая цена была к пимеру
Оптовая цена = Розничная цена*0,6
цена1 = Розничная цена*0,7
цена2 = Розничная цена*0,8
цена3 = Розничная цена*0,9
Для этого выполняю такой скрипт
IF(grupa_id_in = 2) THEN
BEGIN
cena_o_out = ROUND(cena_r_in * 0,6, 2);
cena_1_out = ROUND(cena_r_in * 0,7, 2);
cena_2_out = ROUND(cena_r_in * 0,8, 2);
cena_3_out = ROUND(cena_r_in * 0,9, 2);
END
Тут у вас скрипт с ошибкой, т.к. разделитель дроби это точка, а не запятая. У вас такой скрипт банально даже не сохраниться, а выдаст ошибку т.к. вы передаете в ROUND три аргумента. Надо писать так:
cena_o_out = ROUND(cena_r_in * 0.6, 2);
Ошибку видно на снимке:
Цитата: hellga від Серпень 09, 2017, 12:42:31
На вкладке "Наценка СКЛ скриптом"
http://prntscr.com/g699ns (http://prntscr.com/g699ns)
Вы попробуйте нажать "Сохранить скрипт", он выдаст ошибку. Да и вообще "Автоматическая наценка SQL скриптом" просто не включена на вашем снимке.
Цитата: hellga від Серпень 09, 2017, 12:42:31
Все живет своей жизнью.
Живет только так как вы скажите программе :)
Да, основная ошибка это разделитель был, согласен.
А то что галочки нет - когда выполнял скрипт она была, то просто скрин так сделал )
Но напрямую в базе как то более понятно как что делать нежели через редактор СКЛ запросов
Цитата: hellga від Серпень 15, 2017, 00:38:05
Но напрямую в базе как то более понятно как что делать нежели через редактор СКЛ запросов
Но напрямую в базе это не наценка во время прихода, а просто изменение всех цен, а если еще и включено слежение за пользователями и номенклатура большая, а еще в последних версиях ведеться история цен, то будете просто засорять базу лишними логами.