Выборка клиентов, которые не заезжали в полсднее время
ВЫБРАТЬ
Покупатели.Покупатель.Код КАК Код, Покупатели.Покупатель, ВЫРАЗИТЬ(Покупатели.СуммаОплат КАК ЧИСЛО(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) КАК КоличествоПремиумБонусов ИЗ ВремПокупатели ЛЕВОЕ СОЕДИНЕНИЕ ВремТелефоны ПО(ВремПокупатели.Покупатель=ВремТелефоны.Покупатель) ЛЕВОЕ СОЕДИНЕНИЕ ВремАвтомобили ПО(ВремПокупатели.Покупатель=ВремАвтомобили.Покупатель) ЛЕВОЕ СОЕДИНЕНИЕ ВремПоследнийЗаказНаряд ПО(ВремПокупатели.Покупатель=ВремПоследнийЗаказНаряд.Покупатель) ЛЕВОЕ СОЕДИНЕНИЕ ВремБонусы ПО(ВремПокупатели.Покупатель=ВремБонусы.Покупатель) УПОРЯДОЧИТЬ ПО ISNULL(ВремПоследнийЗаказНаряд.ЗаказНаряд.Дата, ДАТАВРЕМЯ(1, 1, 1))