Имя: Пароль:
1C
1С v8
Выборка из периодического регистра сведений
0 M0narch
 
10.07.13
11:14
Есть период. регистр сведений ПаспортныеДанныеФизЛиц. Измерение - ФизЛицо, Ресурсы - Вид документа, номер, серия. Вид документа - это справочник видов документов: паспорт, свидетельство, св. о рождении. Необходимо выбрать по физ лицу последние записи по всем Видам документа. Делаю такой запрос:
ВЫБРАТЬ
   ДокументыФизЛица.ФизЛицо,
   ДокументыФизЛица.ДокументВид,
   ДокументыФизЛица.ДокументСерия,
   ДокументыФизЛица.ДокументНомер,
   ДокументыФизЛица.ДокументКемВыдан
ИЗ
   (ВЫБРАТЬ
       МАКСИМУМ(ПаспортныеДанныеФизЛиц.Период) КАК Период
   ИЗ
       РегистрСведений.ПаспортныеДанныеФизЛиц КАК ПаспортныеДанныеФизЛиц
   ГДЕ
       ПаспортныеДанныеФизЛиц.ФизЛицо В (&ФизЛица)    
   СГРУППИРОВАТЬ ПО
       ПаспортныеДанныеФизЛиц.ДокументВид) КАК ПериодДокументов
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц КАК ДокументыФизЛица
       ПО ДокументыФизЛица.Период = ПериодДокументов.Период
ГДЕ
   ДокументыФизЛица.ФизЛицо В (&ФизЛица)

Если у меня одно ФизЛицо тогда выбирает правильно, а если передаю список Физлиц, тогда - неправильно.
Помогите доделать запрос
1 1Сергей
 
10.07.13
11:16
СрезПоследних не предлагать?
2 M0narch
 
10.07.13
11:22
(1) СрезПоследних выводит только последнюю запись
3 1Сергей
 
10.07.13
11:23
(2) да, понял. поторопился с ответом.
4 Пеппи
 
10.07.13
11:25
(2)жаль что вид документа в ресурсах а не в измерениях
5 Пеппи
 
10.07.13
11:26
тогда помог бы срез последних)
6 Ненавижу 1С
 
гуру
10.07.13
11:26
нет связи по физлицу
7 M0narch
 
10.07.13
11:27
(5) ага
8 M0narch
 
10.07.13
11:27
(5) регистр типовый, не хочу менять
9 M0narch
 
10.07.13
11:29
(6) да, в этом то и проблема
10 Ненавижу 1С
 
гуру
10.07.13
11:30
(9) ну так сделай ее и по виду документа тоже нужно
11 sirsp
 
10.07.13
11:31
(0) Вложенный запрос группировать по физлицу и ДокументВид с выборкой физлица. Соединяться по периоду и физлицу. Последнее ГДЕ в топку.
12 Ненавижу 1С
 
гуру
10.07.13
11:32
ВЫБРАТЬ
   ДокументыФизЛица.ФизЛицо,
   ДокументыФизЛица.ДокументВид,
   ДокументыФизЛица.ДокументСерия,
   ДокументыФизЛица.ДокументНомер,
   ДокументыФизЛица.ДокументКемВыдан
ИЗ
   (ВЫБРАТЬ
       МАКСИМУМ(ПаспортныеДанныеФизЛиц.Период) КАК Период,
       ПаспортныеДанныеФизЛиц.ДокументВид,
       ПаспортныеДанныеФизЛиц.ФизЛицо
   ИЗ
       РегистрСведений.ПаспортныеДанныеФизЛиц КАК ПаспортныеДанныеФизЛиц
   ГДЕ
       ПаспортныеДанныеФизЛиц.ФизЛицо В (&ФизЛица)    
   СГРУППИРОВАТЬ ПО
       
       ПаспортныеДанныеФизЛиц.ДокументВид,
       ПаспортныеДанныеФизЛиц.ФизЛицо ) КАК ПериодДокументов
       ВНУТРЕНЕЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц КАК ДокументыФизЛица
       ПО ДокументыФизЛица.Период = ПериодДокументов.Период
       И ДокументыФизЛица.ФизЛицо = ПериодДокументов.ФизЛицо
       И ДокументыФизЛица.ДокументВид= ПериодДокументов.ДокументВид
ГДЕ
   ДокументыФизЛица.ФизЛицо В (&ФизЛица)
13 M0narch
 
10.07.13
11:37
(11) (12) Спасибо
14 skunk
 
10.07.13
11:38
было достаточно ЛЕВОЕ СОЕДИНЕНИЕ заменить на ПОЛНОЕ СОЕДИНЕНИЕ
15 Ненавижу 1С
 
гуру
10.07.13
11:40
(14) хватит писать чушь
16 skunk
 
10.07.13
11:47
17 mistеr
 
10.07.13
11:47
(8) > регистр типовый, не хочу менять
В данном случае стоит сделать свой регистр, а не использовать типовой нетиповым образом, это чревато. Например в доверенности будет какая-нибудь чушь пропечатываться.
18 Ненавижу 1С
 
гуру
10.07.13
11:54
(16) при совпадении периодов по разным физлицам и/или видам документов будет охинея
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн