Имя: Пароль:
1C
1С v8
Месяцы в периоде
0 Andrey2C
 
01.09.15
13:15
Здравствуйте. Подскажите,пожалуйста, как можно реализовать следующее. Задаем период допустим с 01.06.2015 по 31.08.2015 и в результате получаем записи вида:
Июнь 2015
Июль 2015
Август 2015
Форматировать период понятно как:
Формат(Период, "ДФ='ММММ гггг'");
А как это сделать за те месяцы которые входят в период?

Заранее благодарен за ответы.
1 Брегорьян
 
01.09.15
13:15
чо?
2 Джинн
 
01.09.15
13:16
ВЫБРАТЬ РАЗЛИЧНЫЕ
НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ) КАК Период
    ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
3 ДенисЧ
 
01.09.15
13:16
картинка_с_британским_летчиком.пнг

что за запрос? где получаем?
Выражовывайтесь яснее...
4 Джинн
 
01.09.15
13:17
(2) + Ну и условие на вхождение даты в период
5 itlikbez
 
01.09.15
13:17
(0) Добавляй по одному месяцу к началу и выводи, пока не выведешь последний.
6 Andrey2C
 
01.09.15
13:53
(3) 2 поля на форме. В 1 поле начало периода, а во втором конец. И в цикле хочу получить все входящие в период месяцы. (5) Добавлять количество дней чтоли? Просто в каждом месяце количество дней разное.
7 Брегорьян
 
01.09.15
13:54
(6) добавляй месяц
8 Kondarat
 
01.09.15
14:06
ТекстЗапроса = "ВЫБРАТЬ
    |    НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ) КАК Период
    |ИТОГИ ПО
    |    Период ПЕРИОДАМИ(МЕСЯЦ, &НачалоПериода, &КонецПериода)";
    
    Запрос = Новый Запрос(ТекстЗапроса);
    Запрос.УстановитьПараметр("НачалоПериода",НачПериода);
    Запрос.УстановитьПараметр("КонецПериода",КонПериода);
    Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"Период","Все");
    Пока Выборка.Следующий() Цикл
        Сообщить("Период = " + Выборка.Период);
    КонецЦикла;
9 itlikbez
 
01.09.15
14:14
(6) Добавлять надо секунду.

КонецМесяца(текдата)+1;
10 Andrey2C
 
01.09.15
14:22
(4) Спасибо сделал так:    ЗапросПоМесяцам = Новый Запрос;
                    ЗапросПоМесяцам.Текст =
                    "ВЫБРАТЬ РАЗЛИЧНЫЕ
                    |НАЧАЛОПЕРИОДА(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, МЕСЯЦ) КАК Период
                    | ИЗ
                    |РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
                    |ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря >= &ДатаНачала
                    |И   РегламентированныйПроизводственныйКалендарь.ДатаКалендаря <= &ДатаКонца";
                    ЗапросПоМесяцам.УстановитьПараметр("ДатаНачала",ДатаНачала);
                    ЗапросПоМесяцам.УстановитьПараметр("ДатаКонца",ДатаКонца);
                    ВыборкаПоМесяцам = ЗапросПоМесяцам.Выполнить().Выбрать();
                    
                    Пока ВыборкаПоМесяцам.Следующий() Цикл
                         Сообщить(ВыборкаПоМесяцам.Период);
                    КонецЦикла; (8) Хотя и так тоже можно. Всем спасибо за ответы! Способов много короче. Чет сам не сообразил)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн