Перейти к содержимому


Фото
- - - - -

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


  • Чтобы отвечать, сперва войдите на форум
2 ответов в теме

#1 artbe

artbe
  • Пользователь
  • 196 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 14.02.2019 - 10:10

Добрый день.

 

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

 

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

 

 


#2 phukortsin

phukortsin
  • Фрилансер
  • 824 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 14.02.2019 - 13:06

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



#3 artbe

artbe
  • Пользователь
  • 196 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Россия

Опубликовано 15.02.2019 - 05:58

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

 

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






0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых