Примеры определения загруженности дат

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

Определение загруженности одной даты

// Загруженность одной даты
Функция ЗагруженностьДата(Дата)
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
РегистрыРасчетов.КоличествоКАК Количество
ИЗ
РегистрНакопления.РасчетЫ КАК РегистрыРасчетов
ГДЕ
РегистрыРасчетов.Период = &Дата»;
Запрос.УстановитьПараметр(«Дата», Дата);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат 0;
КонецЕсли;
Возврат Результат.ПолучитьСтроку()[«Количество»];
КонецФункции

Определение загруженности диапазона дат

// Загруженность диапазона дат
Функция ЗагруженностьДиапазон(НачДата, КонецДата)
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
СУММ(РегистрыРасчетов.Количество) КАК Количество
ИЗ
РегистрНакопления.РасчетЫ КАК РегистрыРасчетов
ГДЕ
РегистрыРасчетов.Период СРЕДИ (&НачДата, &КонецДата)»;
Запрос.УстановитьПараметр(«НачДата», НачДата);
Запрос.УстановитьПараметр(«КонецДата», КонецДата);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат 0;
КонецЕсли;
Возврат Результат.ПолучитьСтроку()[«Количество»];
КонецФункции

Группировка загруженности по периодам

// Группировка загруженности
Процедура ГруппировкаЗагруженности()
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
ДатаКвартал.Период КАК Период,
СУММ(РегистрыРасчетов.Количество) КАК Количество
ИЗ
РегистрНакопления.РасчетЫ КАК РегистрыРасчетов
ВГРУППЕ
ДатаКвартал.Период
ОБЪЕДИНИТЬ ВСЕ
ДатаКвартал.Период КАК Период
ПО
Период»;
Результат = Запрос.Выполнить();
Цикл
Пока Результат.ПолучитьСтроку() Цикл
Период = Результат.ПолучитьСтроку()[«Период»];
Количество = Результат.ПолучитьСтроку()[«Количество»];
// Обработка данных
КонецЦикла;
КонецПроцедуры

Фильтрация загруженности по конкретному регистру

// Загруженность конкретного регистра
Функция ЗагруженностьРегист(Регист)
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
РегистрыРасчетов.Количество КАК Количество
ИЗ
РегистрНакопления.РасчетЫ КАК РегистрыРасчетов
ГДЕ
РегистрыРасчетов.Регист = &Регист»;
Запрос.УстановитьПараметр(«Регист», Регист);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат 0;
КонецЕсли;
Возврат Результат.ПолучитьСтроку()[«Количество»];
КонецФункции

Определение максимальной загруженности периода

// Максимальная загруженность периода
Функция МаксимальнаяЗагруженность(Дата)
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
МАКСИМУМ(РегистрыРасчетов.Количество) КАК МаксимальнаяЗагруженность
ИЗ
РегистрНакопления.РасчетЫ КАК РегистрыРасчетов
ГДЕ
РегистрыРасчетов.Период = &Дата»;
Запрос.УстановитьПараметр(«Дата», Дата);
Результат = Запрос.Выполнить();
Если Результат.Пустой() Тогда
Возврат 0;
КонецЕсли;
Возврат Результат.ПолучитьСтроку()[«МаксимальнаяЗагруженность»];
КонецФункции

Поделиться с друзьями
Smirnov code