Table of Contents

ЛЭРС УЧЁТ - Руководство разработчика

Для взаимодействия с ЛЭРС УЧЁТ из сторонних программ доступны описанные ниже интерфейсы. Поддерживается взаимодействие только через них.

REST API

Механизм для получения данных от сервера ЛЭРС УЧЁТ. Этот API соответствует спецификации OpenAPI 2.0. Для разработки новых приложений, использующих веб-сервис, рекомендуется этот механизм.

Lers Framework

Наиболее полный API, предоставляющий доступ ко всем функциям ЛЭРС УЧЁТ.

Заявление о поддержки прямого доступа к БД

Работа с базой данных напрямую не поддерживается по следующим причинам.

  1. ЛЭРС УЧЁТ постоянно развивается и дорабатывается. Это ведёт к тому что структура БД не остаётся постоянной и изменяется с каждым обновлением.
  2. Работа с БД напрямую может привести к непредсказуемым последствиям. Часть сущностей, хранящихся в БД, кэширована в пямяти сервера. Если вы измените её в БД, в сервере она останется прежней, что приведёт к некорректной работе системы.
  3. Поддержание в актуальном состоянии документации на базу - очень трудоёмкая задача. Время, которое мы потратим на документирование БД, лучше использовать для развития функционала ЛЭРС УЧЁТ.
  4. Импорт данных через БД напрямую не представляется возможным, так как ЛЭРС УЧЁТ не просто сохраняет данные и позволяет напечатать по ним отчёт, а обрабатывает их в своей бизнес-логике. А именно:
    • Проводит расчёт недостающих значений
    • Проводит расчёт потребления по интеграторам и интеграторов по потреблению
    • Диагностирует нештатные ситуации и отправляет по ним уведомления.
    • Уведомляет подключенных клиентах об изменениях в данных, чтобы они могли перезагрузить отображаемые данные в случае необходимости.
    • Рассчитывает состояние точек и объектов учёта на основании полученных интервалов.
    • Рассчитывает данные по расчётным точкам учёта
    • Запускает механизм копирования данных.

Всё это не будет выполнено в случае если данные вставлены в БД "напрямую", минуя сервер. При этом добавление данных через API запускает все внутренние процедуры обработки. Исходя из этого, поддержка такой процедуры будет крайне тяжёлой и не обеспечит должного функционирования всех блоков сервера.