В запросе с помощью функции максимум (минимум), получаю максимальную (минимальную) цену ТМЦ. Как теперь узнать дату (документ и т.д) на какую был получен максимум (минимум)?
Процедура Сформировать()
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса = "//{{ЗАПРОС(Макс)
|Период с ВыбНачПериода по ВыбКонПериода;
|ТМЦ = Документ.ПриходнаяНакладнаяМед.ТМЦ;
|Пост = Документ.ПриходнаяНакладнаяМед.Контрагент;
|ДляАпт = Документ.ПриходнаяНакладнаяМед.ДляАптеки;
|Док = Документ.ПриходнаяНакладнаяМед.ТекущийДокумент;
|ЦенаПр = Документ.ПриходнаяНакладнаяМед.ЦенаБезНДС;
|Группировка ТМЦ упорядочить по ТМЦ.Наименование, ТМЦ.Код без групп;
|Функция Макс = Максимум(ЦенаПр);
|Функция Мин = Минимум(ЦенаПр);
|Условие (Пост в Поставщик);
|"
; //}}ЗАПРОС
// Если ошибка в запросе, то выход из процедуры
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Таблица");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
НПП = 0;
Пока Запрос.Группировка(1) = 1 Цикл
НПП = НПП + 1;
Таб.ВывестиСекцию("Строка");
КонецЕсли;
КонецЕсли;
КонецЦикла;
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Сначала группировку по ТМЦ, потом по ДатаДок.
Потом где-то так
Остаётся вопрос: а если несколько раз товар поступал по минимальной цене или весь месяц по одной цене?
Потом где-то так
Пока Запрос.Группировка(1) = 1 Цикл
МинЦена = Запрос.Мин;
МаксЦена = Запрос.Макс;
Пока Запрос.Группировка(2) = 1 Цикл
Если Запрос.Мин = МинЦена Тогда
ДатаМинЦены = Запрос.ДатаДок;
КонецЕсли;
Если Запрос.Макс = МаксЦена Тогда
ДатаМаксЦены = Запрос.ДатаДок;
КонецЕсли;
КонецЦикла;
НПП = НПП + 1;
Таб.ВывестиСекцию("Строка");
КонецЦикла;
ПоказатьОстаётся вопрос: а если несколько раз товар поступал по минимальной цене или весь месяц по одной цене?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот