Как узнать количество рабочих дней в 1С бухгалтерия?
Была задачка у меня: узнать количество дней действия договора на основании интервала дат.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
//Возвращает количество рабочих дней в периоде, согласно производственному календарю Функция ОтборРабочихДней(ДатаНачало,ДатаКонец) Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, | РегламентированныйПроизводственныйКалендарь.ВидДня |ИЗ | РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь |ГДЕ | РегламентированныйПроизводственныйКалендарь.ДатаКалендаря >= &ДатаНачало | И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря <= &ДатаКонец | И РегламентированныйПроизводственныйКалендарь.ВидДня = &ВидДняКалендаря"; Запрос.УстановитьПараметр("ВидДняКалендаря", Перечисления.ВидыДнейПроизводственногоКалендаря.Рабочий); Запрос.УстановитьПараметр("ДатаКонец", КонецДня(ДатаКонец)); Запрос.УстановитьПараметр("ДатаНачало", НачалоДня(ДатаНачало)); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); КоличествоРабочихДней = ВыборкаДетальныеЗаписи.Количество(); Возврат КоличествоРабочихДней; КонецФункции |
Вот так я её решил с помощью производственного календаря.
Категории: 1С Предприятие 8.2