Подключение PBC Расширенные атрибуты
Подключение библиотечного веб-компонента qdattui-lib в UI вашего PBC
- Актуальная версия (opens in a new tab) библиотеки
"@diasoft/qdattui-lib": "1.0.142"
- Readme по подключению библиотеки (opens in a new tab)
-
В своем проекте выполнить команду
npm install @diasoft/qdattui-lib
-
В
angular.json
, в разделеconfigurations.production
указать откуда брать файлы библиотеки и куда их переместить
"projects": {
"<project_name>": {
...
"architect": {
"build": {
...
"options": {
...
"assets": [
...
{
"glob": "**/*",
"input": "node_modules/@diasoft/qdattui-lib",
"output": "assets/qdatt"
}
],
- Библиотека предоставляет 4 компонента. 3 компонента являются cправочниками, которые необходимо добавить в
menu.ru/en.json
своего главного меню. 4-й компонент - Схема атрибутов
- Маски атрибутов
(route: attribute-mask)
- Типы данных атрибутов
(route: attribute-data)
- Преднастроенные атрибуты
(route: preconfigured-attribute)
и компонент, который в новой вкладке будет работать с конкретной бизнес сущностью - Схема атрибутов
(route: attribute-diagram)
3.1 Подключение справочников. Для подключения интерфейсов необходимо использовать доступные возможности компонента q-web-component, в частности передачу настроек для backend через атрибут endpoint.
3.2 В .html
указать динамическое и статическое свойства
<q-web-component
[endpoint]="endpoint"
bundleUrl="/api/serviceName/componentName/assets/qdatt/main.js"
></q-web-component>
serviceName
- UI-сервис прикладного PBC, куда встраиваетеcomponentName
- ваш компонент, куда встраиваете
3.3 В .ts
определить интерфейс
endpoint!: QEndpoint;
this.endpoint = {
service: 'qdattui',
component: 'qdatt',
route: 'preconfigured-attribute' или 'attribute-data' или 'attribute-mask',
caption: '',
properties: {
qdattConfig: {
bundle: { service: serviceName, component: componentName },
service: 'qdattattribute/qdattattribute', // указывается свой сервис. Параметр для перенаправления запросов к бэкенду
}
},
};
- Схема атрибутов. Пример кода.
if (tab == 'attribute-diagram') {
title = 'Схема атрибутов № ';
this.rootEvents.openNewTab({
caption: objectID
? `${title} ${objectID}`
: 'Схема атрибутов',
url: `${getTabBaseUrl()}/${tab}/?objectID=${objectID}&code=${code}&localName=${localName}&description=${description}&status=${status}`,
});
return;
}
4.1 Описание схемы
getTabBaseUrl()
возвращаетinterface/serviceUI/componentUI
objectID
- ID БОcode
- sysname БОlocalName
- наименование БОdescription
- описание БОstatus
- статус, 1- действует, 2- не действует
Подключение зависимости qdattattribute в бэкенд вашего PBC
- Актуальная версия (opens in a new tab) зависимости qdattattribute
S-Q.UP-00002-25030307
- Актуальная версия (opens in a new tab) зависимости qdattattribute-db
S-Q.UP-00002-25030307
Для подключения необходимо использовать версию архетипа 3.10.08-25060602 и выше.
В /service/pom.xml
вашего PBC указать зависимость qdattattribute
в разделе dependencies
<dependencies>
<dependency>
<groupId>ru.diasoft.micro</groupId>
<artifactId>qdattattribute</artifactId>
<version>S-Q.UP-00002-25030307</version>
<classifier>archlib</classifier>
</dependency>
</dependencies>
В /database/pom.xml
вашего PBC указать зависимость qdattattribute-db
в разделе plugin
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>ru.diasoft.micro</groupId>
<artifactId>qdattattribute-db</artifactId>
<version>S-Q.UP-00002-25030307</version>
<type>jar</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/classes/qdattattribute</outputDirectory>
<includes>**/**.xml,**/**.sql</includes>
<excludes>META-INF/, version/</excludes>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
После установки сервиса на ваш стенд в сваггере добавятся API из библиотечного PBC.