Перейти к содержанию
Официальный форум поддержки Simpla

Сделать условие в обработчике 1c_exchange.php


Рекомендуемые сообщения

Добрый день.

 

Есть рабочая связка 1С - сайт. Все работает корректно, количество и цену обновляет.

 

На данный момент возникла необходимость выбирать нужный вид цен при передачи с 1С.

 

Более конкретно: при выгрузке с 1С, ставится в настройках, несколько видов цен (допустим Розница, Розница 2, Розница 3). Т.е. у товара есть несколько видов цен, забитых в 1С.

 

В файл offers.xml это все передается в таком виде:

 

				<Цены>
					<Цена>
						<Представление>5 313 руб. за шт</Представление>
						<ИдТипаЦены>a33b4aa5-f56e-11e5-988d-d85d4c8303c5</ИдТипаЦены>
						<ЦенаЗаЕдиницу>5313</ЦенаЗаЕдиницу>
						<Валюта>руб</Валюта>
						<Единица>шт</Единица>
						<Коэффициент>1</Коэффициент>
					</Цена>
					<Цена>
						<Представление>5 738 руб. за шт</Представление>
						<ИдТипаЦены>a33b4aa6-f56e-11e5-988d-d85d4c8303c5</ИдТипаЦены>
						<ЦенаЗаЕдиницу>5738</ЦенаЗаЕдиницу>
						<Валюта>руб</Валюта>
						<Единица>шт</Единица>
						<Коэффициент>1</Коэффициент>
					</Цена>
					<Цена>
						<Представление>6 163 руб. за шт</Представление>
						<ИдТипаЦены>a33b4aa7-f56e-11e5-988d-d85d4c8303c5</ИдТипаЦены>
						<ЦенаЗаЕдиницу>6163</ЦенаЗаЕдиницу>
						<Валюта>руб</Валюта>
						<Единица>шт</Единица>
						<Коэффициент>1</Коэффициент>
					</Цена>
				</Цены>

 

т.е. передаются 3 вида цен (Розница, Розница 2, Розница 3).

 

Каким образом можно в обработчике 1c_exchange.php, сделать условие чтобы выбрать нужную мне цену из 3 видов цен представленных выше.

 

Например, курс доллара в диапазоне 60-65 руб - значит мне надо брать цену - Розница 2.

Или, курс доллара в диапазоне 65-70 руб - значит мне надо брать цену - Розница 3.

 

Обновление цены в обработчике происходит в переменной: $variant->price = $xml_variant->Цены->Цена->ЦенаЗаЕдиницу;

 

Как делаю сейчас в обработчике 1с_exchange.php.

 

$currency = $simpla->money->get_currency(2); // Выбрал нужную мне валюту 
$curs = $currency->rate_to;

// $variant->price = $xml_variant->Цены->Цена->ЦенаЗаЕдиницу;
	
    foreach($xml_variant->Цены->Цена->ЦенаЗаЕдиницу as $p)
	{
           if ($curs >= 60 AND $curs < 65) { # тут загвоздка # }	
	   if ($curs >= 65 AND $curs < 70) { # тут загвоздка # }	  
	} 

 

 Подскажите плиз каким образом допилить условие.

 

 
Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

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

 

сколько по цене?

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...