Имя: Пароль:
1C
1С v8
СрезПоследних
0 Aleksey1989
 
23.05.12
08:25
Добрый день. Сейчас смотрю видеоуроки Гилева, там рассматривается следующий пример:

в регистре сведений есть 2 измерения: Товар, Стелаж; ресурс: ячейка.
Пусть, он будет заполнен следующими данными:

Товар А  --  1 стелаж  --  1 ячейка  --  31.12.11 (это период)
Товар А  --  2 стелаж  --  3 ячейка  --  10.01.12
Товар А  --  2 стелаж  --  5 ячейка  --  20.01.12

Если запустить метод срезПоследних для этого регистра с параметром "КонецПериода" равным 30.01.12, то вернется таблица значений из последних двух записей, т.е. запись за 31.12.11 не будет в этой таблице значений. Почему?
1 чувак
 
23.05.12
08:27
ты сам себе ответил
2 Wobland
 
23.05.12
08:27
(0) запускал? должны вернуться первая и третья строки. и стеллаж с двумя л
3 Aleksey1989
 
23.05.12
08:30
(2) честно говоря не запускал. В видеоуроке говорится, что вернутся не 1 и 3, а 2 и 3 строки, вообщем сейчас сам посмотрю, что появляется.
4 chelentano
 
23.05.12
08:30
(2) +100 (0) чего-то ты недопонял в видеоуроках
5 Wobland
 
23.05.12
08:32
(3) возьми сам, глазами, все уникальные записи по паре товар-стеллаж с максимальным периодом
6 Aleksey1989
 
23.05.12
08:33
(4) Скорей всего ошибка в видеоуроках, т.к там ясно говорится, что при таком вызове метода будут выгружены 2 и 3 строки.
7 Tymoha
 
23.05.12
08:33
+(4) последних по времени, а не по нахождению в примере )))
8 Wobland
 
23.05.12
08:34
(6) видеоуроки тоже люди делают. я вот две ошибки в СП видел ;)
9 AllJoke
 
23.05.12
08:43
(8) Опа, опа. А этт какие?
10 Wobland
 
23.05.12
08:50
11 Aleksey1989
 
23.05.12
08:54
(5) Проверил сейчас в режиме отладки: запустил РегистрыСведений.РегистрСведений1.СрезПоследних(ТекущаяДата()) - почему-то вывелось все три записи, причем первая запись - за 10.01.12, вторая - за 20.01.12, ну и третья - за 31.12.11. Почему так?
12 butterbean
 
23.05.12
08:55
(11) проверь сейчас на 30.01.12
13 Aleksey1989
 
23.05.12
08:59
(12) То же самое.
14 butterbean
 
23.05.12
09:01
(13) а в (0) выводило 2 строки... значит в данных что-то поменялось, ну или в структуре регистра
15 Wobland
 
23.05.12
09:05
16 Aleksey1989
 
23.05.12
09:06
(14) Да, была ошибка в данных, сейчас исправил, выводятся опять же все три строки, первая - за 30.12.11, вторая - за 10.01.12, третья - за 20.01.12.

Во-первых, почему выводятся все три строки (в примере было сказано, что выводятся только вторая и третья запись, в этой теме звучала такая мысль, что выведутся только первая и третья запись)?
Во-вторых, почему первой идет самая ранняя запись, т.е. за 30.12.11?
17 Shurjk
 
23.05.12
09:08
(0) А в видеоуроках Гилева не рассказывается что такое переодический регистр сведений и что такое срез последних?
18 Wobland
 
23.05.12
09:08
(16) во-вторых, если не указывать явно, запрос возвращает всё в условно случайном порядке.
во-первых, смотри в (15)
19 Shurjk
 
23.05.12
09:16
(10) Вобланд ты балбес v82.Application это не то же самое что Automation - о чем собственно говоря и написан в СП.
И ТС прежде чем разбираться с примерами изучите что такое вообще РС какие они бывают, и что такое срез последних.
20 Wobland
 
23.05.12
09:18
(19) не исключено ;) подскажи, чего почитать об этом
21 butterbean
 
23.05.12
09:19
(16) код покажи
22 Aleksey1989
 
23.05.12
09:26
(21) Код следующий: РегистрыСведений.РегистрСведений1.СрезПоследних(ТекущаяДата())
23 Wobland
 
23.05.12
09:30
24 Aleksey1989
 
23.05.12
09:30
Регистр сведений у меня периодический, периодичность в пределах дня.
25 Aleksey1989
 
23.05.12
09:32
(23) у меня такая же структура.
26 Wobland
 
23.05.12
09:33
(25) тогда свои скрины покажи, не верю ;)
27 Aleksey1989
 
23.05.12
09:41
28 Wobland
 
23.05.12
09:42
(27) а что ж ты хотел, у тебя стеллаж все три раза разный. а это - измерение
29 Aleksey1989
 
23.05.12
09:48
(28) Тогда понятно. Получается, что срезПоследних возвращает последнее значение по каждому уникальному набору измерений.
30 butterbean
 
23.05.12
09:49
(29) что-же ты в (0) нам на$&%здил??
31 Wobland
 
23.05.12
09:50
алилуйя! я ещё в (5) намекал ;)
32 Бледно Золотистый
 
23.05.12
09:53
(28) Дык набор измерений  - это по сути составной ключ
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн