|
Получить запросом последние цены из регистра сведений ЦеныНомеклатурыПоставщиков |
☑ |
0
roofus
01.10.19
✎
19:45
|
Добрый вечер!
Видимо туплю, но и гугл уже не помогает.
Простой запрос, но ну могу понять где проблема
Нужно в таблице запросом получить последнюю цену по номенклатуре, не взирая на другие измерения
ВЫБРАТЬ
Цены.Цена КАК Цена,
Цены.Номенклатура КАК Номенклатура,
МАКСИМУМ(Цены.Период) КАК Датацены,
Цены.Валюта КАК Валюта
ИЗ
РегистрСведений.ЦеныНоменклатурыПоставщиков.СрезПоследних(, ) КАК Цены
ГДЕ
Цены.Номенклатура = &Номенклатура
СГРУППИРОВАТЬ ПО
Цены.Номенклатура,
Цены.Цена,
Цены.Валюта
Выдает две строки
Нужна одна последняя.
Что делаю не так?
|
|
1
ДенисЧ
01.10.19
✎
19:47
|
А чем отличаются эти две строки?
|
|
2
Sapiens_bru
01.10.19
✎
19:47
|
(0) В секции ВЫБРАТЬ выбери все измерения регистра, узнаешь почему строк две
|
|
3
roofus
01.10.19
✎
19:52
|
отличаются ценой и датой
Мне нужно на последнюю дату
|
|
4
roofus
01.10.19
✎
19:53
|
Как выбрать только "последние" цены? Выборка по всем валютам, поставщикам
|
|
5
roofus
01.10.19
✎
19:54
|
ВЫБРАТЬ
Цены.Цена КАК Цена,
Цены.Номенклатура КАК Номенклатура,
МАКСИМУМ(Цены.Период) КАК Датацены,
Цены.Валюта КАК Валюта
ИЗ
РегистрСведений.ЦеныНоменклатурыПоставщиков.СрезПоследних(&ТекДата, ) КАК Цены
ГДЕ
Цены.Номенклатура = &Номенклатура
СГРУППИРОВАТЬ ПО
Цены.Номенклатура,
Цены.Цена,
Цены.Валюта
|
|
6
roofus
01.10.19
✎
19:55
|
тоже самое выдает.
Выбирать максимум или минимум по цене нельзя
|
|
7
Sapiens_bru
01.10.19
✎
19:58
|
(4) Срез последних он как пристяжные колёсики у детского велосипеда - пока учишься они полезны, потом начинают мешать.
Делай нормальный запрос к основной таблице регистра. Получай сначала даты последних цен по номенклатуре, потом цены на эти даты.
|
|
8
Salimbek
01.10.19
✎
20:08
|
(7) +1
(0)
Выбрать Цены2.* ИЗ (
ВЫБРАТЬ
Цены.Номенклатура,МАКСИМУМ(Цены.Период) КАК Датацены,
ИЗ
РегистрСведений.ЦеныНоменклатурыПоставщиков КАК Цены
ГДЕ
Цены.Номенклатура = &Номенклатура
СГРУППИРОВАТЬ ПО
Цены.Номенклатура) КАК Выборка
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатурыПоставщиков КАК Цены2
ПО Выборка.Номенклатура=Цены2.Номенклатура и Выборка.Датацены=Цены2.Период
|
|
9
roofus
02.10.19
✎
09:50
|
Спасибо!
Так заработало, только не понял почему
|
|
10
roofus
02.10.19
✎
09:52
|
Получается сначала поиск последней даты, а потом соединение цен только с этими датами?
|
|
11
hhhh
02.10.19
✎
10:10
|
(10) ну да, в своем запросе ты забыл соединить цены с последними датами. ТО есть полностью выбросил этот момент, выводил абсолютно все цены.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший