Программа iNETsHOP - обработка, сравнение, анализ прайс листов поставщиков, создание каталога товаров интернет магазина Форум - Программа iNETsHOP - Техподдержка - Разбор прайс листа


http://inetshop.in.ua/index.php?p=showtopic&toid=179&pp=15&page=1&area=1
16.02.2012 11:42

compfriends


Пользователь iNETsHOP

Количество сообщений   22
Зарегистрирован:   15-02-2012, 10:06:37
Как лучше сделать разбор прайс листа где цена указана по разному
В прайс листе цены указаны по разному.
Цены в доллларах указаны в виде числа ( 556 ), а в гривнах ( 1,440.0000 ).
Подскажите каким образом лучше сделать разбор прайс листа.
Отредактировано compfriends: 16.02.2012, 11:43:50

Нужно импортировать все товары.
Два варианта.
Валюта по умолчанию - доллары.
Отредактировано compfriends: 17.02.2012, 15:33:41



Прикрепленные файлы
Безымянный 2.JPG   ( 8 Просмотров | 25.2 KB )

16.02.2012 14:35

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Импорт мультивалютного прайс-листа
Вы не совсем точно описали что именно вы хотите получить в результате. Не указаны такие детали, как:
- нужно импортировать все товары, или только с определёнными валютами
- сколько вариантов (скорее всего два, как видно на скриншоте)
- какая учётная валюта в программе, т.е. в какую валюту переводить цены, если валюта отличается

20.02.2012 11:53

Admin


Администратор


Количество сообщений   135
Зарегистрирован:   23-08-2007, 09:03:21
Т.е. выходит что нужно перевести цены в гривне в доллары США. Это можно сделать несколькими способами. Т.к. скорее всего эти цены попадают в программу в виде текста и не преобразовываются в число, следует провести с ними некоторые манипуляции: удалить запятую которая разделяет тысячи, а затем заменить точку на запятую (разделитель дробных знаков - запятая). Для этого можно в схему импорта добавить суммарный скрипт обработки, который срабатывает, когда все товары их прайс-лита загружены.

update #TMP_PRICE
set PRICE = REPLACE(IsNull(LTRIM(RTRIM(CAST(PRICE as varchar(100)))), '0'), ',', ''), CURRENCY = 'UAH';

update #TMP_PRICE
set PRICE = REPLACE(IsNull(LTRIM(RTRIM(CAST(PRICE as varchar(100)))), '0'), '.', ',');


(Будет работать, если цены в долларах не содержат запятой и не имеют дробной части, как указано)

Теперь можно умножить цену в гривне на какой-то фиксированный курс, можно подтянуть курс валюты запросом из справочника валют и.т.п., в зависимости от того, что вы предпочитаете.

Так же можно в схеме импорта сделать две спецификации, и на цены в гривне указать курс валюты поставщика