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

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

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Исключения в запросе

Автор: cocon2003 20.06.16, 21:44

Здравствуйте, уважаемые.
Творю отчёт типа "Новые покупатели". Суть - выбрать список клиентов которые ВПЕРВЫЕ появились только в данном периоде.
Получаю список всех покупателей месяца.

ВЫБРАТЬ
                      Реализация.Контрагент КАК Контрагент,
                      СУММА(Реализация.ВесНетто) КАК Количество,
                      СУММА(Реализация.СуммаСНДС) КАК СуммаСНДС
                  ИЗ
                      Документ.Реализация КАК Реализация
                  ГДЕ
                      Реализация.Дата МЕЖДУ &ДатаНач И &ДатаКон
                  
                  СГРУППИРОВАТЬ ПО
                      Реализация.Контрагент
                  
                  УПОРЯДОЧИТЬ ПО
                      Реализация.Контрагент

А как же из них отсеять тех, кто ранее уже работал?
Отдельно запрос показывает была ли ранее хоть одна поставка клиенту, но как их скрутить вместе? Не могу скумекать. В Фаербёрде это решалось бы, скажем, ещё одно поле как выборка, где показалось бы количество из такой конструкции:
ВЫБРАТЬ Count(Реализация.Контрагент.Код)
                 ИЗ
                     Документ.Реализация КАК Реализация
                 ГДЕ
                     Реализация.Проведен = ИСТИНА
                     И Реализация.Дата < &ДатаНач
                     И Реализация.Контрагент = &Контрагент

Прошу помощи зала.

Автор: logist 20.06.16, 22:32

Как-то так

"ВЫБРАТЬ
|    РеализацияТоваровУслуг.Контрагент КАК Контрагент
|ИЗ
|    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
|    РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
|    И НЕ РеализацияТоваровУслуг.Контрагент В
|                (ВЫБРАТЬ
|                    Т.Контрагент
|                ИЗ
|                    Документ.РеализацияТоваровУслуг КАК Т
|                ГДЕ
|                    Т.Дата < &ДатаНачала
|                    И Т.Проведен)
|
|СГРУППИРОВАТЬ ПО
|    РеализацияТоваровУслуг.Контрагент
|
|УПОРЯДОЧИТЬ ПО
|    Контрагент"

Автор: cocon2003 21.06.16, 5:27

logist @ Вчера, 23:32 *,
Самое оно!
Благодарствую.

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