|
Получить последние без среза | ☑ | ||
---|---|---|---|---|
0
bfss-732
06.06.20
✎
14:38
|
Привет всем!
Переодический регистр сведений, как получить последние цены без вирт.табл срез последних? |
|||
1
Ёпрст
06.06.20
✎
14:44
|
Запросом
|
|||
2
Kassern
06.06.20
✎
14:46
|
(0) РегистрыСведений.ЦеныНоменклатуры.ПолучитьПоследнее(Дата,Отбор)
Или же, если регилия не позволяет использовать срез. последних, просто запросом получить таблицу ЦеныНоменклатуры и отборами отобрать нужные строки |
|||
3
bfss-732
06.06.20
✎
14:48
|
(1) Какой должен быть запрос?
|
|||
4
Kassern
06.06.20
✎
14:50
|
(3) отбираете в запросе интересующую таблицу, в условиях выбираете Период МЕЖДУ &ДатаН &ДатаК, Отбираете по виду цены, если нужно, выбираете поля, которые нужны из таблицы...
|
|||
5
Kassern
06.06.20
✎
14:52
|
(3) Например
"ВЫБРАТЬ | ЦеныНоменклатуры.Цена КАК Цена |ИЗ | РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры |ГДЕ | ЦеныНоменклатуры.Период МЕЖДУ &ДатаН И &ДатаК | И ЦеныНоменклатуры.ВидЦены = &ВидЦены | И ЦеныНоменклатуры.Номенклатура = &Номенклатура" |
|||
6
Ёпрст
06.06.20
✎
14:52
|
(3)
запрос с группировкой по максимум дата и это все в фильтр к основной табличке РС.. усё тип того: выбрать нечто, цена из РегистрСведений.Твой ГДЕ (период,нечто) в (выбрать максимум(период), нечто из РегистрСведений.Твой Сгруппировать по нечто) |
|||
7
Kassern
06.06.20
✎
14:54
|
(0) Я все равно не понимаю, почему нельзя воспользоваться срез последних? Для этого и создавались виртуальные таблицы, чтобы быстро получать нужные значения!
|
|||
8
bfss-732
06.06.20
✎
14:57
|
(7) такое условие и точка, считай что это задача как альтернативный вариант среза последних
|
|||
9
Kassern
06.06.20
✎
14:59
|
(8) Первый вариант отчета выводит цены за период с отбором, если тебе нужны все цены по последнему периоду, то можно извратиться вот так)))
"ВЫБРАТЬ ПЕРВЫЕ 1 | ЦеныНоменклатуры.Период КАК Период |ПОМЕСТИТЬ ПоследнийПериод |ИЗ | РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры |ГДЕ | ЦеныНоменклатуры.Период МЕЖДУ &ДатаН И &ДатаК | И ЦеныНоменклатуры.ВидЦены = &ВидЦены | И ЦеныНоменклатуры.Номенклатура = &Номенклатура | |УПОРЯДОЧИТЬ ПО | Период УБЫВ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЦеныНоменклатуры.Цена КАК Цена |ИЗ | ПоследнийПериод КАК ПоследнийПериод | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры | ПО ПоследнийПериод.Период = ЦеныНоменклатуры.Период" |
|||
10
bfss-732
06.06.20
✎
14:59
|
(5) Тут мы выберим на дату, а надо последние цены (даты разные)
|
|||
11
Kassern
06.06.20
✎
14:59
|
(9) Только условия нужно убрать из первой таблицы)
|
|||
12
bfss-732
06.06.20
✎
15:02
|
(9) ЦеныНоменклатуры.Период МЕЖДУ &ДатаН И &ДатаК
Тут мы выберем цены на дату (период), а надо последние цены (даты разные) |
|||
13
bfss-732
06.06.20
✎
15:03
|
Цены должны быть последние, даты последних цен разные, срезам последних пользоваться нельзя
|
|||
14
Kassern
06.06.20
✎
15:06
|
(13) Еще проще
"ВЫБРАТЬ | МАКСИМУМ(ЦеныНоменклатуры.Период) КАК Период, | ЦеныНоменклатуры.Номенклатура КАК Номенклатура |ПОМЕСТИТЬ ПоследнийПериод |ИЗ | РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры | |СГРУППИРОВАТЬ ПО | ЦеныНоменклатуры.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПоследнийПериод.Период КАК Период, | ПоследнийПериод.Номенклатура КАК Номенклатура, | ЦеныНоменклатуры.Цена КАК Цена |ИЗ | ПоследнийПериод КАК ПоследнийПериод | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры | ПО ПоследнийПериод.Период = ЦеныНоменклатуры.Период | И ПоследнийПериод.Номенклатура = ЦеныНоменклатуры.Номенклатура" |
|||
15
bfss-732
06.06.20
✎
15:08
|
Это ближе к теме))) Спасибо!!!!!!!!!!! ща попробую
|
|||
16
bfss-732
06.06.20
✎
15:28
|
(14) Почти правильно. Одна номеклатура и к ней две цены, одна из них правильная
|
|||
17
bfss-732
06.06.20
✎
15:29
|
Вид цены не указал. Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |