Что быстрее сработает через запрос или так и еще вопрос как вывести в статусную строку сообщение(чтоб знать какие процессы выполняются):
вых = ЛОЖЬ;
Если ДатаНеявки<>ТекДата-1 тогда
K = ТекДата-1-ДатаНеявки;
Дата1=ТекДата-1;
Отбор1 = новый структура();
Для i = 1 по K Цикл
// Проверяем в ТЗВыходные выходной день или нет
Отбор1.Вставить("Сотрудник",Сотрудник);
НайденнаяСтрока = ТЗВыходные.НайтиСтроки(Отбор1);
i = НайденнаяСтрока.Количество();
Если i=0 тогда //Если день не выходной
вых = ЛОЖЬ;
прервать;
Иначе
Для K=0 по i-1 цикл
Строка = НайденнаяСтрока[K];
Если Строка.НомерМесяца = НомерМесяца И Строка.НомерДня = Дата1 И Строка.Год = Год тогда
вых = Истина;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Дата1 = Дата1-1;
КонецЦикла;
КонецЕсли;