Нужно создать внешний отчет. Суть: Пользователь выбирает период (дата1, дата2), нажимает "Сформировать", получает таблицу с ФИО людей, у которых день рождения в этот период. То есть не учитывается год рождения, а только месяц и день.
Например, период на вход с 10.08.2021 по 12.08.2021. В отчете будут все люди у которых день рождения с 10.08 по 12.08.
Условие: Обработку по периоду нужно сделать по СКД и языку запросов.
Как создать запрос, который будет учитывать период?
Например, период на вход с 10.08.2021 по 12.08.2021. В отчете будут все люди у которых день рождения с 10.08 по 12.08.
Условие: Обработку по периоду нужно сделать по СКД и языку запросов.
Как создать запрос, который будет учитывать период?
ВЫБРАТЬ
ДанныеПациентов.Пациент КАК Пациент,
ДанныеПациентов.ДатаРождения КАК ДатаРождения,
ЕСТЬNULL(КонтактнаяИнформацияПациента.Представление, "Нет контактов") КАК Представление
ИЗ
РегистрСведений.ДанныеПациентов КАК ДанныеПациентов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформацияПациента КАК КонтактнаяИнформацияПациента
ПО ДанныеПациентов.Пациент = КонтактнаяИнформацияПациента.Пациент
ПоказатьПо теме из базы знаний
Найденные решения
(17)
Не-не, так не работает. Проверьте: НачалоПериода = 29.12.2020 0:00:00, КонецПериода = 03.01.2021 0:00:00, ДатаРождения = 31.10.2020 0:00:00. Результат будет ложно положительным, а не должен. Все из-за того, что год "затирается" в ноль, чего в 1С не может быть, и всете годом сбрасывается месяц в 1.
Нужно -ГОД(Дата), заменить на -(ГОД(Дата)-1), т.е.
ВЫБОР
КОГДА ГОД(&НачалоПериода) = ГОД(&КонецПериода)
ТОГДА ДОБАВИТЬКДАТЕ(ДатаРождения, ГОД, -ГОД(ДатаРождения)) МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ГОД, -ГОД(&НачалоПериода)) И ДОБАВИТЬКДАТЕ(&КонецПериода, ГОД, -ГОД(&КонецПериода))
КОГДА ГОД(&КонецПериода)-ГОД(&НачалоПериода) = 1
ТОГДА ДОБАВИТЬКДАТЕ(ДатаРождения, ГОД, -ГОД(ДатаРождения)) МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ГОД, -ГОД(&НачалоПериода)) И ДАТАВРЕМЯ(1,12,31)
ИЛИ ДОБАВИТЬКДАТЕ(ДатаРождения, ГОД, -ГОД(ДатаРождения)) МЕЖДУ ДАТАВРЕМЯ(1,1,1) И ДОБАВИТЬКДАТЕ(&КонецПериода, ГОД, -ГОД(&КонецПериода))
ИНАЧЕ ИСТИНА
КОНЕЦ
Не-не, так не работает. Проверьте: НачалоПериода = 29.12.2020 0:00:00, КонецПериода = 03.01.2021 0:00:00, ДатаРождения = 31.10.2020 0:00:00. Результат будет ложно положительным, а не должен. Все из-за того, что год "затирается" в ноль, чего в 1С не может быть, и всете годом сбрасывается месяц в 1.
Нужно -ГОД(Дата), заменить на -(ГОД(Дата)-1), т.е.
ВЫБОР
КОГДА ГОД(&НачалоПериода) = ГОД(&КонецПериода)
ТОГДА ДОБАВИТЬКДАТЕ(&ДатаРождения, ГОД, -(ГОД(&ДатаРождения)-1)) МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ГОД, -(ГОД(&НачалоПериода)-1)) И ДОБАВИТЬКДАТЕ(&КонецПериода, ГОД, -(ГОД(&КонецПериода)-1))
КОГДА ГОД(&КонецПериода) - ГОД(&НачалоПериода) = 1
ТОГДА ДОБАВИТЬКДАТЕ(&ДатаРождения, ГОД, -(ГОД(&ДатаРождения)-1)) МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ГОД, -(ГОД(&НачалоПериода)-1)) И ДАТАВРЕМЯ(1, 12, 31)
ИЛИ ДОБАВИТЬКДАТЕ(&ДатаРождения, ГОД, -(ГОД(&ДатаРождения)-1)) МЕЖДУ ДАТАВРЕМЯ(1, 1, 1) И ДОБАВИТЬКДАТЕ(&КонецПериода, ГОД, -(ГОД(&КонецПериода)-1))
ИНАЧЕ ИСТИНА
КОНЕЦ
ВЫБРАТЬ
ФизическиеЛица.Ссылка КАК Ссылка,
ДОБАВИТЬКДАТЕ(ФизическиеЛица.ДатаРождения, ГОД, РАЗНОСТЬДАТ(ФизическиеЛица.ДатаРождения, &Дата2, ГОД)) КАК ДеньРождения
ИЗ
Справочник.ФизическиеЛица КАК ФизическиеЛица
ГДЕ
ДОБАВИТЬКДАТЕ(ФизическиеЛица.ДатаРождения, ГОД, РАЗНОСТЬДАТ(ФизическиеЛица.ДатаРождения, &Дата2, ГОД)) МЕЖДУ &Дата1 И &Дата2
Что-то вроде такого:
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ, МЕСЯЦ(&НачалоПериода) - 1), ДЕНЬ, ДЕНЬ(&НачалоПериода) - 1) КАК НачальнаяДата,
ВЫБОР
КОГДА ГОД(&НачалоПериода) = ГОД(&КонецПериода)
ТОГДА ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ, МЕСЯЦ(&НачалоПериода) - 1), ДЕНЬ, ДЕНЬ(&НачалоПериода) - 1)
ИНАЧЕ ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2, 1, 1), МЕСЯЦ, МЕСЯЦ(&НачалоПериода) - 1), ДЕНЬ, ДЕНЬ(&НачалоПериода) - 1)
КОНЕЦ КАК КонечнаяДата
ПОМЕСТИТЬ втПериод
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ДанныеПациентов.Пациент КАК Пациент,
ДанныеПациентов.ДатаРождения КАК ДатаРождения
ИЗ
РегистрСведений.ДанныеПациентов КАК ДанныеПациентов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформацияПациента КАК КонтактнаяИнформацияПациента
ПО ДанныеПациентов.Пациент = КонтактнаяИнформацияПациента.Пациент,
втПериод КАК втПериод
ГДЕ
(ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ, МЕСЯЦ(ДанныеПациентов.ДатаРождения) - 1), ДЕНЬ, ДЕНЬ(ДанныеПациентов.ДатаРождения) - 1) МЕЖДУ втПериод.НачальнаяДата И втПериод.КонечнаяДата
ИЛИ ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2, 1, 1), МЕСЯЦ, МЕСЯЦ(ДанныеПациентов.ДатаРождения) - 1), ДЕНЬ, ДЕНЬ(ДанныеПациентов.ДатаРождения) - 1) МЕЖДУ втПериод.НачальнаяДата И втПериод.КонечнаяДата)
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Добавь условие {Где ДанныеПациентов.ДатаРождения Между &ДатаНачало и &ДатаКонец}, на вкладке параметры появятся нужные параметры. Можно сделать параметр с типом период и настроить что ДатаНАчало и ДатаКонец буду заполняться из периода, так будет визуально более удобно на форме отчета.
ВЫБРАТЬ
ФизическиеЛица.Ссылка КАК Ссылка,
ДОБАВИТЬКДАТЕ(ФизическиеЛица.ДатаРождения, ГОД, РАЗНОСТЬДАТ(ФизическиеЛица.ДатаРождения, &Дата2, ГОД)) КАК ДеньРождения
ИЗ
Справочник.ФизическиеЛица КАК ФизическиеЛица
ГДЕ
ДОБАВИТЬКДАТЕ(ФизическиеЛица.ДатаРождения, ГОД, РАЗНОСТЬДАТ(ФизическиеЛица.ДатаРождения, &Дата2, ГОД)) МЕЖДУ &Дата1 И &Дата2
Формируете запрос програмно анализируя введенный интервал
Потом скармливаете таблицузначений СКД как источник данных, пример (в адресе убрать пробелы): http :// 1c8xx.ru/skdtzof.php
Потом скармливаете таблицузначений СКД как источник данных, пример (в адресе убрать пробелы): http :// 1c8xx.ru/skdtzof.php
ПериодНачало = '20201201'; // берется из параметров СКД
ПериодКонец = '20210115'; // берется из параметров СКД
ТекстЗапроса = "ВЫБРАТЬ
| Сотрудники.Ссылка КАК Ссылка,
| Сотрудники.ДатаРождения КАК ДатаРождения
|ИЗ
| Справочник.Сотрудники КАК Сотрудники
|ГДЕ
| Сотрудники.ДатаРождения <> &ПустаяДата
| И
| (МЕСЯЦ(Сотрудники.ДатаРождения) >= &МесяцНачало1 И МЕСЯЦ(Сотрудники.ДатаРождения) <= &МесяцКонец1)
| И
| (ДЕНЬ(Сотрудники.ДатаРождения) >= &ДеньНачало1 И ДЕНЬ(Сотрудники.ДатаРождения) <= &ДеньКонец1)
|";
Запрос = Новый Запрос;
Если Год(ПериодНачало) = Год(ПериодКонец) Тогда
Запрос.УстановитьПараметр("МесяцНачало1", Месяц(ПериодНачало));
Запрос.УстановитьПараметр("МесяцКонец1", Месяц(ПериодКонец));
Запрос.УстановитьПараметр("ДеньНачало1", День(ПериодНачало));
Запрос.УстановитьПараметр("ДеньКонец1", День(ПериодКонец));
Иначе
Запрос.УстановитьПараметр("МесяцНачало1", Месяц(ПериодНачало));
Запрос.УстановитьПараметр("МесяцКонец1", 12);
Запрос.УстановитьПараметр("ДеньНачало1", День(ПериодНачало));
Запрос.УстановитьПараметр("ДеньКонец1", 31);
Запрос.УстановитьПараметр("МесяцНачало2", 1);
Запрос.УстановитьПараметр("МесяцКонец2", Месяц(ПериодКонец));
Запрос.УстановитьПараметр("ДеньНачало2", 1);
Запрос.УстановитьПараметр("ДеньКонец2", День(ПериодКонец));
ТекстЗапроса = ТекстЗапроса + "
|ОБЪЕДИНИТЬ
|
|ВЫБРАТЬ
| Сотрудники.Ссылка,
| Сотрудники.ДатаРождения
|ИЗ
| Справочник.Сотрудники КАК Сотрудники
|ГДЕ
| Сотрудники.ДатаРождения <> &ПустаяДата
| И
| (МЕСЯЦ(Сотрудники.ДатаРождения) >= &МесяцНачало2 И МЕСЯЦ(Сотрудники.ДатаРождения) <= &МесяцКонец2)
| И
| (ДЕНЬ(Сотрудники.ДатаРождения) >= &ДеньНачало2 И ДЕНЬ(Сотрудники.ДатаРождения) <= &ДеньКонец2)
|";
КонецЕсли;
Запрос.УстановитьПараметр("ПустаяДата", '00010101');
Запрос.Текст = ТекстЗапроса;
Результат = Запрос.Выполнить();
ТаблДляСКД = Результат.Выгрузить();
Показать
Что-то вроде такого:
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ, МЕСЯЦ(&НачалоПериода) - 1), ДЕНЬ, ДЕНЬ(&НачалоПериода) - 1) КАК НачальнаяДата,
ВЫБОР
КОГДА ГОД(&НачалоПериода) = ГОД(&КонецПериода)
ТОГДА ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ, МЕСЯЦ(&НачалоПериода) - 1), ДЕНЬ, ДЕНЬ(&НачалоПериода) - 1)
ИНАЧЕ ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2, 1, 1), МЕСЯЦ, МЕСЯЦ(&НачалоПериода) - 1), ДЕНЬ, ДЕНЬ(&НачалоПериода) - 1)
КОНЕЦ КАК КонечнаяДата
ПОМЕСТИТЬ втПериод
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ДанныеПациентов.Пациент КАК Пациент,
ДанныеПациентов.ДатаРождения КАК ДатаРождения
ИЗ
РегистрСведений.ДанныеПациентов КАК ДанныеПациентов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформацияПациента КАК КонтактнаяИнформацияПациента
ПО ДанныеПациентов.Пациент = КонтактнаяИнформацияПациента.Пациент,
втПериод КАК втПериод
ГДЕ
(ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ, МЕСЯЦ(ДанныеПациентов.ДатаРождения) - 1), ДЕНЬ, ДЕНЬ(ДанныеПациентов.ДатаРождения) - 1) МЕЖДУ втПериод.НачальнаяДата И втПериод.КонечнаяДата
ИЛИ ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2, 1, 1), МЕСЯЦ, МЕСЯЦ(ДанныеПациентов.ДатаРождения) - 1), ДЕНЬ, ДЕНЬ(ДанныеПациентов.ДатаРождения) - 1) МЕЖДУ втПериод.НачальнаяДата И втПериод.КонечнаяДата)
Показать
получился какой-то такой монстр, пока не понял как его оптимизировать
но все равно есть ограничения по периоду, пока такая интервал/длина периода не должна превышать год (тогда просто все ДР можно показывать)
а вот для периода в одном году или на смене годов, такое условие получилось
но все равно есть ограничения по периоду, пока такая интервал/длина периода не должна превышать год (тогда просто все ДР можно показывать)
а вот для периода в одном году или на смене годов, такое условие получилось
Где
Выбор
//вариант когда интервал в пределах Года
Когда Месяц(&Дата1) <= Месяц(&Дата2)
Тогда Месяц(ДР) между Месяц(&Дата1) и Месяц(&Дата2)
и Выбор
Когда Месяц(ДР) = Месяц(&Дата1) и День(ДР) < День(&Дата1) Тогда Ложь
Когда Месяц(ДР) = Месяц(&Дата2) и День(ДР) > День(&Дата2) Тогда Ложь
Иначе Истина
Конец
//интервал в разных годах
Иначе Месяц(ДР) >= Месяц(&Дата1) или Месяц(ДР) <= Месяц(&Дата2)
и Выбор
Когда Месяц(ДР) = Месяц(&Дата1) и День(ДР) < День(&Дата1) Тогда Ложь
Когда Месяц(ДР) = Месяц(&Дата2) и День(ДР) > День(&Дата2) Тогда Ложь
Иначе Истина
Конец
Конец
Показать
(11) наверно опечатка была, при таком коде работает
ТОГДА ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), МЕСЯЦ, МЕСЯЦ(&КонецПериода) - 1), ДЕНЬ, ДЕНЬ(&КонецПериода) - 1)
ИНАЧЕ ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(2, 1, 1), МЕСЯЦ, МЕСЯЦ(&КонецПериода) - 1), ДЕНЬ, ДЕНЬ(&КонецПериода) - 1)
ВЫБОР
КОГДА ГОД(&НачалоПериода) = ГОД(&КонецПериода)
ТОГДА ДОБАВИТЬКДАТЕ(ДатаРождения, ГОД, -ГОД(ДатаРождения)) МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ГОД, -ГОД(&НачалоПериода)) И ДОБАВИТЬКДАТЕ(&КонецПериода, ГОД, -ГОД(&КонецПериода))
КОГДА ГОД(&КонецПериода)-ГОД(&НачалоПериода) = 1
ТОГДА ДОБАВИТЬКДАТЕ(ДатаРождения, ГОД, -ГОД(ДатаРождения)) МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ГОД, -ГОД(&НачалоПериода)) И ДАТАВРЕМЯ(1,12,31)
ИЛИ ДОБАВИТЬКДАТЕ(ДатаРождения, ГОД, -ГОД(ДатаРождения)) МЕЖДУ ДАТАВРЕМЯ(1,1,1) И ДОБАВИТЬКДАТЕ(&КонецПериода, ГОД, -ГОД(&КонецПериода))
ИНАЧЕ ИСТИНА
КОНЕЦ
Показать
(17)
Не-не, так не работает. Проверьте: НачалоПериода = 29.12.2020 0:00:00, КонецПериода = 03.01.2021 0:00:00, ДатаРождения = 31.10.2020 0:00:00. Результат будет ложно положительным, а не должен. Все из-за того, что год "затирается" в ноль, чего в 1С не может быть, и всете годом сбрасывается месяц в 1.
Нужно -ГОД(Дата), заменить на -(ГОД(Дата)-1), т.е.
ВЫБОР
КОГДА ГОД(&НачалоПериода) = ГОД(&КонецПериода)
ТОГДА ДОБАВИТЬКДАТЕ(ДатаРождения, ГОД, -ГОД(ДатаРождения)) МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ГОД, -ГОД(&НачалоПериода)) И ДОБАВИТЬКДАТЕ(&КонецПериода, ГОД, -ГОД(&КонецПериода))
КОГДА ГОД(&КонецПериода)-ГОД(&НачалоПериода) = 1
ТОГДА ДОБАВИТЬКДАТЕ(ДатаРождения, ГОД, -ГОД(ДатаРождения)) МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ГОД, -ГОД(&НачалоПериода)) И ДАТАВРЕМЯ(1,12,31)
ИЛИ ДОБАВИТЬКДАТЕ(ДатаРождения, ГОД, -ГОД(ДатаРождения)) МЕЖДУ ДАТАВРЕМЯ(1,1,1) И ДОБАВИТЬКДАТЕ(&КонецПериода, ГОД, -ГОД(&КонецПериода))
ИНАЧЕ ИСТИНА
КОНЕЦ
Не-не, так не работает. Проверьте: НачалоПериода = 29.12.2020 0:00:00, КонецПериода = 03.01.2021 0:00:00, ДатаРождения = 31.10.2020 0:00:00. Результат будет ложно положительным, а не должен. Все из-за того, что год "затирается" в ноль, чего в 1С не может быть, и всете годом сбрасывается месяц в 1.
Нужно -ГОД(Дата), заменить на -(ГОД(Дата)-1), т.е.
ВЫБОР
КОГДА ГОД(&НачалоПериода) = ГОД(&КонецПериода)
ТОГДА ДОБАВИТЬКДАТЕ(&ДатаРождения, ГОД, -(ГОД(&ДатаРождения)-1)) МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ГОД, -(ГОД(&НачалоПериода)-1)) И ДОБАВИТЬКДАТЕ(&КонецПериода, ГОД, -(ГОД(&КонецПериода)-1))
КОГДА ГОД(&КонецПериода) - ГОД(&НачалоПериода) = 1
ТОГДА ДОБАВИТЬКДАТЕ(&ДатаРождения, ГОД, -(ГОД(&ДатаРождения)-1)) МЕЖДУ ДОБАВИТЬКДАТЕ(&НачалоПериода, ГОД, -(ГОД(&НачалоПериода)-1)) И ДАТАВРЕМЯ(1, 12, 31)
ИЛИ ДОБАВИТЬКДАТЕ(&ДатаРождения, ГОД, -(ГОД(&ДатаРождения)-1)) МЕЖДУ ДАТАВРЕМЯ(1, 1, 1) И ДОБАВИТЬКДАТЕ(&КонецПериода, ГОД, -(ГОД(&КонецПериода)-1))
ИНАЧЕ ИСТИНА
КОНЕЦ
Добавлю свой вариант в копилку монструозных решений (((
ВЫБРАТЬ
0 КАК Цифра
ПОМЕСТИТЬ ВТЦифры
ОБЪЕДИНИТЬ
ВЫБРАТЬ
1
ОБЪЕДИНИТЬ
ВЫБРАТЬ
2
ОБЪЕДИНИТЬ
ВЫБРАТЬ
3
ОБЪЕДИНИТЬ
ВЫБРАТЬ
4
ОБЪЕДИНИТЬ
ВЫБРАТЬ
5
ОБЪЕДИНИТЬ
ВЫБРАТЬ
6
ОБЪЕДИНИТЬ
ВЫБРАТЬ
7
ОБЪЕДИНИТЬ
ВЫБРАТЬ
8
ОБЪЕДИНИТЬ
ВЫБРАТЬ
9
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
Тысячи.Цифра * 1000 + Сотни.Цифра * 100 + Десятки.Цифра * 10 + Единицы.Цифра КАК Дней
ПОМЕСТИТЬ ВТСписокДней
ИЗ
ВТЦифры КАК Тысячи,
ВТЦифры КАК Сотни,
ВТЦифры КАК Десятки,
ВТЦифры КАК Единицы
ГДЕ
Тысячи.Цифра * 1000 + Сотни.Цифра * 100 + Десятки.Цифра * 10 + Единицы.Цифра <= РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, МЕСЯЦ)
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(&НачалоПериода, МЕСЯЦ, ВТСписокДней.Дней) КАК Период
ПОМЕСТИТЬ ВТПериоды
ИЗ
ВТСписокДней КАК ВТСписокДней
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ФизическиеЛица.Ссылка КАК ФизЛицо,
ФизическиеЛица.ДатаРождения КАК ДатаРождения,
ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДОБАВИТЬКДАТЕ(ДАТАВРЕМЯ(1, 1, 1), ГОД, ГОД(ВТПериоды.Период) - 1), МЕСЯЦ, МЕСЯЦ(ФизическиеЛица.ДатаРождения) - 1), ДЕНЬ, ДЕНЬ(ФизическиеЛица.ДатаРождения) - 1) КАК ДеньРожденияВПериоде
ПОМЕСТИТЬ ВТДниРожденияВПериоде
ИЗ
Справочник.ФизическиеЛица КАК ФизическиеЛица
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТПериоды КАК ВТПериоды
ПО (МЕСЯЦ(ВТПериоды.Период) = МЕСЯЦ(ФизическиеЛица.ДатаРождения))
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТДниРожденияВПериоде.ФизЛицо КАК ФизЛицо,
ВТДниРожденияВПериоде.ДатаРождения КАК ДатаРождения,
ВТДниРожденияВПериоде.ДеньРожденияВПериоде КАК ДеньРожденияВПериоде
ИЗ
ВТДниРожденияВПериоде КАК ВТДниРожденияВПериоде
ГДЕ
ВТДниРожденияВПериоде.ДеньРожденияВПериоде МЕЖДУ &НачалоПериода И &КонецПериода
УПОРЯДОЧИТЬ ПО
ДеньРожденияВПериоде
;
//////////////////////////////////////////////////////////// ////////////////////
УНИЧТОЖИТЬ ВТЦифры
;
//////////////////////////////////////////////////////////// ////////////////////
УНИЧТОЖИТЬ ВТСписокДней
;
//////////////////////////////////////////////////////////// ////////////////////
УНИЧТОЖИТЬ ВТПериоды
;
//////////////////////////////////////////////////////////// ////////////////////
УНИЧТОЖИТЬ ВТДниРожденияВПериоде
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот