Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Составить логическую конструкцию
Форумы портала PHP.SU » » Вопросы новичков » Составить логическую конструкцию

Страниц (1): [1]
 

1. BespredeL - 18 Февраля, 2015 - 18:28:19 - перейти к сообщению
Товарищи знатоки, надеюсь на вашу помощь.
Третий день мучаюсь с проблемой, никак не могу решить.
Дали задачу интегрировать 1С с самописной системой управления.
В 1С обмен идет через модуль 1С-Битрикс
Из за сложной и своеобразной системы CMS все получается громоздко и запутанно.

1С передает на сайт 6 файлов.(опишу только то что необходимо)
1. Файл со свойствами и значениями свойств (цвет: красный, зеленый и т.д)
2. Файл с основными товарами (включая значения их свойств)
3. ненужный мне файл
4. Файл с дочерними товарами и значениями свойств

Сейчас работа получается такая:
1. Скрипт добавляет свойства в базу (id : значение свойства(напр.красный) : 1cID свойства : 1сID значения свойства)

2.
Цикл1:
Добавляем основной товар
Цикл2:
Ищем значение свойства по id1C_значения_свойства
Добавляем к товару
/Цикл2
/Цикл1

3.
Цикл1:
Добавляем дочерний товар со значениями свойств основного товара
Цикл2:
Ищем значение свойства по id1C_значения_свойства
Обновляем в товаре
Если в основном товаре значения цвета и/или размера пусты то добавляем из первого дочернего
/Цикл2
/Цикл1

Постарался в кратце описать что и как работает.

Проблема вот в чем.
Мне необходимо добавлять значения свойств из первого дочернего товара к основному товару.
Но никак не могу составить логическое условие.

Если у основного товара нет цвета но он есть у дочернего нужно добавить при условии что размеры совпадают либо размер основного пуст

Если у основного товара нет размера но есть у дочернего нужно добавить при условии что цвета совпадают либо цвет основного пустой

Если цвет и размер основного пустой, то нужно добавить из первого дочернего.


Надеюсь понятно объяснил суть проблемы.

Понимаю что задачка простая, но голова у меня совсем забита работой, не могу сосредоточится и обдумать такую вот нелепую проблемку.
Подскажите кто чем может =)))))
2. BespredeL - 20 Февраля, 2015 - 12:36:28 - перейти к сообщению
Проспался и решил проблему =)))))

 

Powered by ExBB FM 1.0 RC1