8.х Вывод каждого месяця между двумя датами

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Will, 8 дек 2015.

  1. TopicStarter Overlay
    Will
    Offline

    Will Опытный в 1С

    Регистрация:
    15 авг 2012
    Сообщения:
    551
    Симпатии:
    1
    Баллы:
    29
    Здравствуйте!
    Подскажите, как получить каждый месяц между двумя датами.
    Например есть период 01.01.2015 - 31.12.2015.
    Код:
    РАЗНОСТЬДАТ(&НачПериода, &КонПериода, "Месяц") + 1
    Между двумя датами = 12 месяцев.
    Необходимо в СКД вывести каждый месяц между двумя периодами:
    Январь | Февраль | Март | Апрель | Май | Июнь | Июль| ...
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    В чем проблема Взять регламентированный производсвенный календарь и отуда эти даты достать
    Will нравится это.
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    Эээээ....а включение дополнения "Месяц" в свойствах поля с датами не помогает?
    Последнее редактирование: 8 дек 2015
    Will нравится это.
  4. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.760
    Симпатии:
    509
    Баллы:
    204
    Метод дополнения можно еще использовать в параметрах виртуальных таблиц
    Will нравится это.
  5. TopicStarter Overlay
    Will
    Offline

    Will Опытный в 1С

    Регистрация:
    15 авг 2012
    Сообщения:
    551
    Симпатии:
    1
    Баллы:
    29
    У меня есть даты: НачалоАренды и КонецАренды.
    Необходимо вывести график аренды по месяцам. Т.е. указываем период, за который нам нужно построить график и он показывает в каком месяце помещение занято, а когда свободно:
    upload_2015-12-8_13-23-8.png
    --- Объединение сообщений, 8 дек 2015 ---
    Не помогает, так как период выбираем произвольный. В выбранном периоде аренды может и не быть, тогда отчет должен показать что в этих месяцах пусто.
  6. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.760
    Симпатии:
    509
    Баллы:
    204
    Ну метод дополнения Месяц поставьте, и посмотрите что к чему
    Will нравится это.
  7. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.565
    Симпатии:
    716
    Баллы:
    204
    В таком случае, вам необходимо формировать отчет строго за год.
    Метод дополнения "месяц" в настройках группировки по дате аренды должно решить задачу, но на помещение должна быть одна дата в месяце.
    Will нравится это.
  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    Ну дополнение которое в СКД они применяется когда набор надо доплнить нулевыми значениями. т.е он по периоду доплнения добавляет дату и нулевое знаечение.
    Принципе такой вариант имеет место.
    Но лучше уже что бы наверняка Это получаете из Производвенного календаря даты начала месяцов из промежутка, а затем на каждую из этих дать получаете занятость. Тут если в СКД то можно и через свзяь двух наборов и параметр, или чисто запросом можно с ВТ. уже обсуждалось такое
    Will нравится это.
  9. TopicStarter Overlay
    Will
    Offline

    Will Опытный в 1С

    Регистрация:
    15 авг 2012
    Сообщения:
    551
    Симпатии:
    1
    Баллы:
    29
    А подобный метод слишком извращенно?: -Bag-
    Код:
    ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП01
                    И ГрафикАренды.ДатаКонец >= &КП01
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Янв,
        ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП02
                    И ГрафикАренды.ДатаКонец >= &КП02
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Фев,
        ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП03
                    И ГрафикАренды.ДатаКонец >= &КП03
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Мар,
        ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП04
                    И ГрафикАренды.ДатаКонец >= &КП04
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Апр,
        ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП05
                    И ГрафикАренды.ДатаКонец >= &КП05
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Май,
        ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП06
                    И ГрафикАренды.ДатаКонец >= &КП06
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Июн,
        ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП07
                    И ГрафикАренды.ДатаКонец >= &КП07
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Июл,
        ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП08
                    И ГрафикАренды.ДатаКонец >= &КП08
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Авг,
        ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП09
                    И ГрафикАренды.ДатаКонец >= &КП09
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Сен,
        ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП10
                    И ГрафикАренды.ДатаКонец >= &КП10
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Окт,
        ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП11
                    И ГрафикАренды.ДатаКонец >= &КП11
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Ноя,
        ВЫБОР
            КОГДА ГрафикАренды.ДатаНачало <= &НП12
                    И ГрафикАренды.ДатаКонец >= &КП12
                ТОГДА 1
            ИНАЧЕ 0
        КОНЕЦ КАК Дек
    
  10. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.760
    Симпатии:
    509
    Баллы:
    204
    Никакой оптимизации -Banhappy-
  11. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    1.Это вам надо в параметрах задать 12 периодов.
    2.А вдруг кому пото надо будте за пол года просмотреть? или за полтора
    3.А вдруг мне надо не с января по январь с марта по март?
    Will нравится это.
  12. TopicStarter Overlay
    Will
    Offline

    Will Опытный в 1С

    Регистрация:
    15 авг 2012
    Сообщения:
    551
    Симпатии:
    1
    Баллы:
    29
    Да, это очень негибкий вариант. Он подходит только если смотреть график строго за год.
    Согласна, что плохое решение.
  13. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.638
    Симпатии:
    948
    Баллы:
    204
    и строго с января по январь
    Will нравится это.
  14. TopicStarter Overlay
    Will
    Offline

    Will Опытный в 1С

    Регистрация:
    15 авг 2012
    Сообщения:
    551
    Симпатии:
    1
    Баллы:
    29
    Для поля ЕстьАренда сделала выражение:
    Код:
    ВЫБОР КОГДА ДатаНачало <= НАЧАЛОПЕРИОДА(ДатаКалендаря, "Месяц") И ДатаКонец >= КОНЕЦПЕРИОДА(ДатаКалендаря, "Месяц") ТОГДА "1" ИНАЧЕ "0" КОНЕЦ
    Получилось. Спасибо большое!!!

Поделиться этой страницей