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