IF(grupa_id_in = 1005) THEN
BEGIN
-- наценка 100% на розницу если цена прихода от 0грн до 60 грн округлення до 1 знаку після коми.
IF (cena_in < 60) THEN
cena_r_out = ROUND(cena_in *2, 1);
END
ELSE
-- наценка 80% на розницу если цена прихода от 60 грн до 100 грн округлення до 1 знаку після коми.
IF (cena_in >=60 AND cena_in < 100) THEN
BEGIN
cena_r_out = ROUND(cena_in * 1.8, 1);
END
ELSE
-- наценка 70% на розницу если цена прихода от 100 грн до 120 грн округлення до 1 знаку після коми.
IF (cena_in >= 100 AND cena_in < 120) THEN
BEGIN
cena_r_out = ROUND(cena_in * 1.7, 1);
END
ELSE
-- наценка 62% на розницу если цена прихода от 120 грн округлення до 1 знаку після коми.
IF (cena_in >= 120) THEN
BEGIN
cena_r_out = ROUND(cena_in * 1.62, 1);
END
ELSE
IF(grupa_id_in = 1052) THEN
-- наценка 100% на розницу если цена прихода от 0грн до 60 грн округлення до 1 знаку після коми.
IF (cena_in < 60) THEN
BEGIN
cena_r_out = ROUND(cena_in *2, 1);
END
ELSE
-- наценка 80% на розницу если цена прихода от 60 грн до 100 грн округлення до 1 знаку після коми.
IF (cena_in >=60 AND cena_in < 100) THEN
BEGIN
cena_r_out = ROUND(cena_in * 1.8, 1);
END
ELSE
-- наценка 70% на розницу если цена прихода от 100 грн до 120 грн округлення до 1 знаку після коми.
IF (cena_in >= 100 AND cena_in < 120) THEN
BEGIN
cena_r_out = ROUND(cena_in * 1.7, 1);
END
ELSE
-- наценка 62% на розницу если цена прихода от 120 грн округлення до 1 знаку після коми.
IF (cena_in >= 120) THEN
BEGIN
cena_r_out = ROUND(cena_in * 1.62, 1);
END
--------------
Де тут ошибка
тут не работает наценка на IF(grupa_id_in = 1052) THEN
И вторая END не выставляется..
ELSE
IF(grupa_id_in = 1052) THEN
-- наценка 100% на розницу если цена прихода от 0грн до 60 грн округлення до 1 знаку після коми.
IF (cena_in < 60) THEN
BEGIN
cena_r_out = ROUND(cena_in *2, 1);
а "BEGIN" хіба там має бути?
або "THEN" верхній??
Цитата: Віктор від Січень 05, 2023, 16:30:03
тут не работает наценка на IF(grupa_id_in = 1052) THEN
И вторая END не выставляется..
Не знаю как в отчете, но во многих других языках для сравнения с определенным числом используется символ двойного равно
IF(grupa_id_in == 1052) THEN ...
Попробуйте такой вариант
Цитата: AGSoft від Січень 06, 2023, 22:39:06
Цитата: Віктор від Січень 05, 2023, 16:30:03
тут не работает наценка на IF(grupa_id_in = 1052) THEN
И вторая END не выставляется..
Не знаю как в отчете, но во многих других языках для сравнения с определенным числом используется символ двойного равно
IF(grupa_id_in == 1052) THEN ...
Попробуйте такой вариант
ні, тут без подвоєння має бути
Одне з головних правил - це кількість BEGIN має дорівнювати кількості END. Також форматуйте свій код, робіть відступи, так буде зрозуміліше:
IF(grupa_id_in = 1005) THEN
BEGIN
-- наценка 100% на розницу если цена прихода от 0грн до 60 грн округлення до 1 знаку після коми.
IF (cena_in < 60) THEN
BEGIN
cena_r_out = ROUND(cena_in *2, 1);
END
ELSE
-- наценка 80% на розницу если цена прихода от 60 грн до 100 грн округлення до 1 знаку після коми.
IF (cena_in >=60 AND cena_in < 100) THEN
BEGIN
cena_r_out = ROUND(cena_in * 1.8, 1);
END
END
IF(grupa_id_in = 1005) THEN
BEGIN
- націнка 100% на роздріб якщо ціна приходу від 0грн до 60 грн округлення до 1 знаку після комі.
IF (cena_in < 60) THEN
cena_r_out = ROUND (cena_in * 2, 1);
END
ELSE
-- націнка 80% на роздріб, якщо ціна приходу від 60 грн до 100 грн округлення до 1 знаку після комі.
IF (cena_in >=60 AND cena_in < 100) THEN
BEGIN
cena_r_out = ROUND(cena_in * 1.8, 1);
END
ELSE
-- націнка 70% на роздріб, якщо ціна приходу від 1 ..... І ТАК ДАЛІ...
Як що багато таких груп, з різними націнками, то чомусь націнка припадає на першу націнку ( націнка 100% ) а націнка ( націнка 80% ) яка далі в строчці не працює, і далі націнює 100 проц. і не реагує на ЦІНУ ПРИХОДУ
Цитата: admin від Січень 09, 2023, 10:26:45
Одне з головних правил - це кількість BEGIN має дорівнювати кількості END. Також форматуйте свій код, робіть відступи, так буде зрозуміліше:
IF(grupa_id_in = 1005) THEN
BEGIN
-- наценка 100% на розницу если цена прихода от 0грн до 60 грн округлення до 1 знаку після коми.
IF (cena_in < 60) THEN
BEGIN
cena_r_out = ROUND(cena_in *2, 1);
END
ELSE
-- наценка 80% на розницу если цена прихода от 60 грн до 100 грн округлення до 1 знаку після коми.
IF (cena_in >=60 AND cena_in < 100) THEN
BEGIN
cena_r_out = ROUND(cena_in * 1.8, 1);
END
END
=======В мене багато ID груп.. і чомусь тоді націнка тільки на першу вимогу тобто 100% .. а далі 80% не реагує, як що ціна більше 60. і все рівно націнює 100 відсотків/
Дякую.. помилку знайшов.. сам :)
Цитата: Віктор від Січень 14, 2023, 10:22:15
Дякую.. помилку знайшов.. сам :)
МОгли б розказати яка, для інших буде корисно =)