|
Получение предпоследней цены из регистра сведений | ☑ | ||
---|---|---|---|---|
0
avz07
30.07.13
✎
19:11
|
Доброго всем времени суток!
Мне дали задание, получить предпоследнюю цену из Регистра Сведений.Но я к сожалению, не представляю как это правильно сделать. Пожалуйста, помогите. |
|||
1
Aleksey
30.07.13
✎
19:12
|
(0) кнопку красную "Я" справа от заголовка видел? Для начало советую нажать на неё и почитать
|
|||
2
Aleksey
30.07.13
✎
19:12
|
запросом в котором использовать Выбрать первые 2 + Сортировать.
|
|||
3
avz07
30.07.13
✎
19:56
|
забыл написать, надо предпоследнюю отличающаяся от последней.
например: если идут записи 6,7,7,8,9,1,1 то мне надо получить 9 |
|||
4
Aleksey
30.07.13
✎
19:58
|
различные?
|
|||
5
avz07
30.07.13
✎
20:08
|
да, записи различные
|
|||
6
Aleksey
30.07.13
✎
20:10
|
(5) ты не понял в запросе указываешь ключевое слово различные и первые 2 и сортируешь по периоду
|
|||
7
avz07
30.07.13
✎
20:16
|
а.. теперь понятно.
|
|||
8
avz07
30.07.13
✎
20:27
|
как это можно применить к Ценам Номенклатуры?
я попытался и у меня получился не точен результат |
|||
9
avz07
30.07.13
✎
20:43
|
а точнее, то вообще не то что надо
|
|||
10
Славен
30.07.13
✎
20:48
|
упорядочить по дате ещё не забыть
|
|||
11
avz07
30.07.13
✎
20:57
|
вот пробная версия запроса:
ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 2 ЦеныНоменклатуры.Цена, ЦеныНоменклатуры.Номенклатура ИЗ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры ГДЕ ЦеныНоменклатуры.Период = &Период И ЦеныНоменклатуры.ТипЦен = &ТипЦен И ЦеныНоменклатуры.Номенклатура = &Номенклатура СГРУППИРОВАТЬ ПО ЦеныНоменклатуры.Период, ЦеныНоменклатуры.Цена, ЦеныНоменклатуры.Номенклатура я выбираю конкретную дату, конкретную номенклатуру, а результат не выводит. |
|||
12
avz07
30.07.13
✎
20:59
|
извините, что так много спрашиваю, я еще не на слишком опытный
|
|||
13
Славен
30.07.13
✎
21:01
|
глянь отладчиком что у тебя в параметрах
|
|||
14
Aleksey
31.07.13
✎
01:06
|
ГДЕ
ЦеныНоменклатуры.Период = &Период Это явно тут лишнее, поэтому и ничего не находит И где упорядочить? |
|||
15
EugeniaK
31.07.13
✎
01:58
|
Теоретически должно быть что-то типа такого
ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура, ЦеныНоменклатурыСрезПоследних.Цена ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних( &Дата, ТипЦен = &ТипЦен И НЕ (Номенклатура, Цена) В (ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура, ЦеныНоменклатурыСрезПоследних.Цена ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних)) КАК ЦеныНоменклатурыСрезПоследних |
|||
16
razlagator
31.07.13
✎
02:00
|
не РегистрСведений.ЦеныНоменклатуры, а РегистрСведений.ЦеныНоменклатурыСрезПоследних
|
|||
17
GenAcid
31.07.13
✎
06:08
|
(16) Зачем здесь виртуальные таблицы?
ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 2 ЦеныНоменклатуры.Цена, ЦеныНоменклатуры.Номенклатура ИЗ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры ГДЕ ЦеныНоменклатуры.Период <= &Период И ЦеныНоменклатуры.ТипЦен = &ТипЦен И ЦеныНоменклатуры.Номенклатура = &Номенклатура УПОРЯДОЧИТЬ ПО ЦеныНоменклатуры.Период УБЫВ Только потом надо проверять количество записей, если цена в принципе одна, то запрос вернет одну запись. |
|||
18
GenAcid
31.07.13
✎
06:18
|
(17) Чет я тупнул с похмела, не получится так)
|
|||
19
hhhh
31.07.13
✎
06:30
|
(15) различные где тут?
|
|||
20
вовочка
31.07.13
✎
07:01
|
||||
21
EugeniaK
31.07.13
✎
11:11
|
(19) А нафиг различные?
Нам нужна одна предпоследняя цена. Её запрос и вернет. |
|||
22
Aleksey
31.07.13
✎
11:12
|
(21) Условие такое "надо предпоследнюю отличающаяся от последней. "
|
|||
23
Trotter
31.07.13
✎
11:14
|
(0) Это вам на собеседовании задали ?
|
|||
24
EugeniaK
31.07.13
✎
16:53
|
(22) Именно ее мой запрос и вернет.
Различные тут при чем? Нужна одна предпоследняя, а не 2 разных. |
|||
25
avz07
09.08.13
✎
16:21
|
спасибо за советы!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |