Имя: Пароль:
1C
 
Формат даты в запросе 1С
, ,
0 Shmidt
 
29.08.14
14:14
Затык в следующем. Необходимо выбирать контрагентов, у которых день рождения сегодня или через 2 дня. Как в запросе привести дату рождения к формату Число.Месяц, ведь год у каждого свой?
1 PR
 
29.08.14
14:15
НАЧАЛОПЕРИОДА
2 13_Mult
 
29.08.14
14:17
ДЕНЬ(<Дата>) МЕСЯЦ(<Дата>) ГОД(<Дата>)
3 1Сергей
 
29.08.14
14:17
(1) дату от даты отнимать?
4 Сметанин
 
29.08.14
14:17
Функции День, месяц. Неожиданно?
5 Shmidt
 
29.08.14
14:19
И что День Месяц нам дадут?
6 Shmidt
 
29.08.14
14:19
Равно как и началопериода?
7 1Сергей
 
29.08.14
14:21
ГДЕ Месяц(Сотр.ДатаРождения) = Месяц(ТекущаяДата) И День(Сотр.ДатаРождения) = День(ТекущаяДата)
8 13_Mult
 
29.08.14
14:21
(5) Число дня и число месяца!
9 Shmidt
 
29.08.14
14:22
Есть реквизит ДеньРождения (Дата)
Есть Параметры ДатаНачала и ДатаОкончания
ДатаНачала (ТекущаяДата); ДатаОкончания (ДатаНачала+60*60*48)

Условие: ДеньРождения МЕЖДУ ДатаНачала и ДатаОкончания
10 13_Mult
 
29.08.14
14:26
(9) Иииииии ?!
11 Wobland
 
29.08.14
14:26
(9) маладец! поздравлять?
12 Ненавижу 1С
 
гуру
29.08.14
14:28
добавитькдате(добавитькдате(началопериода(ДатаНачала,год),месяц,месяц(деньрождения)-1),день,день(деньрождения)-1) МЕЖДУ ДатаНачала и ДатаОкончания
13 Wobland
 
29.08.14
14:31
(12) а ты уверен, что человек хотел именно этого?
14 13_Mult
 
29.08.14
14:34
(13) Я уверен ))
маленько дополню(12)

ВЫБРАТЬ
    ФизическиеЛица.ДатаРождения,
    ФизическиеЛица.Наименование
ИЗ
    Справочник.ФизическиеЛица КАК ФизическиеЛица
ГДЕ
    ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&ДатаНачала, ГОД), МЕСЯЦ, МЕСЯЦ(ФизическиеЛица.ДатаРождения) - 1), ДЕНЬ, ДЕНЬ(ФизическиеЛица.ДатаРождения) - 1) МЕЖДУ &ДатаНачала И &ДатаОкончания
15 Shmidt
 
29.08.14
14:40
(14) Да! Спасибо то, что нужно. Осталось разобраться в коде (14)  )))
16 13_Mult
 
29.08.14
14:43
Лучше разберись в коде (12)
17 РенеДекарт
 
29.08.14
15:26
(12) (14) зачем искать день рождения месяц и день назад!??
вот это все
>добавитькдате(добавитькдате(началопериода(ДатаНачала,год),месяц,месяц(деньрождения)-1),день,день(деньрождения)-1)
- при 30.08 дает 29.07
Далее.
Зачем нужно
>НАЧАЛОПЕРИОДА(&ДатаНачала, ГОД)
, если начало периода можно и на месяц, и на день?
Почему используется
>ДОБАВИТЬКДАТЕ(..., ДЕНЬ, ДЕНЬ(ФизическиеЛица.ДатаРождения) - 1)
- в невисокосном феврале получите 29 или 30 дней, если вздумаете играться этим кодом 30-31 марта.
18 Крошка Ру
 
29.08.14
15:35
О_о А типа РАЗНОСТЬДАТ все умышленно игнорируют?
19 13_Mult
 
29.08.14
15:37
Можно и так:
ДОБАВИТЬКДАТЕ(ФизическиеЛица.ДатаРождения, ГОД, РАЗНОСТЬДАТ(ФизическиеЛица.ДатаРождения, &ДатаНачала, ГОД)) МЕЖДУ &ДатаНачала И &ДатаОкончания
20 Крошка Ру
 
29.08.14
15:37
Ну там, типа

ГДЕ РАЗНОСТЬДАТ(&Дата, &ТекДата, День)<=2
21 Wobland
 
29.08.14
15:39
человек спрашивает про формат даты, а вы ему тут про разность. мда...
22 Крошка Ру
 
29.08.14
15:41
(21) >>Необходимо выбирать контрагентов, у которых день рождения сегодня или через 2 дня

Где здесь про формат?
23 Wobland
 
29.08.14
15:41
24 Wobland
 
29.08.14
15:42
+(23) и мне плевать на то, что у автора проблемы с выражением мыслей ;)
25 13_Mult
 
29.08.14
15:43
(21) :)
26 13_Mult
 
29.08.14
15:45
(21) Тишина уже была нарушена после (12)
))
27 Wobland
 
29.08.14
15:46
нуда. ТС ушёл в астрал, и уже дискотека ;)
Независимо от того, куда вы едете — это в гору и против ветра!