Имя: Пароль:
1C
 
v8: Как получить последнюю запись в регистре сведений
0 PlotNick
 
18.10.06
13:32
Как получить последнюю запись в регистре

ВЫБРАТЬ ПЕРВЫЕ 1
УПОРЯДОЧИТЬ ПО УБЫВ

при большом количестве записей работает очень медленно.
1 asady
 
18.10.06
13:35
(0) какой регистр?
2 PlotNick
 
18.10.06
13:41
(1) регистр сведения
3 SKrin
 
18.10.06
13:42
(2) срез последних
4 PlotNick
 
18.10.06
14:36
(3) Срез последних без структуры, содержащей отбор по измерениям и реквизитам регистра возвращает Неопределено, а у меня значения отбора неизвестны. Мне нужно просто получить последнюю запись регистра, безо всякого отбора.
5 asady
 
18.10.06
14:38
(4) кривая задача у Вас товарищ.
Для этого СрезПоследних пользуют обычно.
Если оно Вам не подходит, то объяснитесь. Почему?
6 PlotNick
 
18.10.06
14:45
(5) Я не знаю, почему то ни СрезПоследних() ни ПолучитьПоследнее() не работают - возвращают Неопределено, может потому что регистр подчинен регистратору, а я лапоть?
7 PlotNick
 
18.10.06
14:50
(5) А блин... я не просто лапоть, я невнимательный лапоть... СрезПоследних() и ПолучитьПоследнее() работают только для периодических регистров сведений. А у меня регистр не периодический...
8 Jolly Roger
 
18.10.06
14:51
(0) Что, вообще, означает "последняя"? По какому параметру последняя?
9 х86
 
18.10.06
14:52
СГРУППИРОВАТЬ
МАКСИМУМ
10 PlotNick
 
18.10.06
14:54
Ну вот собсно теперь сформулируем вопрос грамотно.

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

ВЫБРАТЬ ПЕРВЫЕ 1
УПОРЯДОЧИТЬ ПО УБЫВ

при большом количестве записей работает очень медленно. Мне нужно это, что-бы показать в отчете конечную дату реальных данных.
11 PlotNick
 
18.10.06
14:54
(8) Да ни по какому параметру... просто последняя в регистре...
12 PlotNick
 
18.10.06
14:56
(9) А чем оно лучше чем ВЫБРАТЬ ПЕРВЫЕ 1 УПОРЯДОЧИТЬ ПО УБЫВ ?
13 Фокусник
 
18.10.06
14:59
(11) С какого конца последняя?
14 Geza
 
18.10.06
15:01
Приведи запрос который медленно работает
15 Jolly Roger
 
18.10.06
15:03
(11) Вы в курсе, товарищьч, что последняя внесенная запись вовсе не обязана находиться в низу таблицы БД?
16 Фокусник
 
18.10.06
15:05
(10) что есть "конечная дата реальных данных" если регистр непериодический?
17 PlotNick
 
18.10.06
15:06
ВЫБРАТЬ ПЕРВЫЕ 1
ВыходыРекламы.ДатаВыхода КАК ДатаВыхода
ИЗ
РегистрСведений.ВыходыРекламы КАК ВыходыРекламы
УПОРЯДОЧИТЬ ПО ДатаВыхода УБЫВ

Как мне его переделать, что-бы не тормозило?
18 Фокусник
 
18.10.06
15:08
(17) Что бы не тормозило, в общем случае, это нужно чтобы данные уже были (а не рассчитывались в запросе) (:  Т.е. как ему(ей) определить последнюю дату, не перебрав предварительно ВСЕ даты?
19 Geza
 
18.10.06
15:09
Измерение датыВыхода сделай первым в регистре
20 Geza
 
18.10.06
15:11
и вообще напиши структуру регистра и что индексировано в нем
21 PlotNick
 
18.10.06
15:13
Вроде бы чуть-чуть удалось сделать быстрее переделав запрос так:

|ВЫБРАТЬ
|    МАКСИМУМ(ВложенныйЗапрос.ДатаВыхода) КАК ДатаВыхода
|ИЗ
|    (ВЫБРАТЬ
|        ВыходыРекламы.ДатаВыхода КАК ДатаВыхода
|    ИЗ
|        РегистрСведений.ВыходыРекламы КАК ВыходыРекламы
|    Сгруппировать ПО ДатаВыхода) КАК ВложенныйЗапрос

Но даже так медленно, у меня сейчас 85 тыс записей в регистре, через полгода будет раза в три больше, тормозить будет однозначна.
22 Neco
 
18.10.06
15:15
ДатаВыхода - проиндексирована?
23 PlotNick
 
18.10.06
15:19
(22) Ага индексирована
24 PlotNick
 
18.10.06
15:40
(22) Я дату выхода проиндексировал но при первом обращении на выполнение запроса все равно уходит секунд 4-6. В последующем запрос выполняется быстрее. Короче бустрее сделать видать ужо никак...
25 х86
 
18.10.06
15:46
(24) поставь условия на дату
ГДЕ ВыходыРекламы.ДатаВыхода > &Дата