Jump to content

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


Recommended Posts

Добрый день.

 

Есть рабочая связка 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) { # тут загвоздка # }	  
	} 

 

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

 

 
Link to post
Share on other sites

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

Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...