|   |   | 
| 
 | Количество рабочих дней в месяце в виде запроса, не используя регистры т.п.ХЕЛП | ☑ | ||
|---|---|---|---|---|
| 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 | 
        ))))     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |