Имя: Пароль:
1C
 
СрезПоследних глючит?
0 SIvan
 
10.06.10
10:25
Здравствуйте. Есть простейшая самописная конфигурация на платформе 8.0. В ней есть Периодический регистр сведений "ЦеныТоваров", подчиненный регистратору, периодичность в пределах секунды: измерения - ТипЦен (справочник), Товар (справочник); ресурсы: Цена (число 15.2).
Если выполнить запрос: "ВЫБРАТЬ
   ЦеныТоваровСрезПоследних.Цена
ИЗ
   РегистрСведений.ЦеныТоваров.СрезПоследних(, Товар = &Тов) КАК ЦеныТоваровСрезПоследних", почему-то получается несколько записей - столько, сколько различных типов цен в записях регистров по выбранному товару. Почему? Я ведь не выбираю "ТипЦен" в запросе...
1 luns
 
10.06.10
10:27
(0) а какая запись должна попасть? как считаешь? ну вот если есть "цена А" и "цена Б" а товар один? 1с монетку бросит?
2 SIvan
 
10.06.10
10:28
цена же это ресурс а не измерение, разве не последняя цена должна выбраться?
3 Jstunner
 
10.06.10
10:28
(0) при отсутствии условий, получаешь все
4 rotting
 
10.06.10
10:29
(2) Может и хочется так, но 1С работает по другому
5 ShoGUN
 
10.06.10
10:30
(0) На курсы, учиться...
6 Defender aka LINN
 
10.06.10
10:30
Ну и что, что ты его не выбираешь
7 Buster007
 
10.06.10
10:31
(0) СрезПоследних НЕ глючит
8 SIvan
 
10.06.10
10:31
торможу... Помогите пожалуйста, не пойму, что нужно сделать, простейший запрос ведь... Цена - ресурс, ТипЦен и Товар - измерения. Как выбрать последнюю цену по нужному товару?
9 Ненавижу 1С
 
гуру
10.06.10
10:32
регистр сведений в отличии от регистра накопления не сворачивается по не используемым измерениям
10 Buster007
 
10.06.10
10:32
ЦеныТоваровСрезПоследних.Цена
ИЗ
   РегистрСведений.ЦеныТоваров.СрезПоследних(, Товар = &Тов И ТипЦен = &ТвойТипЦен) КАК ЦеныТоваровСрезПоследних"
11 Ненавижу 1С
 
гуру
10.06.10
10:32
(8) глупая постановка, но и тут решение есть
12 Ненавижу 1С
 
гуру
10.06.10
10:32
если будут две цены на один период с разными типами цен, тогда что?
13 SIvan
 
10.06.10
10:33
мне нужно не по конкретному типу цен а по всем - последняя цена
14 Buster007
 
10.06.10
10:33
(13) я догадываюсь, что ты сам не знаешь, что тебе нужно
15 Defender aka LINN
 
10.06.10
10:34
(12) Садиться на пол и рыдать
16 Mitriy
 
10.06.10
10:34
(13) выбирай по последнему регистратору... семь-на-восемь получишь то, что хочешь...
17 SIvan
 
10.06.10
10:34
значит, не важно, указываешь в полях типцен или нет, все равно он учавствует в запросе?
18 Buster007
 
10.06.10
10:35
(17) книжки тебе в руки...
19 Ненавижу 1С
 
гуру
10.06.10
10:36
ВЫБРАТЬ
   МАКСИМУМ(ЦеныНоменклатуры.Цена) КАК Цена
ИЗ
   (ВЫБРАТЬ
       МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Период) КАК Период,
       ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
   ИЗ
       РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, Номенклатура = &Номенклатура) КАК ЦеныНоменклатурыСрезПоследних
   
   СГРУППИРОВАТЬ ПО
       ЦеныНоменклатурыСрезПоследних.Номенклатура) КАК ВложенныйЗапрос
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
       ПО ВложенныйЗапрос.Период = ЦеныНоменклатуры.Период
           И ВложенныйЗапрос.Номенклатура = ЦеныНоменклатуры.Номенклатура
20 Mitriy
 
10.06.10
10:37
(17) у тебя есть две записи с одинаковым периодом, но с разным значением измерения ТипЦен... какая из них будет последней?
21 Викуся
 
10.06.10
10:37
(19) а характеристика не нужна?
22 Mitriy
 
10.06.10
10:37
(19) это максимальная цен, а не последняя...
23 Ненавижу 1С
 
гуру
10.06.10
10:38
(22) это максимальная из последних, максимум по цене взят чтобы не было как в (20) или (12)
24 Ненавижу 1С
 
гуру
10.06.10
10:39
(21) какая нах характеристика?
25 Mitriy
 
10.06.10
10:39
(23) хорошо, максимальная цена из последних... не дописал в (22)
26 Викуся
 
10.06.10
10:40
(24)а, это самописная конфа.
27 Mitriy
 
10.06.10
10:41
(26) ты думаешь, все типовые используют характеристики?
28 Mitriy
 
10.06.10
10:42
(25)+ если притянуть регистратор, то будет ближе к тому, что нужно, хотя тоже есть нюансы...
29 SIvan
 
10.06.10
10:42
"регистр сведений в отличии от регистра накопления не сворачивается по не используемым измерениям" - теперь понятно. Большое спасибо!
30 Ненавижу 1С
 
гуру
10.06.10
10:46
(28) чем оно станет ближе?
31 Mitriy
 
10.06.10
10:57
(30) понятием цены, введенной последней...
32 Ненавижу 1С
 
гуру
10.06.10
11:01
(31) докажи, как с помощью регистратора она определится более точно
33 ShoGUN
 
10.06.10
11:03
(32) У регистратора МоментВремени() есть, это более мелкая единица, чем секунда. Хотя сомневаюсь, что цены раз в полсекунды меняются...
34 Mitriy
 
10.06.10
11:06
(32) ты ввел одним регистратором цену одного типа цен 5 рублей, а потом другим регистратором, в том же периоде, цену другого типа цен 3 рубля, если смотреть регистраторы, то последняя цена будет 3 рубля, в твоем случае 5 рублей...
35 Ненавижу 1С
 
гуру
10.06.10
11:07
(33) момент времени это дата+GUID
как известно GUID в общем случае никак не гарантирует какой либо порядок
36 Ненавижу 1С
 
гуру
10.06.10
11:08
(34) а это уже узнать в данной постановке уже нельзя GUID не гарантирует порядка, смотри (35)
37 Mitriy
 
10.06.10
11:08
(36) периодичность РС цен обычно День... дальше объяснять надо?
38 ShoGUN
 
10.06.10
11:08
(35) Тут ты прав, но и период порядка не гарантирует...
39 Ненавижу 1С
 
гуру
10.06.10
11:10
(37) а теперь внимательно прочти (0)
(38) не гарантирует, автор сам должен выбрать в таком случае что ему надо, я еще в (12) писал об этом
40 Ненавижу 1С
 
гуру
10.06.10
11:11
+(39) просто это не первый вопрос именно про цены и в большинстве случаев говорили МАКСИМУМ, я решил применить дедукцию ))
41 Mitriy
 
10.06.10
11:12
(39) тьфу-ты... пардон за невнимательность... тогда автору можно просто ПЕРВЫЕ 1 использовать и не парить мозг ))
42 Mitriy
 
10.06.10
11:12
(41) я не думаю, что это будет хуже МАКСИМУМА ))
43 Ненавижу 1С
 
гуру
10.06.10
11:13
(41) ПЕРВЫЕ 1 это пальцем в небо, хотя может и достаточно
предлагаю использовать СРЕДНЕЕ
:-)
44 73
 
10.06.10
11:18
(43) Если еще упорядочить, то пальцем можно и в максимум попасть)
45 Ненавижу 1С
 
гуру
10.06.10
11:23
(44) можно, а смысл упорядочивать и брать ПЕРВЫЕ 1, если есть МАКСИМУМ
46 Ненавижу 1С
 
гуру
10.06.10
11:25
Хотя можно например упорядочить по наименованию типа цен или еще как, тогда смысл есть
47 Aprobator
 
10.06.10
11:26
(0) выбираются последние записи по всем комбинациям измерений, с учетом указанных условий.
48 73
 
10.06.10
11:29
(45) Вопрос конечно, интересный...
Отвечу вопросом на вопрос:
А смысл брать МАКСИМУМ , если можно упорядочивать и брать ПЕРВЫЕ 1 :)

ЗЫ. Просто Первые 1 - это не всегда в небо.
49 SIvan
 
10.06.10
12:06
Всем откликнувшимся огромное спасибо!
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс