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

ДОЛАР СКАЧЕТ !!! Как перевести товар во всей БД из грн. в У.Е. ?

Автор Sanych, Жовтень 08, 2008, 16:48:32

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

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

victorpolo

Не въехал, ну да ладно... доллары и валюты пока не интересуют...
Вопрос созрел дополнительный: как через SQL сделать наценку на товар по определенной группе так, чтобы при цене до 10,00 грн. новая цена округлялась до 2 знаков после запятой (0,00), а при цене выше 10,00грн. новая цена округлялась до десятых (0,0).
Пример: (здесь по группе №27 меняет цену с округлением до десятых) где здесь добавить условие цены до 10 и выше 10грн?
UPDATE
  tovar_Name
SET
  cena_r= CAST(cena_r *1.2  as NUMERIC(6,1))

WHERE TIP =27

Логику я понимаю, а синтаксис SQL- очень плохо... Может кто то подскажет?

Creat

Користуйтесь опції - націнка на товари - націнка SQL скриптом поставити галочку
IF(grupa_id_in = 103)  THEN
  BEGIN
   cena_r_out = udf_roundto(cena_in * 1.3,2);
     IF (cena_r_out >= 10) THEN cena_r_out = udf_roundto(cena_r_out, 1);
  END

victorpolo

Цитата: Creat від Березень 11, 2014, 16:34:16
Користуйтесь опції - націнка на товари - націнка SQL скриптом поставити галочку
IF(grupa_id_in = 103)  THEN
  BEGIN
   cena_r_out = udf_roundto(cena_in * 1.3,2);
     IF (cena_r_out >= 10) THEN cena_r_out = udf_roundto(cena_r_out, 1);
  END
Спасибо за подсказку. Один ньюанс: мне нужно эти разные округления - в пределах одной группы сделать. Правильно ли будет вот так построить запрос:

IF(grupa_id_in = 27)  THEN
  BEGIN
IF (cena_r <= 10) THEN
            cena_r_out = udf_roundto(cena_r * 1.2, 2);
  ELSE
   cena_r_out = udf_roundto(cena_r * 1.2,1);

  END

хотя...уже разобрался и с предложенным вариантом - там тоже все в одной группе. но, думаю, и мой вариант - сработает?

Creat

Правильно буде саме мій варіант.
cena_r такої змінної немає взагалі в цьому варіанті скрипта.
cena_in це прихідна ціна.
якщо ви хочете просто змінити роздрібну ціну збільшивши її на 10% від поточної то
IF(grupa_id_in = 27)  THEN
  BEGIN
   cena_r_out = udf_roundto(cena_r_out * 1.1,2);
     IF (cena_r_out >= 10) THEN cena_r_out = udf_roundto(cena_r_out, 1);
  END
Логіка скрипта:
для групи 27 роздрібну ціну збільшити на 10% з округленням до 2 знаків, а далі для тих роздрібних цін які більше 10 грн провести округлення до 1 знаку.
Зробіть резерв бази і спробуйте.
"Практика - критерій істини"

victorpolo

да, саме змінити роздрібну треба. дякую, зрозумів тепер!

geographic

#20
може не дуже в тему але цікавить таке питання :

як переоцінити весь товар із бази SQL скриптом маючи при цьому різний процент націнки на кожен товар різної цінової категорії при цьому врахувати зміну курсу долара а також те що частина товару в базі в гривнях .

наприклад :
0,0001   1,6500    націнка на товар ціною в дол. від 0,0001 до 0,0125  65%
0,0125
      
0,0125   1,6300   націнка на товар ціною в дол. від 0,0125 до 0,3  63%
0,3000
      
0,3000   1,6200,  націнка на товар ціною в дол. від 0,35 до 0,5  62%
0,5000
      
0,5000   1,6000,  націнка на товар ціною в дол. від 0,35 до 0,5  60%
1,0000   

і т.д.   ,  ?

З.І. Роздрібна ціна в грн.   

installer

подскажите скрипт для наценки по групе товаров +20% от проставленой розницы в грн

Creat

Так на цій же сторінці самий верхній пост. Ще й з округленням до десятих :)

stdon

По переводу с гривны в доллар все сделал как написано. Получилось. Только у меня несколько складов: 2 - в гривне приход и продажа; 1 - в долларах - приход, в гривне - продажа. Теперь у меня все склады в долларах... Как мне сделать перевод приходных цен только на одном складе, не затрагивая другие? Или может как-то включить в скрипт по переводу цен в доллары только по 2-м поставщикам, от которых мне и заходит товар на долларовый склад?

Creat

Цитата: stdon від Квітень 18, 2014, 16:02:04
По переводу с гривны в доллар все сделал как написано. Получилось. Только у меня несколько складов: 2 - в гривне приход и продажа; 1 - в долларах - приход, в гривне - продажа. Теперь у меня все склады в долларах... Как мне сделать перевод приходных цен только на одном складе, не затрагивая другие? Или может как-то включить в скрипт по переводу цен в доллары только по 2-м поставщикам, от которых мне и заходит товар на долларовый склад?
Переведіть ціни для груп, які в певному складі.

installer

#25
Здравствуйте!
Столкнулся с проблемой округления копеек.
База переведена в уе. цена товара выщитывается согласно проставленного курса доллара, курс меняется очень часто, но если товар стоимостью 0,61 уе и проставить  курс, например 15,10, то  сумма получается 9,21 грн, пробовал округлять скриптом, но скрипт округляет только цену проставленную в справочнике товаров и это не спасает, подскажите как сделать, что бы можно было каким- либо образом округлять копейки хотя бы до 5ти. или может можно как нибудь убрать десятые из цены вообще. Если бы в параметрах количество знаков после запятой для цены можно было выставить 1 - это бы решило проблему. А то с изменением курса вылазят по две или три копейки в стоимости товара. может есть способ, что бы в окне кассира сумма округлялась или вообще ищезли эти копейки

installer

Еще одна просьба к разрабам:
перевели товар скриптом в уе розница и приходная цена. Теперь в справочнике товаров цены в уе. Сделайте в выборе колонок цену для приходной и расходной в грн , что бы можно было включать отключать. А то совсем неудобно. ведь не сложно добавить две позиции , которые будут вытягивать данные из проставленного курса. Может как то можно добавить самому подскажите!

admin

Цитата: installer від Вересень 25, 2014, 01:50:39
Здравствуйте!
Столкнулся с проблемой округления копеек.
База переведена в уе. цена товара выщитывается согласно проставленного курса доллара, курс меняется очень часто, но если товар стоимостью 0,61 уе и проставить  курс, например 15,10, то  сумма получается 9,21 грн, пробовал округлять скриптом, но скрипт округляет только цену проставленную в справочнике товаров и это не спасает, подскажите как сделать, что бы можно было каким- либо образом округлять копейки хотя бы до 5ти. или может можно как нибудь убрать десятые из цены вообще. Если бы в параметрах количество знаков после запятой для цены можно было выставить 1 - это бы решило проблему. А то с изменением курса вылазят по две или три копейки в стоимости товара. может есть способ, что бы в окне кассира сумма округлялась или вообще ищезли эти копейки

И такое будет в УкрСклад 6, даже копейки можно будет перекидывать на бонусную карту. Вот фрагмент экрана из настроек Окна кассира в параметрах программы:

UA_pp

Цитата: admin від Вересень 26, 2014, 12:41:17
И такое будет в УкрСклад 6, даже копейки можно будет перекидывать на бонусную карту. Вот фрагмент экрана из настроек Окна кассира в параметрах программы:

Интересно. А рассчитываться бонусами можно будет?

admin

Цитата: UA_pp від Вересень 30, 2014, 11:51:18
Интересно. А рассчитываться бонусами можно будет?

Да, зачем же их тогда накапливать, для этого и есть параметр "Коэффициент бонус в грн".