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

Вопрос о скриптах

Автор Vitaly_Gl, Листопад 27, 2014, 13:41:34

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

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

Vitaly_Gl

#30
BEGIN
      IF (cena_in <= 20) THEN
    BEGIN
            cena_r_out = udf_roundto(cena_in * 1.28, 2);
    END
    ELSE
    IF (cena_in > 20 AND cena_in <= 30) THEN
    BEGIN
            cena_r_out = udf_roundto(cena_in * 1.23, 2);
    END
    ELSE
    IF (cena_in > 30 AND cena_in <= 100) THEN
    BEGIN
            cena_o_out = udf_roundto(cena_in * 1.18, 2);
    END
    ELSE
    IF (cena_in > 100 AND cena_in <= 1000) THEN
    BEGIN
            cena_o_out = udf_roundto(cena_in * 1.13, 2);
    END
    END

Суть такова, работаю в уе
при приходной цене до 20уе наценка 28%
от 20 до 30 уе наценка 23%
от 30 до 100 уе наценка 18%
от 100 до 1000 уе наценка 13%
Правильный ли скрипт?
Спасибо.

Vitaly_Gl

В таком варианте скрипт сохраняет без ошибки но наценку не делает.
udf_roundto - это что за переменные?

admin

Цитата: Vitaly_Gl від Грудень 02, 2014, 15:31:59
В таком варианте скрипт сохраняет без ошибки но наценку не делает.

Наценку не делает где именно?

Цитата: Vitaly_Gl від Грудень 02, 2014, 15:31:59
udf_roundto - это что за переменные?

Это функция округления udf_roundto(<число>,<кол._знаков_после _запятой>)

Vitaly_Gl

Не меняется розничная цена  в справочнике товаров.

admin

Цитата: Vitaly_Gl від Грудень 02, 2014, 15:41:10
Не меняется розничная цена  в справочнике товаров.

Как вы ее меняете или думаете как она должна меняться? При вводе приходной Enter нажимаете?

Vitaly_Gl

Уже нашел проблемку
cena_o_out поменял на cena_r_out

Vitaly_Gl

Все супер, разобрался.
Последний вопрос-цена новая будет меняться автоматически после проведения новой приходной накладной?

admin

Цитата: Vitaly_Gl від Грудень 02, 2014, 15:55:21
Все супер, разобрался.
Последний вопрос-цена новая будет меняться автоматически после проведения новой приходной накладной?

При смене цены в приходной или при вводе новой накладной.

Цитата: admin від Листопад 28, 2014, 16:03:56
И при вводе товара в справочник,  можно в справочнике клацнуть на группе товара и выбрать "Переоценить выделенную группу товаров", можно нажать "Назначить новые цены" в меню Опции : Наценки на товары : Наценки SQL скриптом. Хотите автоматом включите в меню Опции : Параметры : Справочники : Автоматическая корректировка цены товара :
Автоматически наценивать, тогда при смене цены в приходной будет происходить наценка согласно настройкам в  в меню Опции : Наценки на товары.

Beatle

День добрый.
Пытаюсь скриптом обнулить кол-во товара в группе
UPDATE
  tovar_name
SET
  z_kolvo = 0
WHERE
  tip = 2

Поправьте меня плз, а то ошибка вылазит...

Creat

Не можна скриптом обнуляти кількість товару в групі!!! Зробіть акт інвентаризації - включіть всі товари з групи в нього і вкажіть що у вас залишок їх 0. Випишіть на основі нього внесення залишків та списання. І отримаєте те що вам потрібно. А по іншому буде повна фігня!!!

Beatle

Почему же фигня? Я хочу убрать весь товар и удалить группу, необходимости инвентаризировать или списывать товар у меня нет, а просто хочу все обнулить и забыть. Вбивать 100500 позиций особого желания нет, но если нет другого выхода, то придется...

TheOK

Цитата: Beatle від Лютий 07, 2015, 17:28:49
Почему же фигня? Я хочу убрать весь товар и удалить группу, необходимости инвентаризировать или списывать товар у меня нет, а просто хочу все обнулить и забыть. Вбивать 100500 позиций особого желания нет, но если нет другого выхода, то придется...
Вся эта процедура делается достаточно быстро
Не стоит нарушать принцип работы программы ради того, чтобы обнулить всего лишь одну группу
Кол-во товара не важно. Добавьте весь товар группы в акт инвентаризации и не мучайтесь (кнопочки необходимые для этого есть)
Работа в УкрСклад(особенности и советы): [url="//www.softbalance.com.ua/forum/index.php/topic,2362.0.html"]www.softbalance.com.ua/forum/index.php/topic,2362.0.html[/url]
Некоторые мои отчеты можно найти здесь: [url="http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html"]http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html[/url]

weee

#42
Подскажите, как через скрипт сделать скидку на товар, который продается кратно 6 (шести) ?
Например 6 (или 12 или 18 или 102 и т.д.) шт - скидка 2%
Если 5,8 или 34 тогда без скидки.

(можно ли вводить переменные в скрипт) ?

ПС. пробовал использовать "остаток от деления" (% mod) но походу они не поддерживаются
Типа: если кол. товара делится на 6 с остатком который больше 0,01 тогда скидки нет

admin

Цитата: weee від Лютий 09, 2015, 16:10:23
Подскажите, как через скрипт сделать скидку на товар, который продается кратно 6 (шести) ?
Например 6 (или 12 или 18 или 102 и т.д.) шт - скидка 2%
Если 5,8 или 34 тогда без скидки.

ПС. пробовал использовать "остаток от деления" (% mod) но походу они не поддерживаются
Типа: если кол. товара делится на 6 с остатком который больше 0,01 тогда скидки нет

mod на самом деле есть, но он только для целых чисел, пример:
  IF(MOD(in_tovar_kolvo, 6) = 0) THEN
    tovar_znig_proc = 2;

проблема что MOD(12,6) будет равен нулю и MOD(12.2,6) тоже т.к. 12.2 будет приведен к 12. Зачем это сделано для меня загадка.
Хотя вещественные числа сравнивать нельзя, попробуйте вот это:
  IF(UDF_ROUNDTO(in_tovar_kolvo/6,0) = in_tovar_kolvo/6.0) THEN
    tovar_znig_proc = 2;


Цитата: weee від Лютий 09, 2015, 16:10:23
(можно ли вводить переменные в скрипт) ?

Не предусмотрено, но свои UDF функции можете вводить, есть много разных бесплатных функций в инете.

weee