|
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
|
определение ТекДок и группировку по нему можно убрать.
Написать
Группировка Документ;
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший