Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Есть ли в 7.7 реквизит для выбора времени?

v7: Есть ли в 7.7 реквизит для выбора времени?
Я
   iJuni
 
02.02.18 - 11:08
Есть ли какой способ для выбора времени в формате

24:59

?

На форму кинул реквизит диалога Дата и нужен такой же для выбора времени.
 
 
   Волшебник
 
Модератор
1 - 02.02.18 - 11:10
Переходи на 8, там это реализовано
   iJuni
 
2 - 02.02.18 - 11:11
(1) не, спасибо.
   MWWRuza
 
3 - 02.02.18 - 11:20
Через текстовое поле с шаблоном.
Только что оно Вам даст? Хранить тоже придется как строку...
   iJuni
 
4 - 02.02.18 - 11:21
(3) дате пример шаблона пожалуйста.
   MWWRuza
 
5 - 02.02.18 - 11:41
Там не шаблон, это называется маска: https://www.vdgb.ru/kompaniya/tehpodderzhka-1s/faq/pole-vvoda-maska/
Делайте - "99:99:99", будут вводиться только цифры, про две с  разделителем ":", а дальше пишите функцию, что-бы лишнего не могли ввести, например число минут больше 60... Как-то так, через Ж, но в 7.7 нет штатной функции для ввода времени.
   Смотрящий
 
6 - 02.02.18 - 12:01
Числом хранить
   vova1122
 
7 - 02.02.18 - 13:02
(0) С Получением почты уже разобрались?
да а время может хранится только в строковом виде .(Даже штатная функция ТекущееВремя() возвращает время в строковом виде.
Кстати что дальше собираетесь делать с этим временем?
   iJuni
 
8 - 02.02.18 - 13:53
(7) с почтой так и не разобрались.

Пишу модуль всплывающих напоминаний.
Напоминания хранятся в справочнике.напоминания.

есть реквизиты дата, время.

с определенным интервалом делается "ПрямойЗапрос" на Дату и время и показывает сообщение.

Хочется чтобы пользователь мог нормально выбрать это время.
пока пришел к такому:
Задали время - отработа процедура КорректировкаВремени()

как-то так.
   big
 
9 - 02.02.18 - 14:06
(7) Хранить лучше в числе, чтобы потом проще сравнивать было, да и в запросах удобнее.

Лучше будет хранить число Дата+время
   iJuni
 
10 - 02.02.18 - 14:07
с хранением я все уже решил, а вот с выбором 8(
 
 Рекламное место пустует
   Kigo_Kigo
 
11 - 02.02.18 - 14:31
   Kigo_Kigo
 
12 - 02.02.18 - 14:32
ПроверитьВводВремени() расписывать?
   MetaDon
 
13 - 02.02.18 - 14:56
(8) сделай спр.Напоминания текстовый код дата+время- 10 символов;) а уж по коду отбор запросом
   uno-group
 
14 - 02.02.18 - 15:24
Кидаешь текстовое поле включаешь для него обработку выбора значения. Перехватываешь начало редактирования открываешь свою форму с 2-3 полями. часы выбираешь через список значения. митуты можно списко мможно кнопками листать вверх низ +1+10
и -1-10 соответственно.
   uno-group
 
15 - 02.02.18 - 15:27
опять же если с точностью до миниты не нужны в напоминалках обычно достоточно до 5 минут, то можно в список закинуть 0,5,10,15,20,25,30,35,40,45,50,55,
   iJuni
 
16 - 02.02.18 - 15:55
(15) а вот это уже интереснее!
Чем проще тем лучше.
   iJuni
 
17 - 02.02.18 - 15:57
(12) Да, покажи как расписал ПроверитьВводВремени().
Спасибо.
   vova1122
 
18 - 02.02.18 - 16:15
(17) по приведенному примеру проверять ввод времени не нужно. Ты вводишь в список только нужные значения, а пользователь выбирает уже из этого списка. Неверного значения вообще небудет.
   vova1122
 
19 - 02.02.18 - 16:17
(17) если собрался писать, через "маску" как предлагали выше то проверяешь отдельно часы на <24 и отдельно минуты на <60
   vova1122
 
20 - 02.02.18 - 16:21
Упс. ответ (18) я написал предполагая что использовал вариант из (15)
   Kigo_Kigo
 
21 - 03.02.18 - 11:36
(17)
Процедура ПроверитьВводВремени()
    
    Часы = Число(Сред(Время,1,2));
    Минуты = Число(Сред(Время,4,2));
    Секунды = Число(Сред(Время,7,2));
    Если Часы > 24 Тогда
        Сообщить("Не верно введены часы");
        Время = "";
    КонецЕсли;
    Если Минуты > 60 Тогда
        Сообщить("Не верно введены минуты");
        Время = "";
    КонецЕсли;
    Если Секунды > 60 Тогда
        Сообщить("Не верно введены секунды");
        Время = "";
    КонецЕсли;

КонецПроцедуры
   MWWRuza
 
22 - 03.02.18 - 16:28
(21)Или лучше, запоминать что было, и при ошибке просто возвращать старое значение обратно, будет ощущение, что ввод ограничен нужным диапазоном в самом поле, хотя на самом деле будет процедура отрабатывать.
Код писать лень, сами напишите, главное - идея:)))
   NorthWind
 
23 - 03.02.18 - 18:32
(0) нет. В восьмерке тип даты хранит только дату, а время, если оно надо каждый хранит и рассчитывает сам как ему заблагорассудится. То же касается ввода - каждый лепит свой велосипед. Относительно полноценная работа с датой есть только начиная с восьмерки. "Относительно" - потому что мельче секунды интервалы не котирует.
   NorthWind
 
24 - 03.02.18 - 18:32
* в начале читать "в семерке"
   MWWRuza
 
25 - 03.02.18 - 20:09
(22)Ну, под рюмочку коньячка, за окончание ремонта на кухне, и лень прошла, и время появилось :)))
Вот:

Перем СтарЧасы,СтарМинутыы,СтарСекунды;

Процедура ПроверитьВводВремени()
    Ошибка = 0;
    Часы = Сред(Время,1,2);
    Минуты = Сред(Время,4,2);
    Секунды = Сред(Время,7,2);
    Если Число(Часы) > 24 Тогда
        Время = СтарЧасы + ":" + СтарМинутыы + ":" + СтарСекунды;
        Ошибка = 1;
    КонецЕсли;
    Если Число(Минуты) > 60 Тогда
        Время = СтарЧасы + ":" + СтарМинутыы + ":" + СтарСекунды; 
        Ошибка = 1;
    КонецЕсли;
    Если Число(Секунды) > 60 Тогда
        Время = СтарЧасы + ":" + СтарМинутыы + ":" + СтарСекунды;
        Ошибка = 1;
    КонецЕсли;
    Если Ошибка = 0 Тогда
        СтарЧасы = Сред(Время,1,2);
        СтарМинутыы = Сред(Время,4,2);
        СтарСекунды = Сред(Время,7,2);        
    КонецЕсли;    
КонецПроцедуры
   MWWRuza
 
26 - 03.02.18 - 20:30
Да, это... Если Вы время где-то храните, то надо переменные, описанные в начале модуля, заполнять при открытии формы, и изменять при любом другом изменении значения времени, кроме описанного в этой процедуре интерактивного(если такое будет).
   iJuni
 
27 - 04.02.18 - 16:29
(26) так и есть.
В запросе время сравниваю переведя в секунды часы и минуты.
   iJuni
 
28 - 04.02.18 - 16:29
секунды я не использую
   Злопчинский
 
29 - 06.02.18 - 01:21
где-то я делал ветку, где рассматривали варианты интерфейсного исполнения для быстрого ввода времени


Список тем форума
Рекламное место пустует  Рекламное место пустует
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует