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



Дата

Дата
Я
   Никкккк
 
31.08.18 - 14:49
Приветствую!Есть поле, где я ввожу число,например, 150. В другом поле нужно получить время в формате "2 часа 30 минут". Подкиньте идеи,как можно реализовать это
 
 
   PR
 
1 - 31.08.18 - 14:50
Да
   Buster007
 
2 - 31.08.18 - 14:51
дели на 60
   sitex
 
3 - 31.08.18 - 14:56
Господи это жесть!
   Волшебник
 
4 - 31.08.18 - 14:57
Если поле1 = 150 Тогда 
   поле2 = "2 часа 30 минут" 
КонецЕсли;
   Лефмихалыч
 
5 - 31.08.18 - 14:58
аа... мы продаем или покупаем?
   dmt
 
6 - 31.08.18 - 14:59
управляемые формы или обычные?
   Wirtuozzz_Х
 
7 - 31.08.18 - 15:23
(0) В ПКО надо не забыть указать Объект.ОбменДанными = Ложь;
   fgaabbb
 
8 - 31.08.18 - 15:56
(7) нет, Значение = "2 часа 30 минут";
   Ненавижу 1С
 
9 - 31.08.18 - 16:15
Минуты = Значение%60;
Часы = (Значение-Минуты)/60;
   Волшебник
 
10 - 31.08.18 - 16:18
(9) Теперь осталось просклонять "часы" и "минуты"
 
 Рекламное место пустует
   Малыш Джон
 
