Получение остатков в наибольших единицах

1. Dopilzzz 09.01.12 02:27 Сейчас в теме
Доброго времени суток, форумчане.

Помогите, пожалуйста, с построением запроса. Необходимо получить остатки товаров на складе в единицах с максимальным коэффициентом. Остатки беру по регистру "Товары на складах".
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Dopilzzz 09.01.12 11:23 Сейчас в теме
За 7 часов додумался как делать. Если кому будет полезно выкладываю запрос:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
| СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток * ВложенныйЗапрос.Коэффициент) КАК Остаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&Момент, ) КАК ТоварыНаСкладахОстатки
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ЕдиницыИзмерения.ЕдиницаПоКлассификатору КАК ЕдиницаПоКлассификатору,
| ЕдиницыИзмерения.Коэффициент КАК Коэффициент,
| ЕдиницыИзмерения.Владелец КАК Владелец
| ИЗ
| Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения) КАК ВложенныйЗапрос
| ПО ТоварыНаСкладахОстатки.Номенклатура = ВложенныйЗапрос.Владелец
|ГДЕ
| ТоварыНаСкладахОстатки.Номенклатура.ЭтоГруппа = ЛОЖЬ
| И ТоварыНаСкладахОстатки.Номенклатура В ИЕРАРХИИ(&Родитель)
| И ТоварыНаСкладахОстатки.Склад = &Склад
| И ВложенныйЗапрос.ЕдиницаПоКлассификатору = &ЕдиницаПоКлассификатору
|
|СГРУППИРОВАТЬ ПО
| ТоварыНаСкладахОстатки.Номенклатура,
| ТоварыНаСкладахОстатки.КоличествоОстаток * ВложенныйЗапрос.Коэффициент,
| ВложенныйЗапрос.Коэффициент
|
|УПОРЯДОЧИТЬ ПО
| Номенклатура";

Момент = Новый МоментВремени(ЭтотОбъект.Дата, ЭтотОбъект.Ссылка);
Запрос.УстановитьПараметр("Момент", Момент);
Запрос.УстановитьПараметр("Родитель", Справочники.Номенклатура.НайтиПоКоду("777").Ссылка);
Запрос.УстановитьПараметр("Склад", Справочники.Склады.НайтиПоКоду("00015").Ссылка);
Запрос.УстановитьПараметр("ЕдиницаПоКлассификатору", Справочники.КлассификаторЕдиницИзмерения.НайтиПоКоду("812").Ссылка);

Результат = Запрос.Выполнить();

Но этот запрос поможет только в том случае, если явно известна единица с максимальным коэффициентом и у всех товаров она имеется.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот