Месторасположение отчёта: Отчёты → Сделки → Реестр заключённых договоров для Сбербанка

Отчёт формирует реестр объектов недвижимости и связанных с ними договоров по выбранному дому или нескольким домам. Применяется для предоставления данных в банк о сделках, предметах залога и состоянии оплаты.
#Работа с отчётом
#Фильтры
- ЖК/Дом — обязательный фильтр. Выберите один или несколько домов. Без выбора дома отчёт не формируется.

- Статус — ограничивает выборку по статусу объекта. Доступные значения: Подбор, Бронь, Сделка в работе, Сделка проведена. Если фильтр не задан, в выборку дополнительно попадают объекты в статусах Маркетинговый резерв и Сделка проведена (маркетинг).
- Дата основного договора — диапазон дат. Нажмите на тип даты, чтобы изменить поле, по которому применяется фильтр:
- Дата договора — дата подписания договора.
- Дата регистрации — дата государственной регистрации.
- Дата сделки — основная учётная дата сделки.
- Дата подписания — дата подписания клиентом.
- Дата отправки на регистрацию.

- Учитывать поступления только за указанный период — при включённом переключателе столбец «Оплачено» отражает только платежи, проведённые в указанный период; столбец «Остаток к оплате» — все платёжные записи вне этого периода.
Нажмите Показать для построения отчёта. Для выгрузки данных используйте кнопку → XLS.
#Структура отчёта
В верхней части отчёта расположен блок «ИТОГО по объектам» — сводная таблица с агрегированными показателями в разрезе видов объектов: квартира, нежилое помещение, машино-место, коттедж, таунхаус, апартаменты, кладовая, а также строка «все виды» с итогом по всем типам. В блоке суммируются площади, оценочная и залоговая стоимости, фактические цены реализации, суммы оплаты и остатков.

Ниже расположен построчный реестр. Каждая строка соответствует одному объекту. В зависимости от наличия и статуса договора строка относится к одному из типов:
- Прямой договор — объект с зарегистрированным ДДУ. Заполнены все поля договора, покупателя и финансов.
- Уступка — объект с зарегистрированным договором-основанием. Поля договора и покупателя заполняются из договора-основания.
- Фоновый договор — договор-основание есть, но без регистрации.
- Свободный объект — объект без активной зарегистрированной сделки; поля договора, покупателя и финансов остаются пустыми.
#Технический паспорт отчёта

#Данные в системе
Основа отчёта — объекты продажи (estate_sells) с обязательным условием по house_id (выбранные дома) и estate_sell_status (статус объекта). Данные о доме берутся из estate_houses, текущая сделка объекта — из estate_deals через estate_sells.deal_id. Данные о залоге — из estate_pledge_agreements. Финансы — из finances с классификацией через finances_types. Данные об эскроу — из estate_shows_escrow.
Внутреннее название дома (2)
Данные не выгружаются в MacroData.
Корпус № (3), Секция № (4)
SELECT
sell.estate_sell_id AS `id объекта`,
h.geo_korpus AS `Корпус №`,
h.geo_block AS `Секция №`
FROM estate_sells sell
INNER JOIN estate_houses h ON sell.house_id = h.house_id
WHERE sell.house_id IN (/* выбранные дома */);
Этаж (5)
Поле estate_sells.estate_floor. Если значение ≤ 0 или не заполнено — в отчёте отображается «цокольный этаж».
SELECT
sell.estate_sell_id AS `id объекта`,
sell.estate_floor AS `Этаж`
FROM estate_sells sell
WHERE sell.house_id IN (/* выбранные дома */);
Вид объекта (6)
Определяется из estate_sells.estate_sell_category в сочетании со значением estate_apartments из estate_sells_attr. Правила преобразования:
flatиestate_apartments = 1→ апартаментыflatиestate_apartments ≠ 1→ квартираcomm→ нежилое помещениеgarage→ машино-местоstorageroom→ кладоваяhouseс подтипомkottedzh→ коттеджhouseс подтипомtaunhaus→ таунхаус
SELECT
sell.estate_sell_id AS `id объекта`,
sell.estate_sell_category AS `Категория`,
esa_apt.attr_value AS `estate_apartments`
FROM estate_sells sell
LEFT JOIN estate_sells_attr esa_apt
ON esa_apt.estate_sell_id = sell.estate_sell_id
AND esa_apt.attr_name = 'estate_apartments'
WHERE sell.house_id IN (/* выбранные дома */);
№ объекта (7)
Поле estate_sells.geo_flatnum.
Количество комнат (8)
Поле estate_sells.estate_rooms. Для апартаментов, нежилых помещений, машино-мест и кладовых значение всегда равно 1.
Общая площадь с балконом и лоджией (9)
Для квартир — значение attr_name = 'estate_area_reduced' из estate_sells_attr. Для остальных типов объектов — estate_sells.estate_area.
SELECT
sell.estate_sell_id AS `id объекта`,
sell.estate_area AS `Площадь объекта`,
esa_red.attr_value AS `estate_area_reduced`
FROM estate_sells sell
LEFT JOIN estate_sells_attr esa_red
ON esa_red.estate_sell_id = sell.estate_sell_id
AND esa_red.attr_name = 'estate_area_reduced'
WHERE sell.house_id IN (/* выбранные дома */);
Общая площадь кв.м (10)
Значение attr_name = 'estate_area_inside' из estate_sells_attr. Если не заполнено — ячейка пуста.
SELECT
sell.estate_sell_id AS `id объекта`,
esa_in.attr_value AS `Общая площадь без х/п`
FROM estate_sells sell
LEFT JOIN estate_sells_attr esa_in
ON esa_in.estate_sell_id = sell.estate_sell_id
AND esa_in.attr_name = 'estate_area_inside'
WHERE sell.house_id IN (/* выбранные дома */);
Объект в залоге (11)
Отображает «да» для каждого объекта в отчёте.
Оценочная стоимость (12), Залоговая стоимость (13)
Данные не выгружаются в MacroData.
№ договора (14), Дата заключения ДДУ (15), Дата регистрации ДДУ (16)
Значения зависят от типа строки:
| Тип | № договора | Дата заключения | Дата регистрации |
|---|---|---|---|
| Прямой договор | estate_deals.agreement_number | estate_deals.agreement_date | estate_deals.justice_date |
| Уступка | estate_deals.agreement_number | estate_deals.agreement_date | estate_deals.justice_date |
| Фоновый договор | Данные не выгружаются в MacroData | Данные не выгружаются в MacroData | Данные не выгружаются в MacroData |
| Свободный объект | — | — | — |
Принцип выбора данных в MacroData:
SELECT
sell.estate_sell_id AS `id объекта`,
ed.agreement_number AS `№ договора`,
ed.agreement_date AS `Дата заключения ДДУ`,
ed.justice_date AS `Дата регистрации ДДУ`
FROM estate_sells sell
LEFT JOIN estate_deals ed ON ed.deal_id = sell.deal_id
WHERE sell.house_id IN (/* выбранные дома */);
Срок полной оплаты / срок депонирования (17)
Максимальная плановая дата платежа (MAX(finances.date_to)) по текущей сделке объекта. Учитываются финансовые операции со статусами «Проведено» и «К оплате» с приходными типами (finances_types.is_income = 1 или is_income_lower = 1 или is_other_income = 1).
SELECT
sell.estate_sell_id AS `id объекта`,
MAX(f.date_to) AS `Срок полной оплаты`
FROM estate_sells sell
LEFT JOIN estate_deals ed ON ed.deal_id = sell.deal_id
LEFT JOIN finances f ON f.deal_id = ed.deal_id
AND f.status_name IN ('on', 'reserved')
LEFT JOIN finances_types ft ON ft.id = f.types_id
AND ft.company_id = f.company_id
AND (ft.is_income = 1 OR ft.is_income_lower = 1 OR ft.is_other_income = 1)
WHERE sell.house_id IN (/* выбранные дома */)
GROUP BY sell.estate_sell_id;
ФИО/наименование покупателя/Депонента (18)
Для прямого договора и уступки — contacts.contacts_buy_name через estate_deals.contacts_buy_id. Для фонового договора — данные не выгружаются в MacroData. Для свободного объекта — пусто.
SELECT
sell.estate_sell_id AS `id объекта`,
c.contacts_buy_name AS `Покупатель`
FROM estate_sells sell
LEFT JOIN estate_deals ed ON ed.deal_id = sell.deal_id
LEFT JOIN contacts c ON c.contacts_id = ed.contacts_buy_id
WHERE sell.house_id IN (/* выбранные дома */);
Фактическая цена реализации объекта (19)
Для прямого договора и уступки — estate_deals.deal_sum. Для фонового договора — данные не выгружаются в MacroData.
SELECT
sell.estate_sell_id AS `id объекта`,
ed.deal_sum AS `Фактическая цена реализации`
FROM estate_sells sell
LEFT JOIN estate_deals ed ON ed.deal_id = sell.deal_id
WHERE sell.house_id IN (/* выбранные дома */);
Оплачено (20)
Для прямого договора и уступки — сумма проведённых финансовых операций по сделке с приходными типами (is_income = 1), за вычетом операций с признаком возврата (is_income_lower = 1). Для фонового договора — данные не выгружаются в MacroData.
SELECT
sell.estate_sell_id AS `id объекта`,
SUM(
CASE WHEN ft.is_income = 1 THEN f.summa
WHEN ft.is_income_lower = 1 THEN -f.summa
ELSE 0
END
) AS `Оплачено`
FROM estate_sells sell
LEFT JOIN estate_deals ed ON ed.deal_id = sell.deal_id
LEFT JOIN finances f ON f.deal_id = ed.deal_id
AND f.status_name = 'on'
LEFT JOIN finances_types ft ON ft.id = f.types_id
AND ft.company_id = f.company_id
AND (ft.is_income = 1 OR ft.is_income_lower = 1)
WHERE sell.house_id IN (/* выбранные дома */)
GROUP BY sell.estate_sell_id;
Фактическая цена реализации 1 кв.м (21)
Для прямого договора и уступки: ROUND(estate_deals.deal_sum / NULLIF(estate_deals.deal_area, 0), 2). Для фонового договора — данные не выгружаются в MacroData.
SELECT
sell.estate_sell_id AS `id объекта`,
ROUND(ed.deal_sum / NULLIF(ed.deal_area, 0), 2) AS `Цена за кв.м`
FROM estate_sells sell
LEFT JOIN estate_deals ed ON ed.deal_id = sell.deal_id
WHERE sell.house_id IN (/* выбранные дома */);
Остаток к оплате (22)
Для прямого договора и уступки — сумма финансовых записей со статусом «К оплате» (status_name = 'reserved') с приходными типами. Для фонового договора — данные не выгружаются в MacroData.
SELECT
sell.estate_sell_id AS `id объекта`,
SUM(
CASE WHEN ft.is_income = 1 THEN f.summa
WHEN ft.is_income_lower = 1 THEN -f.summa
ELSE 0
END
) AS `Остаток к оплате`
FROM estate_sells sell
LEFT JOIN estate_deals ed ON ed.deal_id = sell.deal_id
LEFT JOIN finances f ON f.deal_id = ed.deal_id
AND f.status_name = 'reserved'
LEFT JOIN finances_types ft ON ft.id = f.types_id
AND ft.company_id = f.company_id
AND (ft.is_income = 1 OR ft.is_income_lower = 1)
WHERE sell.house_id IN (/* выбранные дома */)
GROUP BY sell.estate_sell_id;
Использование счёта эскроу (23)
Значение attr_name = 'estate_dealProvisionMethod' из estate_sells_attr. Если значение равно escrow или не заполнено — отображается «с эскроу»; любое другое значение — «без эскроу».
SELECT
sell.estate_sell_id AS `id объекта`,
esa_esc.attr_value AS `estate_dealProvisionMethod`
FROM estate_sells sell
LEFT JOIN estate_sells_attr esa_esc
ON esa_esc.estate_sell_id = sell.estate_sell_id
AND esa_esc.attr_name = 'estate_dealProvisionMethod'
WHERE sell.house_id IN (/* выбранные дома */);
№ счёта эскроу (24)
Данные не выгружаются в MacroData.
Итоговый запрос
Полный запрос для получения данных реестра в MacroData (прямые договоры и уступки). Финансовые столбцы — Оплачено (20), Остаток к оплате (22), Срок полной оплаты (17) — выбираются отдельными запросами, приведёнными выше.
SELECT
sell.estate_sell_id AS `id объекта`,
h.geo_korpus AS `Корпус №`,
h.geo_block AS `Секция №`,
sell.estate_floor AS `Этаж`,
sell.estate_sell_category AS `Вид объекта`,
sell.geo_flatnum AS `№ объекта`,
sell.estate_rooms AS `Кол-во комнат`,
sell.estate_area AS `Площадь объекта`,
esa_red.attr_value AS `estate_area_reduced`,
esa_in.attr_value AS `Общая площадь без х/п`,
ed.agreement_number AS `№ договора`,
ed.agreement_date AS `Дата заключения ДДУ`,
ed.justice_date AS `Дата регистрации ДДУ`,
c.contacts_buy_name AS `Покупатель`,
ed.deal_sum AS `Фактическая цена реализации`,
ROUND(ed.deal_sum / NULLIF(ed.deal_area, 0), 2) AS `Цена за кв.м`,
esa_esc.attr_value AS `estate_dealProvisionMethod`
FROM estate_sells sell
INNER JOIN estate_houses h ON sell.house_id = h.house_id
LEFT JOIN estate_deals ed ON ed.deal_id = sell.deal_id
LEFT JOIN contacts c ON c.contacts_id = ed.contacts_buy_id
LEFT JOIN estate_sells_attr esa_red
ON esa_red.estate_sell_id = sell.estate_sell_id
AND esa_red.attr_name = 'estate_area_reduced'
LEFT JOIN estate_sells_attr esa_in
ON esa_in.estate_sell_id = sell.estate_sell_id
AND esa_in.attr_name = 'estate_area_inside'
LEFT JOIN estate_sells_attr esa_esc
ON esa_esc.estate_sell_id = sell.estate_sell_id
AND esa_esc.attr_name = 'estate_dealProvisionMethod'
WHERE sell.house_id IN (/* выбранные дома */)
ORDER BY sell.estate_sell_id;