|
Как в запросе выбрать по числу и месяцу? |
☑ |
0
Samir
21.12.16
✎
10:04
|
Никак не соображу как по реквизиту справочника типа дата выбрать до числу и месяцу
Есть справочник ИнформационныеКарты, у него реквизит ДеньРождения, необходимо сделать запрос и выбрать например на 21.12
|
|
1
shuhard
21.12.16
✎
10:05
|
(0) приведи к началу дня и сравни
|
|
2
Вафель
21.12.16
✎
10:09
|
вычти год рождения
|
|
3
Вафель
21.12.16
✎
10:10
|
и прибавь текущий год
|
|
4
Samir
21.12.16
✎
10:10
|
(1) Это понятно, но как отобрать по числу и месяцу без года
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ИнформационныеКарты.Ссылка
|ИЗ
| Справочник.ИнформационныеКарты КАК ИнформационныеКарты";
Запрос.УстановитьПараметр("ДеньРождения", ТекущаяДата());
РезультатЗапроса = Запрос.Выполнить();
Вот тут надо сравнить по дате и месяцу рождения, он же еще и год хватает
|
|
5
FIXXXL
21.12.16
✎
10:12
|
МЕСЯЦ()
ДЕНЬ()
|
|
6
FIXXXL
21.12.16
✎
10:13
|
(5) + ну или заведи служебные поля Месяц и День и по ним строй отбор при записи объекта выцепляй из даты и пиши в реквизиты
|
|
7
Samir
21.12.16
✎
10:13
|
(5) Как влепить в запрос?
|
|
8
xaozai
21.12.16
✎
10:15
|
ВЫБРАТЬ
Спр.Дата
ИЗ
Справочник.СпрСДатой КАК Спр
ГДЕ
ДЕНЬ(Спр.Дата) = 21
И МЕСЯЦ(Спр.Дата) = 12
|
|
9
xaozai
21.12.16
✎
10:18
|
ВЫБРАТЬ
Спр.Дата
ИЗ
Справочник.СпрСДатой КАК Спр
ГДЕ
ДЕНЬ(Спр.Дата) = ДЕНЬ(&ТекДата)
И МЕСЯЦ(Спр.Дата) = МЕСЯЦ(&ТекДата)
|
|
10
marvak
21.12.16
✎
10:20
|
Выбрать всех контрагентов у кого ДР входит в заданный интервал:
|ВЫБРАТЬ
| Контрагенты.Ссылка КАК Контрагент,
| Контрагенты.ДатаРождения КАК ДатаРождения
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| НЕ Контрагенты.ЭтоГруппа
| И Контрагенты.ЮрФизЛицо = &ФизЛицо
| И Контрагенты.ДатаРождения <> ДАТАВРЕМЯ(1,1,1)
| И ВЫБОР
| КОГДА ((ДОБАВИТЬКДАТЕ(Контрагенты.ДатаРождения, ГОД, (ГОД(&ДатаНач) - ГОД(Контрагенты.ДатаРождения))) >= &ДатаНач
| И ДОБАВИТЬКДАТЕ(Контрагенты.ДатаРождения, ГОД, (ГОД(&ДатаНач) - ГОД(Контрагенты.ДатаРождения))) <= &ДатаКон)
| ИЛИ (ДОБАВИТЬКДАТЕ(Контрагенты.ДатаРождения, ГОД, (ГОД(&ДатаКон) - ГОД(Контрагенты.ДатаРождения))) <= &ДатаКон
| И ДОБАВИТЬКДАТЕ(Контрагенты.ДатаРождения, ГОД, (ГОД(&ДатаКон) - ГОД(Контрагенты.ДатаРождения))) >= &ДатаНач)) ТОГДА
| ИСТИНА
| ИНАЧЕ
| ЛОЖЬ
| КОНЕЦ
|
|
11
Samir
21.12.16
✎
10:27
|
(9) Большое человеческое Вам спасибо.
Удачи Вам и хорошего Вам настроения
|
|