|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
DasTPID
28.06.12
✎
13:06
|
ВЫБРАТЬ
ПартииТоваровНаСкладахОстатки.Номенклатура, ПартииТоваровНаСкладахОстатки.Склад, ПартииТоваровНаСкладахОстатки.КоличествоОстаток, ЦеныНоменклатурыСрезПоследних.Цена ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних ПРАВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&Дата) КАК ПартииТоваровНаСкладахОстатки ПО ЦеныНоменклатурыСрезПоследних.Номенклатура = ПартииТоваровНаСкладахОстатки.Номенклатура ГДЕ ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен То есть в этом запросе я хочу увидеть остаток по номенклатуре и цену. Проблема: строка выводится в отчет только если цена на неё установлена. Если остаток есть, но нет цены, то строка теряется. Если я правильно понимаю как работает правое соединение, то номенклатура должна вывестись полностью (где есть остатки), а цена дописывается если она есть; а если нету - то null. Вопросы: 1) Почему не работает правое соединение? 2) Как сделать так чтобы работало? |
|||
1
rs_trade
28.06.12
✎
13:07
|
(0) для начала, параметры вирт. таблицы где?
|
|||
2
sanja26
28.06.12
✎
13:08
|
ГДЕ
ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен d gfhfvtnhs |
|||
3
sanja26
28.06.12
✎
13:08
|
в параметры вирт. таблицы
|
|||
4
ДенисЧ
28.06.12
✎
13:08
|
Поменяй местами таблицы и присоеднияй цены слева к остаткам.
|
|||
5
ZanderZ
28.06.12
✎
13:09
|
(0) не правильно ты понимаешь если ты пишешь
ГДЕ ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен - это уже к результирующей таблицы в соединение запихай условие |
|||
6
DasTPID
28.06.12
✎
13:12
|
(5)!!!!! Спасибо, кажется я понял
|
|||
7
rs_trade
28.06.12
✎
13:33
|
(6) покажи конечный запрос. посмотрим как ты понял.
|
|||
8
DasTPID
28.06.12
✎
13:44
|
(7) Ну самое простое это
ГДЕ ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен ИЛИ ЦеныНоменклатурыСрезПоследних.ТипЦен IS NULL |
|||
9
SanGvin
28.06.12
✎
13:56
|
(8) а не проще так:
ВЫБРАТЬ ПартииТоваровНаСкладахОстатки.Номенклатура, ПартииТоваровНаСкладахОстатки.Склад, ПартииТоваровНаСкладахОстатки.КоличествоОстаток, ЦеныНоменклатурыСрезПоследних.Цена ИЗ РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&Дата, ) КАК ПартииТоваровНаСкладахОстатки ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних ПО (ЦеныНоменклатурыСрезПоследних.Номенклатура = ПартииТоваровНаСкладахОстатки.Номенклатура) |
|||
10
SanGvin
28.06.12
✎
13:57
|
+(9) в этом случае, если я прально понял твои потребности, ты получишь остатки в любом случае и последние цены с указанным типом если они есть.
|
|||
11
rs_trade
28.06.12
✎
14:05
|
(8) букварь тебе читать надо. запросы писать рано.
|
|||
12
DasTPID
28.06.12
✎
14:28
|
(9) Действительно так проще
|
|||
13
DasTPID
04.07.12
✎
11:56
|
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &ТипЦен)
По какому ключевому слову в СП можно прочитать о такой конструкции? Имеется в виду как задавать параметры в круглых скобках |
|||
14
izekia
04.07.12
✎
11:57
|
(!3) сп
|
|||
15
Fragster
гуру
04.07.12
✎
11:58
|
(13) не СП, а встроенная справка!
|
|||
16
Ненавижу 1С
гуру
04.07.12
✎
11:58
|
(13) Работа с запросами->Таблицы запросов->...->Параметры
|
|||
17
Ненавижу 1С
гуру
04.07.12
✎
11:59
|
(15) в СП тоже есть
|
|||
18
izekia
04.07.12
✎
11:59
|
(15) когда это синтакс-помощник стал встроенной справкой?
|
|||
19
DasTPID
04.07.12
✎
12:00
|
(16) Нашёл, спасибо
|
|||
20
Fragster
гуру
04.07.12
✎
12:00
|
(18) я грю, про запросы читать лучше во встроенной справке
(16) фигасе, не знал, что там есть |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |