Получить паспортные данные физического лица в Рознице 2.3
По теме из базы знаний
Найденные решения
(1) Проблема была в том, что реквизит Физлицо в контрагенте почему-то не всегда заполнялся (в консоли запросов заполнялся, а во внешней обработке нет). Вопрос решила следующим образом без запроса:
Есть еще функция, но она не все нужные мне параметры вытягивает
Отбор = Новый Структура("ФизЛицо");
Отбор.ФизЛицо = Выборка.Контрагент;
ДанныеПаспорта =
РегистрыСведений.ДокументыФизическихЛиц.СрезПоследних(ТекущаяДатаСеанса(), Отбор);
Для каждого Стр из ДанныеПаспорта Цикл
Подписи.Параметры.Серия = Стр.Серия;
Подписи.Параметры.Номер = Стр.Номер;
КонецЦикла;
ПоказатьЕсть еще функция, но она не все нужные мне параметры вытягивает
Функция ДанныеДокументаФизлица(Физлицо, Дата = Неопределено) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Физлицо", Физлицо);
Запрос.УстановитьПараметр("ДатаСреза", Дата);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ДокументыФизическихЛиц.Серия КАК Серия,
| ДокументыФизическихЛиц.Номер КАК Номер,
| ДокументыФизическихЛиц.Гражданство КАК Гражданство,
| ДокументыФизическихЛиц.ВидДокумента КАК ВидДокумента
|ИЗ
| РегистрСведений.ДокументыФизическихЛиц КАК ДокументыФизическихЛиц
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| МАКСИМУМ(ДокументыФизическихЛиц.Период) КАК Период,
| ДокументыФизическихЛиц.Физлицо КАК Физлицо
| ИЗ
| РегистрСведений.ДокументыФизическихЛиц КАК ДокументыФизическихЛиц
| ГДЕ
| ДокументыФизическихЛиц.ЯвляетсяДокументомУдостоверяющимЛичность
| И ДокументыФизическихЛиц.Физлицо = &Физлицо
| " + ?(Дата <> Неопределено, "И ДокументыФизическихЛиц.Период <= &ДатаСреза", "") + "
|
| СГРУППИРОВАТЬ ПО
| ДокументыФизическихЛиц.Физлицо) КАК ДокументыСрез
| ПО ДокументыФизическихЛиц.Период = ДокументыСрез.Период
| И ДокументыФизическихЛиц.Физлицо = ДокументыСрез.Физлицо
| И (ДокументыФизическихЛиц.ЯвляетсяДокументомУдостоверяющимЛичность)";
Выборка = Запрос.Выполнить().Выбрать();
ДанныеДокумента = Новый Структура("Серия, Номер, Гражданство, ВидДокумента");
Если Выборка.Следующий() Тогда
ДанныеДокумента.Серия = Выборка.Серия;
ДанныеДокумента.Номер = Выборка.Номер;
ДанныеДокумента.Гражданство = Выборка.Гражданство;
ДанныеДокумента.ВидДокумента = Выборка.ВидДокумента;
КонецЕсли;
Возврат ДанныеДокумента;
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Проблема была в том, что реквизит Физлицо в контрагенте почему-то не всегда заполнялся (в консоли запросов заполнялся, а во внешней обработке нет). Вопрос решила следующим образом без запроса:
Есть еще функция, но она не все нужные мне параметры вытягивает
Отбор = Новый Структура("ФизЛицо");
Отбор.ФизЛицо = Выборка.Контрагент;
ДанныеПаспорта =
РегистрыСведений.ДокументыФизическихЛиц.СрезПоследних(ТекущаяДатаСеанса(), Отбор);
Для каждого Стр из ДанныеПаспорта Цикл
Подписи.Параметры.Серия = Стр.Серия;
Подписи.Параметры.Номер = Стр.Номер;
КонецЦикла;
ПоказатьЕсть еще функция, но она не все нужные мне параметры вытягивает
Функция ДанныеДокументаФизлица(Физлицо, Дата = Неопределено) Экспорт
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Физлицо", Физлицо);
Запрос.УстановитьПараметр("ДатаСреза", Дата);
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ДокументыФизическихЛиц.Серия КАК Серия,
| ДокументыФизическихЛиц.Номер КАК Номер,
| ДокументыФизическихЛиц.Гражданство КАК Гражданство,
| ДокументыФизическихЛиц.ВидДокумента КАК ВидДокумента
|ИЗ
| РегистрСведений.ДокументыФизическихЛиц КАК ДокументыФизическихЛиц
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| МАКСИМУМ(ДокументыФизическихЛиц.Период) КАК Период,
| ДокументыФизическихЛиц.Физлицо КАК Физлицо
| ИЗ
| РегистрСведений.ДокументыФизическихЛиц КАК ДокументыФизическихЛиц
| ГДЕ
| ДокументыФизическихЛиц.ЯвляетсяДокументомУдостоверяющимЛичность
| И ДокументыФизическихЛиц.Физлицо = &Физлицо
| " + ?(Дата <> Неопределено, "И ДокументыФизическихЛиц.Период <= &ДатаСреза", "") + "
|
| СГРУППИРОВАТЬ ПО
| ДокументыФизическихЛиц.Физлицо) КАК ДокументыСрез
| ПО ДокументыФизическихЛиц.Период = ДокументыСрез.Период
| И ДокументыФизическихЛиц.Физлицо = ДокументыСрез.Физлицо
| И (ДокументыФизическихЛиц.ЯвляетсяДокументомУдостоверяющимЛичность)";
Выборка = Запрос.Выполнить().Выбрать();
ДанныеДокумента = Новый Структура("Серия, Номер, Гражданство, ВидДокумента");
Если Выборка.Следующий() Тогда
ДанныеДокумента.Серия = Выборка.Серия;
ДанныеДокумента.Номер = Выборка.Номер;
ДанныеДокумента.Гражданство = Выборка.Гражданство;
ДанныеДокумента.ВидДокумента = Выборка.ВидДокумента;
КонецЕсли;
Возврат ДанныеДокумента;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот