Меры центральной тенденции (вычисление среднего) в запросе 1С

Публикация № 1285902 31.08.20

Разработка - Запросы

Меры центральной тенденции (вычисление среднего) в запросе

Меры центральной тенденции (вычисление среднего) в запросе 1С: * Среднее арифметическое * Среднее гармоническое * Среднее квадратическое * Среднее усеченное * Среднее винсоризованное * Медиана * Мода

При написании статьи использовались ссылки:

Как правильно вычислить среднее значение?

Меры центральной тенденции

Квадратный корень в запросе 1С

Как правильно вычислить среднее значение?

Средняя зарплата… Средняя продолжительность жизни… Практически каждый день мы с вами слышим эти словосочетания, используемые для описания множества одним единственным числом. Но как ни странно, «среднее значение» — достаточно коварное понятие, часто вводящее в заблуждение обычного, неискушенного в математической статистике, человека.

В чем проблема?

Под средним значением чаще всего подразумевается среднее арифметическое, которое очень сильно варьируется под воздействием единичных фактов или событий. И вы не получите реального представления о том, как именно распределены значения, которые вы изучаете.

Давайте обратимся к классическому примеру со средней зарплатой.

В какой-то абстрактной компании работает десять сотрудников. Девять из них получают зарплату около 50 000 рублей, а один 1 500 000 рублей (по странному совпадению он же является генеральным директором этой компании).

Выборка зарплат

Средним значением в данном случае будет 195 150 рублей, что согласитесь, неправильно.

Какие способы вычисления среднего бывают?

  • Среднее арифметическое
  • Среднее гармоническое
  • Среднее квадратическое
  • Среднее усеченное
  • Среднее винсоризованное
  • Медиана
  • Мода

Перечисленные способы вычисления возможно реализовать на языке запросов 1С. Описание перечисленных и прочих способов вычисления среднего можно найти по ссылке Меры центральной тенденции.

И вот какие значения у нас получились:

Пример текста запроса

Текст запроса для вычисления различных вариантов среднего с числовыми данными из текста статьи (КлючеваяОперация: "Операция10"), его можно вставить в консоль запросов и выполнить:

  • временная таблица втЗамерыВремени - исходный массив числовых данных;
  • временная таблица втКлючевыеОперацииСтатистика - результат различных рассчетов среднего;
  • временные таблицы втЗамерыВремениПоВозрастанию и втКлючевыеОперацииАгрегаты - базовые данные для всех вариантов вычисления среднего;
  • временные таблицы в тексте запроса составлены так что бы различные варианты вычисления среднего были разделены и можно было понять и отделить нужный вариант;
  • вариант Среднее арифметическое результат аналогичен функции СРЕДНЕЕ();
  • вариант Среднее гармоническое вычисляется практически так же просто как и Среднее арифметическое;
  • вариант Среднее квадратическое использует вычисление из статьи Квадратный корень в запросе 1С;
  • варианты Среднее усеченное, Среднее винсоризованное и Медиана используют упорядоченный входной набор данных - временная таблица втЗамерыВремениПоВозрастанию, который имеет ограничение на количество строк втЗамерыВремени, для всех остальных вариантов можно обойтись временной таблицей втЗамерыВремени без ограничения количества строк;
  • вариант Мода может обработать входной набор данных отличный от числового;
  • варианты Среднее усеченное, Среднее винсоризованное позволяют получить усредненные значения минимума и максимума входного набора данных.
ВЫБРАТЬ
	"Операция10" КАК КлючеваяОперация,
	48000 КАК ВремяВыполнения
ПОМЕСТИТЬ втЗамерыВремени

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция10",
	49000

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция10",
	49500

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция10",
	50000

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция10",
	50000

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция10",
	50500

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция10",
	51000

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция10",
	51500

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция10",
	52000

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция10",
	1500000

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция5",
	98

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция5",
	99

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция5",
	100

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция5",
	101

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция5",
	102

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
	"Операция1",
	50
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1000000000
	АВТОНОМЕРЗАПИСИ() КАК НомерСтроки,
	втЗамерыВремени.КлючеваяОперация КАК КлючеваяОперация,
	втЗамерыВремени.ВремяВыполнения КАК ВремяВыполнения
ПОМЕСТИТЬ втЗамерыВремениПоВозрастанию
ИЗ
	втЗамерыВремени КАК втЗамерыВремени

УПОРЯДОЧИТЬ ПО
	втЗамерыВремени.КлючеваяОперация,
	втЗамерыВремени.ВремяВыполнения
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втЗамерыВремениПоВозрастанию.КлючеваяОперация КАК КлючеваяОперация,
	КОЛИЧЕСТВО(втЗамерыВремениПоВозрастанию.ВремяВыполнения) КАК КоличествоЗамеров,
	МИНИМУМ(втЗамерыВремениПоВозрастанию.ВремяВыполнения) КАК ВремяВыполненияМинимум,
	МАКСИМУМ(втЗамерыВремениПоВозрастанию.ВремяВыполнения) КАК ВремяВыполненияМаксимум,
	ВЫРАЗИТЬ(СРЕДНЕЕ(втЗамерыВремениПоВозрастанию.ВремяВыполнения) КАК ЧИСЛО(15, 3)) КАК ВремяВыполненияСреднее,
	СУММА(втЗамерыВремениПоВозрастанию.ВремяВыполнения) КАК ВремяВыполненияСумма,
	СУММА(1 / втЗамерыВремениПоВозрастанию.ВремяВыполнения) КАК ВремяВыполненияСуммаОбратная,
	СУММА(втЗамерыВремениПоВозрастанию.ВремяВыполнения * втЗамерыВремениПоВозрастанию.ВремяВыполнения) КАК ВремяВыполненияСуммаКвадратическая,
	МИНИМУМ(втЗамерыВремениПоВозрастанию.НомерСтроки) КАК НомерСтрокиМинимум,
	МАКСИМУМ(втЗамерыВремениПоВозрастанию.НомерСтроки) КАК НомерСтрокиМаксимум,
	(МАКСИМУМ(втЗамерыВремениПоВозрастанию.НомерСтроки) - МИНИМУМ(втЗамерыВремениПоВозрастанию.НомерСтроки)) / 2 КАК НомерСтрокиСередина,
	ВЫРАЗИТЬ((МАКСИМУМ(втЗамерыВремениПоВозрастанию.НомерСтроки) - МИНИМУМ(втЗамерыВремениПоВозрастанию.НомерСтроки)) / 2 КАК ЧИСЛО(10, 0)) КАК НомерСтрокиСерединаЦелое,
	ВЫРАЗИТЬ(КОЛИЧЕСТВО(втЗамерыВремениПоВозрастанию.ВремяВыполнения) / 100 * 10 КАК ЧИСЛО(10, 0)) КАК КоличествоУсечения
ПОМЕСТИТЬ втКлючевыеОперацииАгрегаты
ИЗ
	втЗамерыВремениПоВозрастанию КАК втЗамерыВремениПоВозрастанию

СГРУППИРОВАТЬ ПО
	втЗамерыВремениПоВозрастанию.КлючеваяОперация
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втКлючевыеОперацииАгрегаты.КлючеваяОперация КАК КлючеваяОперация,
	ВЫРАЗИТЬ(втКлючевыеОперацииАгрегаты.ВремяВыполненияСумма / втКлючевыеОперацииАгрегаты.КоличествоЗамеров КАК ЧИСЛО(15, 3)) КАК ВремяВыполненияСреднееАрифметическое,
	втКлючевыеОперацииАгрегаты.ВремяВыполненияСумма КАК ВремяВыполненияСумма,
	втКлючевыеОперацииАгрегаты.КоличествоЗамеров КАК КоличествоЗамеров
ПОМЕСТИТЬ втКлючевыеОперацииСреднееАрифметическое
ИЗ
	втКлючевыеОперацииАгрегаты КАК втКлючевыеОперацииАгрегаты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втКлючевыеОперацииАгрегаты.КлючеваяОперация КАК КлючеваяОперация,
	ВЫРАЗИТЬ(втКлючевыеОперацииАгрегаты.КоличествоЗамеров / втКлючевыеОперацииАгрегаты.ВремяВыполненияСуммаОбратная КАК ЧИСЛО(15, 3)) КАК ВремяВыполненияСреднееГармоническое,
	втКлючевыеОперацииАгрегаты.КоличествоЗамеров КАК КоличествоЗамеров,
	втКлючевыеОперацииАгрегаты.ВремяВыполненияСуммаОбратная КАК ВремяВыполненияСуммаОбратная
ПОМЕСТИТЬ втКлючевыеОперацииСреднееГармоническое
ИЗ
	втКлючевыеОперацииАгрегаты КАК втКлючевыеОперацииАгрегаты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втКлючевыеОперацииАгрегаты.КлючеваяОперация КАК КлючеваяОперация,
	втКлючевыеОперацииАгрегаты.ВремяВыполненияСуммаКвадратическая / втКлючевыеОперацииАгрегаты.КоличествоЗамеров КАК ВремяВыполненияСуммаКвадратическаяСредняя,
	втКлючевыеОперацииАгрегаты.ВремяВыполненияСуммаКвадратическая КАК ВремяВыполненияСуммаКвадратическая,
	втКлючевыеОперацииАгрегаты.КоличествоЗамеров КАК КоличествоЗамеров
ПОМЕСТИТЬ втКлючевыеОперацииКвадратическоеАгрегаты
ИЗ
	втКлючевыеОперацииАгрегаты КАК втКлючевыеОперацииАгрегаты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	SQRTS.КлючеваяОперация КАК КлючеваяОперация,
	ВЫРАЗИТЬ((((SQRTS.Y + SQRTS.X / SQRTS.Y) / 2 + SQRTS.X / ((SQRTS.Y + SQRTS.X / SQRTS.Y) / 2)) / 2 + SQRTS.X / (((SQRTS.Y + SQRTS.X / SQRTS.Y) / 2 + SQRTS.X / ((SQRTS.Y + SQRTS.X / SQRTS.Y) / 2)) / 2)) / 2 КАК ЧИСЛО(15, 3)) КАК ВремяВыполненияСреднееКвадратическое,
	SQRTS.X КАК ВремяВыполненияСуммаКвадратическаяСредняя
ПОМЕСТИТЬ втКлючевыеОперацииСреднееКвадратическое
ИЗ
	(ВЫБРАТЬ
		втКлючевыеОперацииКвадратическоеАгрегаты.КлючеваяОперация КАК КлючеваяОперация,
		втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя КАК X,
		ВЫБОР
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 0
				ТОГДА NULL
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 0.000001
				ТОГДА 0.0005623413251903491
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 0.00001
				ТОГДА 0.001778279410038923
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 0.0001
				ТОГДА 0.005623413251903491
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 0.001
				ТОГДА 0.01778279410038923
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 0.01
				ТОГДА 0.05623413251903491
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 0.1
				ТОГДА 0.1778279410038923
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 1
				ТОГДА 0.5623413251903491
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 10
				ТОГДА 1.778279410038923
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 100
				ТОГДА 5.623413251903491
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 1000
				ТОГДА 17.78279410038923
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 10000
				ТОГДА 56.23413251903491
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 100000
				ТОГДА 177.8279410038923
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 1000000
				ТОГДА 562.3413251903491
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 10000000
				ТОГДА 1778.279410038923
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 100000000
				ТОГДА 5623.413251903491
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 1000000000
				ТОГДА 17782.79410038923
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 10000000000
				ТОГДА 56234.13251903491
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 100000000000
				ТОГДА 177827.9410038923
			КОГДА втКлючевыеОперацииКвадратическоеАгрегаты.ВремяВыполненияСуммаКвадратическаяСредняя < 1000000000000
				ТОГДА 562341.3251903491
			ИНАЧЕ NULL
		КОНЕЦ КАК Y
	ИЗ
		втКлючевыеОперацииКвадратическоеАгрегаты КАК втКлючевыеОперацииКвадратическоеАгрегаты) КАК SQRTS
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втКлючевыеОперацииАгрегаты.КлючеваяОперация КАК КлючеваяОперация,
	ВЫБОР
		КОГДА втКлючевыеОперацииАгрегаты.НомерСтрокиСередина = втКлючевыеОперацииАгрегаты.НомерСтрокиСерединаЦелое
			ТОГДА втКлючевыеОперацииАгрегаты.НомерСтрокиМинимум + втКлючевыеОперацииАгрегаты.НомерСтрокиСередина
		ИНАЧЕ втКлючевыеОперацииАгрегаты.НомерСтрокиМинимум + втКлючевыеОперацииАгрегаты.НомерСтрокиСерединаЦелое - 1
	КОНЕЦ КАК НомерСтрокиСерединаНижняя,
	ВЫБОР
		КОГДА втКлючевыеОперацииАгрегаты.НомерСтрокиСередина = втКлючевыеОперацииАгрегаты.НомерСтрокиСерединаЦелое
			ТОГДА втКлючевыеОперацииАгрегаты.НомерСтрокиМинимум + втКлючевыеОперацииАгрегаты.НомерСтрокиСередина
		ИНАЧЕ втКлючевыеОперацииАгрегаты.НомерСтрокиМинимум + втКлючевыеОперацииАгрегаты.НомерСтрокиСерединаЦелое
	КОНЕЦ КАК НомерСтрокиСерединаВерхняя
ПОМЕСТИТЬ втКлючевыеОперацииМедианаАгрегаты
ИЗ
	втКлючевыеОперацииАгрегаты КАК втКлючевыеОперацииАгрегаты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втКлючевыеОперацииМедианаАгрегаты.КлючеваяОперация КАК КлючеваяОперация,
	ВЫРАЗИТЬ((втЗамерыВремениПоВозрастаниюНижняя.ВремяВыполнения + втЗамерыВремениПоВозрастаниюВерхняя.ВремяВыполнения) / 2 КАК ЧИСЛО(15, 3)) КАК ВремяВыполненияСреднееМедиана,
	втЗамерыВремениПоВозрастаниюНижняя.ВремяВыполнения КАК ВремяВыполненияСреднееНижнее,
	втЗамерыВремениПоВозрастаниюВерхняя.ВремяВыполнения КАК ВремяВыполненияСреднееВерхнее
ПОМЕСТИТЬ втКлючевыеОперацииСреднееМедиана
ИЗ
	втКлючевыеОперацииМедианаАгрегаты КАК втКлючевыеОперацииМедианаАгрегаты
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ втЗамерыВремениПоВозрастанию КАК втЗамерыВремениПоВозрастаниюНижняя
		ПО втКлючевыеОперацииМедианаАгрегаты.КлючеваяОперация = втЗамерыВремениПоВозрастаниюНижняя.КлючеваяОперация
			И втКлючевыеОперацииМедианаАгрегаты.НомерСтрокиСерединаНижняя = втЗамерыВремениПоВозрастаниюНижняя.НомерСтроки
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ втЗамерыВремениПоВозрастанию КАК втЗамерыВремениПоВозрастаниюВерхняя
		ПО втКлючевыеОперацииМедианаАгрегаты.КлючеваяОперация = втЗамерыВремениПоВозрастаниюВерхняя.КлючеваяОперация
			И втКлючевыеОперацииМедианаАгрегаты.НомерСтрокиСерединаВерхняя = втЗамерыВремениПоВозрастаниюВерхняя.НомерСтроки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втЗамерыВремениПоВозрастанию.КлючеваяОперация КАК КлючеваяОперация,
	втЗамерыВремениПоВозрастанию.ВремяВыполнения КАК ВремяВыполнения,
	КОЛИЧЕСТВО(втЗамерыВремениПоВозрастанию.ВремяВыполнения) КАК КоличествоЗамеров
ПОМЕСТИТЬ втЗамерыВремениМода
ИЗ
	втЗамерыВремениПоВозрастанию КАК втЗамерыВремениПоВозрастанию

СГРУППИРОВАТЬ ПО
	втЗамерыВремениПоВозрастанию.КлючеваяОперация,
	втЗамерыВремениПоВозрастанию.ВремяВыполнения
;

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

СГРУППИРОВАТЬ ПО
	втЗамерыВремениМода.КлючеваяОперация
;

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

СГРУППИРОВАТЬ ПО
	втЗамерыВремениМода.КлючеваяОперация,
	втКлючевыеОперацииМодаАгрегаты.КоличествоЗамеровМаксимум
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втКлючевыеОперацииАгрегаты.КлючеваяОперация КАК КлючеваяОперация,
	втКлючевыеОперацииАгрегаты.КоличествоУсечения КАК КоличествоУсечения,
	втКлючевыеОперацииАгрегаты.НомерСтрокиМинимум + втКлючевыеОперацииАгрегаты.КоличествоУсечения КАК НомерСтрокиМинимумУсредненный,
	втКлючевыеОперацииАгрегаты.НомерСтрокиМаксимум - втКлючевыеОперацииАгрегаты.КоличествоУсечения КАК НомерСтрокиМаксимумУсредненный,
	втКлючевыеОперацииАгрегаты.КоличествоЗамеров КАК КоличествоЗамеров,
	втКлючевыеОперацииАгрегаты.КоличествоЗамеров - втКлючевыеОперацииАгрегаты.КоличествоУсечения * 2 КАК КоличествоЗамеровУсеченное
ПОМЕСТИТЬ втКлючевыеОперацииУсреднениеАгрегатыИсходные
ИЗ
	втКлючевыеОперацииАгрегаты КАК втКлючевыеОперацииАгрегаты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втЗамерыВремениПоВозрастанию.НомерСтроки КАК НомерСтроки,
	втЗамерыВремениПоВозрастанию.КлючеваяОперация КАК КлючеваяОперация,
	втЗамерыВремениПоВозрастанию.ВремяВыполнения КАК ВремяВыполнения,
	ВЫБОР
		КОГДА втЗамерыВремениПоВозрастанию.НомерСтроки < втКлючевыеОперацииУсреднениеАгрегатыИсходные.НомерСтрокиМинимумУсредненный
			ТОГДА 0
		КОГДА втЗамерыВремениПоВозрастанию.НомерСтроки > втКлючевыеОперацииУсреднениеАгрегатыИсходные.НомерСтрокиМаксимумУсредненный
			ТОГДА 0
		ИНАЧЕ втЗамерыВремениПоВозрастанию.ВремяВыполнения
	КОНЕЦ КАК ВремяВыполненияУсеченное,
	ВЫБОР
		КОГДА втЗамерыВремениПоВозрастанию.НомерСтроки < втКлючевыеОперацииУсреднениеАгрегатыИсходные.НомерСтрокиМинимумУсредненный
			ТОГДА втЗамерыВремениПоВозрастаниюМинимум.ВремяВыполнения
		КОГДА втЗамерыВремениПоВозрастанию.НомерСтроки > втКлючевыеОперацииУсреднениеАгрегатыИсходные.НомерСтрокиМаксимумУсредненный
			ТОГДА втЗамерыВремениПоВозрастаниюМаксимум.ВремяВыполнения
		ИНАЧЕ втЗамерыВремениПоВозрастанию.ВремяВыполнения
	КОНЕЦ КАК ВремяВыполненияВинсозированное
ПОМЕСТИТЬ втЗамерыВремениУсреднение
ИЗ
	втЗамерыВремениПоВозрастанию КАК втЗамерыВремениПоВозрастанию
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ втКлючевыеОперацииУсреднениеАгрегатыИсходные КАК втКлючевыеОперацииУсреднениеАгрегатыИсходные
		ПО втЗамерыВремениПоВозрастанию.КлючеваяОперация = втКлючевыеОперацииУсреднениеАгрегатыИсходные.КлючеваяОперация
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ втЗамерыВремениПоВозрастанию КАК втЗамерыВремениПоВозрастаниюМинимум
		ПО втЗамерыВремениПоВозрастанию.КлючеваяОперация = втЗамерыВремениПоВозрастаниюМинимум.КлючеваяОперация
			И (втКлючевыеОперацииУсреднениеАгрегатыИсходные.НомерСтрокиМинимумУсредненный = втЗамерыВремениПоВозрастаниюМинимум.НомерСтроки)
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ втЗамерыВремениПоВозрастанию КАК втЗамерыВремениПоВозрастаниюМаксимум
		ПО втЗамерыВремениПоВозрастанию.КлючеваяОперация = втЗамерыВремениПоВозрастаниюМаксимум.КлючеваяОперация
			И (втКлючевыеОперацииУсреднениеАгрегатыИсходные.НомерСтрокиМаксимумУсредненный = втЗамерыВремениПоВозрастаниюМаксимум.НомерСтроки)
;

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

СГРУППИРОВАТЬ ПО
	втЗамерыВремениУсреднение.КлючеваяОперация
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втКлючевыеОперацииУсреднениеАгрегаты.КлючеваяОперация КАК КлючеваяОперация,
	ВЫРАЗИТЬ(втКлючевыеОперацииУсреднениеАгрегаты.ВремяВыполненияСуммаУсеченная / втКлючевыеОперацииУсреднениеАгрегаты.КоличествоЗамеровУсеченное КАК ЧИСЛО(15, 3)) КАК ВремяВыполненияСреднееУсеченное,
	втКлючевыеОперацииУсреднениеАгрегаты.ВремяВыполненияСуммаУсеченная КАК ВремяВыполненияСуммаУсеченная,
	втКлючевыеОперацииУсреднениеАгрегаты.КоличествоЗамеровУсеченное КАК КоличествоЗамеровУсеченное
ПОМЕСТИТЬ втКлючевыеОперацииСреднееУсеченное
ИЗ
	втКлючевыеОперацииУсреднениеАгрегаты КАК втКлючевыеОперацииУсреднениеАгрегаты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	втКлючевыеОперацииУсреднениеАгрегаты.КлючеваяОперация КАК КлючеваяОперация,
	ВЫРАЗИТЬ(втКлючевыеОперацииУсреднениеАгрегаты.ВремяВыполненияСуммаВинсозированная / втКлючевыеОперацииУсреднениеАгрегаты.КоличествоЗамеров КАК ЧИСЛО(15, 3)) КАК ВремяВыполненияСреднееВинсозированное,
	втКлючевыеОперацииУсреднениеАгрегаты.ВремяВыполненияСуммаВинсозированная КАК ВремяВыполненияСуммаВинсозированная,
	втКлючевыеОперацииУсреднениеАгрегаты.КоличествоЗамеров КАК КоличествоЗамеров
ПОМЕСТИТЬ втКлючевыеОперацииСреднееВинсозированное
ИЗ
	втКлючевыеОперацииУсреднениеАгрегаты КАК втКлючевыеОперацииУсреднениеАгрегаты
;

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

 

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Eremkin 03.09.20 08:28 Сейчас в теме
За исследование и работу однозначно плюс. Это даже не оспаривается. Но объясните мне зачем такие вычисления в запросе? Зачем грузить СУБД? Или может я чего-то не понимаю?
2. parcan 65 03.09.20 12:33 Сейчас в теме
(1) Если вам нужно посчитать один массив данных, то ни к чему.
4. Eremkin 03.09.20 13:06 Сейчас в теме
(2) А если большой объем данных?
5. parcan 65 03.09.20 16:45 Сейчас в теме
(4) То запросом все быстро обсчитается, там простая математика.
3. aspirator23 341 03.09.20 13:01 Сейчас в теме
В качестве эксперта сюда бы Ильдаровича.
6. AnatolPopov 123 15.09.20 19:27 Сейчас в теме
Исходные данные неверны ;) Набиуллина не может так мало получать ;)))
7. пользователь 20.03.23 11:00
Сообщение было скрыто модератором.
...
Оставьте свое сообщение

См. также

Все консоли запросов для 1С

Запросы Бесплатно (free)

Список всех популярных обработок.

17.03.2023    11671    kuzyara    66    

117

Обработка результатов запроса произвольными вычисляемыми полями. Обзор некоторых новых функций СКД

Запросы СКД Платформа 1С v8.3 Запросы Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

В данной статье вспомним, как обрабатывать результаты запроса в вычисляемых полях СКД, а также сделаем небольшой обзор на новые функции СКД платформы 8.3.20.

07.02.2023    3366    quazare    7    

37

Идентификатор объекта в запросе. Вы этого хотели?

Запросы Механизмы платформы 1С Платформа 1С v8.3 Запросы Бесплатно (free)

В платформе 8.3.22 появилась возможность получать идентификатор в запросе. Лично я ждал этого давно, но по итогу ждал большего. Что не так?

12.01.2023    13763    dsdred    17    

68

Избавиться от скана таблицы в плане запроса

HighLoad оптимизация Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

Для запросов, содержащих "LIKE %СтрокаПоиска%". Справедливо для MS SQL и Postgres.

20.12.2022    3109    vasilev2015    31    

25

Практическая шпаргалка по новым возможностям языка запросов 1С

Механизмы платформы 1С Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

В предлагаемой статье решил привести примеры применения новых возможностей языка запросов 1С, начиная с версии платформы 8.3.20.

21.11.2022    16571    quazare    34    

113

Новые возможности языка запросов в платформе 8.3.20

Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

С платформы 8.3.20 анонсировали ряд изменений в языке запросов, с которыми интересно было повозиться на практике, что и было проделано. Результатом этих изысканий решил поделиться с вами.

27.09.2022    10860    zeltyr    17    

75

Делаем свой интервальный регистр в ЗУП

Механизмы типовых конфигураций Запросы Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Бесплатно (free)

В статье, на примере реальной практической задачи попробуем снова погрузиться в одну из самых совершенных типовых конфигураций. Будем использовать механику интервальных регистров, правильно писать данные в такие регистры и правильно читать их.

09.09.2022    2525    vazelin    4    

30

Ускорим проведение в 1С:Управление холдингом

HighLoad оптимизация Запросы Платформа 1С v8.3 1С:Управление холдингом Бесплатно (free)

В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.

10.08.2022    5365    sapervodichka    64    

74

Экспертный кейс. История расследования одного небыстрого закрытия месяца в 1C:ERP. Пример неочевидных путей расследования в виде детективной истории

HighLoad оптимизация Механизмы платформы 1С Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В данной статье хотим рассказать об одном нашем непростом расследовании, в котором удалось собрать сразу несколько проблем на разных уровнях инфраструктуры заказчика и изначальной методологии ведения учета. Само расследование в какой-то момент стало напоминать детективную историю, с роялями в кустах, ошибками платформы, странным поведением пользователей и магическим поведением хорошо знакомых механизмов. Но мы реалисты, поэтому все проблемы были выявлены и устранены ;)

11.07.2022    5834    it-expertise    27    

57

Консоль запросов к двум базам (общий менеджер временных таблиц)

Инструментарий разработчика Запросы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Позволяет выполнять запросы к двум информационным базам, используя при этом общий менеджер временных таблиц. Ссылки информационных баз преобразовываются так, будто они находятся в одной базе 1С.

3 стартмани

07.07.2022    6183    52    acces969    21    

48

Кратность в Юанях (CNY) 10 и 1

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Обратите внимание на обмены данными с Юанями. Кратность там меняется между 10 и 1, в зависимости от значения курса > 10 или < 10. Т.е. НЕ ВСЕГДА равна 1. А многие разработчики (в том числе и я) грешат, ставя Кратность = 1 по умолчанию в обменах и выгрузках. P.S. Идём на Восток, становимся хитрее.

10.06.2022    9550    sapervodichka    13    

37

Генератор текста запроса

Инструментарий разработчика Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Простой инструмент для быстрой подготовки данных для демонстрации.

20.05.2022    5549    161    echo77    4    

66

Консоль запросов SQL (управляемые формы)

Инструменты администратора БД Инструментарий разработчика Внешние источники данных Запросы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Иногда требуется подключиться к другим базам данных для обменов, например: MySQL (сайты, интернет магазины), MS SQL, PostgreSQL (базы данных такие как 1С, WMS, других приложений) и т.д. Данная консоль поможет настроить и проверить подключение, выполнить любые запросы на языке SQL, а также если подключить обработку в конфигуратор использовать для обменов между базами данных с помощью языка SQL.

2 стартмани

04.05.2022    7602    39    nikolasx    12    

28

Визуальная структура запроса (УФ)

Запросы Запросы Конфигурации 1cv8 Абонемент ($m)

Анализирует текст запроса и строит визуальную структуру источников данных (наподобие дерева).

1 стартмани

14.04.2022    4648    34    ildary    2    

20

Экспертный кейс. Расследование фатального замедления времени расчета себестоимости в 1С:ERP 2

HighLoad оптимизация Механизмы типовых конфигураций Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

При выполнении нагрузочного тестирования информационной системы на базе 1С:ERP для одного из клиентов с целью оценки возможности миграции системы на PostgreSQL и Astra Linux мы столкнулись с неприемлемым увеличением времени выполнения расчета себестоимости. Строго говоря, сценарий тестирования закрытия месяца не был выполнен вообще – он не укладывался в таймаут выполнения теста, 24 часа. По прошествии 18 часов всё ещё шло выполнение операции «Распределение затрат и расчет себестоимости». Более 16 часов выполнялся подэтап “Расчет партий и себестоимости. Этап. Расчет себестоимости: РассчитатьСтоимость”. Всё это время выполнялся запрос, который в текущей инфраструктуре клиента (СУБД MS SQL Server) выполняется чуть более 3 минут на аналогичных данных.

25.03.2022    5931    it-expertise    92    

68

Экспертный кейс. Расследование деградации производительности системы. Проведение документа “Поступление товаров и услуг” (1С:ERP 2)

Механизмы платформы 1С Запросы HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В ходе проведения нагрузочного тестирования одним из наших клиентов была выявлена сильная деградация производительности системы в целом и, в частности, выполнения ключевой операции “Проведение документа поступление товаров и услуг” в течение выполнения теста. Согласно данным подсистемы БСП “Оценка производительности”, время выполнения ключевой операции “Проведение документа поступление товаров и услуг” возрастало в процессе тестирования с 15-20 секунд в начале тестирования до 150-200 секунд в его финале.

02.03.2022    4332    it-expertise    50    

31

Конвертер для преобразования текстов запросов и планов SQL в представления языка 1С

Инструментарий разработчика Запросы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Преобразует текст запроса на языке SQL или план запроса, подставляя представления метаданных конфигурации для удобства последующего анализа.

2 стартмани

07.02.2022    10655    127    ivanov660    7    

90

Готовые механизмы 1С: ЗУП, представления

Механизмы типовых конфигураций Запросы Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Бесплатно (free)

Здесь будет храниться архив запросов, которые могут помочь разработчику правильно строить отчеты и получать данные в 1С: ЗУП. Статью буду периодически дополнять.

03.11.2021    7902    Margo462    19    

92

Работа с SQL. Шаблон общего модуля

Запросы Платформа 1С v8.3 Бесплатно (free)

Шаблон общего модуля для работы с MS/PG SQL из 1С.

21.10.2021    4510    mrChOP93    3    

67

Как читать чужой код? Часть 3. Разбор и доработка запросов

Запросы Рефакторинг и качество кода Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Во всех вакансиях есть требование - умение читать чужой код. Но ни на одних курсах специально этому не учат. Чтобы устранить это противоречие, пишу данную статью. Рассмотрю случаи, в которых нам необходимо разбирать чужой код, поймём, чей код мы пытаемся разобрать, зачем и, главное, как. В статье описан личный опыт длиною в 18 лет начиная с версии платформы 7.7. Статья будет большой, набираемся терпения). Статья содержит в себе описание сценариев разбора кода, т.е. набор шагов. В статье не получится показать это на практике. Для этого планирую сделать онлайн или оффлайн курс, где на примерах будет показан разбор незнакомого кода. Статья разбита на 4 публикации для удобства изучения.

20.09.2021    5211    biimmap    35    

39

Снежинка для запроса

Запросы Россия Бесплатно (free)

В запросах использование * позволяет выбрать все поля. В пакете запросов этот символ мог бы быть очень востребован при обращении к полям таблиц промежуточных результатов, да и при полных выборках тоже. Однако конструктор его не поддерживает, а в тексте его использование может приводить к появлению дублей полей. Реализовать собственный вариант работы с символом позволяет "Схема запроса".

21.06.2021    2525    kalyaka    5    

15

Пример использования объекта "Схема запроса" в реальном проекте

Запросы Платформа 1С v8.3 Бесплатно (free)

Разберём решение задачи реального проекта: контекст, логика решения, само решение. Рассмотрим возможности объекта СхемаЗапроса.

03.06.2021    5857    maraton1185    32    

29

Однопальцевое преобразование "одинэсного" запроса в запрос на SQL v 0.9

Инструментарий разработчика Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Абонемент ($m)

Обработка предназначена для преобразования "одинэсных" запросов в запросы на SQL средствами встроенного языка. Разработка не претендует на то, чтобы на 100% повторить то, что разработчики видят при трассировке запросов в инструментах вроде Profiler. Но во многих случаях результат преобразования можно будет без дополнительной ручной обработки выполнить, например, в Managment studio. Актуальные ограничения и проблемы преобразователя описаны в статье. Работает с версией платформы не ниже 8.3.10.

2 стартмани

17.04.2021    9839    33    kser87    23    

19

Последний раз про срез последних (на каждую дату в запросе)

Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

Срез последних на каждую дату в запросе. Известные факты о задаче: часто встречается на испытаниях соискателей на работу программистом 1с, постоянно провоцирует споры об оптимальном решении. В данном тексте приводятся замеры производительности различных вариантов решения задачи.

15.02.2021    37714    randomus    47    

155

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С)

Запросы Платформа 1С v8.3 Бесплатно (free)

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020    9043    Eugen-S    25    

71

Имитация sql выражения LIMIT в запросе 1С

Запросы Платформа 1С v8.3 Бесплатно (free)

Всем известно, что в SQL синтаксисе есть выражение LIMIT. Очень полезное выражение для постраничной навигации. Но его нет в запросах 1С. Кто-то может сказать, что есть ПЕРВЫЕ, но ПЕРВЫЕ не подходит для постраничной навигации. Рассмотрим в статье, как можно имитировать LIMIT в запросах 1С.

08.12.2020    3571    opx    51    

20

Итоги по объединенной совокупности группировок в запросе

Запросы Платформа 1С v8.3 Бесплатно (free)

Способ формирования итогов в запросе по совокупности группировок, объединенных в единый набор, при помощи функции АВТОНОМЕРЗАПИСИ.

18.11.2020    12707    antonivan    21    

100

Отладчик запроса 1С 8.3 (управляемые формы)

Инструментарий разработчика Запросы Платформа 1С v8.3 Управляемые формы Запросы Конфигурации 1cv8 Абонемент ($m)

По просьбам некоторых своих коллег и пользователей Инфостарта, выкладываю первую версию обработки "Отладчик запросов by Акулов А.С.", переделанной под управляемые формы. Реализованы почти все возможности из отладчика запросов, которые присутствовали в версии под обычные формы, а также добавлено немного нового.

1 стартмани

28.09.2020    19626    178    DrAku1a    31    

113

Улучшенный конструктор запроса тонкого клиента (Infostart Toolkit)

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Конструктор запросов тонкого клиента появился в платформе с 8.3.5 обладает рядом недостатков, которые возможно исправить. Передача входных таблиц, исправление связей и другое

07.09.2020    9065    Evg-Lylyk    23    

57

«Варп-двигатель» для «среза последних»

Запросы Бесплатно (free)

Решение, позволяющее получить данные, аналогичные "срезу последних" на два порядка быстрее.

10.08.2020    4698    hobi    52    

26

Проводим по БУ "на лету"

Инструментарий разработчика Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Бухгалтерский учет Налоговый учет Бесплатно (free)

В базе ERP и КА есть форма тестировщика, которая автоматически получает из конфигурации полные тексты запросов формирования бухгалтерских проводок выбранного документа, даёт возможность модифицировать запрос и сразу проверить результат.

01.05.2020    9626    sapervodichka    1    

94

JSON в запросах DaJet QL

Запросы Бесплатно (free)

Практические примеры работы с JSON непосредственно в языке запросов. Перенос курсов валют между УТ и БП. Требуется SQL Server 2016 и выше.

24.04.2020    5189    zhichkin    6    

18

Поблочная обработка таблицы. Обзор решений

Универсальные функции Запросы СКД Платформа 1С v8.3 Бесплатно (free)

8 способов реализации повседневной актуальной задачи, готовый код

25.02.2020    3358    Yashazz    21    

21

Нечёткий поиск "ПОДОБНО". Нюансы

Запросы Платформа 1С v8.3 Бесплатно (free)

Заметки о "ПОДОБНО" в языке запросов

23.02.2020    64440    Yashazz    34    

121