Добрый день. Необходимо написать обработку которая проверяет сотрудника в документе: то есть, если дата приема на работу => даты создания документа минус 30 календарных дней то вывести сообщение. простыми словами если сотрудник бы принят в течении доты создания документа - 30 дней. у меня получилось так но что то не работает. Подскажите пожалуйста в чем ошибка.

```1c
    Запрос = Новый Запрос;
    Запрос.Текст = ("ВЫБРАТЬ
    | ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо КАК ФизическоеЛицо,
    | ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
    | ТекущиеКадровыеДанныеСотрудников.ДатаПриема КАК ДатаПриема
    |ИЗ
    | РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников");
    Запрос.УстановитьПараметр("ФизическоеЛицо", ТекущийОбъект.Состав.ВыгрузитьКолонку("ФизическоеЛицо"));
    Выборка = Запрос.Выполнить().Выбрать();
    пока Выборка.Следующий() Цикл
    Если ТекущийОбъект.Дата-30*24*60*60 < Выборка.ДатаПриема тогда
    Отказ = Истина;
    Сообщить("ОШИБКА!!!" + " " + Выборка.ФизическоеЛицо);
    КонецЕсли;
    КонецЦикла;

    КонецПроцедуры
```
---
Получайте всё сразу в запросе:

```1c
    Запрос = Новый Запрос;
    Запрос.Текст = ("ВЫБРАТЬ
    | ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо КАК ФизическоеЛицо,
    | ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
    | ТекущиеКадровыеДанныеСотрудников.ДатаПриема КАК ДатаПриема,
    | ДобавитьКДате( &ТекущийОбъектДата, ДЕНЬ, -30) КАК ДатаМинус30
    |ИЗ
    | РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников");
    Запрос.УстановитьПараметр("ФизическоеЛицо", ТекущийОбъект.Состав.ВыгрузитьКолонку("ФизическоеЛицо"));
    Запрос.УстановитьПараметр("ТекущийОбъектДата", ТекущийОбъект.Дата);
    Выборка = Запрос.Выполнить().Выбрать();
    пока Выборка.Следующий() Цикл
    Если Выборка.ДатаМинус30 < Выборка.ДатаПриема тогда
    Отказ = Истина;
    Сообщить("ОШИБКА!!!" + " " + Выборка.ФизическоеЛицо);
    КонецЕсли;
    КонецЦикла;

    КонецПроцедуры
```
---
А что именно не работает? В выборке есть что нибудь?
---
Получайте всё сразу в запросе:

```1c
    Запрос = Новый Запрос;
    Запрос.Текст = ("ВЫБРАТЬ
    | ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо КАК ФизическоеЛицо,
    | ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
    | ТекущиеКадровыеДанныеСотрудников.ДатаПриема КАК ДатаПриема,
    | ДобавитьКДате( &ТекущийОбъектДата, ДЕНЬ, -30) КАК ДатаМинус30
    |ИЗ
    | РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников");
    Запрос.УстановитьПараметр("ФизическоеЛицо", ТекущийОбъект.Состав.ВыгрузитьКолонку("ФизическоеЛицо"));
    Запрос.УстановитьПараметр("ТекущийОбъектДата", ТекущийОбъект.Дата);
    Выборка = Запрос.Выполнить().Выбрать();
    пока Выборка.Следующий() Цикл
    Если Выборка.ДатаМинус30 < Выборка.ДатаПриема тогда
    Отказ = Истина;
    Сообщить("ОШИБКА!!!" + " " + Выборка.ФизическоеЛицо);
    КонецЕсли;
    КонецЦикла;

    КонецПроцедуры
```
---
Спасибо огромное помогло
---
Как вариант - у вас параметр "ФизическоеЛицо", который вы устанавливаете, в запросе отсутствует.
---
```1c
    | ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо КАК ФизическоеЛицо,
    | ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
    | ТекущиеКадровыеДанныеСотрудников.ДатаПриема КАК ДатаПриема
    |ИЗ РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
    | ГДЕ ДОБАВИТЬКДАТЕ(&ПроверяемДату, ДЕНЬ,-30 ) < ТекущиеКадровыеДанныеСотрудников.ДатаПриема И ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо В (&ФизическоеЛицо)
```
---
```1c
    ВЫБРАТЬ
    ТекущиеКадровыеДанныеСотрудников.ФизическоеЛицо КАК ФизическоеЛицо,
    ТекущиеКадровыеДанныеСотрудников.Сотрудник КАК Сотрудник,
    ТекущиеКадровыеДанныеСотрудников.ДатаПриема КАК ДатаПриема
    ИЗ
    РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
    где разностьдат(ТекущиеКадровыеДанныеСотрудников.ДатаПриема, &ТекущаяДата, День) >30
```