Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 15:15

Сложный запрос

Автор Nargal777, 09 ноя 2024, 18:34

0 Пользователей и 1 гость просматривают эту тему.

Nargal

Afinogen, Родитель будет всегда, если ему была начислена компенсация. Если ребенок не ходил месяц в садик, то компенсации не будет.

Я выше писал, что упростил запрос и убрал много данных. МНе просто нужно понять как правильно соединять кучу данных в запросе. Вот все данные которые нужны по родителю и ребенку. Я ребенка пока что убрал..

ВЫБРАТЬ
ЖурналУчетаКРП.Плательщик КАК Родитель,
СУММА(ЖурналУчетаКРП.СуммаКомпенсации) КАК Сумма,
ВЫРАЗИТЬ(ЖурналУчетаКРП.Плательщик.ЮридическоеФизическоеЛицо КАК Справочник.ФизическиеЛица) КАК ФизЛицоРодитель
ПОМЕСТИТЬ Компенсация
ИЗ
РегистрСведений.ЖурналУчетаКомпенсацииРодительскойПлаты КАК ЖурналУчетаКРП
ГДЕ
ЖурналУчетаКРП.НачалоПериода >= &НачалоПериода
И ЖурналУчетаКРП.КонецПериода <= &КонецПериода

СГРУППИРОВАТЬ ПО
ЖурналУчетаКРП.Плательщик,
ВЫРАЗИТЬ(ЖурналУчетаКРП.Плательщик.ЮридическоеФизическоеЛицо КАК Справочник.ФизическиеЛица)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Компенсация.Родитель КАК Родитель,
Компенсация.ФизЛицоРодитель.СтраховойНомерПФР КАК СНИЛС,
Компенсация.ФизЛицоРодитель.ДатаРождения КАК ДатаРождения,
ФИОФизическихЛицСрезПоследних.Фамилия КАК Фамилия,
ФИОФизическихЛицСрезПоследних.Имя КАК Имя,
ФИОФизическихЛицСрезПоследних.Отчество КАК Отчество,
ДокументыФизическихЛицСрезПоследних.ВидДокумента КАК ВидДокумента,
ДокументыФизическихЛицСрезПоследних.Серия КАК Серия,
ДокументыФизическихЛицСрезПоследних.Номер КАК Номер,
ДокументыФизическихЛицСрезПоследних.ДатаВыдачи КАК ДатаВыдачи,
ДокументыФизическихЛицСрезПоследних.КемВыдан КАК КемВыдан,
СУММА(Компенсация.Сумма) КАК Сумма
ИЗ
Компенсация КАК Компенсация
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыФизическихЛиц.СрезПоследних КАК ДокументыФизическихЛицСрезПоследних
ПО Компенсация.ФизЛицоРодитель = ДокументыФизическихЛицСрезПоследних.Физлицо
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизическихЛиц.СрезПоследних КАК ФИОФизическихЛицСрезПоследних
ПО Компенсация.ФизЛицоРодитель = ФИОФизическихЛицСрезПоследних.ФизическоеЛицо

СГРУППИРОВАТЬ ПО
Компенсация.Родитель,
Компенсация.ФизЛицоРодитель.СтраховойНомерПФР,
Компенсация.ФизЛицоРодитель.ДатаРождения,
ФИОФизическихЛицСрезПоследних.Фамилия,
ФИОФизическихЛицСрезПоследних.Имя,
ФИОФизическихЛицСрезПоследних.Отчество,
ДокументыФизическихЛицСрезПоследних.Серия,
ДокументыФизическихЛицСрезПоследних.Номер,
ДокументыФизическихЛицСрезПоследних.ДатаВыдачи,
ДокументыФизическихЛицСрезПоследних.КемВыдан,
ДокументыФизическихЛицСрезПоследних.ВидДокумента

УПОРЯДОЧИТЬ ПО
Родитель
АВТОУПОРЯДОЧИВАНИЕ

Максим75

Nargal, ну и сюда еще одно левое соединение с ребенком, вроде как у Вас в том же регистре сведений ФИОФИзическихЛиц, только разименуйте их чтобы не пересекались.

Nargal

Максим75, да спасибо. Я и пытался изначально так сделать только не понял как... Как разименовать) Мне надо ещё раз регистры этот взять? и связь на ребенка что ли установить?

Так?
ВЫБРАТЬ
ЖурналУчетаКРП.Плательщик КАК Родитель,
ЖурналУчетаКРП.Ребенок КАК Ребенок,
СУММА(ЖурналУчетаКРП.СуммаКомпенсации) КАК Сумма,
ВЫРАЗИТЬ(ЖурналУчетаКРП.Плательщик.ЮридическоеФизическоеЛицо КАК Справочник.ФизическиеЛица) КАК ФизЛицоРодитель,
ВЫРАЗИТЬ(ЖурналУчетаКРП.Ребенок.Контрагент.ЮридическоеФизическоеЛицо КАК Справочник.ФизическиеЛица) КАК ФизЛицоРебенок
ПОМЕСТИТЬ Компенсация
ИЗ
РегистрСведений.ЖурналУчетаКомпенсацииРодительскойПлаты КАК ЖурналУчетаКРП
ГДЕ
ЖурналУчетаКРП.НачалоПериода >= &НачалоПериода
И ЖурналУчетаКРП.КонецПериода <= &КонецПериода

СГРУППИРОВАТЬ ПО
ЖурналУчетаКРП.Плательщик,
ЖурналУчетаКРП.Ребенок,
ВЫРАЗИТЬ(ЖурналУчетаКРП.Плательщик.ЮридическоеФизическоеЛицо КАК Справочник.ФизическиеЛица),
ВЫРАЗИТЬ(ЖурналУчетаКРП.Ребенок.Контрагент.ЮридическоеФизическоеЛицо КАК Справочник.ФизическиеЛица)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Компенсация.Родитель КАК Родитель,
Компенсация.ФизЛицоРодитель.СтраховойНомерПФР КАК СНИЛСРолитель,
Компенсация.ФизЛицоРодитель.ДатаРождения КАК ДатаРожденияРолитель,
ФИОФизическихЛицРодитель.Фамилия КАК ФамилияРолитель,
ФИОФизическихЛицРодитель.Имя КАК ИмяРолитель,
ФИОФизическихЛицРодитель.Отчество КАК ОтчествоРолитель,
ДокументыФизическихЛицРодитель.ВидДокумента КАК ВидДокументаРолитель,
ДокументыФизическихЛицРодитель.Серия КАК СерияРолитель,
ДокументыФизическихЛицРодитель.Номер КАК НомерРолитель,
ДокументыФизическихЛицРодитель.ДатаВыдачи КАК ДатаВыдачиРолитель,
ДокументыФизическихЛицРодитель.КемВыдан КАК КемВыданРолитель,
Компенсация.Ребенок КАК Ребенок,
Компенсация.ФизЛицоРебенок.СтраховойНомерПФР КАК СНИЛСРебенок,
Компенсация.ФизЛицоРебенок.ДатаРождения КАК ДатаРожденияРебенок,
ФИОФизическихЛицРебенок.Фамилия КАК ФамилияРебенок,
ФИОФизическихЛицРебенок.Имя КАК ИмяРебенок,
ФИОФизическихЛицРебенок.Отчество КАК ОтчествоРебенок,
ДокументыФизическихЛицРебенок.ВидДокумента КАК ВидДокументаРебенок,
ДокументыФизическихЛицРебенок.Серия КАК СерияРебенок,
ДокументыФизическихЛицРебенок.Номер КАК НомерРебенок,
ДокументыФизическихЛицРебенок.ДатаВыдачи КАК ДатаВыдачиРебенок,
ДокументыФизическихЛицРебенок.КемВыдан КАК КемВыданРебенок
ИЗ
Компенсация КАК Компенсация
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыФизическихЛиц.СрезПоследних КАК ДокументыФизическихЛицРодитель
ПО (Компенсация.ФизЛицоРодитель = ДокументыФизическихЛицРодитель.Физлицо)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизическихЛиц.СрезПоследних КАК ФИОФизическихЛицРодитель
ПО (Компенсация.ФизЛицоРодитель = ФИОФизическихЛицРодитель.ФизическоеЛицо)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДокументыФизическихЛиц.СрезПоследних КАК ДокументыФизическихЛицРебенок
ПО (Компенсация.ФизЛицоРебенок = ДокументыФизическихЛицРебенок.Физлицо)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизическихЛиц.СрезПоследних КАК ФИОФизическихЛицРебенок
ПО (Компенсация.ФизЛицоРебенок = ФИОФизическихЛицРебенок.ФизическоеЛицо)

СГРУППИРОВАТЬ ПО
Компенсация.Родитель,
Компенсация.ФизЛицоРодитель.СтраховойНомерПФР,
Компенсация.ФизЛицоРодитель.ДатаРождения,
ФИОФизическихЛицРодитель.Фамилия,
ФИОФизическихЛицРодитель.Имя,
ФИОФизическихЛицРодитель.Отчество,
ДокументыФизическихЛицРодитель.Серия,
ДокументыФизическихЛицРодитель.Номер,
ДокументыФизическихЛицРодитель.ДатаВыдачи,
ДокументыФизическихЛицРодитель.КемВыдан,
ДокументыФизическихЛицРодитель.ВидДокумента,
Компенсация.Ребенок,
Компенсация.ФизЛицоРебенок.СтраховойНомерПФР,
Компенсация.ФизЛицоРебенок.ДатаРождения,
ФИОФизическихЛицРебенок.Фамилия,
ФИОФизическихЛицРебенок.Имя,
ФИОФизическихЛицРебенок.Отчество,
ДокументыФизическихЛицРебенок.ВидДокумента,
ДокументыФизическихЛицРебенок.Серия,
ДокументыФизическихЛицРебенок.Номер,
ДокументыФизическихЛицРебенок.ДатаВыдачи,
ДокументыФизическихЛицРебенок.КемВыдан

УПОРЯДОЧИТЬ ПО
Родитель,
Ребенок
АВТОУПОРЯДОЧИВАНИЕ

Максим75

Nargal, ну да, правильно разименовали

Теги: Запрос БГУ 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск