Имя: Пароль:
1C
1С v8
Запрос по РС Срез последних возвращает две цены
0 MrBoss
 
17.06.15
16:58
Есть запрос:
ВЫБРАТЬ
    ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена,
    ЦеныНоменклатурыКонтрагентовСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
ИЗ
    РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних
ГДЕ
    ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура = &Номенклатура

Почему то возвращается две цены, никак не могу понять почему. Может кто-то что-то подскажет?
1 MrBoss
 
17.06.15
16:59
Вот так тоже две цены возвращает:
ВЫБРАТЬ
    ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена,
    ЦеныНоменклатурыКонтрагентовСрезПоследних.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры
ИЗ
    РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(, ) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних
ГДЕ
    ЦеныНоменклатурыКонтрагентовСрезПоследних.Номенклатура = &Номенклатура
2 разработчик 1с
 
17.06.15
17:00
характеристики разные
3 MrBoss
 
17.06.15
17:00
не, характеристик нет
4 ДенисЧ
 
17.06.15
17:00
несколько типов цен
5 разработчик 1с
 
17.06.15
17:00
точно точно
6 разработчик 1с
 
17.06.15
17:01
тип цен не выбирается, так что не важно
7 MrBoss
 
17.06.15
17:01
тип цен один
8 Господин ПЖ
 
17.06.15
17:02
Номенклатура = &Номенклатура

запихай в параметры вирт. таблицы
9 ДенисЧ
 
17.06.15
17:02
(7) *шшишььь...
10 Господин ПЖ
 
17.06.15
17:03
>Почему то возвращается две цены, никак не могу понять почему.

а сколько должно?

у тебя сначала формируется срез по всем сочетаниям измерений, потом ты из них отсекаешь все по номенклатуре
11 Timon1405
 
17.06.15
17:04
12 chigsrOck
 
17.06.15
17:10
Цена - это ресурс или измерение?
13 ОператорПК
 
17.06.15
17:12
(0) одну и ту же номенклатуру поставляют два контрагента. + см (11) - параметры виртуальных таблиц.
14 chigsrOck
 
17.06.15
17:39
(10) так автор вроде утверждает, что сочетания измерений у него полностью одинаковы, а должна была получиться последняя по времени запись для каждого уникального набора значений отобранных в запрос измерений?
Параметр в срезе последних просто ускорит выполнение запроса, смысл то тот же...
15 Господин ПЖ
 
17.06.15
17:42
>Параметр в срезе последних просто ускорит выполнение запроса, смысл то тот же...

все зависит от структуры РС и данных. В параметр не "ускоряет работу", а заставляет изменяться выборку на основании которой формируется срез

>автор вроде утверждает, что сочетания измерений у него полностью одинаковы

все врут
16 Masquerade
 
17.06.15
17:46
(14)

-- так автор вроде утверждает, что сочетания измерений у него полностью одинаковы

Где?
17 chigsrOck
 
17.06.15
18:02
(15) проверил по этому же регистру такой же запрос...млять автор прав. Две одинаковые номенклатуры(выводил без характеристики) и 2 цены. Контрагенты разные, но они не участвуют в запросе.
Если отбор перенести в параметр - тот же результат;))))))) не проблема переделать, но век живи....пойду посыплю голову пеплом.
18 SleepyHead
 
гуру
17.06.15
18:39
Пропущено какое-то из измерений, сто пудов.
19 Fragster
 
гуру
17.06.15
18:42
виртуальные таблицы РС вообще немного не так, как РН и РБ работают. Нету в них схлопывания по измерениям, есть отбор по ресурсам и т.п.
20 MrBoss
 
18.06.15
08:09
(12) Цена это ресурс
21 mikecool
 
18.06.15
08:11
одна из черепашек врет!!!
22 MrBoss
 
18.06.15
08:16
Вот так:
ВЫБРАТЬ
    ЦеныНоменклатурыКонтрагентовСрезПоследних.Цена КАК Цена
ИЗ
    РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыКонтрагентовСрезПоследних
Тоже возвращается две цены, хотя должна бы последняя. И что интересно, возвращаеться не две последних, а последняя и последняя в прошлом году, а между ними есть ещё цены.
Это УПП 1.3.65.2
23 mikiFox
 
18.06.15
08:24
(22) то что у тебя остальные измерения не заполнены не значит что они равны друг другу, вот и получается два среза. Заполняй все параметры.
24 mikiFox
 
18.06.15
08:25
(23) в запрос передавай я хотел сказать все параметры. ну попробуй во всяком случае.
25 MrBoss
 
18.06.15
08:25
(23) Отличаются только Период и Регистратор
26 mikiFox
 
18.06.15
08:28
(25) там еще есть "тип цен" и "характеристика", в записях регистров ты говоришь что они остаются пустыми. бывает что незаполнены они по разному, то есть 1ска может их все равно различать как значения
27 mikiFox
 
18.06.15
08:30
(26)

РегистрСведений.ЦеныНоменклатурыКонтрагентов.СрезПоследних(, Номенклатура = &Номенклатура И ТипЦен = &ТипЦен И ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры)

...

УстановитьПараметр("ТипЦен", Справочники.ТипыЦенНоменклатурыКонтрагентов.ПустаяСсылка())

...

// вот так попробуй
28 MrBoss
 
18.06.15
08:31
(26) По этой номенклатуре не ведется учет по характеристикам, соответственно и нет ничего в характеристики, я не говорил, что типа цен нету, он есть у нас один тип цен на всё.
29 mikiFox
 
18.06.15
08:33
(28)

УстановитьПараметр("ТипЦен", <твой тип цен>)

УстановитьПараметр("ХарактеристикаНоменклатуры", Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка())
30 MrBoss
 
18.06.15
08:34
Всё понял, действительно тип цен разный, вернее тип цен один и тот же, но Контрагент у них разный
31 ДенисЧ
 
18.06.15
08:40
(30) В следующий раз будешь слушать, что тебе умные люди говорят ))
32 MrBoss
 
18.06.15
09:01
(31) Ну я и в этот раз послушал)
33 ДенисЧ
 
18.06.15
09:03
(32) Спустя полсуток...
Я понимаю, выспался, отдохнул, осознал )))
Независимо от того, куда вы едете — это в гору и против ветра!