Мені потрібно написати SQL скрипт з націнкою товару такого типу:
cena_r_out = cena_in + значення параметра "довжина" * 20
може хтось знайє який код параметра "довжина", чи може якось по іншому поступити?
Для получения перечня полей просто выполните 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%
Могу послушать соображения по поводу других вариантов формул :)
Цитата: Олег Александрук від Листопад 05, 2016, 19:38:09
Мені потрібно написати SQL скрипт з націнкою товару такого типу:
cena_r_out = cena_in + значення параметра "довжина" * 20
може хтось знайє який код параметра "довжина", чи може якось по іншому поступити?
Поле TOV_LENGTH, есть еще TOV_WIDTH и TOV_HEIGHT. Формат - число с двойной точностью. Так что CAST при составлении мат-формулы в SQL не нужен
Цитата: Олег Александрук від Листопад 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<===========Окончание оригинала теста письма========
Написав
IF(grupa_id_in = 8) THEN
BEGIN
cena_r_out = cena_in + tov_length * 20;
END
вибиває таке
Цитата: Олег Александрук від Листопад 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)
Та писати то писали, але я трохи баран в тих справах, через шо, мені такі довгі фрази легко не даються ;D
а за посиланням переходив, але нічого або не знайшов, або не зрозумів :)
Цитата: Олег Александрук від Листопад 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 группе.