Имя: Пароль:
1C
1С v8
Посчитать количество выходных дней между двумя датами
,
0 Про100Филя
 
13.11.15
10:19
Всех с пятницой. Есть таблица с интервалами дат(две даты), надо найти количество выходных дней которые входят в этот период. Подскажите как сделать наиболее оптимально?(Кроме перебора есть варианты?) Таблица строк 30-100.
1 mikecool
 
13.11.15
10:25
запрос к рс рег календарь
2 Тoлько_
Просмотр
 
13.11.15
10:25
(0) Сделай РС производственный календарь и ну дальше там уже излишне разжевывать, всё очевидно.
3 spectre1978
 
13.11.15
10:27
Если только обычные выхи (не праздники и т.д.), то просто.
Первое воскресенье с начала и последнее с конца найти перебором и запомнить их даты. Период между ними будет целым числом недель, соответственно узнать число недель (к-во дней поделить на 7) и умножить на 2. Примерно так.
4 Ненавижу 1С
 
гуру
13.11.15
10:28
(0) подсказка, есть праздники и переносы выходных из-за праздников
5 spectre1978
 
13.11.15
10:29
(4) в этом случае только правильно заполненный РС.
6 Ненавижу 1С
 
гуру
13.11.15
10:30
(5) таки да, шеф
7 Про100Филя
 
13.11.15
10:31
(1)(2) Спасибо прям как чуял что близко. РегламентированныйПроизводственныйКалендарь из УТ10 подойдёт?
8 Гёдза
 
13.11.15
10:31
посчитать общую длину интервала и вычесть сумму длин интервалов
9 Быдло замкадное
 
13.11.15
10:32
РС Производственный календарь, где вид дня = выходной. Количество различных.
Простейший запрос же
10 Тoлько_
Просмотр
 
13.11.15
10:33
(7) Без разницы, главное чтоб заполнен был
11 Быдло замкадное
 
13.11.15
10:34
держи ВЫБРАТЬ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря) КАК КоличествоДней
ИЗ
    РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
    РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &НачалоМесяца И &КонецМесяца
    И (РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Суббота)
            ИЛИ РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Воскресенье)
ИЛИ РегламентированныйПроизводственныйКалендарь.ВидДня = ЗНАЧЕНИЕ(Перечисление.ВидыДнейПроизводственногоКалендаря.Праздник))
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший