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

Помогите наценить скриптом

Автор zoolys, Лютий 27, 2017, 22:42:08

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

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

zoolys

Доброго времени!
Столкнулся с такой проблемой:
Нужно, весь ассортимент товара наценить на 30% и приравнять к целым числам.
Например:
1.....2,2евро*31=65,1грн.+30%=84,63грн, а нужно сделать 90грн.
2.....5,5евро*31=170,5+30%=221,65грн, а нужно 225грн и т.д.
В скриптах вообще не понимаю, пытался разобраться, но не получается
Пытался таким скриптом (в данном случае, наценка нужна на цену1грн для позиции 274+  2грн)
IF(tovar_id_in IN (274)) THEN
BEGIN
cena_1_out = ROUND(cena_in *1,3 +2,);
END
Помогите, пожалуйста.
Может есть вообще другие варианты этого решения?
Спасибо

molotokk

А не простiше нацiку 30% поставити в налаштуваннях нацiнки i попробувати поставити заокруглення цiни товару. I все буде просто i без скриптiв.
підбір та продаж обладнання для торгівлі, допомога в налаштуваннях програми ⇒ "komfort-m.com" ⇒ "t.me/komfortmservice" ⇒ ✆ 097-873-59-01

zoolys

Націнку 30% ставлю з цим проблем не маю, а як заокруглення зробити, щоб не копійки заокруглював, а грівні - не знаю. В налаштуваннях не змінюється менше 2 знаків.

molotokk

#3
Цитата: zoolys від Лютий 28, 2017, 01:56:39
Націнку 30% ставлю з цим проблем не маю, а як заокруглення зробити, щоб не копійки заокруглював, а грівні - не знаю. В налаштуваннях не змінюється менше 2 знаків.
там  де я обвів ставите заокруглення напроти кожної групи, наприклад: 5 - до 5 копійок, 50 - до 50 копійок, 500 - до 5 грн... і т.д., або якщо стандартна націнка на всі групи, то там де на малюнку галочка "округлення націнки" "округляти до копійок" в мене стоїть "5", а ви проставте собі ту цифру, яка вам потрібна.
підбір та продаж обладнання для торгівлі, допомога в налаштуваннях програми ⇒ "komfort-m.com" ⇒ "t.me/komfortmservice" ⇒ ✆ 097-873-59-01

zoolys


Ярослав

Не получається націнити скриптом.
Створив скрипт
IF(grupa_id_in = 4) THEN 
  BEGIN
  IF (cena_in <= 100) THEN 
    BEGIN   
      cena_r_out = ROUND(cena_in * 1.5, 2); 
    END 
    ELSE 
    IF (cena_in > 100 AND cena_in <= 200) THEN 
    BEGIN 
      cena_r_out = ROUND(cena_in * 1.48, 2); 
    END 
    ELSE 
    IF (cena_in >= 201) THEN 
    BEGIN 
      cena_r_out = ROUND(cena_in * 1.45, 2);       
    END
  END

працює націнка до 100 грн, від 100 до 200 грн, а от від 200 грн не працює, роздрібна ціна 0.000 .
і ще питання як написати округлення ціни до 1 грн.тобто до 100 коп.

Ярослав

Цитата: Ярослав від Вересень 23, 2017, 18:35:57
Не получається націнити скриптом.
Створив скрипт
IF(grupa_id_in = 4) THEN 
  BEGIN
  IF (cena_in <= 100) THEN 
    BEGIN   
      cena_r_out = ROUND(cena_in * 1.5, 2); 
    END 
    ELSE 
    IF (cena_in > 100 AND cena_in <= 200) THEN 
    BEGIN 
      cena_r_out = ROUND(cena_in * 1.48, 2); 
    END 
    ELSE 
    IF (cena_in >= 201) THEN 
    BEGIN 
      cena_r_out = ROUND(cena_in * 1.45, 2);       
    END
  END

працює націнка до 100 грн, від 100 до 200 грн, а от від 200 грн не працює, роздрібна ціна 0.000 .
і ще питання як написати округлення ціни до 1 грн.тобто до 100 коп.
Запрацювала націнка на прихідну ціну від 200 грн, коли поставив галочку Автоматична націнка SQL скриптом. Питання округлення ще цыкавить мене.

admin

Цитата: Ярослав від Вересень 23, 2017, 18:51:28
Запрацювала націнка на прихідну ціну від 200 грн, коли поставив галочку Автоматична націнка SQL скриптом. Питання округлення ще цыкавить мене.

ROUND(cena_in * 1.45, 0); округлит до целого 0 знаков после запятой.

Ярослав

Цитата: admin від Вересень 25, 2017, 11:14:29
Цитата: Ярослав від Вересень 23, 2017, 18:51:28
Запрацювала націнка на прихідну ціну від 200 грн, коли поставив галочку Автоматична націнка SQL скриптом. Питання округлення ще цыкавить мене.

ROUND(cena_in * 1.45, 0); округлит до целого 0 знаков после запятой.
Спасибо,работает. Надо другую групу наценить но там округления до 25 коп. такое сделать можно?

admin

Цитата: Ярослав від Вересень 25, 2017, 15:20:25
Спасибо,работает. Надо другую групу наценить но там округления до 25 коп. такое сделать можно?

Смотрите по ссылке:
https://www.softbalance.com.ua/forum/index.php/topic,2899.msg17791.html#msg17791

Ярослав

Как изменить или создать новий скрипт что б наценивать ещо один склад?
IF(grupa_id_in = 4) THEN 
  BEGIN
  IF (cena_in <= 100) THEN 
    BEGIN   
      cena_r_out = ROUND(cena_in * 1.5, 2); 
    END 
    ELSE 
    IF (cena_in > 100 AND cena_in <= 200) THEN 
    BEGIN 
      cena_r_out = ROUND(cena_in * 1.48, 2); 
    END 
    ELSE 
    IF (cena_in >= 201) THEN 
    BEGIN 
      cena_r_out = ROUND(cena_in * 1.45, 2);       
    END
  END

admin

Цитата: Ярослав від Жовтень 11, 2017, 13:21:29
Как изменить или создать новий скрипт что б наценивать ещо один склад?
IF(grupa_id_in = 4) THEN 
  BEGIN
  IF (cena_in <= 100) THEN 
    BEGIN   
      cena_r_out = ROUND(cena_in * 1.5, 2); 
    END 
    ELSE 
    IF (cena_in > 100 AND cena_in <= 200) THEN 
    BEGIN 
      cena_r_out = ROUND(cena_in * 1.48, 2); 
    END 
    ELSE 
    IF (cena_in >= 201) THEN 
    BEGIN 
      cena_r_out = ROUND(cena_in * 1.45, 2);       
    END
  END

А где у вас тут разделение по складу? Тем более если товар синхронизирован, то он везде одинаковый и вы нацениваете просто ID групп, а не склады.

Ярослав

Цитата: admin від Жовтень 26, 2017, 17:06:04
Цитата: Ярослав від Жовтень 11, 2017, 13:21:29
Как изменить или создать новий скрипт что б наценивать ещо один склад?
IF(grupa_id_in = 4) THEN 
  BEGIN
  IF (cena_in <= 100) THEN 
    BEGIN   
      cena_r_out = ROUND(cena_in * 1.5, 2); 
    END 
    ELSE 
    IF (cena_in > 100 AND cena_in <= 200) THEN 
    BEGIN 
      cena_r_out = ROUND(cena_in * 1.48, 2); 
    END 
    ELSE 
    IF (cena_in >= 201) THEN 
    BEGIN 
      cena_r_out = ROUND(cena_in * 1.45, 2);       
    END
  END

А где у вас тут разделение по складу? Тем более если товар синхронизирован, то он везде одинаковый и вы нацениваете просто ID групп, а не склады.
Уже розобрался как.