вроде бы элементарный запрос, но не хочет отрабатывать.
Задача выбрать записи из таблицы Общ_ФондОстатки.Комната только те которых нет в временной таблице ВТ_обход.
ВЫБРАТЬ
ОбходКомнатСрезПоследних.комната
ПОМЕСТИТЬ ВТ_обход
ИЗ
РегистрСведений.ОбходКомнат.СрезПоследних(&Период, ) КАК ОбходКомнатСрезПоследних
СГРУППИРОВАТЬ ПО
ОбходКомнатСрезПоследних.комната
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Общ_ФондОстатки.Комната КАК Комната,
Общ_ФондОстатки.Комната.Владелец
ИЗ
РегистрНакопления.Общ_Фонд.Остатки(&Период, Корпус = &Корпус) КАК Общ_ФондОстатки,
ВТ_обход КАК ВТ_обход
ГДЕ
не Общ_ФондОстатки.Комната В (ВТ_обход.комната)
СГРУППИРОВАТЬ ПО
Общ_ФондОстатки.Комната,
Общ_ФондОстатки.Комната.Владелец
УПОРЯДОЧИТЬ ПО
Комната
"не Общ_ФондОстатки.Комната В (ВТ_обход.комната)" - никак не хочет отрабатывать и выводит тупо все записи
если сделать
"Общ_ФондОстатки.Комната В (ВТ_обход.комната)" - то отрабатывает правильно, и выбирает только те "комнаты" - которые есть во вр. таблице.
ВЫБРАТЬ РАЗЛИЧНЫЕ
Общ_ФондОстатки.Комната КАК Комната,
Общ_ФондОстатки.Комната.Владелец
ИЗ
РегистрНакопления.Общ_Фонд.Остатки(&Период, Корпус = &Корпус) КАК Общ_ФондОстатки
ГДЕ
не Общ_ФондОстатки.Комната В (выбрать вт.комната из ВТ_обход как вт)
(0) Навскидку так:
ВЫБРАТЬ
ОбходКомнатСрезПоследних.комната
ПОМЕСТИТЬ ВТ_обход
ИЗ
РегистрСведений.ОбходКомнат.СрезПоследних(&Период, ) КАК ОбходКомнатСрезПоследних
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Общ_ФондОстатки.Комната КАК Комната,
Общ_ФондОстатки.Комната.Владелец
ИЗ
РегистрНакопления.Общ_Фонд.Остатки(&Период, Корпус = &Корпус И Комната НЕ В(ВЫБРАТЬ ВложенныЗапрос.Комната ИЗ ВТ_обход КАК ВложенныЗапрос)) КАК Общ_ФондОстатки,
УПОРЯДОЧИТЬ ПО
Комната
не отлаживал и не буду :)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший