|   |   | 
| 
 | Проблема с запросом. СрезПоследних | ☑ | ||
|---|---|---|---|---|
| 0
    
        bvn-2005 13.02.18✎ 10:23 | 
        ЗУП ред. 3.0.
 Регистр сведений ДокументыФизическихЛиц. 3 записи по одному физлицу: Период ФизЛицо Документ 1.1.1900 Иванов Вид на жительство 22.06.2016 Иванов Вид на жительство 30.03.2017 Иванов Паспорт И простой запрос: "ВЫБРАТЬ | ДокументыФизическихЛицСрезПоследних.Период КАК Период, | ДокументыФизическихЛицСрезПоследних.Физлицо КАК Физлицо, | ДокументыФизическихЛицСрезПоследних.ВидДокумента КАК ВидДокумента, | ДокументыФизическихЛицСрезПоследних.Серия КАК Серия, | ДокументыФизическихЛицСрезПоследних.Номер КАК Номер, | ДокументыФизическихЛицСрезПоследних.ДатаВыдачи КАК ДатаВыдачи, | ДокументыФизическихЛицСрезПоследних.СрокДействия КАК СрокДействия, | ДокументыФизическихЛицСрезПоследних.КемВыдан КАК КемВыдан, | ДокументыФизическихЛицСрезПоследних.КодПодразделения КАК КодПодразделения, | ДокументыФизическихЛицСрезПоследних.ЯвляетсяДокументомУдостоверяющимЛичность КАК ЯвляетсяДокументомУдостоверяющимЛичность, | ДокументыФизическихЛицСрезПоследних.Представление КАК Представление, | ДокументыФизическихЛицСрезПоследних.УдалитьВидДокумента КАК УдалитьВидДокумента |ИЗ | РегистрСведений.ДокументыФизическихЛиц.СрезПоследних(&Дат, ФизЛицо = &ФЛ) КАК ДокументыФизическихЛицСрезПоследних" &Дат - сегодняшняя дата. Я расчитывал получить последнюю строку с паспортом, а получаю 2 строки - последнюю и предпоследнюю... В регистре людей с несколькими документами довольно много, но такая проблема вылезла пока только у двоих. В чем может быть дело? | |||
| 1
    
        hhhh 13.02.18✎ 10:26 | 
        (0) наверно не учел, что в измерениях регистра не только физлицо, а и другие измерения.     | |||
| 2
    
        catena 13.02.18✎ 10:31 | 
        Описание:
 Получает наиболее поздние записи регистра, соответствующие установленным в параметрах метода значениям ключевых полей. Записи подбираются для каждого сочетания из всех имеющихся значений измерений регистра. | |||
| 3
    
        bvn-2005 13.02.18✎ 10:38 | 
        гм... 
 Измерения регистра: Физлицо ВидДокумента Да, похоже. А как тогда гарантированно получить последний документ? | |||
| 4
    
        hhhh 13.02.18✎ 10:41 | 
        (3) присобачить дальше еще один запрос, который сворачивает. Ну или что-то другое делает, группирует.     | |||
| 5
    
        Йохохо 13.02.18✎ 10:50 | 
        ДокументыФизическихЛицСрезПоследних.УдалитьВидДокумента КАК УдалитьВидДокумента это лучше убрать из запроса
 и, вероятно, достаточно ЯвляетсяДокументомУдостоверяющимЛичность = Истина выбрать первые 1 упорядочить по период | |||
| 6
    
        Йохохо 13.02.18✎ 10:56 | 
        долбанутый регистр, лучше без среза, у период смысл кривой     | |||
| 7
    
        bvn-2005 13.02.18✎ 13:42 | 
        "долбанутый регистр"
 Вот, блин... ВЫБРАТЬ ПЕРВЫЕ 1 работает, если выбирать одного человека, а если весь список? Никак не придумаю, как обойтись без среза. | |||
| 8
    
        тарам пам пам 13.02.18✎ 13:48 | 
        (3) документы разного вида могут быть введены одной датой - т. е. и вид на жительство и паспорт на 30.03.2017 например. Какой тогда будешь получать?     | |||
| 9
    
        Йохохо 13.02.18✎ 13:52 | 
        (7) смотря какая цель, может из другого места проще получать. Можешь посмотреть обработку ПечатьКадровыхПриказов по Т-1     | |||
| 10
    
        Amfiaray 13.02.18✎ 13:57 | 
        (7) вот для всего списка
 ВЫБРАТЬ МАКСИМУМ(ПаспортныеДанныеФизЛицСрезПоследних.Период) КАК Период, ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо ПОМЕСТИТЬ ВТ_ИсходныеДанные ИЗ РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних(&ДатаСреза, ФизЛицо В (&СписокФизЛиц)) КАК ПаспортныеДанныеФизЛицСрезПоследних СГРУППИРОВАТЬ ПО ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПаспортныеДанныеФизЛиц.ДокументВид, ПаспортныеДанныеФизЛиц.ДокументСерия, ПаспортныеДанныеФизЛиц.ДокументНомер, ПаспортныеДанныеФизЛиц.ДокументДатаВыдачи, ПаспортныеДанныеФизЛиц.ДокументКемВыдан, ВТ_ИсходныеДанные.ФизЛицо ИЗ ВТ_ИсходныеДанные КАК ВТ_ИсходныеДанные ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц КАК ПаспортныеДанныеФизЛиц ПО ВТ_ИсходныеДанные.ФизЛицо = ПаспортныеДанныеФизЛиц.ФизЛицо И ВТ_ИсходныеДанные.Период = ПаспортныеДанныеФизЛиц.Период | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |