Запросы

Таблица оборотов Дт Кт предназначена для получения оборотов между корреспондирующими счетами. Таблица присутствует только у регистра с поддержкой корреспонденции и позволяет узнать оборот в дебет счета с кредита счета (субконто, измерения). Если рассматривать таблицу с точки зрения ее возможного использования при разработке отчетов, то вероятнее всего это будут отчеты «Шахматный баланс (шахматка)» и «Сводные проводки». Основное отличие таблицы оборотов Дт Кт от таблицы оборотов состоит в том, что таблица оборотов Дт Кт позволяет анализировать обороты между счетами, где заранее известно, какой счет дебетуется, а какой кредитуется. В то время как таблица оборотов, кроме того, что позволяет анализировать обороты по счету (без указания второго), позволяет анализировать обороты между счетом и корсчетом. При этом одним обращением к таблице можно получить как дебетовые, так и кредитовые корреспонденции.

ВЫРАЗИТЬ((Цена / ПорядокОкругления + 0.5) КАК ЧИСЛО(15,0)) * ПорядокОкругления

ВЫБРАТЬ
      ПТУ.Ссылка КАК Поступление,
      ПТУ.Партнер КАК Партнер
ИЗ
      Документ.ПоступлениеТоваровУслуг КАК ПТУ
            ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК Фильтр
            ПО (ПТУ.Партнер = Фильтр.Партнер)
                  И (ПТУ.МоментВремени < Фильтр.МоментВремени)
ГДЕ
      Фильтр.Ссылка ЕСТЬ NULL

ГДЕ
	РегистрНакопления.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)

ЭлементыФормы.ТабличноеПоле1 = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();

МВТ = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МВТ;

Запрос.Текст = "ВЫБРАТЬ
|	ТЗ.Поле1,
|	ТЗ.Поле2
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
|	&ТаблицаЗначений КАК ТЗ
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|	ВременнаяТаблица.Поле1,
|	ВременнаяТаблица.Поле2
|ИЗ
|	ВременнаяТаблица КАК ВременнаяТаблица";

Запрос.УстановитьПараметр("ТаблицаЗначений", ТаблицаЗначений);
Результат = Запрос.Выполнить();
МВТ.Закрыть();

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

СГРУППИРОВАТЬ ПО
	РасходнаяНакладнаяТовары.Номенклатура

ИНДЕКСИРОВАТЬ ПО
	Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ПартииТоваровНаСкладахОстатки.Номенклатура КАК Номенклатура,
	ПартииТоваровНаСкладахОстатки.Партия КАК Партия,
	ПартииТоваровНаСкладахОстатки.Партия.МоментВремени КАК МоментВремени,
	ПартииТоваровНаСкладахОстатки.КоличествоОстаток КАК КолПартия,
	ПартииТоваровНаСкладахОстатки.СуммаОстаток КАК СумПартия
ПОМЕСТИТЬ Партии
ИЗ
	РегистрНакопления.ПартииТоваровНаСкладах.Остатки(
			&МоментВремени,
			Склад = &Склад
				И Номенклатура В
					(ВЫБРАТЬ
						ТЧ.Номенклатура
					ИЗ
						ТЧ КАК ТЧ)) КАК ПартииТоваровНаСкладахОстатки

ИНДЕКСИРОВАТЬ ПО
	Номенклатура,
	Партия
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ТЧ.Номенклатура,
	Партии.Партия КАК Партия,
	ТЧ.КолДок КАК КолДок,
	Партии.КолПартия КАК КолПартия,
	ЕСТЬNULL(Партии1.КолПартия, 0) КАК КолНакопитИтог,
	Партии.СумПартия,
	ТЧ.СумДок
ПОМЕСТИТЬ Данные
ИЗ
	ТЧ КАК ТЧ
		ЛЕВОЕ СОЕДИНЕНИЕ Партии КАК Партии
			ЛЕВОЕ СОЕДИНЕНИЕ Партии КАК Партии1
			ПО Партии.Номенклатура = Партии1.Номенклатура
				И Партии.МоментВремени > Партии1.МоментВремени
		ПО ТЧ.Номенклатура = Партии.Номенклатура
;

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

СГРУППИРОВАТЬ ПО
	Данные.Номенклатура,
	Данные.Партия
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	НакопитИтог.Номенклатура КАК Номенклатура,
	НакопитИтог.КолДок,
	НакопитИтог.Партия КАК Партия,
	НакопитИтог.КолПартия,
	НакопитИтог.КолНакопитИтог,
	НакопитИтог.КолДок - НакопитИтог.КолНакопитИтог КАК ОсталосьСписать,
	ВЫБОР
		КОГДА НакопитИтог.КолПартия < НакопитИтог.КолДок - НакопитИтог.КолНакопитИтог
			ТОГДА НакопитИтог.КолПартия
		ИНАЧЕ НакопитИтог.КолДок - НакопитИтог.КолНакопитИтог
	КОНЕЦ КАК Списываем,
	НакопитИтог.СумДок,
	ВЫБОР
		КОГДА НакопитИтог.КолПартия < НакопитИтог.КолДок - НакопитИтог.КолНакопитИтог
			ТОГДА НакопитИтог.КолПартия
		ИНАЧЕ НакопитИтог.КолДок - НакопитИтог.КолНакопитИтог
	КОНЕЦ * НакопитИтог.СумПартия / НакопитИтог.КолПартия КАК СписываемСум
ИЗ
	НакопитИтог КАК НакопитИтог
ГДЕ
	НакопитИтог.КолНакопитИтог < НакопитИтог.КолДок

УПОРЯДОЧИТЬ ПО
	Номенклатура,
	Партия

Расчет даты оплаты в банковских днях

////////////////////////////////////////////////////////////////////////////////
// Расчет даты отлаты при указании периода в банковских днях
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ДатаДокумента, НЕДЕЛЯ), ДЕНЬ, ВЫБОР
 КОГДА (ВЫРАЗИТЬ((ДЕНЬНЕДЕЛИ(&ДатаДокумента) + &БанковскихДней) / 5 КАК ЧИСЛО(15, 0)))
  - (ДЕНЬНЕДЕЛИ(&ДатаДокумента) + &БанковскихДней) / 5 >= 0
 ТОГДА (ВЫРАЗИТЬ((ДЕНЬНЕДЕЛИ(&ДатаДокумента) + &БанковскихДней) / 5 КАК ЧИСЛО(15, 0))) - 1
 ИНАЧЕ ВЫРАЗИТЬ((ДЕНЬНЕДЕЛИ(&ДатаДокумента) + &БанковскихДней) / 5 КАК ЧИСЛО(15, 0))
КОНЕЦ * 7 + (ДЕНЬНЕДЕЛИ(&ДатаДокумента) + &БанковскихДней - ВЫБОР
 КОГДА (ВЫРАЗИТЬ((ДЕНЬНЕДЕЛИ(&ДатаДокумента) + &БанковскихДней) / 5 КАК ЧИСЛО(15, 0)))
  - (ДЕНЬНЕДЕЛИ(&ДатаДокумента) + &БанковскихДней) / 5 >= 0
 ТОГДА (ВЫРАЗИТЬ((ДЕНЬНЕДЕЛИ(&ДатаДокумента) + &БанковскихДней) / 5 КАК ЧИСЛО(15, 0))) - 1
 ИНАЧЕ ВЫРАЗИТЬ((ДЕНЬНЕДЕЛИ(&ДатаДокумента) + &БанковскихДней) / 5 КАК ЧИСЛО(15, 0))
КОНЕЦ * 5) - 1) КАК Дата

Календарик в диапазоне дат до 2739 лет

////////////////////////////////////////////////////////////////////////////////
 // Единицы для календаря
ВЫБРАТЬ 0 КАК Цифра ПОМЕСТИТЬ Единицы
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9;

////////////////////////////////////////////////////////////////////////////////
 // Десятки для календаря. Диапазон дат 3 месяца
ВЫБРАТЬ Десятки.Цифра * 10 КАК Цифра ПОМЕСТИТЬ Десятки ИЗ Единицы КАК Десятки
ГДЕ Десятки.Цифра * 10 < РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

////////////////////////////////////////////////////////////////////////////////
 // Сотни для календаря. Диапазон дат 2,5 года
ВЫБРАТЬ Сотни.Цифра * 10 КАК Цифра ПОМЕСТИТЬ Сотни ИЗ Десятки КАК Сотни
ГДЕ Сотни.Цифра * 10 < РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

////////////////////////////////////////////////////////////////////////////////
 // Тысячи для календаря. Диапазон дат 27 лет
ВЫБРАТЬ Тысячи.Цифра * 10 КАК Цифра ПОМЕСТИТЬ Тысячи ИЗ Сотни КАК Тысячи
ГДЕ Тысячи.Цифра * 10 < РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

////////////////////////////////////////////////////////////////////////////////
 // Десятки тысяч для календаря. Диапазон дат 273 года
ВЫБРАТЬ ДесяткиТысяч.Цифра * 10 КАК Цифра ПОМЕСТИТЬ ДесяткиТысяч ИЗ Тысячи КАК ДесяткиТысяч
ГДЕ ДесяткиТысяч.Цифра * 10 < РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

////////////////////////////////////////////////////////////////////////////////
 // Сотни тысяч для календаря. Диапазон дат 2739 лет
ВЫБРАТЬ СотниТысяч.Цифра * 10 КАК Цифра ПОМЕСТИТЬ СотниТысяч ИЗ ДесяткиТысяч КАК СотниТысяч
ГДЕ СотниТысяч.Цифра * 10 < РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

////////////////////////////////////////////////////////////////////////////////
 // Список дат календаря в диапазоне до 2739 лет
ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, СотниТысяч.Цифра + ДесяткиТысяч.Цифра
   + Тысячи.Цифра + Сотни.Цифра + Десятки.Цифра + Единицы.Цифра) КАК ДатаПериода
ИЗ СотниТысяч КАК СотниТысяч, ДесяткиТысяч КАК ДесяткиТысяч,
   Тысячи КАК Тысячи, Сотни КАК Сотни, Десятки КАК Десятки, Единицы КАК Единицы
ГДЕ СотниТысяч.Цифра + ДесяткиТысяч.Цифра + Тысячи.Цифра + Сотни.Цифра + Десятки.Цифра
   + Единицы.Цифра <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

Строковое представление дат в диапазоне до 2739 лет

////////////////////////////////////////////////////////////////////////////////
 // Единицы и их строковое представление для календаря и списка дат
ВЫБРАТЬ 0 КАК Цифра, "0" КАК Образ ПОМЕСТИТЬ Единицы
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 1, "1" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2, "2" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3, "3"
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 4, "4" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 5, "5" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 6, "6"
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 7, "7" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 8, "8" ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 9, "9";

////////////////////////////////////////////////////////////////////////////////
 // Десятки и их строковое представление для календаря
ВЫБРАТЬ Десятки.Цифра * 10 КАК Цифра, Десятки.Образ КАК Образ
ПОМЕСТИТЬ ДесяткиДат ИЗ Единицы КАК Десятки;

////////////////////////////////////////////////////////////////////////////////
 // Сотни и их строковое представление для календаря
ВЫБРАТЬ Сотни.Цифра * 10 КАК Цифра, Сотни.Образ КАК Образ
ПОМЕСТИТЬ СотниДат ИЗ ДесяткиДат КАК Сотни;

////////////////////////////////////////////////////////////////////////////////
 // Тысячи и их строковое представление для календаря
ВЫБРАТЬ Тысячи.Цифра * 10 КАК Цифра, Тысячи.Образ КАК Образ
ПОМЕСТИТЬ ТысячиДат ИЗ СотниДат КАК Тысячи ГДЕ Тысячи.Цифра * 10 <= ГОД(&КонецПериода);

////////////////////////////////////////////////////////////////////////////////
 // Представление дней календаря
ВЫБРАТЬ Десятки.Цифра + Единицы.Цифра КАК ЧислоДиапазона,
   Десятки.Образ + Единицы.Образ КАК ОбразЧисла ПОМЕСТИТЬ Дни
ИЗ ДесяткиДат КАК Десятки, Единицы КАК Единицы ГДЕ Десятки.Цифра + Единицы.Цифра <= 31;

////////////////////////////////////////////////////////////////////////////////
 // Представление месяцев календаря
ВЫБРАТЬ Десятки.Цифра + Единицы.Цифра КАК ЧислоДиапазона,
   Десятки.Образ + Единицы.Образ КАК ОбразЧисла ПОМЕСТИТЬ Месяцы
ИЗ ДесяткиДат КАК Десятки, Единицы КАК Единицы ГДЕ Десятки.Цифра + Единицы.Цифра <= 12;

////////////////////////////////////////////////////////////////////////////////
 // Представление лет календаря
ВЫБРАТЬ Тысячи.Цифра + Сотни.Цифра + Десятки.Цифра + Единицы.Цифра КАК ЧислоДиапазона,
   Тысячи.Образ + Сотни.Образ + Десятки.Образ + Единицы.Образ КАК ОбразЧисла ПОМЕСТИТЬ Года
ИЗ ТысячиДат КАК Тысячи, СотниДат КАК Сотни, ДесяткиДат КАК Десятки, Единицы КАК Единицы
ГДЕ Тысячи.Цифра + Сотни.Цифра + Десятки.Цифра + Единицы.Цифра МЕЖДУ ГОД(&НачалоПериода)
   И ГОД(&КонецПериода);

////////////////////////////////////////////////////////////////////////////////
 // Десятки для списка дат. Диапазон дат 3 месяца
ВЫБРАТЬ Десятки.Цифра * 10 КАК Цифра ПОМЕСТИТЬ Десятки ИЗ Единицы КАК Десятки
ГДЕ Десятки.Цифра * 10 < РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

////////////////////////////////////////////////////////////////////////////////
 // Сотни для списка дат. Диапазон дат 2,5 года
ВЫБРАТЬ Сотни.Цифра * 10 КАК Цифра ПОМЕСТИТЬ Сотни ИЗ Десятки КАК Сотни
ГДЕ Сотни.Цифра * 10 < РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

////////////////////////////////////////////////////////////////////////////////
 // Тысячи для списка дат. Диапазон дат 27 лет
ВЫБРАТЬ Тысячи.Цифра * 10 КАК Цифра ПОМЕСТИТЬ Тысячи ИЗ Сотни КАК Тысячи
ГДЕ Тысячи.Цифра * 10 < РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

////////////////////////////////////////////////////////////////////////////////
 // Десятки тысяч для списка дат. Диапазон дат 273 года
ВЫБРАТЬ ДесяткиТысяч.Цифра * 10 КАК Цифра ПОМЕСТИТЬ ДесяткиТысяч ИЗ Тысячи КАК ДесяткиТысяч
ГДЕ ДесяткиТысяч.Цифра * 10 < РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

////////////////////////////////////////////////////////////////////////////////
 // Сотни тысяч для списка дат. Диапазон дат 2739 лет
ВЫБРАТЬ СотниТысяч.Цифра * 10 КАК Цифра ПОМЕСТИТЬ СотниТысяч ИЗ ДесяткиТысяч КАК СотниТысяч
ГДЕ СотниТысяч.Цифра * 10 < РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

////////////////////////////////////////////////////////////////////////////////
 // Список дат в диапазоне до 2739 лет
ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&НачалоПериода, ДЕНЬ, СотниТысяч.Цифра + ДесяткиТысяч.Цифра
   + Тысячи.Цифра + Сотни.Цифра + Десятки.Цифра + Единицы.Цифра) КАК ДатаПериода
ПОМЕСТИТЬ Даты ИЗ СотниТысяч КАК СотниТысяч, ДесяткиТысяч КАК ДесяткиТысяч,
   Тысячи КАК Тысячи, Сотни КАК Сотни, Десятки КАК Десятки, Единицы КАК Единицы
ГДЕ СотниТысяч.Цифра + ДесяткиТысяч.Цифра + Тысячи.Цифра + Сотни.Цифра + Десятки.Цифра
   + Единицы.Цифра <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, ДЕНЬ);

////////////////////////////////////////////////////////////////////////////////
 // Список со строковыми представлениями дат из списка
ВЫБРАТЬ "Строка: " + Дни.ОбразЧисла + "." + Месяцы.ОбразЧисла + "."
   + Года.ОбразЧисла КАК ПредставлениеСтроки ИЗ Даты КАК Даты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Дни КАК Дни ПО (ДЕНЬ(Даты.ДатаПериода) = Дни.ЧислоДиапазона)
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Месяцы КАК Месяцы ПО (МЕСЯЦ(Даты.ДатаПериода) = Месяцы.ЧислоДиапазона)
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Года КАК Года ПО (ГОД(Даты.ДатаПериода) = Года.ЧислоДиапазона)
 УПОРЯДОЧИТЬ ПО Даты.ДатаПериода

В примере выводим нарастающим итогом Количества из табличной части Товары док-та Реализация товаров и услуг, соединив временную таблицу (ВремТабл) саму с собой:

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	врт.НомерСтроки КАК НомерСтроки,
	врт.Количество КАК КоличествоВСтроке,
	СУММА(врт1.Количество) КАК КоличествоНарастающим
ИЗ
	ВремТабл КАК врт
		ЛЕВОЕ СОЕДИНЕНИЕ ВремТабл КАК врт1
		ПО врт.НомерСтроки >= врт1.НомерСтроки

СГРУППИРОВАТЬ ПО
	врт.НомерСтроки,
	врт.Количество

УПОРЯДОЧИТЬ ПО
	НомерСтроки

Как видно из примера, легко можно получить и нумерацию строк, задав поле «Счетчик» со значением 1 во временной таблице (ВремТабл) и далее поступив с ним как с Количеством. Пронумерованный список док-тов Реализация товаров и услуг за период:

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ВремТабл.Ссылка,
	СУММА(ВремТабл1.Счетчик) КАК Счетчик
ИЗ
	ВремТабл КАК ВремТабл
		ЛЕВОЕ СОЕДИНЕНИЕ ВремТабл КАК ВремТабл1
		ПО (ВремТабл.Ссылка >= ВремТабл1.Ссылка)

СГРУППИРОВАТЬ ПО
	ВремТабл.Ссылка

УПОРЯДОЧИТЬ ПО
	ВремТабл.Ссылка.Ссылка

Используется директива ИМЕЮЩИЕ. По остальным полям должна осуществляться группировка. Отбор по номеру > 3 из предыдущего примера:

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ВремТабл.Ссылка,
	СУММА(ВремТабл1.Счетчик) КАК Счетчик
ИЗ
	ВремТабл КАК ВремТабл
		ЛЕВОЕ СОЕДИНЕНИЕ ВремТабл КАК ВремТабл1
		ПО ВремТабл.Ссылка >= ВремТабл1.Ссылка

СГРУППИРОВАТЬ ПО
	ВремТабл.Ссылка

ИМЕЮЩИЕ
	СУММА(ВремТабл1.Счетчик) > 3

УПОРЯДОЧИТЬ ПО
	ВремТабл.Ссылка.Ссылка