Имя: Пароль:
1C
1С v8
Результат разности двух запросов
0 Gracheva
 
17.06.16
20:19
Всем привет!

Из регистра ТоварыНаСкладах.Остатки необходимо вычесть результат запроса из документа РегистрацияАлкоСправок, то есть мне необходимо вывести Номенклатуру, серию такую, которой нет в таблице АлкоСправки. Но столкнулась с тем, что одна серия может быть у разных номенклатур. И некорректная выборка получается. Всё не то. ПАМАГИте!

Если бы был какой-нить оператор MINUS или еще что-нибудь, сгруппировала бы АлкоСправки по полю Номенклатура и серия, потом из остатков всё это нафиг вычла.

В общем вот такое не работает:

ВЫБРАТЬ
    СерииНоменклатуры.Наименование КАК Серия,
    СерииНоменклатуры.Владелец.Ссылка КАК НаименованиеНоменклатуры,
    СерииНоменклатуры.Склад
ИЗ
    Справочник.СерииНоменклатуры КАК СерииНоменклатуры
ГДЕ
    СерииНоменклатуры.Владелец.ВидНоменклатуры.Код В(&Код)
    И НЕ СерииНоменклатуры.Владелец В
                (ВЫБРАТЬ
                    РегистрацияАлкоСправок.Номенклатура.Ссылка
                ИЗ
                    РегистрСведений.хРегистрацияАлкоСправок КАК РегистрацияАлкоСправок)

Вот это тоже не то.

ВЫБРАТЬ
    ИсточникДанных.Склад КАК Склад,
    ИсточникДанных.Номенклатура КАК Номенклатура,
    ИсточникДанных.СерияНоменклатуры
ИЗ
    РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, ) КАК ИсточникДанных
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.хРегистрацияАлкоСправок КАК РегистрацияАлкоСправок
        ПО ИсточникДанных.Номенклатура = РегистрацияАлкоСправок.Номенклатура
ГДЕ
    ИсточникДанных.Номенклатура.ВидНоменклатуры.Код В(&Код)
    И не ИсточникДанных.СерияНоменклатуры В
      (ВЫБРАТЬ
                    РегистрацияАлкоСправок.СерияНоменклатуры
                ИЗ
                    Документ.хРегистрацияАлкоСправок КАК РегистрацияАлкоСправок)

Вообще не понимаю, по какому полю можно соединить эти таблицы...
1 breezee
 
17.06.16
20:34
Вообще какое-то невнятно написанное задание. Заваязывайте с АлкоСправками) основная идея - "серию такую, которой нет в таблице АлкоСправки"
Если все правильно понял - выбирайте серию из АлкоСправки, помещаейте во временный запрос. Потом из таблицы Остатки тащите то что вам нужно, а в параметрах виртуальной таблицы остатки укажите "не номенклатура серия в (Выбрать серия из Вт как ВТ)" "Вт"-ваша временная таблица
2 Лефмихалыч
 
17.06.16
20:40
левое соединение
ГДЕ
ЕСТЬ NULL
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан