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

Как осуществить проверку даты. Нужна помощь

Как осуществить проверку даты. Нужна помощь
Я
   skorp3585
 
21.04.20 - 23:42
Подскажите кто знает как сделать проверку свободной даты. Происходит запись человека на дату, как сделать чтобы при записи на эту же дату происходила ошибка или чтобы при записи на эту дату пропадала услуга которая уже занята в эту дату?
   Lex_Liven
 
1 - 21.04.20 - 23:45
Если НачалоДня(Дата) = НачалоДня(ВтораяДата) Тогда

А дальше делай что хочешь.
   novichok79
 
2 - 21.04.20 - 23:47
Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ ПЕРВЫЕ 1
    |    1 КАК Поле1
    |ИЗ
    |    РегистрСведений.ЖурналЗаписей КАК Т
    |ГДЕ
    |    Т.ДатаЗаписи = &ДатаЗаписи
    |    И Т.Сотрудник = &Сотрудник";
    
    Запрос.УстановитьПараметр("ДатаЗаписи", ДатаЗаписи);
    Запрос.УстановитьПараметр("Сотрудник", Сотрудник);
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Если Выборка.Следующий() Тогда 
        
        ВызватьИсключение СтрШаблон(НСтр("ru='Сотрудник %1 уже записан на дату %2'"), Сотрудник, ДатаЗаписи);
        
    КонецЕсли;
   Lex_Liven
 
3 - 21.04.20 - 23:48
(2) НАЧАЛОПЕРИОДА(Т.ДатаЗаписи,ДЕНЬ) = НАЧАЛОПЕРИОДА(&ДатаЗаписи,ДЕНЬ)
тогда уж...
   novichok79
 
4 - 21.04.20 - 23:49
(2) я думаю смысл понятен.
   novichok79
 
5 - 21.04.20 - 23:49
(3) а кто сказал что датазаписи типа датавремя?
   Lex_Liven
 
6 - 21.04.20 - 23:50
(5) А никто не сказал ничего. Но если там не ДатаВремя, то мой код не сломается, а вот если ДатаВремя - то ваш не сработает.
   novichok79
 
7 - 21.04.20 - 23:51
(6) вы правы, приведение к началу дня делать надо, у вас в запросе, но можно и в параметре. в общем, пускай молодой падаван учится.
   Lex_Liven
 
8 - 21.04.20 - 23:52
(7) В запросе - потому что запись в регистре теоретически тоже может быть не на начало дня.
   novichok79
 
9 - 21.04.20 - 23:54
(8) зависит от структуры метаданных, а ТС не сообщил о ней ничего.
   Lex_Liven
 
10 - 21.04.20 - 23:55
(9) Так именно поэтому я и даю максимально универсальный вариант согласно «ТЗ».
   novichok79
 
11 - 21.04.20 - 23:55
(10) и это замечательно )))
   skorp3585
 
12 - 23.04.20 - 09:12
(2) За код спасибо, попробую. Ещё говорят есть способ через Регистр сведений, может кто подскажет как это осуществить?
   fisher
 
13 - 23.04.20 - 09:16
(12) Если сделать зависимый периодический регистр сведений (движения которого пишутся документом) с периодичностью до дня, то попытка записи другим документом на ту же дату по той же комбинации измерений приведет к ошибке (уникальность данных по комбинациям измерений и периоду контролируется платформой).
   fisher
 
14 - 23.04.20 - 09:22
Ну а попытка записи таких "дублей" одним набором приведет к ошибке и в независимом регистре сведений. Просто если разными наборами писать, то в независимом регистре сведений данные просто перепишутся поверх. А в зависимом регистре сведений данные можно менять только с отбором по регистратору и поэтому выдаст ошибку.

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