Да, можно подсчитать количество выходных в диапазоне дат без использования цикла, используя SQL-запросы к регистру сведений производственного календаря. Вот пример запроса, который позволяет это сделать:
1C
ВЫБРАТЬ
КОЛИЧЕСТВО(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) КАК КоличествоВыходных
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря >= &ДатаНач
И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря <= &ДатаКонец
И РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Выходной)
В этом запросе вы передаете начальную и конечную даты, и он возвращает количество выходных дней в указанном диапазоне.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1312513/