Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Задача сформировать номенклатуру. Проблема.

12.09.2013, 14:38
intrell
ООО "Интрелл"

Зарегистрирован:
2008-05-05
Сообщений: 62

Есть Инфоблок куда экспортируется прайс поставщиков с полями свойств товара:
-цвет
-размер
-стоимость
-поставщик

Задача сформировать номенклатуру (цвет, размер).

Пробовали в настройках Инфоблока указывать $distinct=1, но не выходит.
Может кто решал подобную задачу? Нужно помощь.

NetCat Bussines v5.2

HUBHOST.ru – использую хостинг для NetCat
16.09.2013, 08:24
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Все зависит от того, в каком виде вы хотите получить результат - с постраничной листалкой или без.
Если подойдет вариант без листалки, то делайте вывод через listquery, например таким запросом:
select distinct Color, Size from Message$classID. Выберет список всех комбинаций цветов и размеров без проблем. :-)
16.09.2013, 12:09
intrell
ООО "Интрелл"

Зарегистрирован:
2008-05-05
Сообщений: 62

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

HUBHOST.ru – использую хостинг для NetCat
17.09.2013, 10:48
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Так а результаты выполнения запроса-то где вам нужно вывести? И в каком виде, чтобы это не считалось костылем? улыбка
Вам нужно, чтобы каждая строка ответа на запрос являлась обязательно отдельным неткатовским "объектом в списке"?
17.09.2013, 13:32
intrell
ООО "Интрелл"

Зарегистрирован:
2008-05-05
Сообщений: 62

Да. Просто хотелось вывести все с использованием шаблонов NetCat.

HUBHOST.ru – использую хостинг для NetCat
17.09.2013, 22:22
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Ну тогда вот так, я думаю (если 5-ый неткат):

Код:
<?
// запрос будет составляться вручную
$ignore_all = 1;
// поля для выборки
$query_select = "distinct Color, Size";
// таблица
$query_from = "Message$classID";
// по 20 объектов на странице
$query_limit = ($curPos+0).", 20";
?>

Результаты будут доступны в "Объекте в списке" в переменных $f_Color и $f_Size.
Разумеется, если нужны названия цветов и размеров - джойньте классификаторы туда же. :-)
18.09.2013, 12:04
intrell
ООО "Интрелл"

Зарегистрирован:
2008-05-05
Сообщений: 62

Хорошо. Еще один вопрос. Как сделать, чтобы выводился первый Message_ID рядом?

HUBHOST.ru – использую хостинг для NetCat
18.09.2013, 12:13
Руслан Густокашин
Студия Вэлпис

Зарегистрирован:
2012-02-06
Сообщений: 962

Тогда в $query_select уберите distinct, вместо него напишите "Message_ID, " и добавьте еще
$query_group = "concat(Size,Color)";
Хотя, может быть, заработает и такой вариант (попробуйте):
$query_group = "Size,Color";
Если заработает второй вариант, то лучше пользуйтесь им - меньше сервер будет грузить.
198 196 2013-09-18 12:13:27 13281
Описание проекта