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