13 февр. 2022 г.

Текущее состояние gdmn-nxt

В рамках gdmn-nxt сделано считывание RDB и AT таблиц и почти доделано на их основе создание полной ER модели данных. В отличие от первой попытки (предпринятой в рамках GDMN) мы используем не классы, а легковесные js объекты без ссылок внутри. Такие объекты быстро создаются, элементарно сериализуются и передаются по сети. Имея в руках ER модель мы можем:
  1. Автоматически создавать на сервере энд поинты для CRUD операций над бизнес-объектами.
  2. Автоматически создавать на клиенте UI для работы с данными (форма просмотра и диалоговое окно в терминах Гедымина).
Эти два пункта достаточно просты и мы планируем завершить их в течение нескольких дней после того, как будет готова ER модель и созданы визуальные компоненты для выбора объекта (выпадающий список, аналог TgsIBLookupCombobox) и для выбора множества объектов.

Останется добавить фильтрацию (создание пользователем произвольного фильтра, передача его на сервер для формирования и выполнения SQL запроса) и мы получаем мини Гедымин. Без макросов, складской и бухгалтерской логики, но тем не менее, уже готовое к применению в промышленных задачах.

ER Model делается максимально отвязанной от физической структуры базы данных. Т.е. в дальнейшем мы сможем заменять Firebird на другую базу данных, подключаться через специальный переходник к системам вроде 1С или даже подключаться к нескольким базам и системам одновременно.