11 - 31.08.18 - 16:21
?(Часы = 1,"час", ?(Часы > 1 И Часы < 5, "часа", часов"));
   Волшебник
 
12 - 31.08.18 - 16:24
(11) 21?
   Михаил Козлов
 
13 - 31.08.18 - 16:25
(12) Применять (11) к младшему разряду.
   Timon1405
 
14 - 31.08.18 - 16:25
(13) 11?
   Малыш Джон
 
15 - 31.08.18 - 16:42
(12)
?(Часы = 1,Формат(Часы, "ЧГ=0")+" час", ?(Часы > 1 И Часы < 5, Формат(Часы, "ЧГ=0")+" часа", "много часов"));
   gret
 
16 - 31.08.18 - 16:44
Примерно так вышло...

Процедура РасчетВремениНажатие(Элемент)
    
    Минуты = ЭлементыФормы.ПолеВводаМинут.Значение;//например, вводим значение в поле ввода на форме

    Часы = Цел(Минуты / 60);
    Минуты = Минуты - Часы * 60;
    Сообщить (Строка(Часы) + ПолучитьЧасыСтрокой(Часы) + Строка(Минуты) + ПолучитьМинутыСтрокой(Минуты));
    
КонецПроцедуры

Функция ПолучитьЧасыСтрокой (Часы)
    
    Если (Часы % 10 = 0) ИЛИ (Часы % 10 = 5) ИЛИ (Часы % 10 = 6) ИЛИ (Часы % 10 = 7) ИЛИ (Часы % 10 = 8) ИЛИ (Часы % 10 = 9) ИЛИ 
        (Часы = 11) ИЛИ (Часы = 11) ИЛИ (Часы = 13) ИЛИ (Часы = 14) Тогда
        ЧасыСтрокой = " часов ";
    ИначеЕсли Часы % 10 = 1 Тогда
        ЧасыСтрокой = " час ";
    Иначе 
        ЧасыСтрокой = " часа ";
    КонецЕсли;
    Возврат ЧасыСтрокой;
    
КонецФункции 

Функция ПолучитьМинутыСтрокой (Минуты)
    
    Если (Минуты % 10 = 0) ИЛИ (Минуты % 10 = 5) ИЛИ (Минуты % 10 = 6) ИЛИ (Минуты % 10 = 7) ИЛИ (Минуты % 10 = 8) ИЛИ (Минуты % 10 = 9) ИЛИ 
        (Минуты = 11) ИЛИ (Минуты = 11) ИЛИ (Минуты = 13) ИЛИ (Минуты = 14) Тогда
        МинутыСтрокой = " минут ";
    ИначеЕсли Минуты % 10 = 1 Тогда
        МинутыСтрокой = " минута ";
    Иначе 
        МинутыСтрокой = " минуты ";
    КонецЕсли;
    Возврат МинутыСтрокой;
    
КонецФункции
   Asmody
 
17 - 31.08.18 - 16:51
ВК надо делать
   Lexey_
 
18 - 31.08.18 - 16:53
а как же СтрокаСЧислом?


Строка = СтрокаСЧислом(";остался %1 день;;осталось %1 дня;осталось %1 дней;осталось %1 дня",
    ДнейДоНовогоГода,
    ВидЧисловогоЗначения.Количественное,
    "L=ru");
Строка = "До Нового Года " + Строка;
   dmt
 
19 - 31.08.18 - 16:58
(16) наверняка надо запросом, ща афтор придет
   azernot
 
20 - 31.08.18 - 17:22
Когда-то давно писал так:

Функция ВремяПрописью(КоличествоМинут)
    Часов = Цел(КоличествоМинут/60);
    Минут = КоличествоМинут - Часов * 60;
    
    ЧасыПрописью = СтрЗаменить(ЧислоПрописью(Часов, "Л = ru_RU", "час, часа, часов, м,,,,,0"), ЧислоПрописью(Часов, "Л = ru_RU", ",,,м,,,,,0"), "");
    МинутыПрописью = СтрЗаменить(ЧислоПрописью(Минут, "Л = ru_RU", "минута, минуты, минут, ж,,,,,0"), ЧислоПрописью(Минут, "Л = ru_RU", ",,,ж,,,,,0"), "");
    
    Возврат Формат(Часов, "ЧЦ=2; ЧН=0; ЧГ=")+" "+ЧасыПрописью+" "+Формат(Минут, "ЧЦ=2; ЧН=0; ЧГ=")+" "+МинутыПрописью;
    
КонецФункции
   hhhh
 
21 - 31.08.18 - 18:35
(15) ?(Целое(Часы / 10) % 10 = 1, "часов", ?(Часы % 10 = 1, "час", ?(Часы % 10 > 1 И Часы % 10 < 5, "часа", часов")));
   Germes
 
22 - 31.08.18 - 19:08
Сидел наверное чел на собеседовании, вы за него тест выполнили. А если его примут на работу - справится ли он со всеми задачами, не подведет ли работодателя?
   Волшебник
 
23 - 31.08.18 - 19:20
(22) нам пофиг
   dmt
 
24 - 31.08.18 - 19:37
(22) мы даем ему путевку в жизнь и шанс стать профессионалом!
   dmt
 
25 - 31.08.18 - 19:39
ВЫБРАТЬ
    выбор когда &Число = 0 тогда 0 иначе ВЫРАЗИТЬ(&Число / 60 - 0.5 КАК ЧИСЛО(15, 0)) конец КАК Часы,
    выбор когда &Число = 0 тогда 0 иначе &Число - (ВЫРАЗИТЬ(&Число / 60 - 0.5 КАК ЧИСЛО(15, 0))) * 60 конец КАК Минуты
поместить ВТ
;

Выбрать Т.Часы,
    "час" + выбор когда (Т.Часы - ВЫРАЗИТЬ(Т.Часы / 10 - 0.5 КАК ЧИСЛО(15, 0))*10 между 5 И 10) ИЛИ (Т.Часы - ВЫРАЗИТЬ(Т.Часы / 10 - 0.5 КАК ЧИСЛО(15, 0))*10 = 0) ИЛИ (ВЫРАЗИТЬ(Т.Часы - 0.5 КАК ЧИСЛО(15, 0)) между 11 И 14) тогда "ов"
        когда Т.Часы - ВЫРАЗИТЬ(Т.Часы / 10 - 0.5 КАК ЧИСЛО(15, 0))*10 = 1 тогда ""
        иначе "а" 
        конец КАК ЧасыСтрока,
    Т.Минуты,
    "минут" + выбор когда (Т.Минуты - ВЫРАЗИТЬ(Т.Минуты / 10 - 0.5 КАК ЧИСЛО(15, 0))*10 между 5 И 10) ИЛИ (Т.Минуты - ВЫРАЗИТЬ(Т.Минуты / 10 - 0.5 КАК ЧИСЛО(15, 0))*10 = 0) ИЛИ (ВЫРАЗИТЬ(Т.Минуты - 0.5 КАК ЧИСЛО(15, 0)) между 11 И 14)  тогда ""
        когда Т.Минуты - ВЫРАЗИТЬ(Т.Минуты / 10 - 0.5 КАК ЧИСЛО(15, 0))*10 = 1 тогда "а"
        иначе "ы" 
        конец КАК МинутыСтрока
из ВТ КАК Т

----------------------
Часы    ЧасыСтрока    Минуты    МинутыСтрока
2    часа    30    минут
----------------------
   Fram
 
26 - 31.08.18 - 20:41
(25) не поленился же


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