Имя: Пароль:
1C
1С v8
Помогите с запросом
,
0 lanc2233
 
20.09.13
11:38
Есть РС с измерениями Номенклатура, Подразделение и ресурсом Цена.
Нужно построить отчет с такими-же колонками, где на каждую единицу номенклатуры будет выбрано подразделение с минимальной ценой.

Не могу сообразить как запрос построить.
1 Allexe
 
20.09.13
11:40
(0) Конструктором. Группировку по номенклатуре и подразделению, а цену в суммируемое поле функцию минимум
2 Ёпрст
 
20.09.13
11:40
сгруппируй + минимум цена и минимум(подразделение).. делов то
3 lanc2233
 
20.09.13
11:53
Если есть группировка, конструктор ставит группировку по обоим полям. Непонятно тогда что он выберет - подразделения с минимальной номенклатурой или номенклатуру с минимальным подразделением?

ВЫБРАТЬ
    ЦеныПодразделений.Номенклатура,
    ЦеныПодразделений. Подразделение,
    МИНИМУМ(ЦеныПодразделений.Цена) КАК Цена,
ИЗ
    РегистрСведений. ЦеныПодразделений КАК ЦеныПодразделений

СГРУППИРОВАТЬ ПО
    ЦеныПодразделений.Контрагент,
    ЦеныПодразделений.Подразделение
4 lanc2233
 
20.09.13
11:54
Опечатка в посте выше

ВЫБРАТЬ
    ЦеныПодразделений.Номенклатура,
    ЦеныПодразделений. Подразделение,
    МИНИМУМ(ЦеныПодразделений.Цена) КАК Цена,
ИЗ
    РегистрСведений. ЦеныПодразделений КАК ЦеныПодразделений

СГРУППИРОВАТЬ ПО
    ЦеныПодразделений.Номенклатура,
    ЦеныПодразделений.Подразделение
5 sqr4
 
20.09.13
12:03
он для сочетания подразделение - номенклатура выберет минимальную цену
6 sqr4
 
20.09.13
12:05
нужно вторым запросом выбрать все минимальные цены для номенклатуры и соединить с результатом данного запроса
7 Ненавижу 1С
 
гуру
20.09.13
12:07
ВЫБРАТЬ
    ЦеныПодразделений.Номенклатура,
    МИНИМУМ(ЦеныПодразделений.Цена) КАК Цена
ПОМЕСТИТЬ МинЦены
ИЗ
    РегистрСведений. ЦеныПодразделений КАК ЦеныПодразделений

СГРУППИРОВАТЬ ПО
    ЦеныПодразделений.Номенклатура;

ВЫБРАТЬ
    МинЦены.Номенклатура,
    ЦеныПодразделений. Подразделение,
    МинЦены.Цена КАК Цена
ИЗ
    МинЦены КАК МинЦены
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений. ЦеныПодразделений КАК ЦеныПодразделений
ПО МинЦены.Номенклатура = ЦеныПодразделений.Номенклатура  
И МинЦены.Цена= ЦеныПодразделений.Цена
8 Sabbath
 
20.09.13
12:08
(7) только с таким запросом будет косяк, когда у двух подразделений одинаковые минимальные цены
9 Ёпрст
 
20.09.13
12:08
(7) ты же понимаешь, что это не верно, да ?
:)
10 anaed
 
20.09.13
12:09
(7) только наоборот :)

надо выбрать не товар с минимальной ценой по подразделению, а подразделения с минимальной ценой по товару
11 Ёпрст
 
20.09.13
12:09
На вот, развлекайся:

ВЫБРАТЬ
    ЦеныПодразделений.Номенклатура,
    МИНИМУМ(ЦеныПодразделений. Подразделение),
    МИНИМУМ(ЦеныПодразделений.Цена) КАК Цена,
ИЗ
    РегистрСведений. ЦеныПодразделений КАК ЦеныПодразделений

СГРУППИРОВАТЬ ПО
    ЦеныПодразделений.Номенклатура
12 Bober
 
20.09.13
12:14
(11) жесть как она есть
13 Ёпрст
 
20.09.13
12:18
(12) обоснуй.
14 lanc2233
 
20.09.13
12:21
(11) Отчет на СКД с таким запросом показывает все позиции подразделений сгруппированные по номенклатуре.
15 viktor_vv
 
20.09.13
12:22
(13) Вроде как

Минимум(Цена) не факт что по тому подразделению, которое вернет Минимум(Подразделение), тут-то вернет подразделение с минимальной ссылкой.
16 Ёпрст
 
20.09.13
12:26
ну ладно, тогда (7) еще сгруппировать по номенклатуре и минимум(подразделение).
17 Sabbath
 
20.09.13
12:30
(16) ага
18 lanc2233
 
20.09.13
12:35
Спасибо.
19 badboychik
 
20.09.13
12:37
В СКД делаешь ресурс "Цена" с выражением "Минимум(Цена)" и делаешь группировку по Номенклатуре. Готово
20 badboychik
 
20.09.13
12:38
+(19) Запрос в СКД просто "выбрать * из регистра"
21 Serginio1
 
20.09.13
12:43