Страница 1 из 1
Объедение характеристик для фильтрации
Добавлено: 01 фев 2014 22:22
krasenkov
Здравствуйте, подскажите что делаю не так.
Яндекс-маркет дает несколько характеристик для фильтрации. В моем случае их надо объединить в одну.
Яндекс
газовых конфорок (1,2,3,4,5)
индукционных конфорок (1,2,3,4,5)
керамических конфорок (1,2,3,4,5)
Я создал характеристику "Тип поверхности" и указал ее синонимы "Газовых конфорок", "Индукционных конфорок" и "Керамических конфорок".
Для понятия что к чему относится применил автозамену значений характеристик, т.е для характеристики "Индукционных конфорок" для занчения 4 делаю автозамену 4 -> "Индукционных 4шт"
Составил формулу ЕСЛИ(СОДЕРЖИТ('Индукционных 4шт', {ЗначениеХарактеристики})>0, 'Индукционная поверхность', 'ЕСЛИ(СОДЕРЖИТ('Стеклокерамика 4 шт', {ЗначениеХарактеристики})>0, 'Стеклокерамическая поверхность', 'Газовая')')
Пишет ошибка в формуле, никак не могу понять что сделал не правильно.
Также для наглядности проблемы могу привести пример с более простой формулой
ЕСЛИ(СОДЕРЖИТ('Индукционных 4шт', {ЗначениеХарактеристики})>0, 'Индукционная поверхность', 'Другая')
В редакторе формул при проверке результата пишет все правильно, а в родительскую характеристику упорно не хочет подставлять "Индукционная поверхность"
Пробовал также вставлять со "Значением от синонима", формула имеет вид
ЕСЛИ(СОДЕРЖИТ('Индукционных 4шт', {ЗначениеХарактеристикиОтСинонима})>0, 'Стеклокерамическая индукция', 'Другая')
Пишет - ошибка в формуле
Подскажите, что я делаю не так? Надо добиться сведения трех характеристик в одну. В противном случае на сайте надо делать кучу фильтров, что ЗНАЧИТЕЛЬНО ухудшит юзабилити.
Re: Объедение характеристик для фильтрации
Добавлено: 06 фев 2014 18:08
TechAdmin
Тут ошибка, не нужно брать в одинарные кавычки ЕСЛИ
Код: Выделить всё
ЕСЛИ(СОДЕРЖИТ('Индукционных 4шт', {ЗначениеХарактеристики})>0, 'Индукционная поверхность', 'ЕСЛИ(СОДЕРЖИТ('Стеклокерамика 4 шт', {ЗначениеХарактеристики})>0, 'Стеклокерамическая поверхность', 'Газовая')')
вот так правильно
Код: Выделить всё
ЕСЛИ(СОДЕРЖИТ('Индукционных 4шт', {ЗначениеХарактеристики})>0, 'Индукционная поверхность', ЕСЛИ(СОДЕРЖИТ('Стеклокерамика 4 шт', {ЗначениеХарактеристики})>0, 'Стеклокерамическая поверхность', 'Газовая'))
Пробовал также вставлять со "Значением от синонима", формула имеет вид ЕСЛИ(СОДЕРЖИТ('Индукционных 4шт', {ЗначениеХарактеристикиОтСинонима})>0, 'Стеклокерамическая индукция', 'Другая')
Пишет - ошибка в формуле
Где именно пишется что есть ошибка в формуле? Ваша формула корректная и должна работать.
Если вы прописываете формулу для основной характеристики, к которой привязаны синонимы и хотите взять от них значения, тогда необходимо использовать макроподстановку {ЗначениеХарактеристикиОтСинонима}, что вы и сделали, то есть правильно.
Re: Объедение характеристик для фильтрации
Добавлено: 07 фев 2014 13:12
krasenkov
Где именно пишется что есть ошибка в формуле? Ваша формула корректная и должна работать.
Вот формула
ЕСЛИ(СОДЕРЖИТ('Индукционных 4шт', {ЗначениеХарактеристикиОтСинонима})>0, 'Стеклокерамическая индукция', 'Другая')
Нажимаю "Проверить результат"
результат на скриншоте. Не работает, даже не могу понять в чем причина
хотя ваша формула
ЕСЛИ(СОДЕРЖИТ('Индукционных 4шт', {ЗначениеХарактеристики})>0, 'Индукционная поверхность', ЕСЛИ(СОДЕРЖИТ('Стеклокерамика 4 шт', {ЗначениеХарактеристики})>0, 'Стеклокерамическая поверхность', 'Газовая'))
работает.
Re: Объедение характеристик для фильтрации
Добавлено: 07 фев 2014 13:34
TechAdmin
Странно, но у нас не выводится такого сообщения об ошибке в формуле.
Вы используете последнюю версию программы СС?
Re: Объедение характеристик для фильтрации
Добавлено: 07 фев 2014 13:58
krasenkov
Еще не понятно, в редакторе формул предварительная проверка результата выдает все ОК, а в родительскую характеристику выливает не правильно. Пишет, что все газовые.
Re: Объедение характеристик для фильтрации
Добавлено: 07 фев 2014 16:01
TechAdmin
Вышлите архив вашей базы без картинок, проверим у себя.
Re: Объедение характеристик для фильтрации
Добавлено: 07 фев 2014 21:18
biolion
У меня есть подозрение по чему не работает ) Я тут уже похожую тему подымал и вот ответ TechAdminа
http://forum.elbuz.com/viewtopic.php?f= ... 453#p18432
Суть в том, что Вы, скорей всего сливаете вместе две характеристики с одного источника (яндекс-маркет). Такое невозможно сделать в СС. Я уже себе всю голову сломал как так сделать, но если Вы найдете решение, можете, пожалуйста, поделится!
Синонимы работают только в том случае если характеристики взяты с разных источников.
На Вашем примере:
"Газовых конфорок" - яндекс маркет
"Индукционных конфорок" - Хотлайн.уа
Тогда можно склеить через синонимы,
но если:
"Газовых конфорок" - яндекс маркет
"Индукционных конфорок" -яндекс маркет
то уже не работает
Вы можете попробовать сделать так:
1. Создаете
зависимую характристику от Газовых Конфорок ->
Газовых конфорок ПРОМЕЖУТОЧНАЯ
(Название должно быть уникально в рамках одной категории, так как проверка идет по наименованию, если наименования будут одинаковы - начнется абракадабра

)
- указываете вот такую формулу (если нужно под себя подкорректируйте)
ЕСЛИ(СОДЕРЖИТ('Газовая', {ЗначениеХарактеристики})>0, 'Газовая', '') (в кавычка ничего не указываете - так все значения в которых нет 'Газовая' останутся пустыми).
2. Так же делаете с
"Индукционных конфорок" и "Керамических конфорок" - в итоге Вы получите
три характеристики со значениями
Газовая, Индукционная, Керамическая.
3. Создаете
новую Характеристику
"Тип поверхности" - присваиваете только что созданные характеристики синонимами - пишете формулу как
ФИКСИРОВАННАЯ {ЗначениеХарактеристикиОтСинонима} - Обновляете значения (
они останутся пустыми - так и должно быть)
4. Теперь, что бы потом проще было (
поверьте мне, лучше не поленится и добавить) - создаете
зависимую характеристику от "Тип Поверхности" и пишете ей формулу
{ЗначениеХарактеристики}
5. Радуетесь. Должно работать
Вы же хотите добиться вот такого?:
Тип Поверхности:
Газовая
Индукционная
Стеклокерамическая
Но думаю лучше бы было: Газовая, Электрическая, Комбинированная, Индукционная
Стеклокерамическая относится к материалу рабочей поверхности - яндекс как всегда отличился.
Хоть и муторно все это, но зато потом все будет почти на автомате работать.
Если, что я не саппорт

Re: Объедение характеристик для фильтрации
Добавлено: 09 фев 2014 22:31
krasenkov
TechAdmin писал(а):Вышлите архив вашей базы без картинок, проверим у себя.
Здравствуйте, архив в почте. Цель - вставка значений дочерних характеристик в родительскую. У меня вставляет не правильно.
Там где индукция - все равно заливает газовая.
Re: Объедение характеристик для фильтрации
Добавлено: 10 фев 2014 14:42
TechAdmin
У вас для формирования значений для "главной" характеристики прописана формула в которой используется макроподстановка {ЗначениеХарактеристики}, т.е. брать значениия от неё же, а вам, как стало понятно сейчас, необходимо брать значения от синонимов и обрабатывать их на основании заданной формулы, т.е. логично использовать макроподстановку {ЗначениеХарактеристикиОтСинонима}, вместо {ЗначениеХарактеристики}, но есть ограничение в СС, нельзя использовать макроподстановку {ЗначениеХарактеристикиОтСинонима} в типе значения "на основании формулы", это не реализовано в СС. В этом же окне, в сетке выводятся все значения, включая значения от синонимов, поэтому при проверке вы видите правильный результат, а если вставляете макроподстановку {ЗначениеХарактеристикиОтСинонима} в формулу, тогда выводится ошибка проверки формулы.
Напомните, вы уже успели приобрести пакет поддержки по акционной цене?