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

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

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

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

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

Sanych

ДОЛАР СКАЧЕТ !!!   :o

Постоянно работаем с УкрСкладом в гривнах.
Вносим приход, списываем расход и т.д. ...
В связи с нестабильностью на рынке - поставшики переходят на расчеты в у.е.
И теперь:
- 1 нед. назад получили товар за 4800 грн. ($1000)
- теперь курс 6,1 и мы уже должні за него 6100 грн.  :(  ($1000)
- каждый день переоценивать товар невозможно.

Как перевести уже внесённый товар во всей БД из грн.  в У.Е. ?

admin

#1
Скрипт выполнит перевод справочника товаров с цен в гривне в цены доллар

1. ВАЖНО. Делаем резерв базы данных меню Опции : Резервирование
2. В SQL менеджере выполняем скрипт:

SELECT
  num,
  name
FROM
  currency
WHERE
  visible = 1


В результате получаем таблицу валют:

num   name
1     Гривна
2     Доллар
3     Евро


num - внутренний номер валюты
name - название валюты

3. Далее делаем сами изменения в справочнике товаров:
только розничные цены:

UPDATE
  tovar_name
SET
  cena_r = cena_r / 5.65,
  cena_o = cena_o / 5.65,
  cena_1 = cena_1 / 5.65,
  cena_2 = cena_2 / 5.65,
  cena_out_curr_id = 1
WHERE
  cena_out_curr_id = 0


только приходная цена:

UPDATE
  tovar_name
SET
  cena = cena / 5.65,
  cena_curr_id = 1
WHERE
  cena_curr_id = 0



Объяснения по скрипту

cena_out_curr_id - внутренний номер расходной валюты
cena_curr_id - внутренний номер приходной валюты
cena - цена прихода
cena_r - цена розничная
cena_o - цена оптовая
cena_1 - цена 1
cena_2 - цена 2

/---------------------------
cena_2 = cena_2 / 5.65,     <-- cena_2 делим 5.65
  cena_out_curr_id = 1      <-- тут указывать внутренний номер валюты в долларах
WHERE
  cena_out_curr_id = 0      <-- тут указывать внутренний номер валюты в гривнах
/---------------------------

Figa

Спасибі. В мене все працює.
В мене інша проблема, як тепер перевести всі розрахунки в долар.
Завжди працював в ГРН, тому і всі архіви (накладні, ордери) в ГРН.
баланси всіх клієнтів також в ГРН.
Питання : Як це все також перевести в ГРН ?
І ще : як відредагувати всі товари на основну валюту (прихідну і розхідну) з гривні на долар ?

admin

Цитата: Figa від Жовтень 09, 2008, 13:15:25
Спасибі. В мене все працює.
В мене інша проблема, як тепер перевести всі розрахунки в долар.
Завжди працював в ГРН, тому і всі архіви (накладні, ордери) в ГРН.
баланси всіх клієнтів також в ГРН.
Питання : Як це все також перевести в ГРН ?
І ще : як відредагувати всі товари на основну валюту (прихідну і розхідну) з гривні на долар ?

Выписывать документы можете в любой валюте товар будет пересчитываться по курсу. Основная валюта это 0 (ноль) как установить справочник товаров описано выше. Вся отчетность и внутренние пересчеты идут в основной валюте, основную валюту менять нельзя во время работы программы.

Portes

Дмитрий, подскажите как сделать так что бы перевести не весь справочник товаров, а только определённую его группу с гривны в доллары, просто не все товары привязаны к валюте и было бы не правильно и нам это делать.
На сегодня в этих группах цена указана в гривнах при перерасчёте с долларов по курсу 5.00.


admin

Выполняйте скрипт:

SELECT
  num,
  name
FROM
  tip


получаем


num - номер группы
name - название группы


далее делаем уже изменения по курсу например в группе с номером 5, просто добавляем к скрипту

AND tip = 5

например:


UPDATE
  tovar_name
SET
  cena_r = cena_r / 5.65,
  cena_o = cena_o / 5.65,
  cena_1 = cena_1 / 5.65,
  cena_2 = cena_2 / 5.65,
  cena_out_curr_id = 1
WHERE
  cena_out_curr_id = 0 AND
  tip = 5



UPDATE
  tovar_name
SET
  cena = cena / 5.65,
  cena_curr_id = 1
WHERE
  cena_curr_id = 0 AND
  tip = 5

v008

спасибо. проблема решена. но у меня несколько поставщиков. и цены менялись по разным курсам... в коде товара первые 2 буквы - это код поставщика. можно скриптик для такого случая, чтобы перевести гривневые цены в валютные соответственно по каждому поставщику?

DeFault

Цитата: v008 від Листопад 28, 2008, 15:00:13
спасибо. проблема решена. но у меня несколько поставщиков. и цены менялись по разным курсам... в коде товара первые 2 буквы - это код поставщика. можно скриптик для такого случая, чтобы перевести гривневые цены в валютные соответственно по каждому поставщику?

Добавте в условие
"...  tip = 5"
еще, например, такое
" and kod like "xx%" "
где xx Ваши "первые 2 буквы - это код поставщика" и получится
"...  tip = 5 and kod like "xx%" "

jokester

Цитата: admin від Жовтень 09, 2008, 17:44:32
Выписывать документы можете в любой валюте товар будет пересчитываться по курсу. Основная валюта это 0 (ноль) как установить справочник товаров описано выше. Вся отчетность и внутренние пересчеты идут в основной валюте, основную валюту менять нельзя во время работы программы.
А что делать, если всё таки была изменена основная валюта с ГРН в ЄВРО, а потом обратно в ГРН, и сейчас при выписке расходной накладной цена в ЕВРО считается как ГРН * курс (сейчас 11), в не наоборот как должно быть (т.е. цена в ЕВРО = цена в ГРН / 11). Помогите!

admin

Цитата: jokester від Квітень 09, 2012, 04:34:47
А что делать, если всё таки была изменена основная валюта с ГРН в ЄВРО, а потом обратно в ГРН, и сейчас при выписке расходной накладной цена в ЕВРО считается как ГРН * курс (сейчас 11), в не наоборот как должно быть (т.е. цена в ЕВРО = цена в ГРН / 11). Помогите!

Если было бы как должно быть, считало бы верно. Если не так считает значит выставьте вместо умножения деление, или наоборот.

admin

up темы, т.к. много подобных вопросов как и в 2008 году

victorpolo

Дык насколько я понимаю, отныне стабильного курса и не будет уже... НБУ отпускает курс на усмотрение рынка...
п.с.: нашей стране легче вообще отказаться от гривны и пользоваться долларами, так как гривна - пустышка и привязана на 100% к долларам и еврам... экономику положили надежно... одни торгаши в стране, поэтому и трясутся все, как бы доллар не скакнул куда...

victorpolo


UPDATE
  tovar_name
SET
  cena = cena / 5.65,
  cena_curr_id = 1
WHERE
  cena_curr_id = 0 AND
  tip = 5

А что означает в этом скрипте  cena_curr_id ? У меня без него все работает, цены меняются. а если с этой переменной - ничего не меняет...(((

Creat

Це значить порахувати ціну поділивши на курс, встановити що це ціна в доларах   cena_curr_id = 1, для тих у кого зараз ціна гривня 0 cena_curr_id = 0 та група 5.

Це Просили ті в кого прихідна ціна була в гривнях. Таким чином вони перерахували прихідну ціну в долар і встановили що прихідну ціну рахувати в доларах.