Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Посчитать разницу между двумя реквизитами с типом Дата время (УправляемыеФормы)

Посчитать разницу между двумя реквизитами с типом Дата время (УправляемыеФормы)
Я
   asn-sasha
 
24.10.18 - 10:21
Здравствуйте уважаемые эксперты, прошу вашей помощи!

На форме документа есть следующие реквизиты:
1. НомерЗаказа - строковый тип
2. ЗаказВыдан - булево
3. ВремяСтарт - Дата время
4. ВремяФиниша - Дата время
5. ВремяЗатрачено - Дата время

Создал форму в которой - будет производиться заполнение времени при изменение/заполнение НомерЗаказа (будет заполняться время ВремяСтарт - работает чётко), ВремяФиниша тоже чётко заполняется когда на (булево чекбокс) жмёт ЗаказВыдан.
Но вот почему то немогу понять как посчитать ВремяЗатрачено, это разница между ВремяФиниша и ВремяСтарта.

// Старт

&НаКлиенте
Процедура НомерЗаказаПриИзменении(Элемент)
    Сообщить("Номер заказа заполнен!");
    РасчётСтарта();
КонецПроцедуры
&НаСервере
Процедура РасчётСтарта()
Объект.ВремяСтарта = ТекущаяДата();
КонецПроцедуры

// Финиш

&НаКлиенте
Процедура ЗаказВыданПриИзменении(Элемент)
    РасчётФиниша();
КонецПроцедуры
&НаСервере
Процедура РасчётФиниша()
Объект.ВремяФиниша = ТекущаяДата();
Финиш = Объект.ВремяФиниша;// вот тут обьявил переменную Финиш


//ВЫПОЛНЯЕТСЯ РАСЧЁТ ЗАТРАЧЕНОГО ВРЕМЕНИ ПРИ ЗАПОЛНЕНИЕ ВРЕМЕНИ ФИНИША

//Затрачено
Старт = Объект.ВремяСтарта;// вот тут обьявил переменную Старт

Объект.ВремяЗатрачено = Объект.ВремяФиниша - Объект.ВремяСтарта  ;
Затрачено = Объект.ВремяЗатрачено;// вот тут обьявил переменную Затрачено

Затрачено = Финиш - Старт;  // вот тут ПОЧЕМУ ТО НЕ СЧИТАЕТ И НЕ ЗАПОЛНЯЕТ ВРЕМЯЗАТРАЧЕНО

КонецПроцедуры
 
 
   asn-sasha
 
1 - 24.10.18 - 10:22
не заполняет мой реквизит Затрачено, господи помоги!
   Cyberhawk
 
2 - 24.10.18 - 10:23
Я тут. Давай в трех словах.
   asn-sasha
 
3 - 24.10.18 - 10:27
не могу отнять реквизиты Дата время от Дата время что бы получить разницу между ними в минутах и секундах
   asn-sasha
 
4 - 24.10.18 - 10:28
реквизиты с типо Дата время
   asn-sasha
 
5 - 24.10.18 - 10:28
Объект.ВремяЗатрачено = Объект.ВремяФиниша - Объект.ВремяСтарта  ;
   Cool_Profi
 
6 - 24.10.18 - 10:28
Отладчик молчит, как роза в проруби?
   asn-sasha
 
7 - 24.10.18 - 10:29
Затрачено (реквизит с типо Дата время то есть в минутах и секундах у меня), так же и Финиш и Старт (тоже реквизиты с типом Дата время)
   asn-sasha
 
8 - 24.10.18 - 10:32
непонятно с отладчиком этот момент - реквизит Затрачено даже не реагирует на то что я ПриИзменение Финиша его должен заполнить, а он не реагирует
   ZDenis
 
9 - 24.10.18 - 10:34
Разница дат - это количество секунд. А "ВремяЗатрачено" - у тебя какой тип имеет?
   ZDenis
 
10 - 24.10.18 - 10:37
Аа, в топе написал. Ну так и как он тебе секунды в дату переведет сам?
 
 Рекламное место пустует
   asn-sasha
 
11 - 24.10.18 - 10:40
1. НомерЗаказа - строковый тип
2. ЗаказВыдан - булево
3. ВремяСтарт - Дата время
4. ВремяФиниша - Дата время
5. ВремяЗатрачено - Дата время
   asn-sasha
 
12 - 24.10.18 - 10:41
они все почти имееют такой тип - Дата, Состав даты - Время
   asn-sasha
 
13 - 24.10.18 - 10:41
а как надо подскажите прошу вас!
   azernot
 
14 - 24.10.18 - 10:48
   ZDenis
 
15 - 24.10.18 - 10:49
(13) Еще раз. Разница дат - это число в секундах. Как можно секунды перевести в дату? Какой результат ты хочешь увидеть?:
1) 1 января 0001 года?
2) 1 день, 2 часа, 20 секунд?
   lodger
 
16 - 24.10.18 - 10:55
&НаСервере
Процедура РасчётФиниша()
Объект.ВремяФиниша = ТекущаяДата();
Объект.ВремяЗатрачено = Дата(1,1,1)+(Объект.ВремяФиниша - Объект.ВремяСтарта);  
КонецПроцедуры
   asn-sasha
 
17 - 24.10.18 - 10:56
Вот у меня в итоге так: (это старт)12:22:40 - 12:23:57 (финиш) = 1 минута 17 секунд  (затрачено в минутах и секундах). Так можно сделать ? Разность узнать Дат время?
   asn-sasha
 
18 - 24.10.18 - 11:00
СПАСИБО! Дай бог тебе здоровья и денег побольше lodger и всем кто помогал!
Объект.ВремяЗатрачено = Дата(1,1,1)+(Объект.ВремяФиниша - Объект.ВремяСтарта);
Подскажите пожалуйста внутри Даты параметры с тремя единицами это что значит? часы минуты секунды?
   catena
 
19 - 24.10.18 - 11:23
Синтаксис:

Дата(<Год>, <Месяц>, <День>, <Час>, <Минута>, <Секунда>)

Список тем форума
Рекламное место пустует  Рекламное место пустует
Основная теорема систематики: Новые системы плодят новые проблемы.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует