Имя: Пароль:
1C
1С v8
Помогите с запросом к регистру сведений
0 9451523
 
23.09.21
14:40
Привет Всем
Помогите разобраться з запросом, есть самописная конфигурация 1с 8.3.12, на управляемых формах,
есть регистр сведений ЦеныТоваров , Измерение: Товар (Справочник.Товары), ВидЦен (Справочник.ВидыЦен), Ресурс Цена (Тип число), у справочника ВидыЦен два реквизита "ЦенаЗакупочная" и "ЦенаПродажная", запрос типа:

ВЫБРАТЬ
ЦеныТоваровСрезПоследних.Товар,
ЦеныТоваровСрезПоследних.ВидЦен,
ЦеныТоваровСрезПоследних.Цена
ИЗ
РегистрСведений.ЦеныТоваров.СрезПоследних КАК ЦеныТоваровСрезПоследних

выдает результат типа такого вида:

"товар" "Вид цен" "цена"
| Огурцы | Закупочная | 100 |
| Огурцы | Продажная | 150 |
| Помидоры | Закупочная | 120 |
| Помидоры | Продажная | 160 |

а мне нужно в одну строку типа такого:

| Огурцы | Закупочная | 100 | Продажная | 150 |
| Помидоры | Закупочная | 120 | Продажная | 160 |

второй день корячусь не получается
С Уважением Дамир
1 ДенисЧ
 
23.09.21
14:44
ВЫБРАТЬ
ЕСТЬNULL(ЦеныТоваровСрезПоследнихЗакуп.Товар, ЦеныТоваровСрезПоследнихПродаж.Товар) КАК Товар,
ЦеныТоваровСрезПоследнихЗакуп.ВидЦен КАК ВидЦеныЗакуп,
ЦеныТоваровСрезПоследнихПродаж.ВидЦен КАК ВидЦеныПродаж,
ЦеныТоваровСрезПоследнихЗакуп.Цена КАК ЦенаЗакуп
ЦеныТоваровСрезПоследнихПрожа.Цена КАК ЦенаПродаж
ИЗ
РегистрСведений.ЦеныТоваров.СрезПоследних(,ТипЦен = &ТипЦенЗакупочная) КАК ЦеныТоваровСрезПоследнихЗакуп
полное соединение
РегистрСведений.ЦеныТоваров.СрезПоследних(,ТипЦен = &ТипЦенПродаж) КАК ЦеныТоваровСрезПоследних
по ЦеныТоваровСрезПоследнихЗакуп.Товар = ЦеныТоваровСрезПоследних.Товар
2 Малыш Джон
 
23.09.21
15:02
ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
    ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦеныЗакупочная,
    ЦеныНоменклатурыСрезПоследних.Цена КАК ЦенаЗакупочная,
    ЗНАЧЕНИЕ(Справочник.ВидыЦен.ПустаяСсылка) КАК ВидЦеныПродажная,
    0 КАК ЦенаПродажная
ПОМЕСТИТЬ ВТ_Цены
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦеныЗакупочная) КАК ЦеныНоменклатурыСрезПоследних

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Номенклатура,
    ЗНАЧЕНИЕ(Справочник.ВидыЦен.ПустаяСсылка),
    0,
    ЦеныНоменклатурыСрезПоследних.ВидЦены,
    ЦеныНоменклатурыСрезПоследних.Цена
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦеныПродажная) КАК ЦеныНоменклатурыСрезПоследних
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Цены.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ВТ_Цены.ВидЦеныЗакупочная) КАК ВидЦеныЗакупочная,
    МАКСИМУМ(ВТ_Цены.ВидЦеныЗакупочная) КАК ЦенаЗакупочная,
    МАКСИМУМ(ВТ_Цены.ЦенаЗакупочная) КАК ВидЦеныПродажная,
    МАКСИМУМ(ВТ_Цены.ЦенаПродажная) КАК ЦенаПродажная
ИЗ
    ВТ_Цены КАК ВТ_Цены

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