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

Как сравнить 2 даты без года?

Автор nc1318, 27 ноя 2017, 14:41

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

nc1318

Создал кнопку, при нажатие должно происходить напоминание о ДР сотрудника, проблема в том,  что необходимо сравнить лишь день и месяц. Делаю таким образом:

&НаСервереБезКонтекста
Функция ПоискДРНаСервере(Ссылка)
   
   Запрос = Новый Запрос();
   Запрос.Текст = "ВЫБРАТЬ
                  |   СотрудникПример.Дата,
                  |   СотрудникПример.Наименование
                  |ИЗ
                  |   Справочник.СотрудникПример КАК СотрудникПример
                  |ГДЕ
                  |   СотрудникПример.Дата = &Дата";
               
   Запрос.УстановитьПараметр("Дата",Ссылка);
   Выборка = Запрос.Выполнить().Выбрать();
   Выборка.Следующий();
   Возврат Выборка.Наименование;

КонецФункции

&НаКлиенте
Процедура ПоискДР(Команда)
   ДатаТекущаяНовая = НачалоДня(ТекущаяДата());
   Сообщить(ПоискДРНаСервере(ДатаТекущаяНовая));   
КонецПроцедуры

nc1318

Цитата: nc1318 от 27 ноя 2017, 14:41
Создал кнопку, при нажатие должно происходить напоминание о ДР сотрудника, проблема в том,  что необходимо сравнить лишь день и месяц. Делаю таким образом:

&НаСервереБезКонтекста
Функция ПоискДРНаСервере(Ссылка)
   
   Запрос = Новый Запрос();
   Запрос.Текст = "ВЫБРАТЬ
                  |   СотрудникПример.Дата,
                  |   СотрудникПример.Наименование
                  |ИЗ
                  |   Справочник.СотрудникПример КАК СотрудникПример
                  |ГДЕ
                  |   СотрудникПример.Дата = &Дата";
               
   Запрос.УстановитьПараметр("Дата",Ссылка);
   Выборка = Запрос.Выполнить().Выбрать();
   Выборка.Следующий();
   Возврат Выборка.Наименование;

КонецФункции

&НаКлиенте
Процедура ПоискДР(Команда)
   ДатаТекущаяНовая = НачалоДня(ТекущаяДата());
   Сообщить(ПоискДРНаСервере(ДатаТекущаяНовая));   
КонецПроцедуры


Все, сделал)

&НаСервереБезКонтекста
Функция ПоискДРНаСервере(Ссылка)
   
   Запрос = Новый Запрос();
   Запрос.Текст = "ВЫБРАТЬ
                  |   СотрудникПример.Дата,
                  |   СотрудникПример.Наименование
                  |ИЗ
                  |   Справочник.СотрудникПример КАК СотрудникПример";
                              
   РезультатЗапроса = Запрос.Выполнить();                           
   ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
   
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
      
      ДРСотрудника = Формат(ВыборкаДетальныеЗаписи.Дата,"ДФ=ddMM");
      ДатаТекущаяНовая = Формат(НачалоДня(ТекущаяДата()),"ДФ=ddMM");
      Если ДРСотрудника = ДатаТекущаяНовая Тогда
         Возврат ВыборкаДетальныеЗаписи.Наименование;
      КонецЕсли;
   КонецЦикла;

КонецФункции

&НаКлиенте
Процедура ПоискДР(Команда)
   
   ДатаТекущаяНовая = НачалоДня(ТекущаяДата());
   Сообщить("День рождение: " + ПоискДРНаСервере(ДатаТекущаяНовая));
   
КонецПроцедуры


Теги:

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

Рейтинг@Mail.ru

Поиск