|
Выборка по несколько видам документов | ☑ | ||
---|---|---|---|---|
0
Черника33
04.08.22
✎
12:08
|
Подскажите пожалуйста, как исправить текущий код, что бы запрос делать выборку только по 3 документам "Паспорт гражданина РФ", "Иностранный паспорт" и "Вид на жительство". Много, что перепробовала, но ничего не работает :(
Запрос2 = Новый Запрос; Запрос2.УстановитьПараметр("Физлицо",выборка.ФизическоеЛицо); Запрос2.Текст = "ВЫБРАТЬ | ДокументыФизическихЛиц.Физлицо КАК Физлицо, | ДокументыФизическихЛиц.ВидДокумента.Ссылка КАК ВидДокументаСсылка, | ДокументыФизическихЛиц.Серия КАК Серия, | ДокументыФизическихЛиц.Номер КАК Номер, | ДокументыФизическихЛиц.ВидДокумента.Наименование КАК ВидДокументаНаименование, | ДокументыФизическихЛиц.ДатаВыдачи КАК ДатаВыдачи, | ДокументыФизическихЛиц.КемВыдан КАК КемВыдан |ИЗ | РегистрСведений.ДокументыФизическихЛиц КАК ДокументыФизическихЛиц |ГДЕ | ДокументыФизическихЛиц.Физлицо = &ФизЛицо"; Выборка2 = Запрос2.Выполнить().Выбрать(); ОбластьПодвал.Параметры.ДатаВ = '0001.01.01'; Пока Выборка2.Следующий() Цикл Если Выборка2.ВидДокументаНаименование = "Паспорт гражданина РФ" Тогда Если ОбластьПодвал.Параметры.ДатаВ < Выборка2.ДатаВыдачи Тогда ОбластьПодвал.Параметры.ДатаВ = Формат(Выборка2.ДатаВыдачи, "ДЛФ=ДД"); ОбластьПодвал.Параметры.Документ = Выборка2.ВидДокументаНаименование; ОбластьПодвал.Параметры.Серия = Выборка2.Серия; ОбластьПодвал.Параметры.Номер = Выборка2.Номер; ОбластьПодвал.Параметры.КемВыдан = Выборка2.КемВыдан; КонецЕсли; Прервать; ИначеЕсли Выборка2.ВидДокументаНаименование = "Иностранный паспорт" Тогда Если ОбластьПодвал.Параметры.ДатаВ < Выборка2.ДатаВыдачи Тогда ОбластьПодвал.Параметры.ДатаВ = Формат(Выборка2.ДатаВыдачи, "ДЛФ=ДД"); ОбластьПодвал.Параметры.Документ = Выборка2.ВидДокументаНаименование; ОбластьПодвал.Параметры.Серия = Выборка2.Серия; ОбластьПодвал.Параметры.Номер = Выборка2.Номер; ОбластьПодвал.Параметры.КемВыдан = Выборка2.КемВыдан; КонецЕсли; Прервать; ИначеЕсли Выборка2.ВидДокументаНаименование = "Вид на жительство" Тогда Если ОбластьПодвал.Параметры.ДатаВ < Выборка2.ДатаВыдачи Тогда ОбластьПодвал.Параметры.ДатаВ = Формат(Выборка2.ДатаВыдачи, "ДЛФ=ДД"); ОбластьПодвал.Параметры.Документ = Выборка2.ВидДокументаНаименование; ОбластьПодвал.Параметры.Серия = Выборка2.Серия; ОбластьПодвал.Параметры.Номер = Выборка2.Номер; ОбластьПодвал.Параметры.КемВыдан = Выборка2.КемВыдан; КонецЕсли; Прервать; КонецЕсли; КонецЦикла; |
|||
1
Фантазер
04.08.22
✎
12:14
|
Сделать запрос на выборку документов по условию ВидДокумента = &СписокВидовДокументов.
В переменную &СписокВидовДокументов программно заталкиваешь список значений "Паспорт гражданина РФ", "Иностранный паспорт" и "Вид на жительство" Все. запрос должен сработать. |
|||
2
Смотрящий
04.08.22
✎
12:15
|
Прикольные запросы в цикле
|
|||
3
6awkup_true
04.08.22
✎
12:18
|
а разве виды документов это не предопределенные значения? если да, то можно и ГДЕ ДокументыФизическихЛиц.ВидДокумента = Значение(Перечисление.ВидыДокументов.ПаспортГражданинаРФ или ГДЕ ДокументыФизическихЛиц.ВидДокумента = Значение(...
или если вместо перечисление справочник |
|||
4
RomanYS
04.08.22
✎
12:22
|
(1) ВидДокумента В (&СписокВидовДокументов)
(3) можно так ГДЕ ДокументыФизическихЛиц.ВидДокумента В (Значение(Перечисление.ВидыДокументов.ПаспортГражданинаРФ, Значение(...),...) |
|||
5
Черника33
04.08.22
✎
17:45
|
Спасибо решила проблему, через массив
|
|||
6
SleepyHead
гуру
05.08.22
✎
07:27
|
(3) " разве виды документов это не предопределенные значения"
Про конфигурацию в постановке задачи ни слова не было. В ЗУП 3.1 это справочник, с предопределенными значениями. |
|||
7
Ryzeman
05.08.22
✎
07:29
|
(2) Попахивает семёркой)
|
|||
8
Amra
05.08.22
✎
07:33
|
(7) Ага, с регистрами сведений)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |