Получить паспортные данные физического лица в Рознице 2.3

1. Morsvetari 16.09.24 18:42 Сейчас в теме
Доброго времени суток! Есть ли возможность получить паспортные данные физлица без использования запроса с помощью библиотеки стандартных подсистем в конфигурации Розница 2.3?
По теме из базы знаний
Найденные решения
5. Morsvetari 16.09.24 20:14 Сейчас в теме
(1) Проблема была в том, что реквизит Физлицо в контрагенте почему-то не всегда заполнялся (в консоли запросов заполнялся, а во внешней обработке нет). Вопрос решила следующим образом без запроса:
			Отбор = Новый Структура("ФизЛицо");
			Отбор.ФизЛицо = Выборка.Контрагент;
			ДанныеПаспорта = 
			РегистрыСведений.ДокументыФизическихЛиц.СрезПоследних(ТекущаяДатаСеанса(), Отбор);
			
			Для каждого Стр из ДанныеПаспорта Цикл
				Подписи.Параметры.Серия = Стр.Серия;
			        Подписи.Параметры.Номер = Стр.Номер;	
			КонецЦикла;
Показать


Есть еще функция, но она не все нужные мне параметры вытягивает

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


Есть еще функция, но она не все нужные мне параметры вытягивает

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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот