К основному контенту

Сообщения

Показаны сообщения с ярлыком "Даты"

Запросы.Даты.Возраст

Пример простого запроса работы с датами для расчета Возраста (количество полных лет) на определенную дату (&ДатаСреза) ВЫБРАТЬ Т . ДатаРождения КАК ДатаРождения , ГОД ( &ДатаСреза) - ГОД(Т.ДатаРождения) - ВЫБОР КОГДА МЕСЯЦ ( Т . ДатаРождения ) > МЕСЯЦ ( &ДатаСреза) ТОГДА 1 КОГДА МЕСЯЦ ( Т . ДатаРождения ) = МЕСЯЦ ( &ДатаСреза) И ДЕНЬ ( Т . ДатаРождения ) > ДЕНЬ ( &ДатаСреза) ТОГДА 1 ИНАЧЕ 0 КОНЕЦ КАК Возраст ИЗ ( ВЫБРАТЬ ДОБАВИТЬКДАТЕ ( Т . ДатаРождения , ГОД , - 33 ) КАК ДатаРождения ИЗ ( ВЫБРАТЬ ДОБАВИТЬКДАТЕ ( &ДатаСреза, МЕСЯЦ, -1) КАК ДатаРождения ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДОБАВИТЬКДАТЕ ( &ДатаСреза, МЕСЯЦ, 1) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДОБАВИТЬКДАТЕ ( &ДатаСреза, ДЕНЬ, -1) ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДОБАВИТЬКДАТЕ ( &ДатаСреза, ДЕНЬ, 1)) КАК Т) КАК Т УПОРЯДОЧИТЬ ПО ДатаРождения Пример вывода для &ДатаСреза = ТекущаяДата() (13.06.2018) ...

1C 8.x Язык запросов. Даты, Период, По дням..

Столкнулся с тем, что не мог найти у себя готовый шаблон формирования в запросе Периода по дням, зная начальную и конечную дату, вида // Прибавляем к дате начала отчета все числа дней и отбираем при этом подходящие нам // то есть не больше даты конца отчета, получим все даты периода формирования ВЫБРАТЬ                  ДОБАВИТЬКДАТЕ ( &НачПериода ,  ДЕНЬ ,  ВТ_Линейка.Поле1 ) КАК  Дата ПОМЕСТИТЬ  ВТ_ВсеДаты ИЗ                  ВТ_Линейка  КАК  ВТ_Линейка ГДЕ                  ДОБАВИТЬКДАТЕ ( &НачПериода ,  ДЕНЬ ,  ВТ_Линейка.Поле1 ) < =  &КонПериода Хороший пример работы с датами в запросах можно посмотреть на примере календаря на СКД  http://infostart.ru/public/103472/