edt-plugins icon indicating copy to clipboard operation
edt-plugins copied to clipboard

Программный интерфейс вместо прямого доступа к данным

Open DoublesunRUS opened this issue 3 years ago • 6 comments

В типовых конфигурациях (например ЗУП) вместо прямого обращения к данным регистров предлагается использовать программный интерфейс (ПИ). То есть набор некоторых методов, каждый из которых возвращает виртуальную таблицу с нужными данными. ПИ может быть параметризован, то есть принимать на вход список необходимых данных. С целью оптимизации запросов внутри ПИ.

Для тестовой EDT был сделан прототип: https://youtu.be/8qf7wOSAB8I

Разработка началась в репозитории (необходима версия выше чем 2021.1): https://github.com/DoublesunRUS/ru.capralow.dt.hrm.support

В процессе анализа процедур ПИ было установлено, что декларативные комментарии написаны с нарушением стандартов и автоматический разбор ПИ невозможен. Поэтому дополнительно требуется некоторый анализатор ПИ, который потом будет выдавать json или yaml файл для ручной корректировки.

DoublesunRUS avatar Mar 11 '21 10:03 DoublesunRUS

Я бы повторился - что это похоже на универсальный механизм (кажется что такое делают не только в ЗУПе).

Может быть в ЗУПе есть своя специфика декларации и схемы доступа к данным...

Но если это идея "программный вьювер данных" (Data viewer) - то (имхо) было полезно иметь универсальный механизм контроля такого доступа...

marmyshev avatar Mar 11 '21 10:03 marmyshev

Да, после демонстрации прототипа не ты один мне сказал, что такое нужно не только в ЗУП. Сейчас разработка плагина приостановлена, так как используемый плагином механизм EDT в стадии доработки.

DoublesunRUS avatar Mar 11 '21 10:03 DoublesunRUS

А в чем практический смысл наслаивания интерфейсов? Защитить данные от "кривого" воздействия?

serjevski avatar Mar 11 '21 10:03 serjevski

А в чем практический смысл наслаивания интерфейсов? Защитить данные от "кривого" воздействия?

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

DoublesunRUS avatar Mar 11 '21 11:03 DoublesunRUS

Я наверное вопрос криво задал. Не для чего плагин, а для чего вся эта возня с ВТ. Зачем нужен еще один уровень абстракции, если он все равно не абстрактный? Мне вот это неясно

serjevski avatar Mar 11 '21 11:03 serjevski

Это вопрос к разработчикам типовых конфигураций. Я не разработчик типовых.

DoublesunRUS avatar Mar 11 '21 12:03 DoublesunRUS