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


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 человек.
Рекламное место пустует