Имя: Пароль:
1C
 
Период разложить по дням
0 dft2014
 
28.05.18
17:25
Пытаюсь период разложить по дням. Период указан на форме отчета (Объект.Дата1 и Объект.Дата2). Но почему-то теряется последний день периода. Например, указываю на форме период:
Дата1 = 01.12.2017
Дата2 = 31.12.2017
В результирующей ТЗ дня 31.12.2017 нет! Где ошибка?


ТЗ = Новый ТаблицаЗначений;
    ТЗ.Колонки.Добавить("День");
    ТЗ.Колонки.Добавить("Месяц");
    
    //Переберем все даты за период
    ТекДат = НачалоДня(Объект.Дата1);
    
    Пока Не ТекДат = НачалоДня(Объект.Дата2) Цикл
        
        //Добавим текущую дату в таблицу периодов
        НовСтр = ТЗ.Добавить();
        НовСтр.День = ТекДат;
        НовСтр.Месяц = Месяц(ТекДат);
        
        ТекДат = ТекДат+86400;//Добавим 1 День
        
        Количество1 = 0;
        
    КонецЦикла;
    ТЗ.ВыбратьСтроку();
1 anatoly
 
28.05.18
17:27
потому что:
    Пока Не ТекДат = НачалоДня(Объект.Дата2) Цикл
2 spiller26
 
28.05.18
17:28
(0) Так ты сам написал условие "Пока не 31 = 31 Цикл"
3 dft2014
 
28.05.18
17:29
(1), (2) А как тогда включить последний день периода в выборку?
4 dft2014
 
28.05.18
17:30
(2) я дама)
5 KindLion
 
28.05.18
17:31
Пока ТекДат <= НачалоДня(Объект.Дата2)
6 dft2014
 
28.05.18
17:33
(5) Точно! Спасибо!
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн