|
Язык запросов: как получить последний документ-регистратор из регистраНакопления |
☑ |
0
Sintez123
15.03.13
✎
17:10
|
ВЫБРАТЬ
Кон.Наименование КАК Контрагент,
Док.Регистратор.Ссылка КАК Документ,
...
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачПериода, &КонПериода, Регистратор) КАК Документы
ПО Документы.Контрагент = Контрагенты.Ссылка
В итоге получаю и контрагентов и все документы по контрагенту в периоде, но мне надо только самый последний документ контрагента в периоде. Что-то вроде "срезПоследних", только для документов. Не подскажите как?
|
|
1
zladenuw
15.03.13
✎
17:13
|
вложенный запрос. с условием группировки максимум. соединение с основной таблицей. как то так
|
|
2
Sintez123
15.03.13
✎
17:13
|
(1) Вложенные запросы прошу не предлагать! :) Вложенным я и сам умею, просто я думал можно как-то иначе сделать.
|
|
3
sapphire
15.03.13
✎
17:14
|
(0) Не нужна там виртуальная таблица вообще.
|
|
4
йети
15.03.13
✎
17:16
|
группировка по контрагенту и максимуму регистратора
|
|
5
Bigcalm
15.03.13
✎
17:16
|
Сортировать по регистратору по убыванию, и выбрать первые 1.
|
|
6
Sintez123
15.03.13
✎
17:17
|
(5) СПС!!! То что надо! :) Так я думаю получится
|
|
7
Sintez123
15.03.13
✎
17:17
|
Хотя придется вложенный делать ...
ТЕМА ЗАКРЫТА
|
|
8
Sintez123
15.03.13
✎
17:18
|
хм... нет не получится.
Я же не могу во вложенный запрос передать контрагента, так он получит все документы по контрагенту, а это уже страшные тормоза...
|
|
9
Sintez123
15.03.13
✎
17:18
|
ТЕМА ОТКРЫТА вновь :)
|
|
10
_Demos_
15.03.13
✎
17:20
|
сначала группировка с максимумом по дате
вторая группирвка с максимумом по ссылке
а почему брать обороты если период регистратор???
|
|
11
_Demos_
15.03.13
✎
17:21
|
можно уложиться в одну вложенную или в одну временную таблицу
|
|
12
sapphire
15.03.13
✎
17:22
|
(4) Неправильно
|
|
13
zladenuw
15.03.13
✎
17:23
|
|
|
14
_Demos_
15.03.13
✎
17:25
|
+(10) а хотя ошибся это когда по записи не имеет смысла, а так может быть
|
|
15
sapphire
15.03.13
✎
17:26
|
(10) писали уже в (3)
|
|
16
Sintez123
15.03.13
✎
17:33
|
Нашел решение!
1) ВНУТРЕННЕЕ СОЕДНИЕНИЕ с регистром
2) После запроса делаем СВЕРНУТЬ без документа
В итоге получаем контрагентов по которым были документы в периоде.
В итоге
а) не надо вложенный запрос вообще
б) последний документ не получил, но и без этого тоже можно :)
Теперь
ТЕМА ЗАКРЫТА
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший