Разные валюты поставщиков

Тема в разделе "PrestaShop", создана пользователем sergee, 20 окт 2014.

Информация :
Хочешь в разделе без проблем общаться - прочти правила, чтобы потом с форумом на время не прощаться. Читать обязательно!
Внимание! Читайте внимательно правила!Предупреждения выдаются без всяких вопросов. Нарушил - получил. Будьте Внимательнее! Постинг нескольких постов подряд приравнивается к НАРУШЕНИЮ! Будьте вежливы и соблюдайте правила ;-)
Модераторы: NightHunter, ZiX
  1. sergee

    sergee Создатель

    Регистр.:
    26 янв 2014
    Сообщения:
    45
    Симпатии:
    2
    Всем привет!

    Ни для кого не секрет, что большинство продаваемых нами товаров - импортные. Многие поставщики выставляют отпускные цены - в долларах или в евро. Ситуация когда у вас в магазине продаётся товар, который поставщики отпускают за 3 разные валюты (например доллар, евро и рубль) - не экзотика.

    Раньше можно было выставить все закупочные цены в валюте магазина (например в рублях) и обновлять их 1-2 раза в месяц. Но сейчас волатильность валютного рынка выросла и подобный подход грозит убытками.

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

    Хочу сразу заметить, что варианты "жёстко прописать валюту в фронт офисе" или "скачать модуль определения валюты по геоИП" - не в тему.

    Кто и как решет вопрос мультивалютного каталога? давайте делиться соображениями и опытом! :)
     
  2. Riva

    Riva Папочка

    Регистр.:
    2 мар 2013
    Сообщения:
    453
    Симпатии:
    516
    Тоже столкнулся с этой проблемой, но решение пока не нашёл.

    Цена в админке в долларах, установил forcecurrency и вывожу в гривнах на сайте + увеличиваю курс на 2% (так как курс нацбанка меня не устраивает) + в cron обновление курса каждый день автоматом.

    А вот разные валюты у поставщиков это пока не решил, приходится с калькулятором сидеть и евро в доллар переводить.
     
  3. Kolfg

    Kolfg

    Регистр.:
    20 авг 2012
    Сообщения:
    214
    Симпатии:
    132
    Что за forcecurrency?
     
  4. Riva

    Riva Папочка

    Регистр.:
    2 мар 2013
    Сообщения:
    453
    Симпатии:
    516
    Модуль который принудительно выводит нужную валюту в фронт офисе
     

    Вложения:

    Kolfg нравится это.
  5. sergee

    sergee Создатель

    Регистр.:
    26 янв 2014
    Сообщения:
    45
    Симпатии:
    2
    По моим ощущениям, самый толковый подход был у Kosstas. Вот что он мне писал 20 го июля:

    К сожалению, у меня так и не получилось воспроизвести этот сценарий. На 1.5 Если я добавляю товар в евровый магазин, в рублёвом он вылазит с ценой 0. На 1.6 я добавляю товар в евровый магазин и могу даже увидеть его цену в рублях (если переключаю валюту в евровом магазине). Но вот в рублёвом магазине товар не появляется вообще.

    М.б. кто-то реализовал у себя подход с мультишопом и расскажет пошагово как воспроизвести этот подход у себя?
     
  6. Kosstas

    Kosstas

    Регистр.:
    9 мар 2014
    Сообщения:
    422
    Симпатии:
    723
    ЕСЛИ ISO Коды для валют введены правильно, то в независимости от версий 1.5 или 1.6 всё должно работать после подтверждения в Localisation/Localisation-Для каждого шопа в отдельности

    CURRENCY ISO CODES
    Code Num E[6] Currency Locations using this currency
    AED 784 2 United Arab Emirates dirham United Arab Emirates
    AUD 036 2 Australian dollar Australia, Christmas Island (CX), Cocos (Keeling) Islands (CC), Heard and McDonald Islands (HM), Kiribati (KI), Nauru (NR), Norfolk Island (NF), Tuvalu (TV), and Australian Antarctic Territory
    AWG 533 2 Aruban florin Aruba
    AZN 944 2 Azerbaijani manat Azerbaijan
    BAM 977 2 Bosnia and Herzegovina convertible mark Bosnia and Herzegovina
    BBD 052 2 Barbados dollar Barbados
    BYR 974 0 Belarusian ruble Belarus
    CAD 124 2 Canadian dollar Canada
    CDF 976 2 Congolese franc Democratic Republic of Congo
    CHE 947 2 WIR Euro (complementary currency) Switzerland
    CHF 756 2 Swiss franc Switzerland, Liechtenstein (LI)
    CHW 948 2 WIR Franc (complementary currency) Switzerland
    CLF 990 0 Unidad de Fomento (funds code) Chile
    CLP 152 0 Chilean peso Chile
    CNH 156 2 Chinese yuan when traded in Hong Kong China, Zimbabwe
    CNY 156 2 Chinese yuan China
    COP 170 2 Colombian peso Colombia
    COU 970 4[7] Unidad de Valor Real (UVR) (funds code)[7] Colombia
    CRC 188 2 Costa Rican colon Costa Rica
    CUC 931 2 Cuban convertible peso Cuba
    CUP 192 2 Cuban peso Cuba
    CVE 132 0 Cape Verde escudo Cape Verde
    CZK 203 2 Czech koruna Czech Republic
    DJF 262 0 Djiboutian franc Djibouti
    DKK 208 2 Danish krone Denmark, Faroe Islands (FO), Greenland (GL)
    DOP 214 2 Dominican peso Dominican Republic
    DZD 012 2 Algerian dinar Algeria
    EGP 818 2 Egyptian pound Egypt, auxiliary in Gaza Strip
    ERN 232 2 Eritrean nakfa Eritrea
    ETB 230 2 Ethiopian birr Ethiopia
    EUR 978 2 Euro Andorra (AD), Austria (AT), Belgium (BE), Cyprus (CY) except Northern Cyprus, Estonia (EE), Finland (FI), France (FR), Germany (DE), Greece (GR), Guadeloupe (GP), Ireland (IE), Italy (IT), Kosovo, Latvia (LV), Luxembourg (LU), Malta (MT), Martinique (MQ), Mayotte (YT), Monaco (MC), Montenegro (ME), Netherlands (NL), Portugal (PT), Reunion (RE), San Marino (SM), Saint Barthélemy (BL), Slovakia (SK), Slovenia (SI), Spain (ES), Saint Pierre and Miquelon (PM), Vatican City (VA); see Eurozone
    FKP 238 2 Falkland Islands pound Falkland Islands (pegged to GBP 1:1)
    GBP 826 2 Pound sterling United Kingdom, the Isle of Man (IM, see Manx pound), Jersey (JE, see Jersey pound), Guernsey (GG, see Guernsey pound), South Georgia and the South Sandwich Islands (GS), British Indian Ocean Territory (IO) (also uses USD), Tristan da Cunha (SH-TA), and British Antarctic Territory
    GEL 981 2 Georgian lari Georgia (country) (except Abkhazia (GE-AB) and South Ossetia)
    GYD 328 2 Guyanese dollar Guyana
    HKD 344 2 Hong Kong dollar Hong Kong, Macao (MO)
    HNL 340 2 Honduran lempira Honduras
    HRK 191 2 Croatian kuna Croatia
    HTG 332 2 Haitian gourde Haiti
    HUF 348 2 Hungarian forint Hungary
    IDR 360 2 Indonesian rupiah Indonesia
    ILS 376 2 Israeli new shekel Israel, State of Palestine (PS)[8]
    INR 356 2 Indian rupee India
    IQD 368 3 Iraqi dinar Iraq
    IRR 364 2 Iranian rial Iran
    ISK 352 0 Icelandic króna Iceland
    JMD 388 2 Jamaican dollar Jamaica
    JOD 400 3 Jordanian dinar Jordan, auxiliary in West Bank
    JPY 392 0 Japanese yen Japan
    KES 404 2 Kenyan shilling Kenya
    KGS 417 2 Kyrgyzstani som Kyrgyzstan
    KHR 116 2 Cambodian riel Cambodia
    KMF 174 0 Comoro franc Comoros
    KPW 408 2 North Korean won North Korea
    KRW 410 0 South Korean won South Korea
    KWD 414 3 Kuwaiti dinar Kuwait
    KYD 136 2 Cayman Islands dollar Cayman Islands
    KZT 398 2 Kazakhstani tenge Kazakhstan
    LAK 418 2 Lao kip Laos
    LBP 422 2 Lebanese pound Lebanon
    LKR 144 2 Sri Lankan rupee Sri Lanka
    LRD 430 2 Liberian dollar Liberia
    LSL 426 2 Lesotho loti Lesotho
    LTL 440 2 Lithuanian litas Lithuania
    LYD 434 3 Libyan dinar Libya
    MAD 504 2 Moroccan dirham Morocco
    MDL 498 2 Moldovan leu Moldova (except Transnistria)
    MGA 969 2*[9] Malagasy ariary Madagascar
    MKD 807 2 Macedonian denar Macedonia
    MMK 104 2 Myanmar kyat Myanmar
    MNT 496 2 Mongolian tugrik Mongolia
    MOP 446 2 Macanese pataca Macao
    MRO 478 2*[9] Mauritanian ouguiya Mauritania
    MUR 480 2 Mauritian rupee Mauritius
    MVR 462 2 Maldivian rufiyaa Maldives
    MWK 454 2 Malawian kwacha Malawi
    MXN 484 2 Mexican peso Mexico
    MXV 979 2 Mexican Unidad de Inversion (UDI) (funds code) Mexico
    MYR 458 2 Malaysian ringgit Malaysia
    MZN 943 2 Mozambican metical Mozambique
    NAD 516 2 Namibian dollar Namibia
    NGN 566 2 Nigerian naira Nigeria
    NIO 558 2 Nicaraguan córdoba Nicaragua
    NOK 578 2 Norwegian krone Norway, Svalbard and Jan Mayen (SJ), Bouvet Island (BV), Queen Maud Land, Peter I Island
    NPR 524 2 Nepalese rupee Nepal
    NZD 554 2 New Zealand dollar New Zealand, Cook Islands (CK), Niue (NU), Pitcairn (PN; see also Pitcairn Islands dollar), Tokelau (TK), Ross Dependency
    OMR 512 3 Omani rial Oman
    PAB 590 2 Panamanian balboa Panama
    PEN 604 2 Peruvian nuevo sol Peru
    PGK 598 2 Papua New Guinean kina Papua New Guinea
    PHP 608 2 Philippine peso Philippines
    PKR 586 2 Pakistani rupee Pakistan
    PLN 985 2 Polish zloty Poland
    PYG 600 0 Paraguayan guaraní Paraguay
    QAR 634 2 Qatari riyal Qatar
    RON 946 2 Romanian new leu Romania
    RSD 941 2 Serbian dinar Serbia
    RUB 643 2 Russian ruble Russia, Abkhazia (GE-AB), South Ossetia, Crimea
    RWF 646 0 Rwandan franc Rwanda
    SAR 682 2 Saudi riyal Saudi Arabia
    SBD 090 2 Solomon Islands dollar Solomon Islands
    SEK 752 2 Swedish krona/kronor Sweden
    SGD 702 2 Singapore dollar Singapore, auxiliary in Brunei (BN)
    TJS 972 2 Tajikistani somoni Tajikistan
    TMT 934 2 Turkmenistani manat Turkmenistan
    TRY 949 2 Turkish lira Turkey, Northern Cyprus
    TTD 780 2 Trinidad and Tobago dollar Trinidad and Tobago
    UAH 980 2 Ukrainian hryvnia Ukraine
    UGX 800 0 Ugandan shilling Uganda
    USD 840 2 United States dollar United States, American Samoa (AS), Barbados (BB) (as well as Barbados Dollar), Bermuda (BM) (as well as Bermudian Dollar), British Indian Ocean Territory (IO) (also uses GBP), British Virgin Islands (VG), Caribbean Netherlands (BQ - Bonaire, Sint Eustatius and Saba), Ecuador (EC), El Salvador (SV), Guam (GU), Haiti (HT), Marshall Islands (MH), Federated States of Micronesia (FM), Northern Mariana Islands (MP), Palau (PW), Panama (PA), Puerto Rico (PR), Timor-Leste (TL), Turks and Caicos Islands (TC), U.S. Virgin Islands (VI), Zimbabwe (ZW)
    USN 997 2 United States dollar (next day) (funds code) United States
    USS 998 2 United States dollar (same day) (funds code)[10] United States
    UYI 940 0 Uruguay Peso en Unidades Indexadas (URUIURUI) (funds code) Uruguay
    XAF 950 0 CFA franc BEAC Cameroon (CM), Central African Republic (CF), Republic of the Congo (CG), Chad (TD), Equatorial Guinea (GQ), Gabon (GA)
    XAG 961 . Silver (one troy ounce)
    XAU 959 . Gold (one troy ounce)
    XBA 955 . European Composite Unit (EURCO) (bond market unit)
    XBB 956 . European Monetary Unit (E.M.U.-6) (bond market unit)
    XBC 957 . European Unit of Account 9 (E.U.A.-9) (bond market unit)
    XBD 958 . European Unit of Account 17 (E.U.A.-17) (bond market unit)
    XBT - 8 Bitcoin International internet currency
    XCD 951 2 East Caribbean dollar Anguilla (AI), Antigua and Barbuda (AG), Dominica (DM), Grenada (GD), Montserrat (MS), Saint Kitts and Nevis (KN), Saint Lucia (LC), Saint Vincent and the Grenadines (VC)
    XDR 960 . Special drawing rights International Monetary Fund
    XFU Nil . UIC franc (special settlement currency) International Union of Railways
    XOF 952 0 CFA franc BCEAO Benin (BJ), Burkina Faso (BF), Côte d'Ivoire (CI), Guinea-Bissau (GW), Mali (ML), Niger (NE), Senegal (SN), Togo (TG)
    XPD 964 . Palladium (one troy ounce)
    XPF 953 0 CFP franc (franc Pacifique) French territories of the Pacific Ocean: French Polynesia (PF), New Caledonia (NC), Wallis and Futuna (WF)
    XPT 962 . Platinum (one troy ounce)
    XSU 994 . SUCRE SISTEMA UNITARIO DE COMPENSACION REGIONAL DE PAGOS "SUCRE" [11]
    XTS 963 . Code reserved for testing purposes
    XUA 965 . ADB Unit of Account African Development Bank [12]
    XXX 999 . No currency
    YER 886 2 Yemeni rial Yemen
    ZAR 710 2 South African rand South Africa
    ZMW 967 2 Zambian kwacha Zambia
    ZWD 932 2 Zimbabwe dollar Zimbabwe
     
  7. sergee

    sergee Создатель

    Регистр.:
    26 янв 2014
    Сообщения:
    45
    Симпатии:
    2
    а что такое "подтверждение"? зайти в каждый шоп и назначить собственную дефолтную валюту?
     
  8. Kosstas

    Kosstas

    Регистр.:
    9 мар 2014
    Сообщения:
    422
    Симпатии:
    723
    Yep, correct Обязательно
     
  9. Namenamename

    Namenamename Постоялец

    Регистр.:
    1 фев 2014
    Сообщения:
    51
    Симпатии:
    21
    Вот готовое решение проблемы. Складчина на модуль "Мультивалюта":

     
  10. sergee

    sergee Создатель

    Регистр.:
    26 янв 2014
    Сообщения:
    45
    Симпатии:
    2
    Блин, уже все волосы из носа выдрал, не получается и всё тут!

    Для чистоты эксперимента развернул свежую престу, далее по шагам:
    1. очистил свежую престу от демо данных с помощью родного модуля "PrestaShop Cleaner".
    2. Затем иду в раздел "LOCALIZATION - CURRENCIES", там доступна лишь одна валюта - рубли.
    3. Добавляю валюту Евро (EUR, 978, €, курс к рублю 0.02, включена)
    4. Обновляю курс встроенным обновлением, получаю вот такой вот вид:

    [​IMG]

    5. Иду в PREFERENCES - GENERAL и включаю "Enable Multistore - YES"
    6. Иду в ADVANCED PARAMETERS - MULTISTORE и в группе Default создаю ещё один магазин, при создании указываю - копировать всё из первого магазина:

    [​IMG]
    [​IMG]

    7. Назначаю второму (евровому) магазину отличный урл. Оба урла приходят на виртуалхост с престой.

    [​IMG]

    8. Иду в Localization - LOCALIZATION, сверху в селекторе выбираю магазин "TestShop EUR". Снизу ставлю галку возле "Default currency", Назначаю Валюту по умолчанию - Евро.

    9. Редактирую параметры группы магазинов Default, включаю все параметры в YES:

    upload_2014-10-25_0-9-21.png

    ====== на этом с конфигурацией - всё, перехожу к созданию товара =======

    10. открываю Каталог, в селекторе магазина выбираю рублёвый магазин и создаю товар xxx с закупочной ценой 100 рублей и продажной ценой 120 рублей
    upload_2014-10-25_0-10-8.png

    11. открываю Каталог, в селекторе магазина выбираю евровый магазин и создаю товар yyy с закупочной ценой 30 евро и продажной ценой 50 евро
    upload_2014-10-25_0-11-20.png



    А Теперь иду в фронт офисы магазинов. Я ожидаю увидеть оба товара и в евровом и в рублёвом магазинах, пересчитанные в валюту магазина по текущему курсу. НО! Этого не происходит. В евровом магазине я не вижу товар из рублёвого магазина, а в рублёвом я не вижу товар из еврового.

    Дохтор, что я делаю не так?