По теме из базы знаний
- Оптимизатор запросов. Вторая часть
- Wildberries. Заполнение карточек товаров. Как получить значение справочников?
- Как спроектировать структуру регистра сведений
- Применение 1С:Аналитики и Дата акселератора, или Как получить в 1С прозрачность и скорость обработки данных для прямого доступа и контроля руководителя
- Как посмотреть итоговый запрос в отчете СКД
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
| ВЫБРАТЬ ПЕРВЫЕ 4
| РегистрХ.Номенклатура КАК Номенклатура,
| РегистрХ.Картинка КАК Картинка
| ИЗ
| РегистрСведений.РегистрХ
| ГДЕ РегистрХ.Номенклатура = &Номенклатура
Как -то так. Выберет либо 4 записи либо меньше
(2) и получу таблицу
номенклатура1 картинка1
номенклатура1 картинка2
номенклатура1 картинка3
номенклатура1 картинка4
а надо одну строку таблицы
номенклатура1 картинка1 картинка2 картинка3 картинка4
отбора по номенклатуре не будет - нужно получить результат типа
номенклатура1 картинка1.1 картинка1.2 картинка1.3 картинка1.4
номенклатура2 картинка2.1 картинка2.2 картинка2.3 картинка2.4
номенклатура3 картинка3.1 картинка3.2 картинка3.3 картинка3.4
номенклатура1 картинка1
номенклатура1 картинка2
номенклатура1 картинка3
номенклатура1 картинка4
а надо одну строку таблицы
номенклатура1 картинка1 картинка2 картинка3 картинка4
отбора по номенклатуре не будет - нужно получить результат типа
номенклатура1 картинка1.1 картинка1.2 картинка1.3 картинка1.4
номенклатура2 картинка2.1 картинка2.2 картинка2.3 картинка2.4
номенклатура3 картинка3.1 картинка3.2 картинка3.3 картинка3.4
Примерно вот так...
Скрытый текст |
---|
ВЫБРАТЬ ПЕРВЫЕ 4
Регистр.Номенклатура,
Регистр.Картинка
ПОМЕСТИТЬ ВТ
ИЗ
Регистр КАК Регистр
ГДЕ
Регистр.Номенклатура = &НужнаяНоменклатура
;
//////////////////////////////////////////////////////////// Показать |
(5) Зачем так сложно?
Такой вариант, как и в (5) подходит только для получения разных картинок 1 номенклатуры. Если будет без отбора по номенклатуре, или по нескольким, будет плохо.
ВЫБРАТЬ
Регистр.Номенклатура,
Регистр.Картинка
ПОМЕСТИТЬ Таб
ИЗ
Регистр.МойРегистр КАК Регистр
ГДЕ
Регистр.Номенклатура = &НужнаяНоменклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ первые 1
Таб.Номенклатура,
Таб.Картинка КАК картинка1,
Таб1.Картинка КАК Картинка1 КАК картинка2,
Таб2.Картинка КАК Картинка2 КАК картинка3,
Таб3.Картинка КАК Картинка3 КАК картинка4
ИЗ
Таб КАК Таб
ЛЕВОЕ СОЕДИНЕНИЕ Таб КАК Таб1
ПО Таб.Номенклатура = Таб1.Номенклатура
И Таб.Картинка <> Таб1.Картинка
ЛЕВОЕ СОЕДИНЕНИЕ Таб КАК Таб2
ПО Таб.Номенклатура = Таб2.Номенклатура
И Таб.Картинка <> Таб2.Картинка
И (Таб1.Картинка <> Таб2.Картинка)
ЛЕВОЕ СОЕДИНЕНИЕ Таб КАК Таб3
ПО Таб.Номенклатура = Таб3.Номенклатура
И Таб.Картинка <> Таб3.Картинка
И (Таб1.Картинка <> Таб3.Картинка)
И (Таб2.Картинка <> Таб3.Картинка)
ПоказатьТакой вариант, как и в (5) подходит только для получения разных картинок 1 номенклатуры. Если будет без отбора по номенклатуре, или по нескольким, будет плохо.
Более рабочий вариант, но картинок должно быть не меньше 4 =):
ВЫБРАТЬ
"Ном1" КАК Номенклатура,
"Кар1" КАК Картинка,
1 КАК кол
ПОМЕСТИТЬ Таб
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Ном1",
"Кар2",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Ном1",
"Кар3",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Ном1",
"Кар4",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Ном1",
"Кар5",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Ном1",
"Кар6",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Ном2",
"Кар1",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Ном2",
"Кар2",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Ном2",
"Кар3",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Ном2",
"Кар4",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Ном2",
"Кар5",
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
"Ном2",
"Кар6",
1
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Таб.Номенклатура КАК Номенклатура,
максимум(Таб.Картинка) КАК Картинка1,
максимум(Таб1.Картинка) КАК Картинка2,
максимум(Таб2.Картинка) КАК Картинка3,
максимум(Таб3.Картинка) КАК Картинка4
ИЗ
Таб КАК Таб
внутреннее СОЕДИНЕНИЕ Таб КАК Таб1
ПО Таб.Номенклатура = Таб1.Номенклатура
И Таб.Картинка < Таб1.Картинка
внутреннее СОЕДИНЕНИЕ Таб КАК Таб2
ПО (Таб.Номенклатура = Таб2.Номенклатура)
И (Таб1.Картинка < Таб2.Картинка)
внутреннее СОЕДИНЕНИЕ Таб КАК Таб3
ПО (Таб.Номенклатура = Таб3.Номенклатура)
И (Таб2.Картинка < Таб3.Картинка)
СГруппировать По Таб.Номенклатура
ПоказатьПрикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот