09.08.2016 22:17 | |
maxteltПользователь iNETsHOP Количество сообщений 115 Зарегистрирован: 03-12-2014, 12:33:15 |
Возможно ли при чтении прайса быстро перевести где стоит евро в рубли, надпись евро (это формат, а не как таковая надпись) может быть не по порядку, в разных колонках и.т.д |
09.08.2016 23:02 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Извините, но по такому описанию трудно понять задачу. Покажите прайс или приложите хотя бы скрин. |
09.08.2016 23:20 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
Вот пример, просто стоит считать по РРЦ, а она берется из цены поставщика2, а там может попасться цена в евро
|
10.08.2016 17:50 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
В вашем прайс-листе валюта в цене указана не текстом в самой ячейке, а как формат ячейки (NumberFormat). Вариантов решения такой проблемы несколько, можно создать сценарий VBS который будет перед импортом открывать указанный прайс и копировать формат ячеек с ценой в другие ячейки, чтобы по ним в последствии можно делать фильтры. Можно то же самое сделать в макросе Excel, который будет выполняться непосредственно перед чтением товаров и заполнять отдельные ячейки текстом с ценой. Можно даже из T-SQL открывать этот де файл Excel и читать формат ячеек. Пример макроса Excel для получения формата ячейки и записи его в отдельную колонку: Код
В результате работы данного макроса мы получим название формата ячейки с ценой, в котом хранится валюта - в отдельных колонках таблицы I, J, K. Схема импорта прайс-листа прилагается. |
10.08.2016 19:02 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
Спасибо большое за помощь, но в полном прайсе почему-то не везде срабатывает. (прайс прилагаю например бренд BARAZZA,FULGOR). И еще вопрос, если у меня стоит брать РРЦ цену по цене2(колонка F), а там цена в евро, как в таком случае быть, как влиять на цену2. |
10.08.2016 19:13 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
Вот как это выглядит
|
10.08.2016 21:25 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Цитата Написал: maxtelt но в полном прайсе почему-то не везде срабатывает. Что именно не срабатывает? Вы проверяли формат ячеек с ценой у этих товаров? Цитата Написал: maxtelt И еще вопрос, если у меня стоит брать РРЦ цену по цене2(колонка F), а там цена в евро, как в таком случае быть, как влиять на цену2. Есть колонка "Курс валюты №2", если вы в схеме импорта внесете туда курс валюты, то соответственно при расчете (выборе) РРЦ вы сможете его учитывать, т.е. использовать не просто поле таблицы товаров поставщиков SG_PRICE2, а SG_PRICE2*SG_CYRRENCY_RATE2 или в самом скрипте расчета РРЦ брать курс определенной валюты из справочника валют и умножать/делить на него. Вариантов достаточно много. |
10.08.2016 22:10 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
Цитата Написал: support Цитата Написал: maxtelt но в полном прайсе почему-то не везде срабатывает. Что именно не срабатывает? Вы проверяли формат ячеек с ценой у этих товаров? Не появляется название формата ячейки с ценой, в котом хранится валюта - в отдельных колонках. Формат проверял такой же. |
10.08.2016 22:11 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Вот пример работы схемы импорт которая была выложена ранее на полном прайсе который выложили вы с фрагментами которые вызывают у вас проблемы: Как видно на данных скриншотах - проблема на этих участках прайс-листа не наблюдается. Настройки парсинга товаров в схеме импорта вы можете увидеть в ней самой: |
10.08.2016 22:27 | |
maxteltПользователь iNETsHOP
Тема начата
Зарегистрирован: 03-12-2014, 12:33:15 |
Все спасибо, нашел причину, почему-то мешала шапка прайса. Вам давал пример без шапки, а сам пробовал с ней. |
10.08.2016 22:45 | |
supportSupport Количество сообщений 1199 Зарегистрирован: 11-04-2008, 19:11:57 |
Если макрос не работал из-за шапки прайса, то вы можете изменить в нем диапазон ячеек, чтобы он начинал работать не с первой строки, а с нужной: "e1:e". Цитата For Each rVal In Range("e1:e" & Cells(Rows.Count, 5).End(xlUp).Row) Так как вы все-равно подали для тестирования не тот прайс из которого в действительности импортируете товары, более подробно подсказать не имеем возможности. |