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