Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 16:53

Работа с типом Дата

Автор Кот_Леопольд, 26 сен 2018, 10:27

0 Пользователей и 1 гость просматривают эту тему.

Кот_Леопольд

Добрый день. Столкнулся сегодня с типом Дата. У меня следующая задача: Есть реквизит НачальноеВремя (тип Дата) КонечноеВремя (Тип Дата) и ВремяРаботы (тип Число), мне нужно вычислить КонечноеВремя = НачальноеВремя + ВремяРаботы; Я преобразовал ВремяРаботы к типу Дата:
Часов = Цел(ВремяОсождения / 60/60);
       Минут = Цел(ВремяОсождения/60)  - Часов * 60;
       Секунд = Окр(((ВремяОсождения/60/60 - Часов) * 60 - Минут) * 60, 0);
       Объект.ВремяОсожденияО1В1 = Дата(1, 1, 1, Часов, Минут, Секунд);

Но понял что нет сложения у типа Даты. Я так понимая мне нужно наоборот НачальноеВремя преобразовать к типу число, затем НачальноеВремя + ВремяРаботы и результат преобразовать к типу Дата.
Вопрос правильно ли я все делаю. И есть ли вариант по оптимальней???
P.S: Отнесись с пониманием, я только учусь!!!
Конфигурацию пишу сам, платформа 8.3.

alexandr_ll

Цитата: Кот_Леопольд от 26 сен 2018, 10:27
Добрый день. Столкнулся сегодня с типом Дата. У меня следующая задача: Есть реквизит НачальноеВремя (тип Дата) КонечноеВремя (Тип Дата) и ВремяРаботы (тип Число), мне нужно вычислить КонечноеВремя = НачальноеВремя + ВремяРаботы; Я преобразовал ВремяРаботы к типу Дата:
Часов = Цел(ВремяОсождения / 60/60);
       Минут = Цел(ВремяОсождения/60)  - Часов * 60;
       Секунд = Окр(((ВремяОсождения/60/60 - Часов) * 60 - Минут) * 60, 0);
       Объект.ВремяОсожденияО1В1 = Дата(1, 1, 1, Часов, Минут, Секунд);

Но понял что нет сложения у типа Даты. Я так понимая мне нужно наоборот НачальноеВремя преобразовать к типу число, затем НачальноеВремя + ВремяРаботы и результат преобразовать к типу Дата.
Вопрос правильно ли я все делаю. И есть ли вариант по оптимальней???
P.S: Отнесись с пониманием, я только учусь!!!
Конфигурацию пишу сам, платформа 8.3.
Время работы перевести в секунды и прибавить к начальной дате
http://1cguide.ru/programmirovanie-1s/kak-v-1s-programmno-dobavit-k-date-den.html

Кот_Леопольд

ЦитироватьВремя работы перевести в секунды и прибавить к начальной дате
http://1cguide.ru/programmirovanie-1s/kak-v-1s-programmno-dobavit-k-date-den.html
Блин все гениальное проста. Самое интересное я побывал, первым способом проста прибавить секунды, выдавало ошибку, что не возможно преобразовать тип Число (ну или что то на под обе). Прочитал статью решил еще раз все попробовать и первый же способ прокатил. Так что большое спасибо!!!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск