![]() |
|
Выборка актуальных данных из регистра сведений | ☑ | ||
---|---|---|---|---|
0
mnimo
27.08.12
✎
20:47
|
Как выбрать данные из регистра сведений, без использования виртуальных таблиц. По условию "на дату(&Дата)"???
|
|||
1
Wobland
27.08.12
✎
20:47
|
аллах запрещает?
|
|||
2
Naumov
27.08.12
✎
20:48
|
(1) +1
|
|||
3
Wobland
27.08.12
✎
20:48
|
выбрать первые 1 где дата упорядочить по убыв
|
|||
4
Wobland
27.08.12
✎
20:48
|
(3) не взлетит. на фих такие изощрения
|
|||
5
_KaA
27.08.12
✎
21:11
|
Возьми таблицу регистра и отбери все записи по условию, где дату возьми на начало дня и сравни со своей, но предварительно дату из таблицы приведи к началу дня (в конструкторе запроса подсмотри)...
Но имхо должен понимать, что ты будешь гонять много данных и по времени ты проигрываешь... |
|||
6
_KaA
27.08.12
✎
21:14
|
В догонку. Пример с курсами валют (если я правильно понял условие):
"ВЫБРАТЬ * ИЗ РегистрСведений.КурсыВалют КАК КурсыВалют ГДЕ НАЧАЛОПЕРИОДА(КурсыВалют.Период, ДЕНЬ) = &Период" Где &Период равен ну например "12.05.2011 00:00:00"... короче тоже начало дня... |
|||
7
_KaA
27.08.12
✎
21:16
|
Епт... еще в догонку:
Имхо пример только иллюстрация, потому что не учитывает те курсы которые были установлены раннее 12.05.2011.. ну например 09.05.2011... поэтому там надо понимать, что ты хочешь... |
|||
8
mnimo
27.08.12
✎
21:19
|
(7)Мне надо актуальные данные, в таком случае, по всем курсам на &Дату.
|
|||
9
aleks-id
27.08.12
✎
21:22
|
ВЫБРАТЬ
КурсыВалют.Курс, МАКСИМУМ(КурсыВалют.Дата) ИЗ РегистрСведений.КурсыВалют КАК КурсыВалют |
|||
10
_KaA
27.08.12
✎
21:23
|
(9) Ошибка...
(8) Нет в таком случае тебе понадобиться извратить и использовать левое соединение, а это очень плохо с точки зрения производительности... |
|||
11
milan
27.08.12
✎
21:26
|
Поиск по мисте слабо заюзать?
|
|||
12
aleks-id
27.08.12
✎
21:34
|
(10) лентяй. в группировку лень самому включить?
ВЫБРАТЬ МАКСИМУМ(КурсыВалют.Период) КАК Период, КурсыВалют.Валюта, КурсыВалют.Курс ИЗ РегистрСведений.КурсыВалют КАК КурсыВалют СГРУППИРОВАТЬ ПО КурсыВалют.Валюта, КурсыВалют.Курс |
|||
13
milan
27.08.12
✎
22:01
|
(12) тоже не правильно
|
|||
14
mnimo
27.08.12
✎
22:25
|
Вопрос такой сложный что ли??? не могу допетрить....
|
|||
15
aleks-id
27.08.12
✎
23:08
|
(13) что неправильно?
|
|||
16
_KaA
29.08.12
✎
18:31
|
(10)
Ну сказал же: "Простые примеры разработки", Габец. Там прям пример такой... получит курс валюты на дату документа... точно лентяи... ВЫБРАТЬ КурсыВалютСрезПоследних.Валюта как ВалютаУпр, КурсыВалютСрезПоследних.Курс как КурсУпр ИЗ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаДокумента, Валюта В (ВЫБРАТЬ УчетнаяПолитикаСрезПоследних.ВалютаУправленческая ИЗ РегистрСведений.УчетнаяПолитика.СрезПоследних(&ДатаДокумента, ) КАК УчетнаяПолитикаСрезПоследних ) ) КАК КурсыВалютСрезПоследних |
|||
17
_KaA
29.08.12
✎
18:33
|
(16) Ой, гоню... не то что надо...
Общим читайте книгу... |
|||
18
mnimo
30.08.12
✎
21:53
|
без виртуальных таблиц кто нить может показать пример?????
|
|||
19
hhhh
30.08.12
✎
23:43
|
ВЫБРАТЬ
КурсыВалют.Валюта, КурсыВалют.Курс ИЗ (ВЫБРАТЬ МАКСИМУМ(КурсыВалют.Период) КАК Период, КурсыВалют.Валюта ИЗ РегистрСведений.КурсыВалют КАК КурсыВалют ГДЕ КурсыВалют.Период <= &Дата СГРУППИРОВАТЬ ПО КурсыВалют.Валюта ) КАК Периоды ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют КАК КурсыВалют ПО Периоды.Валюта = КурсыВалют.Валюта И Периоды.Период = КурсыВалют.Период |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |