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

Наши программы => УкрСклад => Тема розпочата: Олег Александрук від Листопад 05, 2016, 19:38:09

Назва: Як зробити націнку на товар, виходячи з його параметрів?
Відправлено: Олег Александрук від Листопад 05, 2016, 19:38:09
Мені потрібно написати SQL скрипт з націнкою товару такого типу:

cena_r_out = cena_in + значення параметра "довжина" * 20

може хтось знайє який код параметра "довжина", чи може якось по іншому поступити?
Назва: Re: Як зробити націнку на товар, виходячи з його параметрів?
Відправлено: maxmokry від Листопад 07, 2016, 08:38:24
Для получения перечня полей просто выполните select * from tovar_name
Тип поля "длинна" сейчас не помню, но если текстовое, то его нужно приводить через cast

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

Интересно кому?

Формулы для товара типа
5%+6, - добавить 5% от стоимости + 6 единиц валюты

Для категорий:
100:8%;150:7%+5;1000:6%;100000:5%
До 100 - наценка 8%
От 100 до 150 - 7% + 5
От 150 до 1000 - 6%
От 1000 и выше - 5%

Могу послушать соображения по поводу других вариантов формул :)
Назва: Re: Як зробити націнку на товар, виходячи з його параметрів?
Відправлено: maxmokry від Листопад 07, 2016, 09:31:36
Цитата: Олег Александрук від Листопад 05, 2016, 19:38:09
Мені потрібно написати SQL скрипт з націнкою товару такого типу:

cena_r_out = cena_in + значення параметра "довжина" * 20

може хтось знайє який код параметра "довжина", чи може якось по іншому поступити?
Поле TOV_LENGTH, есть еще TOV_WIDTH и TOV_HEIGHT. Формат - число с двойной точностью. Так что CAST при составлении мат-формулы в SQL не нужен
Назва: Re: Як зробити націнку на товар, виходячи з його параметрів?
Відправлено: admin від Листопад 07, 2016, 09:35:32
Цитата: Олег Александрук від Листопад 05, 2016, 19:38:09
Мені потрібно написати SQL скрипт з націнкою товару такого типу:

cena_r_out = cena_in + значення параметра "довжина" * 20

може хтось знайє який код параметра "довжина", чи може якось по іншому поступити?

Вам же за день до этого на поддержке ответили, зачем дубляж на форуме?
http://www.softbalance.com.ua/forum/index.php/topic,426.0.html (http://www.softbalance.com.ua/forum/index.php/topic,426.0.html)

Это перенаправленное письмо:
От: УкрСклад
Кому: Вікторія
Дата: 4 листопада 2016 р., 16:36:11
Тема: Fwd: Запит до програмістів

===8<==============Оригинал текста письма===============
Приветствую Вас,

04.11.2016 в 10:15, Вы писали:

ВА> Потрібно прописати формулу націнки на товар ( чохли для телефонів)
ВА> Ситуація така: роздрібна ціна продажу має розраховуватись по формулі:
ВА> ціна закупки + діагональ екрану ( я заповнюю стовпчик дожина) * 20 грн
ВА> оптова ціна продажу:
ВА> ціна закупки + діагональ екрану ( я заповнюю стовпчик дожина) * 10 грн
ВА> Як нам вирішити це питання?

Сделать такое штатными функциями (меню Опции : Наценка на товары)
нельзя. Только самописными скриптам, вот один из примеров:
http://www.softbalance.com.ua/forum/index.php?topic=461.0 (http://www.softbalance.com.ua/forum/index.php?topic=461.0)
В вашем случае пример скрипта:
UPDATE tovar_name SET cena_r = cena + tov_length + 20;
UPDATE tovar_name SET cena_o = cena + tov_length + 10;

--
С уважением, Дмитрий Котельников
  Служба поддержки УкрСклад.
===8<===========Окончание оригинала теста письма========
Назва: Re: Як зробити націнку на товар, виходячи з його параметрів?
Відправлено: Олег Александрук від Листопад 07, 2016, 10:51:48
Написав
IF(grupa_id_in = 8) THEN
BEGIN
cena_r_out = cena_in + tov_length * 20;
END

вибиває таке
Назва: Re: Як зробити націнку на товар, виходячи з його параметрів?
Відправлено: admin від Листопад 07, 2016, 14:44:18
Цитата: Олег Александрук від Листопад 07, 2016, 10:51:48
Написав
IF(grupa_id_in = 8) THEN
BEGIN
cena_r_out = cena_in + tov_length * 20;
END

вибиває таке

Все верно, выше же писали в меню Опции : Наценка на товары такое работать не будет штатно.

Цитата: Олег Александрук від Листопад 07, 2016, 10:51:48
Сделать такое штатными функциями (меню Опции : Наценка на товары)
нельзя. Только самописными скриптам, вот один из примеров:

http://www.softbalance.com.ua/forum/index.php?topic=461.0 (http://www.softbalance.com.ua/forum/index.php?topic=461.0)
Назва: Re: Як зробити націнку на товар, виходячи з його параметрів?
Відправлено: Олег Александрук від Листопад 07, 2016, 16:15:07
Та писати то писали, але я трохи баран в тих справах, через шо, мені такі довгі фрази легко не даються  ;D
а за посиланням переходив, але нічого або не знайшов, або не зрозумів  :)
Назва: Re: Як зробити націнку на товар, виходячи з його параметрів?
Відправлено: admin від Листопад 07, 2016, 16:21:44
Цитата: Олег Александрук від Листопад 07, 2016, 16:15:07
Та писати то писали, але я трохи баран в тих справах, через шо, мені такі довгі фрази легко не даються  ;D
а за посиланням переходив, але нічого або не знайшов, або не зрозумів  :)

Если одноразово, вот что надо запустить в меню Опции : SQL менеджер:

EXECUTE BLOCK
AS
BEGIN
  UPDATE tovar_name SET cena_r = cena + tov_length + 20 WHERE tip IN (8);
  UPDATE tovar_name SET cena_o = cena + tov_length + 10 WHERE tip IN (8);
END


Это наценка по условиям выше по 8 группе.