• Ласкаво просимо на Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата.
 

Цены (оптовая, цена1, цена 2 и т д) от розничной цены

Автор hellga, Серпень 09, 2017, 12:42:31

Попередня тема - Наступна тема

0 Користувачі і 2 Гостей дивляться цю тему.

hellga

Добрый день,

Подскажите кто в курсе, как скриптом сделать наценку относительно розничной цены? К примеру, розничная цена установлена 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/g699ns
Товары до наценки
http://prntscr.com/g69ah0
Товары после наценки
http://prntscr.com/g69bu8

Все живет своей жизнью.

Где ошибка? Заранее спасибо откликнувшимся


hellga

В базе скриптом это делается так, а вот через программу не получается

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

keepo

Вирахуйте відповідність гуртової ціни відносно базової і в колонках задавайте вирахувану націнку.

Наприклад:
база 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

так не канает, поскольку всегда наценка разная и по формуле в лоб относительно закупочной цены считать не можем.
Короче буду скриптом апдейта напрямую в базе менять, там все понятно сразу

admin

Да все отлично работает, снимки прикрепили.

Цитата: 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
Вы попробуйте нажать "Сохранить скрипт", он выдаст ошибку. Да и вообще "Автоматическая наценка SQL скриптом"  просто не включена на вашем снимке.

Цитата: hellga від Серпень 09, 2017, 12:42:31
Все живет своей жизнью.

Живет только так как вы скажите программе :)

hellga

Да, основная ошибка это разделитель был, согласен.
А то что галочки нет - когда выполнял скрипт она была, то просто скрин так сделал )
Но напрямую в базе как то более понятно как что делать нежели через редактор СКЛ запросов

admin

Цитата: hellga від Серпень 15, 2017, 00:38:05
Но напрямую в базе как то более понятно как что делать нежели через редактор СКЛ запросов

Но напрямую в базе это не наценка во время прихода, а просто изменение всех цен, а если еще и включено слежение за пользователями и номенклатура большая, а еще в последних версиях ведеться история цен, то будете просто засорять базу лишними логами.