Индикатор. В чем косяк?
☑
0
Klesk
09.06.13
✎
15:49
Ставлю период - год, индикатор уже на середине показывает 100 %
ВсегоДней=День(Период.ДатаОкончания)-День(Период.ДатаНачала)+1;
Счетчик=0;
НачалоТекущийПериод=Период.ДатаНачала;
КонецТекущийПериод=КонецДня(Период.ДатаНачала);
УстановитьАктивностьДвиженийПоРегистрам(,Истина);
Пока КонецТекущийПериод<=Период.ДатаОкончания Цикл
ИсправитьОстатки(НачалоТекущийПериод,КонецТекущийПериод);
Счетчик=Счетчик+1;
Индикатор=Счетчик*100/ВсегоДней;
ОбработкаПрерыванияПользователя();
Состояние("Обработана дата " + Формат(НачалоТекущийПериод,"ДФ='dd MMMM yyyy'"),Индикатор);
НачалоТекущийПериод=НачалоДня(НачалоТекущийПериод+24*60*60);
КонецТекущийПериод=КонецДня(НачалоТекущийПериод);
КонецЦикла;
Предупреждение(" Обработка завершена");
1
Wobland
09.06.13
✎
15:56
хреново ВсегоДней считаешь
2
Ковычки
09.06.13
✎
15:57
(1)+
3
Wobland
09.06.13
✎
15:58
а сколько дней в году по этому методу?
4
Klesk
09.06.13
✎
16:27
спасибо, переделал так
ВсегоДней=(Период.ДатаОкончания-Период.ДатаНачала)/60/60/24;
5
Wobland
09.06.13
✎
16:32
(4) без пяти полночь сегодня и пять минут первого завтра - 10 минут - это ноль дней?
6
Klesk
09.06.13
✎
17:29
(5) я понял надо добавить НачалоДня КонецДня, но не сильно принципиально
7
Klesk
09.06.13
✎
17:30
(6) + в моем случае
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший