Всем добра!

Подтолкните, пожалуйста, в сторону реализации решения следующей проблемы. Для реагирования на документ сотруднику даются сутки. В момент работы обработки надо определить: прошло ли 24 часа с позиции указанного документа?

Есть некрасивый, как мне кажется, вариант решения через РазобратьПозициюДокумента() с последующим сравнением рабочей даты и даты документа, плюс к этому куча условий на проверку времени.

Есть в голове "красивый" набросок:
1) В переменную ПолучитьПозицию() документа
2) К переменной добавить 24 часа
3) Сформировать новую позицию переменной
4) Сравнить позицию переменной и текущую позицию текущих даты и времени

Есть предложения как это сделать? Или придется идти по "некрасивому" варианту?
---
Решил следующим способом:

```1c
    //----------------------------------------------
    Функция СформироватьЧислоПозиции(ДатаП, ЧасП, МинП, СекП)

    Рез = Формат(ДатаП, "ДГГГГММДД") + Формат(ЧасП, "Ч(0)2") + Формат(МинП, "Ч(0)2") + Формат(СекП, "Ч(0)2");
    Рез = Число(Рез);

    Возврат Рез;

    КонецФункции // СформироватьЧислоПозиции()

    //----------------------------------------------
    Функция ПрошлиСутки(Док)
    Перем ДатаП, ЧасП, МинП, СекП;

    ТекущееВремя(ЧасП, МинП, СекП);
    ТекПозиция = СформироватьЧислоПозиции(РабочаяДата(), ЧасП, МинП, СекП);

    РазобратьПозициюДокумента(Док, ДатаП, ЧасП, МинП, СекП);
    ПозицияРеакции = СформироватьЧислоПозиции(ДатаП + 1, ЧасП, МинП, СекП);

    Если ТекПозиция > ПозицияРекции Тогда
    Возврат 1;
    КонецЕсли;

    Возврат 0;

    КонецФункции // ПрошлиСутки()
```

Возвращаемые значения функцией СформироватьЧислоПозиции()
для документа от 08.10.2019 г. - 20191009164530
для рабочей даты - 20191009182000
---
это для работника ?
т.е. документ записан и проведен
работник сегодня выходной.что делать ?

может условие , что он принял этот документ...
---
(3) (4) Господа, варианты с выходными, больничными и т.п., пожалуйста, не прорабатывайте.
Документ записан, проведен. Надо вывести в отчет прошли ли сутки с его позиции.
---
сегодня принял документ.вечером заболел.или на другой день
это также нужно принять во внимание
---
кажется вариант реализации в большей степени будет зависеть от того, что подразумевается по реагированием сотрудника на документ
если просто изменить\записать\провести, то вариант с позицией сомнителен, ибо ее придется всякий раз устанавливать заново для следующего контроля

я бы предложил добавить в документ реквизит и на нем регистрировать ДатаВремя изменения документа, при чем если док перепровели без изменений, значение не меняется
а контроль выполнять сравнением значения реквизита с ТекущаяДата() и заданным лагом по времени
---
тогда все проще
РассчитатьПозициюДокумента() + 24 часа > ТекущаяДата() - ругаемся
---
Не только ТекущаяДата(), но и ТекущееВремя().
Т.к. документ мог быть записан на позицию 08.10.2019 г. 16:45:30, формируют отчет 09.10.2019 г. в 08:30:00 - сутки еще не прошли.
---
верно
---
Решил следующим способом:

```1c
    //----------------------------------------------
    Функция СформироватьЧислоПозиции(ДатаП, ЧасП, МинП, СекП)

    Рез = Формат(ДатаП, "ДГГГГММДД") + Формат(ЧасП, "Ч(0)2") + Формат(МинП, "Ч(0)2") + Формат(СекП, "Ч(0)2");
    Рез = Число(Рез);

    Возврат Рез;

    КонецФункции // СформироватьЧислоПозиции()

    //----------------------------------------------
    Функция ПрошлиСутки(Док)
    Перем ДатаП, ЧасП, МинП, СекП;

    ТекущееВремя(ЧасП, МинП, СекП);
    ТекПозиция = СформироватьЧислоПозиции(РабочаяДата(), ЧасП, МинП, СекП);

    РазобратьПозициюДокумента(Док, ДатаП, ЧасП, МинП, СекП);
    ПозицияРеакции = СформироватьЧислоПозиции(ДатаП + 1, ЧасП, МинП, СекП);

    Если ТекПозиция > ПозицияРекции Тогда
    Возврат 1;
    КонецЕсли;

    Возврат 0;

    КонецФункции // ПрошлиСутки()
```

Возвращаемые значения функцией СформироватьЧислоПозиции()
для документа от 08.10.2019 г. - 20191009164530
для рабочей даты - 20191009182000
---
В языке запросов есть ДобавитьКДате(Документ.ДатаВремяСобытия,1,ДЕНЬ) который сравниваете с текщей датой, скорее всего это решит Ваш вопрос и позволит вывести просроченные документы списком. Не делайте в цикле то, что можно сделать запросом.
---
реактивная 7.7 не нуждается в тормозах 8-ки! ;-)