Имя: Пароль:
1C
1С v8
Вложенные запросы
0 mandarinka
 
21.09.12
06:56
День добрый! Подскажите как можно сделать следующие: у меня есть запрос, который отбирает список работников по определенным параметрам, как мне теперь на основании этого списка получить список документов, в которых эти сотрудники есть?
1 golden-pack
 
21.09.12
07:03
Написать запрос.
2 ZanderZ
 
21.09.12
07:08
(0) если виды документов за ранее не известны, то надо оббегать метаданные по документам и смотреть есть ли реквизиты с типом сотрудники, причем как в шапке так и в ТЧ и строить запрос.
3 mandarinka
 
21.09.12
07:09
это понятно что надо запрос использовать, как мне в запрос который ищет документы параметр отбора передать список работников которых нашел первый запрос. типы документов за ранее известны
4 ZanderZ
 
21.09.12
07:10
(3) присоедини через внутреннее соединение
5 sda553
 
21.09.12
07:11
(3) Если тяжко эти запросы соединять, то через менеджер врем таблиц хотя бы
6 ILM
 
гуру
21.09.12
07:26
(0) А зачем во всех документах искать? Цель какая?
7 1Сергей
 
21.09.12
07:26
покажи что сделала, и что не получается
8 ILM
 
гуру
21.09.12
07:27
(3) Ну так и напишите в условии
"ВЫБРАТЬ ..... ГДЕ Сотрудник В (ВЫБРАТЬ....)"
9 mandarinka
 
21.09.12
07:33
мне необходимо распровести ряд документов на тех сотрудников которые были за определенный период в командировке, из регистра зарплатазамесяц я выбрала сотрудников у которых начислены командировочные, а дальше не пойму как доки по ним искать
10 mandarinka
 
21.09.12
07:33
Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    ЗарплатаЗаМесяцОрганизаций.Период,
       |    ЗарплатаЗаМесяцОрганизаций.Физлицо,
       |    ПРЕДСТАВЛЕНИЕ(ЗарплатаЗаМесяцОрганизаций.Физлицо),
       |    ЗарплатаЗаМесяцОрганизаций.ХарактерВыплаты
       |ПОМЕСТИТЬ сотрудники
       |ИЗ
       |    РегистрНакопления.ЗарплатаЗаМесяцОрганизаций КАК ЗарплатаЗаМесяцОрганизаций
       |ГДЕ
       |    ЗарплатаЗаМесяцОрганизаций.Период МЕЖДУ &Дата1 И &Дата2
       |    И ЗарплатаЗаМесяцОрганизаций.ХарактерВыплаты = &Командировочные";
   Запрос.УстановитьПараметр("Дата1", Дата1);
   Запрос.УстановитьПараметр("Дата2", Дата2);
   Запрос.УстановитьПараметр("Командировачные", Перечисления.ХарактерВыплатыЗарплаты.Командировочные);
   Результат = Запрос.Выполнить().Выбрать();
11 ZanderZ
 
21.09.12
07:45
(9) выбирай не из "ЗарплатаЗаМесяцОрганизаций", а из регистра расчета   - сразу получишь нужные документы
12 mandarinka
 
21.09.12
07:47
а как этот регистр расчета правильно называется? основные начисления или нет?
13 shuhard
 
21.09.12
08:07
(12) такие задачи решаются либо критерием, либо Объединить по документам
14 mandarinka
 
21.09.12
08:20
как понять по критериям?
15 DrLekter
 
21.09.12
10:48
А через Полный Журнал (если там есть _все_ документы) не проще?
16 mandarinka
 
21.09.12
11:06
там получается несколько журналов, журнылы по з/п и кадровые