Подскажите, почему не работает запрос? Нужно вывести проданные товары и их закупочную цену.

```1c
    ВЫБРАТЬ
    ЧекККМ.Товары.(
    Номенклатура КАК Номенклатура,
    Количество,
    Цена,
    Сумма,
    Продавец,
    Штрихкод,
    Номенклатура.ТоварнаяКатегория
    ),
    ЧекККМ.КассаККМ.Склад КАК Магазин,
    ЧекККМ.Дата,
    ЦеныНоменклатурыСрезПоследних.ВидЦены,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Себестоимость
    ИЗ
    Документ.ЧекККМ КАК ЧекККМ
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ) КАК ЦеныНоменклатурыСрезПоследних
    ПО ЧекККМ.Товары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    ГДЕ
    ЧекККМ.Проведен
    И ЧекККМ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены

    УПОРЯДОЧИТЬ ПО
    Номенклатура
```

Пишет ошибку: Запрос невозможно исполнить. В условиях соединения запроса не допускается обращение к табличным частям. (1)
---
ответ в самом вопросе.

Можно так сделать:

```1c
    ВЫБРАТЬ
    ЧекККМТовары.Номенклатура КАК Номенклатура,
    ЧекККМТовары.Количество КАК Количество,
    ЧекККМТовары.Цена КАК Цена,
    ЧекККМТовары.Сумма КАК Сумма,
    ЧекККМТовары.Продавец КАК Продавец,
    ЧекККМТовары.Штрихкод КАК Штрихкод,
    ЧекККМ.КассаККМ.Склад КАК Магазин,
    ЧекККМ.Дата КАК Дата,
    ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Себестоимость
    ИЗ
    Документ.ЧекККМ.Товары КАК ЧекККМТовары
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ КАК ЧекККМ
    ПО (ЧекККМТовары.Ссылка = ЧекККМ.Ссылка)
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
    ПО (ЧекККМТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура)
    ГДЕ
    ЧекККМ.Проведен
    И ЧекККМ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
```

Правда не совсем понятна логика выбора среза последних. Но это уже не относится к первоначальному вопросу.
---
ответ в самом вопросе.

Можно так сделать:

```1c
    ВЫБРАТЬ
    ЧекККМТовары.Номенклатура КАК Номенклатура,
    ЧекККМТовары.Количество КАК Количество,
    ЧекККМТовары.Цена КАК Цена,
    ЧекККМТовары.Сумма КАК Сумма,
    ЧекККМТовары.Продавец КАК Продавец,
    ЧекККМТовары.Штрихкод КАК Штрихкод,
    ЧекККМ.КассаККМ.Склад КАК Магазин,
    ЧекККМ.Дата КАК Дата,
    ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Себестоимость
    ИЗ
    Документ.ЧекККМ.Товары КАК ЧекККМТовары
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЧекККМ КАК ЧекККМ
    ПО (ЧекККМТовары.Ссылка = ЧекККМ.Ссылка)
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследних
    ПО (ЧекККМТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура)
    ГДЕ
    ЧекККМ.Проведен
    И ЧекККМ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
```

Правда не совсем понятна логика выбора среза последних. Но это уже не относится к первоначальному вопросу.
---
Спасибо, работает. А как задать &ВидЦены "Закупочная" в самом запросе? Параметр не нужен, ибо она всегда должна быть Закупочная в отчете.
---
Никак, не предопределенные элементы недоступны в конфигураторе. Можно указать параметр в СКД, и запретить его редактировать.
---
не лучший поиск решения, но если очень нужно то:

```1c
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ВидЦены.Наименование = "Закупочная") КАК ЦеныНоменклатурыСрезПоследних
```

Это совсем плохое решение. Название могут изменить.
---
Спасибо, всё работает.
---
как говорится найдите десять отличий

```1c
    ВЫБРАТЬ
    ЧекККМТовары.Номенклатура КАК Номенклатура,
    ЧекККМТовары.Количество КАК Количество,
    ЧекККМТовары.Цена КАК Цена,
    ЧекККМТовары.Сумма КАК Сумма,
    ЧекККМТовары.Продавец КАК Продавец,
    ЧекККМТовары.Штрихкод КАК Штрихкод,
    ЧекККМТовары.Ссылка.КассаККМ.Склад КАК Магазин,
    ЧекККМТовары.Ссылка.Дата КАК Дата,
    ЦеныНоменклатурыСрезПоследних.ВидЦены КАК ВидЦены,
    ЦеныНоменклатурыСрезПоследних.Цена КАК Себестоимость
    ИЗ
    Документ.ЧекККМ.Товары КАК ЧекККМТовары
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ВидЦены.Наименование ПОДОБНО &Закупочная) КАК ЦеныНоменклатурыСрезПоследних
    ПО ЧекККМТовары.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
    ГДЕ
    ЧекККМ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И ЧекККМ.Ссылка.Проведен
```
---
основное отличие, что твой код не рабочий :)
---
```1c

```
ЧекККМ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
ну да. нада была

```1c
    ЧекККМ.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
```