Имя: Пароль:
1C
1С v8
Сравнение времени в обработке
,
0 Black Dragon
 
03.02.15
11:02
Доброго времени суток!

Хочу сделать чтобы обработка запускалась и останавливалась по времени. Для этого на форме добавил реквизиты ВремяСтарта и ВремяОстанова, у каждого соответственно состав Время

Написал код для контроля:

Функция ПроверитьВремяСтарта()
    
    ТекДата  = ТекущаяДата();
    ТекВремя = ТекДата - НачалоДня(ТекДата);
    
    Если ТекВремя < ВремяСтарта Тогда
        Возврат Ложь;
    Иначе
        Возврат Истина;
    КонецЕсли;
    
КонецФункции

Выдает ошибку о невозможности сравнения

Попробовал так:

Функция ПроверитьВремяСтарта()
    
    ТекДата  = ТекущаяДата();
    ТекВремяСтарта = НачалоДня(ТекДата) + ВремяСтарта;
    ТекВремя = ТекДата - НачалоДня(ТекДата);
    
    Если ТекВремя < ТекВремяСтарта Тогда
        Возврат Ложь;
    Иначе
        Возврат Истина;
    КонецЕсли;
    
КонецФункции

Тоже ошибка о невозможности преобразованию к типу число

Кто нибудь знает как правильно это сделать?
1 Smallrat
 
03.02.15
11:04
дату с числом сравниваете
2 nordbox
 
03.02.15
11:04
А фоновые задания отменили?
3 deniseek
 
03.02.15
11:04
(0) ТекВремя = ТекДата - НачалоДня(ТекДата); это число в секундах
4 nordbox
 
03.02.15
11:07
(0) ты сделай так
Сообщить(ТекДата);
Сообщить(НачалоДня(ТекДата));
Посмотри
5 Black Dragon
 
03.02.15
11:07
(2) это не фоновое задание, пользователь будет ручками запускать, так надо
6 Black Dragon
 
03.02.15
11:10
а как преобразовать к числу время из реквизита формы?
7 Мимохожий Однако
 
03.02.15
11:11
(6) Число(ДатаТвоя)
8 Black Dragon
 
03.02.15
11:24
Функция ПроверитьВремяСтарта()
    
    ТекДата  = ТекущаяДата();
    ТекВремяСтарта = Час(ВремяСтарта)*3600 + Минута(ВремяСтарта)*60 + Секунда(ВремяСтарта);
    ТекВремя = Час(ТекДата)*3600 + Минута(ТекДата)*60 + Секунда(ТекДата);
    
    Если ТекВремя < ТекВремяСтарта Тогда
        Возврат Ложь;
    Иначе
        Возврат Истина;
    КонецЕсли;
    
КонецФункции
9 Black Dragon
 
03.02.15
11:25
и кто-то там сказал что началодня() = число ???
10 Black Dragon
 
03.02.15
11:26
(7) это ошибка преобразования типа
11 Smallrat
 
03.02.15
11:28
(9) в примере в (0) ТекВремя = ТекДата - НачалоДня(ТекДата); ТекВремя будет числом.
12 Black Dragon
 
03.02.15
11:29
(9) я про (4)
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший