|
Не работает соединение | ☑ | ||
---|---|---|---|---|
0
totparen
28.09.11
✎
23:02
|
Ребята, подскажите в чём ошибка - в запрсое две виртуальные таблицы, потом пытаюсь их соеденить левым соединением, почему-то нивкакую. НУЛЛ во реквизитах второй таблицы (по отдельности ВТ данные выводят. В консоле запросов, при клике на номенклатуру, в обеих таблицах открывается товар):
ВЫБРАТЬ Подзапрос.НоменклатураСсылка, Подзапрос.КоличествоОстаток, ЕСТЬNULL(ВложенныйЗапрос.ЗначениеНаименование, Подзапрос.ХарактеристикаНоменклатуры.Наименование) КАК Размер ПОМЕСТИТЬ ОсобыеОстатки ИЗ (ВЫБРАТЬ КомплектующиеНоменклатуры.Номенклатура КАК НоменклатураСсылка, КомплектующиеНоменклатуры.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, СУММА(ОстаткиКомплектующих.КоличествоОстаток) КАК КоличествоОстаток ИЗ РегистрСведений.КомплектующиеНоменклатуры КАК КомплектующиеНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ОстаткиКомплектующих ПО КомплектующиеНоменклатуры.Комплектующая = ОстаткиКомплектующих.Номенклатура И КомплектующиеНоменклатуры.ХарактеристикаКомплектующей = ОстаткиКомплектующих.ХарактеристикаНоменклатуры ГДЕ КомплектующиеНоменклатуры.Номенклатура.Ссылка В ИЕРАРХИИ(&Компл) И КомплектующиеНоменклатуры.Комплектующая.Ссылка В ИЕРАРХИИ(&КапитанкаБезШнура) И КомплектующиеНоменклатуры.Номенклатура.Артикул <> "" И ОстаткиКомплектующих.Склад В(&Склады) СГРУППИРОВАТЬ ПО КомплектующиеНоменклатуры.ХарактеристикаНоменклатуры, КомплектующиеНоменклатуры.Номенклатура) КАК Подзапрос ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЗначенияСвойствОбъектов.Объект КАК Объект, ЗначенияСвойствОбъектов.Свойство КАК Свойство, ЗначенияСвойствОбъектов.Значение.Наименование КАК ЗначениеНаименование ИЗ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ГДЕ ЗначенияСвойствОбъектов.Свойство = &Свойство) КАК ВложенныйЗапрос ПО Подзапрос.ХарактеристикаНоменклатуры = ВложенныйЗапрос.Объект ГДЕ Подзапрос.КоличествоОстаток > 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ фыва.Артикул, фыва.Номенклатура КАК Номенклатура, фыва.Размер, фыва.КоличествоОстаток, фыва.Цена1, фыва.Цена2 ПОМЕСТИТЬ НормальныеОстатки ИЗ (ВЫБРАТЬ ТоварыНаСкладахОстатки.Номенклатура.Артикул КАК Артикул, ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура, ЕСТЬNULL(Размеры.ЗначениеНаименование, ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры.Наименование) КАК Размер, СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток, МАКСИМУМ(ЕСТЬNULL(ТабЦен1.Цена, 0)) КАК Цена1, МАКСИМУМ(ЕСТЬNULL(ТабЦен2.Цена, 0)) КАК Цена2 ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЗначенияСвойствОбъектов.Объект КАК Объект, ЗначенияСвойствОбъектов.Свойство КАК Свойство, ЗначенияСвойствОбъектов.Значение.Наименование КАК ЗначениеНаименование ИЗ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ГДЕ ЗначенияСвойствОбъектов.Свойство = &Свойство) КАК Размеры ПО ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = Размеры.Объект ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних ГДЕ ЦеныНоменклатурыСрезПоследних.ТипЦен = &Цена1 СГРУППИРОВАТЬ ПО ЦеныНоменклатурыСрезПоследних.Номенклатура) КАК ТабЦен1 ПО ТоварыНаСкладахОстатки.Номенклатура = ТабЦен1.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних ГДЕ ЦеныНоменклатурыСрезПоследних.ТипЦен = &Цена2 СГРУППИРОВАТЬ ПО ЦеныНоменклатурыСрезПоследних.Номенклатура) КАК ТабЦен2 ПО ТоварыНаСкладахОстатки.Номенклатура = ТабЦен2.Номенклатура ГДЕ ТоварыНаСкладахОстатки.Номенклатура.Артикул <> "" И ТоварыНаСкладахОстатки.Номенклатура В ИЕРАРХИИ(&ГруппаГоловныхУборов) И ТабЦен1.Цена <> 0 И ТабЦен2.Цена <> 0 И ТоварыНаСкладахОстатки.Склад В(&Склады) СГРУППИРОВАТЬ ПО ЕСТЬNULL(Размеры.ЗначениеНаименование, ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры.Наименование), ТоварыНаСкладахОстатки.Номенклатура, ТоварыНаСкладахОстатки.Номенклатура.Артикул, ТоварыНаСкладахОстатки.Номенклатура) КАК фыва ГДЕ фыва.КоличествоОстаток >= 0 ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ НормальныеОстатки.Артикул, НормальныеОстатки.Номенклатура, НормальныеОстатки.Размер, НормальныеОстатки.КоличествоОстаток, НормальныеОстатки.Цена1, НормальныеОстатки.Цена2, ОсобыеОстатки.НоменклатураСсылка, ОсобыеОстатки.КоличествоОстаток КАК КоличествоОстаток1, ОсобыеОстатки.Размер КАК Размер1 ИЗ НормальныеОстатки КАК НормальныеОстатки ЛЕВОЕ СОЕДИНЕНИЕ ОсобыеОстатки КАК ОсобыеОстатки ПО НормальныеОстатки.Номенклатура = ОсобыеОстатки.НоменклатураСсылка И НормальныеОстатки.Размер = ОсобыеОстатки.Размер |
|||
1
mikecool
28.09.11
✎
23:24
|
КомплектующиеНоменклатуры.Номенклатура.Ссылка В ИЕРАРХИИ(&Компл)
И КомплектующиеНоменклатуры.Комплектующая.Ссылка В ИЕРАРХИИ(&КапитанкаБезШнура) вот это точно данные отдает? |
|||
2
totparen
28.09.11
✎
23:32
|
Отпал вопрос. Похоже нет соответствий.
Может на другой ответите: Когда уместно употреблять в выражениях ".Ссылка"? Чем отличается ВЫБРАТЬ Контрагенты.Родитель.Ссылка ИЗ Справочник.Контрагенты КАК Контрагенты от ВЫБРАТЬ Контрагенты.Родитель ИЗ Справочник.Контрагенты КАК Контрагенты |
|||
3
mikecool
28.09.11
✎
23:34
|
если родитель тип ссылка, то правильный второй вариант
|
|||
4
totparen
28.09.11
✎
23:41
|
(3) а в чём правильность? Если результат одинаковый.
|
|||
5
totparen
28.09.11
✎
23:42
|
Оба запроса выполняются в типовой УТ.
|
|||
6
zak555
28.09.11
✎
23:55
|
(4) можешь хоть так написать :
Контрагенты.Родитель.Ссылка.ССылка.ССылка.ССылка.ССылка.ССылка ........ тоже отработает, НО : обработка займёт больше времени |
|||
7
zak555
28.09.11
✎
23:57
|
(0) параметры виртуальных таблиц не используешь ?
|
|||
8
totparen
29.09.11
✎
07:32
|
(7) Не использую. А где их тут использовать? Приведите пример, а то я не так часто параметрами пользуюсь. (Разве только периодичностью и датой)
|
|||
9
zak555
29.09.11
✎
08:56
|
(8) остатки, к примеру имеют два значения : дату и и отбор по измерению
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |