8.х Разность времени

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем AmoZ, 16 фев 2011.

  1. TopicStarter Overlay
    AmoZ
    Offline

    AmoZ Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    123
    Симпатии:
    0
    Баллы:
    26
    Доброго времени суток!
    Есть три реквизита в документе:
    ВремяПрибытия, ВремяУбытия, Часы.
    У всех тип данных - Дата, состав даты - Время.

    Необходимо из "ВремяУбытия" вычесть "ВремяПрибытия"... При этом "ВремяУбытия" всегда больше "ВремяПрибытия".
    В поле Часы должно выводится, к примеру, "1:20:00", то бишь 1 час 20 минут.
    "ВремяУбытия" при этом ставится 19:20:00, а "ВремяПрибытия" 18:00:00.

    Подскажите как это можно реализовать?
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Формат(ВремяУбытия-ВремяПрибытия, "ДЛФ=T");
  3. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Так попробуйте:
    Код:
    Если ВремяПрибытия > ВремяУбытия Тогда
    Секунды = (КонецДня(ВремяПрибытия) - ВремяПрибытия) + (ВремяУбытия - НачалоДня(ВремяУбытия)) + 1;
    Иначе
    Секунды = ВремяУбытия - ВремяПрибытия;
    КонецЕсли;
    Часы = Секунды; // Если так не получится, то вместо этого раскомментировать строки ниже
    //Часов = Цел(Секунды / 3600);
    //Минут = Цел((Секунды - Часов * 3600) / 60);
    //Секунд = Секунды - Часов * 3600 - Минут * 60;
    //Часы = Дата(1, 1, 1, Часов, Минут, Секунд);
    
  4. TopicStarter Overlay
    AmoZ
    Offline

    AmoZ Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    123
    Симпатии:
    0
    Баллы:
    26
    Получилось, но только с раскомментированными строчками.
    Спасибо!

Поделиться этой страницей