![]() |
|
v7: Как получить разность дат без выходных?.. и праздников | ☑ | ||
---|---|---|---|---|
0
Босечка
11.07.13
✎
10:49
|
Как получить разность дат без выходных? (суббота,воскресенье)
|
|||
1
Darych
11.07.13
✎
10:50
|
смотри сп календари
|
|||
2
aka AMIGO
11.07.13
✎
10:56
|
например, так делается в ЗиКе:
Календарь = СоздатьОбъект("Календарь.Пятидневка"); ВсегоДней = Календарь.Дней(НачальнаяДата,СледующаяДата); ВсегоЧасов = Календарь.Часов(НачальнаяДата,СледующаяДата); |
|||
3
aka AMIGO
11.07.13
✎
10:59
|
+2 а в пустою строку вставить код:
Календарь = ГрафикРаботы.ОсновныеЧасы; |
|||
4
Босечка
11.07.13
✎
11:01
|
Это понятно, как в зарплате. Это надо в бухгалтерии.
|
|||
5
Darych
11.07.13
✎
11:03
|
вброс засчитан.. всего-то 4 пост
|
|||
6
Босечка
11.07.13
✎
11:03
|
Без календаря никак нельзя?
|
|||
7
Darych
11.07.13
✎
11:03
|
кури день недели в работе с датами
|
|||
8
aka AMIGO
11.07.13
✎
11:04
|
(6) в цикле, +7
|
|||
9
Базис
naïve
11.07.13
✎
11:04
|
В какой-то из конф перебираются дни и каждый проверяется на (рабочий/выходной из календаря).
|
|||
10
Базис
naïve
11.07.13
✎
11:05
|
(6) Нельзя, сравни результаты на январе или мае.
|
|||
11
Darych
11.07.13
✎
11:07
|
(10) можно.. не звезди.. сб и вс проверить можно)
|
|||
12
Mikeware
11.07.13
✎
11:07
|
пипец, совсем люди математику забыли...
|
|||
13
Darych
11.07.13
✎
11:08
|
(12) отрыгнулся и здесь?)
|
|||
14
Mikeware
11.07.13
✎
11:09
|
(9) у ТС задачка примитивная - ей нужно только без суббот-воскресений.
|
|||
15
Базис
naïve
11.07.13
✎
11:12
|
(14) И почти наверняка - неточно сформулированная.
Чем 6 января 2014 года похоже на рабочий день? |
|||
16
Grobik
11.07.13
✎
11:12
|
Функция КолвоРабДнейИнтервал(НачДат,КонДат) Экспорт
КолРабДней=0; ДеньМесяц=""; Для К=НачДат По КонДат Цикл Если (НомерДняНедели(К)>=1) И (НомерДняНедели(К)<=5) Тогда ДеньМесяц=Лев(СокрЛП(Строка(К)),6); КонецЕсли; КонецЦикла; Возврат КолРабДней; КонецФункции |
|||
17
Darych
11.07.13
✎
11:13
|
(15) перечитай (0): Как получить разность дат без выходных? (суббота,воскресенье)
|
|||
18
Grobik
11.07.13
✎
11:14
|
Функция КолвоРабДнейИнтервал(НачДат,КонДат) Экспорт
КолРабДней=0; ДеньМесяц=""; Для К=НачДат По КонДат Цикл Если (НомерДняНедели(К)>=1) И (НомерДняНедели(К)<=5) Тогда ДеньМесяц=Лев(СокрЛП(Строка(К)),6); КолРабДней=КолРабДней+1; КонецЕсли; КонецЦикла; Возврат КолРабДней; КонецФункции |
|||
19
skunk
11.07.13
✎
11:14
|
(18)по 7 дней кошернее прибавлять
|
|||
20
Grobik
11.07.13
✎
11:15
|
ДеньМесяц=Лев(СокрЛП(Строка(К)),6);
не надо, это для праздников |
|||
21
Базис
naïve
11.07.13
✎
11:17
|
(17) Спасибо, видел.
Первое, что делаю, увидев задачу - думаю, не решена ли она за меня уже? Сразу после этого проверяю на непротиворечивость, полноту (чтоб не переделывать). (19) Можно перепрыгнуть дальше нужной даты. |
|||
22
skunk
11.07.13
✎
11:19
|
(21)если правильно запрогаммировать, то не перепрыгнешь
|
|||
23
zak555
11.07.13
✎
11:20
|
(0) в бухии/комплексной 77 есть производственный календарь в mxl файле
|
|||
24
skunk
11.07.13
✎
11:21
|
а побольшому счету вообще можно сделать без цикла
|
|||
25
1Сергей
11.07.13
✎
11:21
|
КоличествоРабДнейВТекущейНеделе + КоличествоПолныхНедельНачинаяСоСледущегоПнд * 5 + КоличествоРабочихДнейВПоследнейНеделе
|
|||
26
zak555
11.07.13
✎
11:22
|
(25) не учитываются праздники
|
|||
27
1Сергей
11.07.13
✎
11:23
|
(26) Праздники? Кто говорил про праздники?
|
|||
28
skunk
11.07.13
✎
11:24
|
(26)читаем внимательно (0)
|
|||
29
zak555
11.07.13
✎
11:25
|
(27) есть праздники, которые являются выходными => автор просил получить разность дат без выходных
|
|||
30
1Сергей
11.07.13
✎
11:26
|
(29) Это твои домыслы
|
|||
31
zak555
11.07.13
✎
11:26
|
(28) телеграфирую : сейчас она попросит учесть нерабочие дни (праздники)
|
|||
32
aka AMIGO
11.07.13
✎
11:26
|
(29) вот ты педант-то :)
|
|||
33
Darych
11.07.13
✎
11:27
|
(29) в 0 ТС явео сказал про сб и вс... нех растекаться мозгом
|
|||
34
skunk
11.07.13
✎
11:27
|
(29)тс конкретищировал - (суббота,воскресенье)
|
|||
35
zak555
11.07.13
✎
11:29
|
ну тогда это без циклов делается
|
|||
36
aka AMIGO
11.07.13
✎
11:29
|
(31) кстати, их можно проверять условием прямо в цикле.
это криво, конечно, но для нечастых применений - сойдет :) кстати, ТСу вариантов решения предложено много, пусть выбирает :) |
|||
37
1Сергей
11.07.13
✎
11:30
|
(36) ему нужно готовенькое
|
|||
38
Босечка
11.07.13
✎
11:31
|
(31) Вы оказались правы, как это не смешно. Праздники тоже надо исключить.
|
|||
39
Босечка
11.07.13
✎
11:32
|
(18) Работает, спасибо, а праздники как сделать?
|
|||
40
Darych
11.07.13
✎
11:32
|
еще вброс... вываливай уж все
|
|||
41
zak555
11.07.13
✎
11:32
|
бу га га
пошёл работать на телеграф =) |
|||
42
aka AMIGO
11.07.13
✎
11:33
|
да.. ТС читает через один пост, что-ли?..
|
|||
43
Босечка
11.07.13
✎
11:33
|
Почему через один?
|
|||
44
1Сергей
11.07.13
✎
11:34
|
(43) через два?
|
|||
45
1Сергей
11.07.13
✎
11:34
|
(41) ты бы научил 1С-ку телепатировать все праздники, без календарей и прочих справочников :)
|
|||
46
zak555
11.07.13
✎
11:35
|
(45) так в штатных конфах всё есть
|
|||
47
aka AMIGO
11.07.13
✎
11:35
|
(45) в текстовом файлике - прописать все праздники.. делов-то :)
|
|||
48
Mikeware
11.07.13
✎
11:36
|
(45) я вот понять не могу - а чего они жмутся программиста нанять...
|
|||
49
Grobik
11.07.13
✎
11:36
|
||||
50
aka AMIGO
11.07.13
✎
11:37
|
(49) угу.. только праздники в коде - моветон :)
|
|||
51
zak555
11.07.13
✎
11:38
|
(18) про НомерНеделиГода не слышад ?
|
|||
52
1Сергей
11.07.13
✎
11:38
|
(50) а в текстовике - ересь
|
|||
53
1Сергей
11.07.13
✎
11:38
|
(51) оно есть в клюшках?
|
|||
54
aka AMIGO
11.07.13
✎
11:39
|
(52) ну и ладно! на костер не отправят :)
|
|||
55
dedmoroz777
11.07.13
✎
11:39
|
(54) лучше справочник праздников сделать
|
|||
56
zak555
11.07.13
✎
11:39
|
(53) разумеется
|
|||
57
aka AMIGO
11.07.13
✎
11:41
|
(55) тут условие проскочило: сделать без колендарей и справочников :)
|
|||
58
aka AMIGO
11.07.13
✎
11:41
|
колендарей = календарей извините
|
|||
59
dedmoroz777
11.07.13
✎
11:42
|
(57) про справочники небыло такого
|
|||
60
Darych
11.07.13
✎
11:42
|
ща аВВтар напишет: хочу знать количество рабочих дней в году
|
|||
61
aka AMIGO
11.07.13
✎
11:42
|
(59) см (45)
|
|||
62
1Сергей
11.07.13
✎
11:43
|
(60) оно в константах задаётся
|
|||
63
Darych
11.07.13
✎
11:44
|
(62) а ты его конфу видел?
|
|||
64
dedmoroz777
11.07.13
✎
11:46
|
(61) это не ТС
|
|||
65
1Сергей
11.07.13
✎
11:46
|
(63) По последним данным разветки это не его конфа, а её :)
|
|||
66
dedmoroz777
11.07.13
✎
11:47
|
(65) и когда ты всё успел разведать?)
|
|||
67
МихаилМ
11.07.13
✎
11:50
|
||||
71
Босечка
11.07.13
✎
14:39
|
Всем спасибо, все получилось, пускай не так красиво, как вам хотелось. Сделала справочник с праздниками. Все равно лучше чем в тексте программы писать.
|
|||
72
Босечка
11.07.13
✎
14:40
|
(49) Как у вас, только вместо текста справочник. Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |