|
Количество рабочих дней в месяце в виде запроса, не используя регистры т.п.ХЕЛП | ☑ | ||
---|---|---|---|---|
0
Bittin
20.02.15
✎
22:08
|
Здравствуйте.
Стоит задача: сделать запрос который бы выдал количество рабочих дней в месяце, в запрос только один параметр передается - Дата(в которой надо узнать) без использования регистров(производственных календарей и т.д.) Есть такая наработка: ВЫБРАТЬ НАЧАЛОПЕРИОДА(&ПараметрДата, МЕСЯЦ) КАК НАЧАЛОПЕРИОДА ПОМЕСТИТЬ Начало ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 1)) КАК Поле3, ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 1)) > 4 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ КАК Поле1 ИЗ Начало КАК Начало Дальше можно сделать 30 раз запрос с прибавление по дням и потом посчитать сколько единичек....но чето как то не так, муторно и неправиьно кажется........Помогите плизззз! |
|||
1
GROOVY
20.02.15
✎
22:11
|
А праздники случайным числом определять будем?
|
|||
2
Bittin
20.02.15
✎
22:11
|
праздники не учитываем вообще
|
|||
3
Bittin
20.02.15
✎
22:15
|
точнее дальше немного подругому надо
ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 1)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 1)) > 4 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ КАК Поле2, |
|||
4
Ненавижу 1С
гуру
20.02.15
✎
22:18
|
Почему не учитываем праздники. Я против
|
|||
5
Bittin
20.02.15
✎
22:19
|
))) потому что задача так поставлена...
|
|||
6
Ненавижу 1С
гуру
20.02.15
✎
22:22
|
То6да пляши от дня недели. В первые 28 дней любого месяца есть гарантированно 4 субботы и 4 воскресенья
|
|||
7
Bittin
20.02.15
✎
22:35
|
сделал вот так как, рабочий вариант, есть вариант упростить?
ВЫБРАТЬ НАЧАЛОПЕРИОДА(&ПараметрДата, МЕСЯЦ) КАК НАЧАЛОПЕРИОДА ПОМЕСТИТЬ Начало ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(Начало.НАЧАЛОПЕРИОДА) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 1)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 1)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 2)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 2)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 3)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 3)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 4)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 4)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 5)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 5)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 6)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 6)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 7)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 7)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 8)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 8)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 9)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 9)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 10)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 10)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 11)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 11)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 12)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 12)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 13)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 13)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 14)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 14)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 15)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 15)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 16)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 16)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 17)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 17)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 18)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 18)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 19)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 19)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 20)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 20)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 21)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 21)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 22)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 22)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 23)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 23)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 24)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 24)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 25)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 25)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 26)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 26)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 27)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 27)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 28)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 28)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 29)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 29)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 30)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 30)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 31)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.НАЧАЛОПЕРИОДА, ДЕНЬ, 31)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ КАК Поле2 ИЗ Начало КАК Начало ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ Начало |
|||
8
marvak
20.02.15
✎
22:37
|
пипец
|
|||
9
Ненавижу 1С
гуру
20.02.15
✎
22:38
|
Слишком сложно
|
|||
10
Bittin
20.02.15
✎
22:39
|
А как укоротить?)))
|
|||
11
Ненавижу 1С
гуру
20.02.15
✎
22:41
|
Смотри (6)
|
|||
12
marvak
20.02.15
✎
22:42
|
может сначала определить число целых недель и умножить на 5?
потом разбираться с остатками |
|||
13
Bittin
20.02.15
✎
22:48
|
А как определить ? взять начальную дату узнать какой день недели прибавить неделю узнать какая дата и какой день недели и так 5 раз а потом умножить полученный результат на 5 так что?
|
|||
14
marvak
20.02.15
✎
22:52
|
(13)
анализируй дни недель последних трех дней месяца в первых 28 стопудово 20 рабочих дней. |
|||
15
marvak
20.02.15
✎
22:52
|
то есть "анализируй дни недели"
|
|||
16
Ненавижу 1С
гуру
20.02.15
✎
23:04
|
вот число выходных, например (если нет праздников):
ВЫБРАТЬ НАЧАЛОПЕРИОДА(&ТекущаяДата, МЕСЯЦ) КАК НачалоПериода, КОНЕЦПЕРИОДА(&ТекущаяДата, МЕСЯЦ) КАК КонецПериода, ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, МЕСЯЦ), ДЕНЬ, 29) КАК День29, ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, МЕСЯЦ), ДЕНЬ, 30) КАК День30, ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ТекущаяДата, МЕСЯЦ), ДЕНЬ, 31) КАК День31 ПОМЕСТИТЬ Месяц ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ 8 + ВЫБОР КОГДА Месяц.День29 <= Месяц.КонецПериода И ДЕНЬНЕДЕЛИ(Месяц.День29) В (6, 7) ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Месяц.День30 <= Месяц.КонецПериода И ДЕНЬНЕДЕЛИ(Месяц.День30) В (6, 7) ТОГДА 1 ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА Месяц.День31 <= Месяц.КонецПериода И ДЕНЬНЕДЕЛИ(Месяц.День31) В (6, 7) ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Поле1 ИЗ Месяц КАК Месяц |
|||
17
Bittin
20.02.15
✎
23:13
|
я доделал....ток чуток подругому....
ВЫБРАТЬ НАЧАЛОПЕРИОДА(&ПараметрДата, МЕСЯЦ) КАК НАЧАЛОПЕРИОДА, ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ПараметрДата, МЕСЯЦ), ДЕНЬ, 27) КАК База ПОМЕСТИТЬ Начало ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ 20 + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.База, ДЕНЬ, 1)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.База, ДЕНЬ, 1)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.База, ДЕНЬ, 2)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.База, ДЕНЬ, 2)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ + ВЫБОР КОГДА МЕСЯЦ(ДОБАВИТЬКДАТЕ(Начало.База, ДЕНЬ, 3)) = МЕСЯЦ(Начало.НАЧАЛОПЕРИОДА) ТОГДА ВЫБОР КОГДА ДЕНЬНЕДЕЛИ(ДОБАВИТЬКДАТЕ(Начало.База, ДЕНЬ, 3)) > 5 ТОГДА 0 ИНАЧЕ 1 КОНЕЦ ИНАЧЕ 0 КОНЕЦ КАК Поле4 ИЗ Начало КАК Начало ; //////////////////////////////////////////////////////////////////////////////// УНИЧТОЖИТЬ Начало |
|||
18
Bittin
20.02.15
✎
23:15
|
так менее страшнее?
|
|||
19
Ненавижу 1С
гуру
20.02.15
✎
23:15
|
(17) с тебя причитается))
|
|||
20
Serg_1960
20.02.15
✎
23:16
|
Производственный календарь не проще ли?
|
|||
21
Bittin
20.02.15
✎
23:19
|
(20) задание такое....не использовать произв календарь
|
|||
22
Bittin
20.02.15
✎
23:20
|
Спасибо всем за помощь и отдельное большое спасибо "marvak", "Ненавижу 1С"
|
|||
23
Ненавижу 1С
гуру
20.02.15
✎
23:20
|
(20) условия читай
|
|||
24
Ненавижу 1С
гуру
20.02.15
✎
23:21
|
(22) спасибо не булькает ))
|
|||
25
Bittin
20.02.15
✎
23:22
|
))))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |