Имя: Пароль:
1C
1C 7.7
v7: Запрос условия отбора
0 exec11
 
14.12.18
10:28
Мне надо найти всех клиентов кому отгружался определенный товар,
а потом по этому списку клиентов сформировать весь список расходных накладных.

    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |Период с ВыбНачПериода по ВыбКонПериода;
    |Клиент = Документ.РасходнаяНакладная.Клиент;  
    |Товар =  Документ.РасходнаяНакладная.Товар;
    |Группировка Клиент без групп;
    |Группировка Товар без групп;
    |Условие(Товар в ВыбТовары);
    |"//}}ЗАПРОС

Так я отобрал Клиентов. А как мне использовать этих клиентов другом запросе?
    |Условие(Клиент1 в Запрос.Клиент);
Отбор не работает. В выборку попадают все клиенты.
1 JeHer
 
14.12.18
10:32
(0) положи их в список значений
2 Дмитрий
 
14.12.18
10:36
проще сразу искать накладные с клиентами, а потом свернуть результат по клиентам, чтоб получить их список
3 exec11
 
14.12.18
10:54
СписокКлиентов = СоздатьОбъект("СписокЗначений");
СписокКлиентов.ДобавитьЗначение(Запрос.Клиент);

ошибка
: Значение не представляет агрегатный объект (Клиент)

А как правильно добавить ?
4 dedmoroz777
 
14.12.18
11:03
Табл = СоздатьОбъект("ТаблицаЗначений");
СписокКлиентов = СоздатьОбъект("СписокЗначений");

Запрос.Выгрузить(Табл, 0, 0);
Табл.Выгрузить(СписокКлиентов, ,,1);
5 Масянька
 
14.12.18
11:05
(0) "весь список расходных накладных." - а в запросе не те?
6 dedmoroz777
 
14.12.18
11:07
там с отбором по товарам
7 exec11
 
14.12.18
11:15
А в запросе так ?

    |Условие(Клиент1 в СписокКлиентов);
8 trdm
 
14.12.18
11:15
(0) > Мне надо найти всех клиентов кому отгружался определенный товар,

Запрос по оборотному регистру "ПродажиТоваров". Если такого регистра нет, очень рекомендую сделать.
9 dedmoroz777
 
14.12.18
11:17
(7) да
10 exec11
 
14.12.18
11:21
Да, вроде все получилось.
Да, виноват, надо по регистрам делать. Буду исправляться.
11 Duke1C
 
14.12.18
11:44
(0) Судя по описанию задачи, группировка по товарам не нужна совсем.
Так попробуй:

|Период с ВыбНачПериода по ВыбКонПериода;
    |Клиент = Документ.РасходнаяНакладная.Клиент;  
    |Товар =  Документ.РасходнаяНакладная.Товар;
|ТекДок =  Документ.РасходнаяНакладная.ТекущийДокумент;
    |Группировка Клиент без групп;
    |Группировка ТекДок;
    |Условие(Товар в ВыбТовары);
12 Злопчинский
 
14.12.18
14:25
к регистрам и документам нужна функция. иначе ничего не получишь.
13 Злопчинский
 
14.12.18
14:39
определение ТекДок и группировку по нему можно убрать.
Написать
Группировка Документ;