Имя: Пароль:
1C
1С v8
Подскажите по запросу
0 Андрюха
 
22.08.14
09:12
Надо отобрать из табличной части документа номенклатуру, у которой обязательно установлена Категория1 и не обязательно - Категория2. На выходе нужна таблица следующей структуры: Номенклатура, Категория1, Категория2. Строки таблицы должны выглядеть примерно так:

Рубашка, Категория1, Категория2
Носки, Категория1,
Трусы, Категория1,
Брюки, Категория1, Категория2
Шляпа, Категория1,

т.е. в таблице присутсвует номенклатура, у которой обязательно установлена Категория1, а так же для тех позиций, у которых установлена Категория2 (Рубашка, Брюки) в третьей колонке отображается Категория2.

Скидал запрос, но почему-то в него попадает только номенклатура с обоими установленными категориями. Для первой категории - внутреннее соединение, для второй - левое. В чём ошибка?


ВЫБРАТЬ
    Товары.Номенклатура,
    КатегорииОбъектов1.Категория КАК Категория1,
    КатегорииОбъектов2.Категория КАК Категория2
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК Товары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов1
        ПО Товары.Номенклатура = КатегорииОбъектов1.Объект
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов2
        ПО Товары.Номенклатура = КатегорииОбъектов2.Объект
ГДЕ
    И КатегорииОбъектов1.Категория = &Категория1
    И КатегорииОбъектов2.Категория = &Категория2
1 patria0muerte
 
22.08.14
09:14
(0) КатегорииОбъектов2.Категория = &Категория2
2 Галахад
 
гуру
22.08.14
09:14
Из ГДЕ в ПО.
3 patria0muerte
 
22.08.14
09:14
+(1) Убери вот это...
4 Cube
 
22.08.14
09:15
ВЫБРАТЬ
    Товары.Номенклатура,
    КатегорииОбъектов1.Категория КАК Категория1,
    КатегорииОбъектов2.Категория КАК Категория2
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК Товары
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов1
        ПО Товары.Номенклатура = КатегорииОбъектов1.Объект
        И КатегорииОбъектов1.Категория = &Категория1
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов2
        ПО Товары.Номенклатура = КатегорииОбъектов2.Объект
        И КатегорииОбъектов2.Категория = &Категория2
5 Андрюха
 
22.08.14
09:15
(3) Тогда в третью колонку может попадать Категория3, Категория4 и т.д.
6 Андрюха
 
22.08.14
09:18
(4) О, спасибо! Всё взлетело!
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.