Имя: Пароль:
1C
1С v8
запрос группировка по одному ресурсу
0 prtx
 
21.04.16
11:02
граждане, здравствуйте! что-то котелок уже не варит.

есть регистрсведений - цены контрагента.

измерения: контрагент, номенклатура, цвет
ресурсы: цена

вот из него мне нужно выбрать самую дешевую номенклатуру по цвету.

Пример

ооорога   диван   желтый    600
ооорога   диван   красный   500
ооорога   диван   зеленый   800

оооклык   диван   желтый    555
оооклык   диван   красный   480
оооклык   диван   зеленый   800

ооостул   диван   желтый    800
ооостул   диван   красный   580
ооостул   диван   зеленый   900

вот. мне нужно найти саумую дешевую цену на желтый диван. т.е. мне нужно получить 4 строку: оооклык   диван   желтый    555

обычной группировкой я могу получить что самая дешевая желая номенклатура это 555. а дальше я застрял как мне получить что эта самая дешевая желтая номенклатура находится у поставщика оооклык?

1с 8.3. уф

спасибо
1 aleks_default
 
21.04.16
11:05
Во-первых регистр "Цены" - периодический.  Начни с этого...
2 prtx
 
21.04.16
11:08
(0) т.е сгруппировать по одному измерению цвет и достать остальные измерения не получается.

или группируй по всем измерениям(но тогда у меня выбираются три строки самый дешевый желтый диван по каждому контрагенту, а нужно получить одну строку((( ), или выбирай только цвет и цену и группируй по измерению цвет(тогда я получаю только одну строку, то что мне нужно, но как узнать у кого находится этот самый дешевый диван???)
3 prtx
 
21.04.16
11:09
(1) ну да. а как это меняет суть? чем не поможет срезпоследних и срезпервых?
4 aleks_default
 
21.04.16
11:12
группировка тут вообще ни причем. отбор и упорядочивание
5 salvator
 
21.04.16
11:14
Получаешь цвет и минимальную для него цену и соединяешь с исходной таблицей по цвету и цене.
6 prtx
 
21.04.16
11:19
(4) я понял для поиска одной номенклатуры наверное идеальный вариант отобрать по номенклатуре упорядочить по цене и выбрать первый, да?

а если мне нужно за один заход найти 100 позиций.

забыл добавить: это форма заказа. т.е. юзер набивает нужную номенклатуру:

диван желтый, кресло синее, стол красный, диван зеленый и т.д. а мне нужно сформировать заказы по самым дешевым контрагентам. как-то так.
7 prtx
 
21.04.16
11:24
(5) спасибо. я задумывался над эти вариантом. но какой-то он не очень красивый...

но так нельзя группировать по одному измерению и при этом получать все измерения это единственный вариант, да?
8 aleks_default
 
21.04.16
11:24
Левое соединение с самим собой, группировка и минимум
9 salvator
 
21.04.16
11:26
(7) Только по примеру в (0) у тебя найдется две строки по зеленому цвету.
10 prtx
 
21.04.16
11:28
(8) спасибо алекс. тоже, что и (5). значить это единственный вариант. жаль что нет решений красивее. и почему вообще нельзя группировать по одному измерению. на сколько я знаю раньше так можно было.
11 prtx
 
21.04.16
11:29
(9) ну да. это следующая проблема. дальше нужно будет отбирать или по приоритету контрагента, или по минимальной сумме заказа. головняк еще не закончился)))
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший