AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.09.2011, 11:00   #1  
raniel is offline
raniel
Участник
Аватар для raniel
 
239 / 11 (1) +
Регистрация: 20.10.2006
Добрый день!
Нужно получить разницу времени. Никак не выходит
max, min, Result тип Time

TimeV тип Variant

TimeV := max - min;
EVALUATE(Result,FORMAT(TimeV)); Так не отрабатывате
Result := VARIANT2TIME(TimeV); так тоже
EVALUATE(Result,FORMAT(max - min)); это тоже не работает
Result := VARIANT2TIME(max - min);

Ругается что не может перевести.... типа не коректное число.
max однозначно больше min
Max < 24 часов
Заранее спасибо!
Старый 27.09.2011, 11:49   #2  
Cheb is offline
Cheb
Участник
Лучший по профессии 2017
 
138 / 13 (1) ++
Регистрация: 22.09.2002
Адрес: Ростов-на-Дону -> Москва
Не понимаю, зачем так сложно

Может быть, так лучше:

max, min тип Time
Result тип Integer, либо Duration
Result := max - min;
Старый 27.09.2011, 12:03   #3  
Kadawrik is offline
Kadawrik
Участник
 
279 / 11 (1) +
Регистрация: 04.11.2010
Цитата:
Сообщение от chebv Посмотреть сообщение
Не понимаю, зачем так сложно

Может быть, так лучше:

max, min тип Time
Result тип Integer, либо Duration
Result := max - min;
Смею предположить, что ТС хочет видеть разницу не в миллисекундах, а в формате ЧЧ:ММ:СС
Старый 27.09.2011, 12:57   #4  
Cheb is offline
Cheb
Участник
Лучший по профессии 2017
 
138 / 13 (1) ++
Регистрация: 22.09.2002
Адрес: Ростов-на-Дону -> Москва
Тогда так:

Result тип Time
Result := 000000T + (max - min)
Старый 27.09.2011, 13:10   #5  
Kadawrik is offline
Kadawrik
Участник
 
279 / 11 (1) +
Регистрация: 04.11.2010
Цитата:
Сообщение от chebv Посмотреть сообщение
Тогда так:

Result тип Time
Result := 000000T + (max - min)
Я так пробовала, с той лишь разницей, что перед буквой Т только один ноль рисовала. В таком варианте не прокатило. Не подскажете, почему?
0T и 000000T - это разве не одно и то же "нулевое" время должно быть?
Старый 27.09.2011, 13:44   #6  
Cheb is offline
Cheb
Участник
Лучший по профессии 2017
 
138 / 13 (1) ++
Регистрация: 22.09.2002
Адрес: Ростов-на-Дону -> Москва
Цитата:
Сообщение от Kadawrik Посмотреть сообщение
Я так пробовала, с той лишь разницей, что перед буквой Т только один ноль рисовала. В таком варианте не прокатило. Не подскажете, почему?
0T и 000000T - это разве не одно и то же "нулевое" время должно быть?
000000T - это нулевое время "0:00:00", а 0T - неопределенное.
Старый 27.09.2011, 14:21   #7  
raniel is offline
raniel
Участник
Аватар для raniel
 
239 / 11 (1) +
Регистрация: 20.10.2006
Спасибо Result := 000000T + (max - min) помогло!
Старый 27.09.2011, 14:45   #8  
Alex Che is offline
Alex Che
Участник
 
74 / 10 (1) +
Регистрация: 04.04.2006
Цитата:
Сообщение от chebv Посмотреть сообщение
000000T - это нулевое время "0:00:00", а 0T - неопределенное.
У меня работает даже с двумя нулями: 00T.
Старый 27.09.2011, 15:14   #9  
Kadawrik is offline
Kadawrik
Участник
 
279 / 11 (1) +
Регистрация: 04.11.2010
Цитата:
Сообщение от chebv Посмотреть сообщение
000000T - это нулевое время "0:00:00", а 0T - неопределенное.
Спасибо. Будем знать!
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:24.