Имя: Пароль:
1C
1С v8
v8: Запрос - СрезПоследних
,
0 Fedor
 
09.02.12
16:57
Делаю запрос по регистру сведений, таблица - срез последних.
Думал в результате будет одно значение, добавленное позже по времени.
Но в результате - все значения в алфавитном порядке.
Такой запрос же должен возвращать только последнее значение?
ВЫБРАТЬ
   ЦеныНоменклатурыСрезПоследних.Контрагент
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ТекДата, ) КАК ЦеныНоменклатурыСрезПоследних
ГДЕ
  ЦеныНоменклатурыСрезПоследних.Номенклатура = &Номенклатура
1 GLazNik
 
09.02.12
16:58
последнее значение ресурса, а контрагент видимо измерение
2 Ненавижу 1С
 
гуру
09.02.12
16:58
нет, не должен ))
3 Шапокляк
 
09.02.12
16:59
Цены, видать, по разным типам цен.
4 TarasKa
 
09.02.12
16:59
Срез последних возвращает последний набор измерений.
А как понять только последнее значение?))
5 Ненавижу 1С
 
гуру
09.02.12
16:59
одно значение для каждого кортежа измерений
6 GLazNik
 
09.02.12
16:59
(1) + А вообще не плохо бы посмотреть, что за регистр ЦеныНоменклатуры
7 Ненавижу 1С
 
гуру
09.02.12
17:04
(0) а почему у тебя "Запорс"?
8 rs_trade
 
09.02.12
17:06
(7) потому что номенклатура не в параметре
9 BarakuzA
 
09.02.12
17:11
ВЫБРАТЬ
   ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура,
   ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена,
   ЦеныНоменклатурыКонтрагентовСрезПоследних.Период
ПОМЕСТИТЬ Цены
ИЗ
   РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
   ВложенныйЗапрос.Номенклатура,
   ВложенныйЗапрос.Период,
   Цены.Цена
ИЗ
   (ВЫБРАТЬ
       Цены.Номенклатура КАК Номенклатура,
       МАКСИМУМ(Цены.Период) КАК Период
   ИЗ
       Цены КАК Цены
   
   СГРУППИРОВАТЬ ПО
       Цены.Номенклатура) КАК ВложенныйЗапрос
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Цены КАК Цены
       ПО ВложенныйЗапрос.Номенклатура = Цены.Номенклатура
           И ВложенныйЗапрос.Период = Цены.Период
10 Шапокляк
 
09.02.12
17:13
(7) Да уж, тут как-раз противоположный случай. Прямо фонтанирует ценами.
11 Fedor
 
09.02.12
17:30
(1) Выбираю ресурс (цена):
ВЫБРАТЬ
   ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(,Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних
Получаю 2 значения цены
12 rs_trade
 
09.02.12
17:31
(11) наверное есть еще измерение вид цены?
13 Fedor
 
09.02.12
17:34
(12) Измерения - Номенклатура и Контрагент, ресурс - цена.
14 Baximilian
 
09.02.12
17:36
(13) ну вот тебе и ответ, срез последних тебе возвращает 2 значения, так как у тебя в регистре для 1 номенклатуры есть 2 записи с разными контрагентами.
Я так понимаю
15 TarasKa
 
09.02.12
17:36
(13) Значит есть 2 записи с разными контрагентами
16 Fedor
 
09.02.12
17:40
(14),(15) Да, точно. Всем спасибо, разобрался.