Выборка клиентов, которые не заезжали в полсднее время: различия между версиями

Материал из База знаний 5S AUTO
Перейти к навигации Перейти к поиску
Строка 7: Строка 7:
  
 
ИЗ
 
ИЗ
( ВЫБРАТЬ
+
( ВЫБРАТЬ<br/>
  
 
    Общая.Покупатель,
 
    Общая.Покупатель,

Версия 12:41, 16 мая 2019

ВЫБРАТЬ

   Покупатели.Покупатель.Код КАК Код,
   Покупатели.Покупатель,
   ВЫРАЗИТЬ(Покупатели.СуммаОплат КАК ЧИСЛО(10)) КАК СуммаОплат

ПОМЕСТИТЬ ВремПокупатели

ИЗ ( ВЫБРАТЬ

Общая.Покупатель, СУММА(Общая.Сумма) КАК СуммаОплат

ИЗ ( ВЫБРАТЬ

РегНакПродажиОбороты.Покупатель, РегНакПродажиОбороты.ДокументПродажи, СУММА(РегНакПродажиОбороты.СуммаОборот) КАК Сумма

ИЗ

РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, ЗАПИСЬ, ) КАК РегНакПродажиОбороты

ГДЕ РегНакПродажиОбороты.Покупатель.ФормаСобственности=ЗНАЧЕНИЕ(Перечисление.ФормыСобственности.ЧастноеЛицо)

И РегНакПродажиОбороты.Покупатель<>ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)

СГРУППИРОВАТЬ ПО

РегНакПродажиОбороты.Покупатель,

РегНакПродажиОбороты.ДокументПродажи

) КАК Общая

СГРУППИРОВАТЬ ПО Общая.Покупатель ИМЕЮЩИЕ СУММА(Общая.Сумма)>=&МинимальнаяСумма ) КАК Покупатели

ЛЕВОЕ СОЕДИНЕНИЕ

Документ.ЗаявкаНаРемонт КАК ДокЗаявкаНаРемонт ПО(Покупатели.Покупатель=ДокЗаявкаНаРемонт.Контрагент И ДокЗаявкаНаРемонт.Дата>&КонецПериода)

ЛЕВОЕ СОЕДИНЕНИЕ

Документ.ЗаказНаряд КАК ДокЗаказНаряд ПО((Покупатели.Покупатель=ДокЗаказНаряд.Контрагент ИЛИ Покупатели.Покупатель=ДокЗаказНаряд.Заказчик) И ДокЗаказНаряд.Дата>&КонецПериода)

ЛЕВОЕ СОЕДИНЕНИЕ

Документ.ЗаказПокупателя КАК ДокЗаказПокупателя ПО(Покупатели.Покупатель=ДокЗаказПокупателя.Контрагент И ДокЗаказПокупателя.Дата>&КонецПериода)

ЛЕВОЕ СОЕДИНЕНИЕ

Документ.РеализацияТоваров КАК ДокРеализацияТоваров ПО(Покупатели.Покупатель=ДокРеализацияТоваров.Контрагент И ДокРеализацияТоваров.Дата>&КонецПериода)

ГДЕ

ДокЗаявкаНаРемонт.Ссылка IS NULL И ДокЗаказНаряд.Ссылка IS NULL И ДокЗаказПокупателя.Ссылка IS NULL И ДокРеализацияТоваров.Ссылка IS NULL

ВЫБРАТЬ

   ВремПокупатели.Покупатель,
   РегСвКИ.Вид,
   РегСвКИ.Представление

ПОМЕСТИТЬ ВремКИ ИЗ

   ВремПокупатели
   СОЕДИНЕНИЕ
   РегистрСведений.КонтактнаяИнформация КАК РегСвКИ
   ПО( ВремПокупатели.Покупатель=РегСвКИ.Объект
       И РегСвКИ.Тип=ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон) )

ГДЕ

   ПОДСТРОКА(РегСвКИ.Представление, 10, 1)<>""

ВЫБРАТЬ

   КИ1.Покупатель,
   КИ1.Вид,
   КОЛИЧЕСТВО(*) КАК ПорядковыйНомер

ПОМЕСТИТЬ ВремКИНомер ИЗ

   ВремКИ КАК КИ1
   СОЕДИНЕНИЕ
   ВремКИ КАК КИ2
   ПО( КИ1.Покупатель=КИ2.ПОкупатель
       И КИ1.Вид>=КИ2.Вид )

СГРУППИРОВАТЬ ПО

   КИ1.Покупатель,
   КИ1.Вид

ВЫБРАТЬ

   ВремКИ.Покупатель,
   ВремКИНомер.ПорядковыйНомер,
   МАКСИМУМ(ВремКИ.Представление) КАК Представление

ПОМЕСТИТЬ ВремНомераТелефона ИЗ

   ВремКИ
   СОЕДИНЕНИЕ
   ВремКИНомер
   ПО( ВремКИ.Покупатель=ВремКИНомер.Покупатель
       И ВремКИ.Вид=ВремКИНомер.Вид )

СГРУППИРОВАТЬ ПО

   ВремКИ.Покупатель,
   ВремКИНомер.ПорядковыйНомер

ВЫБРАТЬ

   ВремПокупатели.Код,
   ВремПокупатели.Покупатель,
   ISNULL(НомераТелефона1.Представление, "")+", "+ISNULL(НомераТелефона2.Представление, "")+", "+ISNULL(НомераТелефона3.Представление, "") КАК НомераТелефона,
   ВремПокупатели.СуммаОплат

ПОМЕСТИТЬ ВремТелефоны ИЗ

   ВремПокупатели
   ЛЕВОЕ СОЕДИНЕНИЕ
   ВремНомераТелефона КАК НомераТелефона1
   ПО(ВремПокупатели.Покупатель=НомераТелефона1.Покупатель
      И НомераТелефона1.ПорядковыйНомер=1)
   ЛЕВОЕ СОЕДИНЕНИЕ
   ВремНомераТелефона КАК НомераТелефона2
   ПО(ВремПокупатели.Покупатель=НомераТелефона2.Покупатель
      И НомераТелефона2.ПорядковыйНомер=2)
   ЛЕВОЕ СОЕДИНЕНИЕ
   ВремНомераТелефона КАК НомераТелефона3
   ПО(ВремПокупатели.Покупатель=НомераТелефона3.Покупатель
      И НомераТелефона3.ПорядковыйНомер=3)

ВЫБРАТЬ ВремПокупатели.Покупатель, МАКСИМУМ(ДокЗаказНаряд.Дата) КАК Дата

ПОМЕСТИТЬ ВремДатаПоследнегоЗаказНаряда ИЗ ВремПокупатели СОЕДИНЕНИЕ Документ.ЗаказНаряд КАК ДокЗаказНаряд ПО((ВремПокупатели.Покупатель=ДокЗаказНаряд.Заказчик ИЛИ ВремПокупатели.Покупатель=ДокЗаказНаряд.Контрагент) И ДокЗаказНаряд.ПометкаУдаления=ЛОЖЬ) СГРУППИРОВАТЬ ПО ВремПокупатели.Покупатель

ВЫБРАТЬ ВремПокупатели.Покупатель, МАКСИМУМ(ДокЗаказНаряд.Дата) КАК Дата

ПОМЕСТИТЬ ВремДатаПредыдущегоЗаказНаряда ИЗ ВремПокупатели СОЕДИНЕНИЕ Документ.ЗаказНаряд КАК ДокЗаказНаряд ПО((ВремПокупатели.Покупатель=ДокЗаказНаряд.Заказчик ИЛИ ВремПокупатели.Покупатель=ДокЗаказНаряд.Контрагент) И ДокЗаказНаряд.ПометкаУдаления=ЛОЖЬ) ЛЕВОЕ СОЕДИНЕНИЕ ВремДатаПоследнегоЗаказНаряда ПО(ВремПокупатели.Покупатель=ВремДатаПоследнегоЗаказНаряда.Покупатель И ДокЗаказНаряд.Дата=ВремДатаПоследнегоЗаказНаряда.Дата) ГДЕ ВремДатаПоследнегоЗаказНаряда.Покупатель IS NULL СГРУППИРОВАТЬ ПО ВремПокупатели.Покупатель

ВЫБРАТЬ ВремДатаПоследнегоЗаказНаряда.Покупатель, МАКСИМУМ(ДокЗаказНаряд.Ссылка) КАК ЗаказНаряд

ПОМЕСТИТЬ ВремПоследнийЗаказНаряд ИЗ ВремДатаПоследнегоЗаказНаряда СОЕДИНЕНИЕ Документ.ЗаказНаряд КАК ДокЗаказНаряд ПО((ВремДатаПоследнегоЗаказНаряда.Покупатель=ДокЗаказНаряд.Заказчик ИЛИ ВремДатаПоследнегоЗаказНаряда.Покупатель=ДокЗаказНаряд.Контрагент) И ВремДатаПоследнегоЗаказНаряда.Дата=ДокЗаказНаряд.Дата) СГРУППИРОВАТЬ ПО ВремДатаПоследнегоЗаказНаряда.Покупатель

ВЫБРАТЬ ВремДатаПредыдущегоЗаказНаряда.Покупатель, МАКСИМУМ(ДокЗаказНаряд.Ссылка) КАК ЗаказНаряд

ПОМЕСТИТЬ ВремПрерыдущийЗаказНаряд ИЗ ВремДатаПредыдущегоЗаказНаряда СОЕДИНЕНИЕ Документ.ЗаказНаряд КАК ДокЗаказНаряд ПО((ВремДатаПредыдущегоЗаказНаряда.Покупатель=ДокЗаказНаряд.Заказчик ИЛИ ВремДатаПредыдущегоЗаказНаряда.Покупатель=ДокЗаказНаряд.Контрагент) И ВремДатаПредыдущегоЗаказНаряда.Дата=ДокЗаказНаряд.Дата) СГРУППИРОВАТЬ ПО ВремДатаПредыдущегоЗаказНаряда.Покупатель

ВЫБРАТЬ ВремПокупатели.Покупатель, МАКСИМУМ(РегСвАвтомобилиСрезПоследних.Автомобиль) КАК Автомобиль

ПОМЕСТИТЬ ВремАвтомобили ИЗ ВремПокупатели СОЕДИНЕНИЕ РегистрСведений.Автомобили.СрезПоследних(, ВидЗначения=ЗНАЧЕНИЕ(Перечисление.ДополнительнаяИнформацияАвтомобилей.Хозяин)) КАК РегСвАвтомобилиСрезПоследних ПО(ВремПокупатели.Покупатель=РегСвАвтомобилиСрезПоследних.Значение) СГРУППИРОВАТЬ ПО ВремПокупатели.Покупатель

ВЫБРАТЬ ВремПокупатели.Покупатель, СУММА(ISNULL(РегСвБонусыСтандартныеОбороты.КоличествоОборот, 0)) КАК Стандартные, СУММА(ISNULL(РегСвБонусыПремиумОбороты.КоличествоОборот, 0)) КАК Премиум

ПОМЕСТИТЬ ВремБонусы ИЗ ВремПокупатели СОЕДИНЕНИЕ РегистрСведений._5с_ВладельцыБонусныхСчетов КАК РегСвВладельцыБонусныхСчетов ПО(ВремПокупатели.Покупатель=РегСвВладельцыБонусныхСчетов.Контрагент) СОЕДИНЕНИЕ Справочник._5с_ТипыБонусов КАК СпрТипыБонусовСтандартные ПО(СпрТипыБонусовСтандартные.Код="000000001") СОЕДИНЕНИЕ Справочник._5с_ТипыБонусов КАК СпрТипыБонусовПремиум ПО(СпрТипыБонусовПремиум.Код="000000002") ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления._5с_Бонусы.Обороты() КАК РегСвБонусыСтандартныеОбороты ПО(РегСвВладельцыБонусныхСчетов.БонусныйСчет=РегСвБонусыСтандартныеОбороты.БонусныйСчет И СпрТипыБонусовСтандартные.Ссылка=РегСвБонусыСтандартныеОбороты.ТипБонуса) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления._5с_Бонусы.Обороты() КАК РегСвБонусыПремиумОбороты ПО(РегСвВладельцыБонусныхСчетов.БонусныйСчет=РегСвБонусыПремиумОбороты.БонусныйСчет И СпрТипыБонусовПремиум.Ссылка=РегСвБонусыПремиумОбороты.ТипБонуса) СГРУППИРОВАТЬ ПО ВремПокупатели.Покупатель

ВЫБРАТЬ ВремПокупатели.Покупатель, ВремПокупатели.Покупатель.Наименование КАК ФИО, ISNULL(ВремТелефоны.НомераТелефона, "") КАК НомерТелефона, ISNULL(ВремАвтомобили.Автомобиль.Модель.Родитель.Наименование, "")+" / "+ ISNULL(ВремАвтомобили.Автомобиль.Модель.Наименование, "") КАК МаркаМодель, ISNULL(ВремПоследнийЗаказНаряд.ЗаказНаряд.Дата, ДАТАВРЕМЯ(1, 1, 1)) КАК ДатаКрайнегоЗаказНаряда, ISNULL(ВремПоследнийЗаказНаряд.ЗаказНаряд.Номер, "") КАК НомерКрайнегоЗаказНаряда, ISNULL(ВремБонусы.Стандартные, 0) КАК КоличествоСтандартныхБонусов, ISNULL(ВремБонусы.Премиум, 0) КАК КоличествоПремиумБонусов ИЗ ВремПокупатели ЛЕВОЕ СОЕДИНЕНИЕ ВремТелефоны ПО(ВремПокупатели.Покупатель=ВремТелефоны.Покупатель) ЛЕВОЕ СОЕДИНЕНИЕ ВремАвтомобили ПО(ВремПокупатели.Покупатель=ВремАвтомобили.Покупатель) ЛЕВОЕ СОЕДИНЕНИЕ ВремПоследнийЗаказНаряд ПО(ВремПокупатели.Покупатель=ВремПоследнийЗаказНаряд.Покупатель) ЛЕВОЕ СОЕДИНЕНИЕ ВремБонусы ПО(ВремПокупатели.Покупатель=ВремБонусы.Покупатель) УПОРЯДОЧИТЬ ПО ВремПокупатели.Покупатель.Наименование