|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
DasTPID
16.08.11
✎
17:50
|
Добрый день!
Требуется отобрать людей, у которых сегодня, завтра или послезавтра день рождения. Как это делаю я: ГДЕ (День(...) = &Д1 и Месяц(...) = &М1) ИЛИ (День(...) = &Д2 и Месяц(...) = &М2) ИЛИ (День(...) = &Д3 и Месяц(...) = &М3) а потом расставляю параметры, учитывая что Д2 необязательно равно Д1+1. Вместо трёх точек читать СотрудникиОрганизаций.Физлицо.ДатаРождения Вопрос: как это сделать красиво (с меньшим расходом букв)? |
|||
1
Scooter
16.08.11
✎
18:00
|
(0)смотри в типовых, уже придумано
|
|||
2
Wassily
16.08.11
✎
18:00
|
(ДЕНЬГОДА(ФизическиеЛица.ДатаРождения) = ДЕНЬГОДА(&ДатаРождения)
ИЛИ ДЕНЬГОДА(ФизическиеЛица.ДатаРождения) = ДЕНЬГОДА(&ДатаРождения)+1 ИЛИ ДЕНЬГОДА(ФизическиеЛица.ДатаРождения) = ДЕНЬГОДА(&ДатаРождения)+2) Только високосные годы могут выдать раннюю дату |
|||
3
DasTPID
16.08.11
✎
18:20
|
(1) я в 1С чайник, поэтому не совсем понимаю что значит "смотреть в типовые", можно подробнее?
(2) Високосные года - это проблема. |
|||
4
I_Stranger
16.08.11
✎
18:51
|
имеются ввиду типовые конфигурации типа УТП, УПП.
|
|||
5
DrHiHi
16.08.11
✎
19:04
|
(0) можно еще такой изврат написать
ДобавитьКДате(СотрудникиОрганизаций.Физлицо.ДатаРождения, Год, &РазницаГодов)между &ДатаС И &ДатаПо |
|||
6
DrHiHi
16.08.11
✎
19:05
|
(6)туплю
ДобавитьКДате(СотрудникиОрганизаций.Физлицо.ДатаРождения, Год, год(&ДатаС) -ГОД(СотрудникиОрганизаций.Физлицо.ДатаРождения))между &ДатаС И &ДатаПо |
|||
7
asady
16.08.11
✎
20:26
|
выбрать
&ДеньРождения КАК ДР ПОМЕСТИТЬ ВТ_ДР ОБЪЕДИНИТЬ ВСЕ ДОБАВИТЬКДАТЕ(&ДеньРождения,ДЕНЬ,1) ОБЕДИНИТЬ ВСЕ ДОБАВИТЬКДАТЕ(&ДеньРождения,ДЕНЬ,-1) ; ВЫБРАТЬ СОТРУДНИКИ.Ссылка, ВТ_ДР.ДР ИЗ ВТ_ДР КАК ВТ_ДР Левое соединение Справочник.СотрудникиОрганизаций КАК Сотрудники ПО Сотрудники.ФизЛицо.ДеньРождения=ВТ_ДР.ДР писал с листа - нужно проверять в клнструкторе |
|||
8
artbear
16.08.11
✎
21:17
|
(7) Пипец, ради такой простой задачи создавать ВТ :(
Совсем не гуд. И нужно проверять неявное соединение через Сотрудники.ФизЛицо.ДеньРождения А самое главное - код-то нерабочий в принципе :( Люди рождаются в разные годы, а у тебя только одна дата, без учета годов. Короче, совсем все плохо. Хороший вариант в (2) Но, возможно, еще быстрее будет сделать 3 (три) почти одинаковых запроса с одним простейшим условием (каждый запрос свое условие) и объединить их через ОБЪЕДИНИТЬ ВСЕ. Такой метод часто дает ускорение. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |