Имя: Пароль:
1C
1С v8
Отбор в динамическом списке по значению табличной части.
,
0 суперйцукен
 
06.11.16
12:22
Что-то торможу. Итак:

Торг10.3 в режиме совместимости 8.2.16



Нужно, чтоб в ЗаказыПокупателей можно было показывать только заказы с интересующими в данный момент товарами.

Пишу запрос в динамическом списке

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ДокументЗаказПокупателя.ПометкаУдаления,
    ДокументЗаказПокупателя.Номер,
    ДокументЗаказПокупателя.Дата,
    ДокументЗаказПокупателя.Контрагент,
    ДокументЗаказПокупателя.Организация,
    ДокументЗаказПокупателя.Ответственный,
    ДокументЗаказПокупателя.Подразделение,
    ДокументЗаказПокупателя.МоментВремени,
    ЗаказПокупателяТовары.Номенклатура,
    ДокументЗаказПокупателя.Ссылка
ИЗ
    Документ.ЗаказПокупателя КАК ДокументЗаказПокупателя
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
        ПО ДокументЗаказПокупателя.Ссылка = ЗаказПокупателяТовары.Ссылка

Потом в рабочем режиме иду ВсеДействия - НастроитьСписок - Отбор.
Выбираю номенклатура "равно". Всё отлично работает.
Выбираю номенклатура "в списке". Получаю
============================================
"обнаружено дублирование ключевых значений в колонках ссылка"
============================================
Как понимаю, из-за того, что в одном заказе есть два или больше элемента из списка. Ну так вроде "Различные" в запросе стоит...

Как можно решить эту задачу?
1 yzimin
 
06.11.16
12:47
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ЗаказПокупателяТовары.Ссылка.ПометкаУдаления,
    ЗаказПокупателяТовары.Ссылка.Номер,
    ЗаказПокупателяТовары.Ссылка.Дата,
    ЗаказПокупателяТовары.Ссылка.Контрагент,
    ЗаказПокупателяТовары.Ссылка.Организация,
    ЗаказПокупателяТовары.Ссылка.Ответственный,
    ЗаказПокупателяТовары.Ссылка.Подразделение,
    ЗаказПокупателяТовары.Ссылка.МоментВремени,
    ЗаказПокупателяТовары.Номенклатура,
    ЗаказПокупателяТовары.Ссылка
ИЗ
    Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
2 суперйцукен
 
06.11.16
13:16
Чисто формально, конечно, можно и так. Но хотелось оставить основную таблицу  Документ.ЗаказПокупателя, чтоб пользователь видел привычный интерфейс, привычное меню и т.д. А так-то и в таблице значений можно было сделать.
3 h-sp
 
06.11.16
13:23
(2) как ты оставишь основную таблицу? Тогда номенклатуру надо убирать. Или в шапку ее перекинуть из табличной части.
4 суперйцукен
 
06.11.16
13:32
Ну дык в этом и вопрос. Было бы просто и понятно - не спрашивал бы.

Хотелось бы основная таблица -- Документ.ЗаказПокупателя

и при этом возможность фильтрации по реквизиту табличной части, в том числе "реквизит в списке", "реквизит в группе"...
5 суперйцукен
 
06.11.16
13:51
Всё. Вроде решил.

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ДокументЗаказПокупателя.Номер,
    ДокументЗаказПокупателя.Дата,
    ДокументЗаказПокупателя.ВалютаДокумента,
    ДокументЗаказПокупателя.Контрагент,
    ДокументЗаказПокупателя.Организация,
    ДокументЗаказПокупателя.Ответственный,
    ДокументЗаказПокупателя.Подразделение,
    ДокументЗаказПокупателя.СуммаДокумента,
    ДокументЗаказПокупателя.ВидОперации,
    ДокументЗаказПокупателя.МоментВремени,
    ДокументЗаказПокупателя.Ссылка
ИЗ
    Документ.ЗаказПокупателя КАК ДокументЗаказПокупателя
        {ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
        ПО ДокументЗаказПокупателя.Ссылка = ЗаказПокупателяТовары.Ссылка}
{ГДЕ
    ЗаказПокупателяТовары.Номенклатура.*}