forked from CITKParus/P8-Panels
Инструкции
This commit is contained in:
parent
ce44a1bf24
commit
db9f8b2a9c
87
README.md
87
README.md
@ -266,7 +266,7 @@ c:\inetpub\p8web20\WebClient\Modules\P8-Panels>npm run build
|
|||||||
<MenuItem parent="{GIUD_РОДИТЕЛЬСКОГО_ПУНКТА_МЕНЮ}" name="ShowSamples" caption="Примеры для разработчиков" panelName="Samples"/>
|
<MenuItem parent="{GIUD_РОДИТЕЛЬСКОГО_ПУНКТА_МЕНЮ}" name="ShowSamples" caption="Примеры для разработчиков" panelName="Samples"/>
|
||||||
```
|
```
|
||||||
|
|
||||||
### API для взаимодействия с сервером "ПАРУС 8 Предприятие"
|
### API для взаимодействия с сервером БД "ПАРУС 8 Предприятие"
|
||||||
|
|
||||||
Для исполнения хранимых процедур/функций БД Системы в составе расширения предусмотрен специальный API. Его подключение к компоненте панели осуществляется через контекст `BackEndСtx` ("app/context/backend.js").
|
Для исполнения хранимых процедур/функций БД Системы в составе расширения предусмотрен специальный API. Его подключение к компоненте панели осуществляется через контекст `BackEndСtx` ("app/context/backend.js").
|
||||||
|
|
||||||
@ -595,6 +595,91 @@ const MyPanel = () => {
|
|||||||
|
|
||||||
**Результат:** функция не возвращает значимого результата
|
**Результат:** функция не возвращает значимого результата
|
||||||
|
|
||||||
|
Примеры (см. "app/panels/samples/p8online.js"):
|
||||||
|
|
||||||
|
```
|
||||||
|
import React, { useState, useContext } from "react"; //Классы React
|
||||||
|
import { Typography, Button, Divider } from "@mui/material"; //Интерфейсные элементы
|
||||||
|
import { ApplicationСtx } from "../../context/application"; //Контекст приложения
|
||||||
|
|
||||||
|
//Стили
|
||||||
|
const STYLES = {
|
||||||
|
CONTAINER: { textAlign: "center", paddingTop: "20px" },
|
||||||
|
TITLE: { paddingBottom: "15px" },
|
||||||
|
DIVIDER: { margin: "15px" }
|
||||||
|
};
|
||||||
|
|
||||||
|
//Пример: API для взаимодействия с "ПАРУС 8 Онлайн"
|
||||||
|
const P8Online = ({ title }) => {
|
||||||
|
//Собственное состояние
|
||||||
|
const [agent, setAgent] = useState("");
|
||||||
|
|
||||||
|
//Подключение к контексту приложения
|
||||||
|
const { pOnlineShowUnit, pOnlineShowTab, pOnlineShowDocument, pOnlineShowDictionary } = useContext(ApplicationСtx);
|
||||||
|
|
||||||
|
//Генерация содержимого
|
||||||
|
return (
|
||||||
|
<div style={STYLES.CONTAINER}>
|
||||||
|
<Typography sx={STYLES.TITLE} variant={"h6"}>
|
||||||
|
{title}
|
||||||
|
</Typography>
|
||||||
|
{/* Открыть новую закладку */}
|
||||||
|
<Button variant="contained" onClick={() => pOnlineShowTab({ caption: "PARUS.COM", url: "https://www.parus.com" })}>
|
||||||
|
Открыть закладку
|
||||||
|
</Button>
|
||||||
|
<Divider sx={STYLES.DIVIDER} />
|
||||||
|
{/* Открыть раздел */}
|
||||||
|
<Button
|
||||||
|
variant="contained"
|
||||||
|
onClick={() => {
|
||||||
|
pOnlineShowUnit({
|
||||||
|
unitCode: "Contracts"
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Открыть раздел Договоры
|
||||||
|
</Button>
|
||||||
|
<Divider sx={STYLES.DIVIDER} />
|
||||||
|
{/* Открыть раздел в режиме словаря */}
|
||||||
|
<Button
|
||||||
|
variant="contained"
|
||||||
|
onClick={() => {
|
||||||
|
pOnlineShowDictionary({
|
||||||
|
unitCode: "AGNLIST",
|
||||||
|
inputParameters: [
|
||||||
|
{
|
||||||
|
name: "in_AGNABBR",
|
||||||
|
value: agent
|
||||||
|
}
|
||||||
|
],
|
||||||
|
callBack: res => (res.success === true ? setAgent(res.outParameters.out_AGNABBR) : null)
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Выбрать контрагента
|
||||||
|
</Button>
|
||||||
|
{/* Позиционирование/отбор документа */}
|
||||||
|
{agent ? (
|
||||||
|
<>
|
||||||
|
<Divider sx={STYLES.DIVIDER} />
|
||||||
|
<Button
|
||||||
|
variant="contained"
|
||||||
|
onClick={() => {
|
||||||
|
pOnlineShowDocument({
|
||||||
|
unitCode: "AGNLIST",
|
||||||
|
document: agent,
|
||||||
|
inRnParameter: "in_AGNABBR"
|
||||||
|
});
|
||||||
|
}}
|
||||||
|
>{`Показать контрагента "${agent}"`}</Button>
|
||||||
|
</>
|
||||||
|
) : null}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
### Компоненты пользовательского интерфейса
|
### Компоненты пользовательского интерфейса
|
||||||
|
|
||||||
#### Типовые интерфейсные примитивы
|
#### Типовые интерфейсные примитивы
|
||||||
|
Loading…
x
Reference in New Issue
Block a user