MACRO

Реестр заключённых договоров для Сбербанка

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

Отчёт формирует реестр объектов недвижимости и связанных с ними договоров по выбранному дому или нескольким домам. Применяется для предоставления данных в банк о сделках, предметах залога и состоянии оплаты.

#Работа с отчётом

#Фильтры

  • ЖК/Дом — обязательный фильтр. Выберите один или несколько домов. Без выбора дома отчёт не формируется.
  • Статус — ограничивает выборку по статусу объекта. Доступные значения: Подбор, Бронь, Сделка в работе, Сделка проведена. Если фильтр не задан, в выборку дополнительно попадают объекты в статусах Маркетинговый резерв и Сделка проведена (маркетинг).
  • Дата основного договора — диапазон дат. Нажмите на тип даты, чтобы изменить поле, по которому применяется фильтр:
    • Дата договора — дата подписания договора.
    • Дата регистрации — дата государственной регистрации.
    • Дата сделки — основная учётная дата сделки.
    • Дата подписания — дата подписания клиентом.
    • Дата отправки на регистрацию.
  • Учитывать поступления только за указанный период — при включённом переключателе столбец «Оплачено» отражает только платежи, проведённые в указанный период; столбец «Остаток к оплате» — все платёжные записи вне этого периода.

Нажмите Показать для построения отчёта. Для выгрузки данных используйте кнопку → 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_numberestate_deals.agreement_dateestate_deals.justice_date
Уступкаestate_deals.agreement_numberestate_deals.agreement_dateestate_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;