Версия для печати темы (https://pro1c.org.ua/index.php?s=f4c09a58af3dd17c118c291e07f2c44b&showtopic=46931)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Система компоновки данных _ Как в запросе получить по 5 заказов для каждого контрагента

Автор: Mongrel 30.07.18, 16:53

Можно ли в одном запросе получить для каждого контрагента строго 5 заказов?

Автор: sava1 30.07.18, 17:08

выбрать первые 5

Автор: Mongrel 30.07.18, 23:36

"первые 5" вернет просто 5 заказаов , а мне нужно

контрагент 1 - заказ 1
контрагент 1 - заказ 2
контрагент 1 - заказ 3
контрагент 1 - заказ 4
контрагент 1 - заказ 5

контрагент 2 - заказ 1
контрагент 2 - заказ 2
контрагент 2 - заказ 3
контрагент 2 - заказ 4
контрагент 2 - заказ 5

....

контрагент n - заказ 1
контрагент n - заказ 2
контрагент n - заказ 3
контрагент n - заказ 4
контрагент n - заказ 5

Автор: Petre 31.07.18, 8:28

ВЫБРАТЬ
    Документ1.Контрагент КАК Контрагент,
    Документ1.Ссылка,
    КОЛИЧЕСТВО(Документ2.Ссылка) КАК Номер
ИЗ
    Документ.Заказ КАК Документ1
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Заказ КАК Документ2
        ПО Документ1.Дата <= Документ2.Дата
            И Документ1.Контрагент = Документ2.Контрагент

СГРУППИРОВАТЬ ПО
    Документ1.Контрагент,
    Документ1.Ссылка

ИМЕЮЩИЕ
    КОЛИЧЕСТВО(Документ2.Ссылка) <= 5

Автор: andr_andrey 31.07.18, 8:32

Mongrel @ Сегодня, 0:36 * ,
Как идея: пронумеровать заказы контрагента и выбирать до 5 номера 44000000.gif

Автор: takefive 31.07.18, 9:36

http://pro1c.org.ua/redirect.php?https://kb.mista.ru/article.php?id=703

Автор: Mongrel 01.08.18, 8:23

я думал есть более простое решение, а в результате реализовали похоже тому что написал Petre.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua