Выборка клиентов, которые не заезжали в полсднее время
Перейти к навигации
Перейти к поиску
ВЫБРАТЬ
Покупатели.Покупатель.Код КАК Код, Покупатели.Покупатель, ВЫРАЗИТЬ(Покупатели.СуммаОплат КАК ЧИСЛО(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))