diff --git a/README.md b/README.md index e4064ce..fd96b60 100644 --- a/README.md +++ b/README.md @@ -276,11 +276,11 @@ c:\inetpub\p8web20\WebClient\Modules\P8-Panels>npm run build - `SERV_DATA_TYPE_NUMB` - константа для типа данных "число", при описании параметров исполняемых хранимых объектов - `SERV_DATA_TYPE_DATE` - константа для типа данных "дата", при описании параметров исполняемых хранимых объектов - `SERV_DATA_TYPE_CLOB` - константа для типа данных "текст", при описании параметров исполняемых хранимых объектов -- `isRespErr` - проверка результата исполнения серверного объекта на наличие ошибок -- `getRespErrMessage` - получение ошибки исполнения серверного объекта -- `getRespPayload` - получение выходных значений, полученных после успешного исполнения -- `executeStored` - асинхронное исполнение хранимой процедуры/функции БД Системы -- `getConfig` - асинхронное считывание параметров конфигурации, определённых в "p8panels.config" (возвращает их JSON-представление) +- `isRespErr` - функция, проверка результата исполнения серверного объекта на наличие ошибок +- `getRespErrMessage` - функция, получение ошибки исполнения серверного объекта +- `getRespPayload` - функция, получение выходных значений, полученных после успешного исполнения +- `executeStored` -функция, асинхронное исполнение хранимой процедуры/функции БД Системы +- `getConfig` - функция, асинхронное считывание параметров конфигурации, определённых в "p8panels.config" (возвращает их JSON-представление) При формировании ответов, функции, получающие данные с сервера, возвращают типовые значения: @@ -306,24 +306,32 @@ c:\inetpub\p8web20\WebClient\Modules\P8-Panels>npm run build #### `boolean isRespErr(Object)` +Проверка ответа сервера на наличие ошибок. + **Входные параметры:** обязательный, объект, результат вызова `executeStored` **Результат:** `true` - если полученный на вход результат исполнения `executeStored` содержит ошибку, `false` - в остальных случаях #### `String getRespErrMessage(Object)` +Считывание ошибки из типового ответа сервера. + **Входные параметры:** обязательный, объект, результат вызова `executeStored` **Результат:** текст сообщения об ошибке - если полученный на вход результат исполнения `executeStored` содержит ошибку, пустая строка (`""`) - в остальных случаях #### `Object getRespPayload(Object)` +Считывание полезной нагрузки из типового ответа сервера. + **Входные параметры:** обязательный, объект, результат вызова `executeStored` (вызов должен осуществляться с параметром `fullResponse = true`) **Результат:** объект с данными, размещёнными в `XPAYLOAD` ответа сервера - если полученный на вход результат исполнения `executeStored` содержит полезную нагрузку, `null` - в остальных случаях #### `async Object executeStored(Object)` +Исполнение хранимого объекта БД Системы (исполняемый объект должен быть "клиентским"). + **Входные параметры:** ``` @@ -391,6 +399,8 @@ const MyPanel = () => { #### `async Object getConfig(Object)` +Получение содержимого "p8panels.config". + **Входные параметры:** ``` @@ -451,6 +461,140 @@ const MyPanel = () => { ### API для взаимодействия с WEB-приложением "ПАРУС 8 Онлайн" +Для взаимодействия панелей с пользовательским интерфейсом "ПАРУС 8 Онлайн" в составе расширения предусмотрен специальный API. Его подключение к компоненте панели осуществляется через контекст `ApplicationСtx` ("app/context/application.js"). + +В состав API входят: + +- `pOnlineShowTab` - функция, отображение типовой закладки "ПАРУС 8 Онлайн" +- `pOnlineShowUnit` - функция, отображение раздела "ПАРУС 8 Онлайн" в модальном режиме +- `pOnlineShowDocument` - функция, отображение раздела "ПАРУС 8 Онлайн" в модальном режиме с позиционированием/отбором по документу +- `pOnlineShowDictionary` - функция, отображение раздела "ПАРУС 8 Онлайн" в режиме словаря +- `pOnlineUserProcedure` - функция, исполнение "Пользовательской процедуры" +- `pOnlineUserReport` - функция, печать "Пользовательского отчёта" + +#### `pOnlineShowTab(Object)` + +Открывает типовую закладку пользовательского интерфейса WEB-приложения. + +**Входные параметры:** + +``` +{ + id, + url, + caption, + onClose +} +``` + +`id` - необязательный, строка, уникальный идентификатор закладки (ели закладка с таким `id` уже существует - будет осуществлено переключение на данную закладку)\ +`url` - необязательный, строка, адрес страницы, отображаемой на закладке\ +`onClose` - необязательный, функция вида `f(id)`, обработчик закрытия закладки (функция будет вызвана при закрытии закладки, в качестве параметра будет передан идентификатор закрытой закладки) + +**Результат:** строка, идентификатор открытой закладки. + +#### `pOnlineShowUnit(Object)` + +Открывает типовое модальное окно раздела Системы. + +**Входные параметры:** + +``` +{ + unitCode, + showMethod = "main", + inputParameters +} +``` + +`unitCode` - обязательный, строка, код раздела Системы\ +`showMethod` - необязательный, строка, метод вызова раздела Системы (если не указан - будет использован метод вызова "main")\ +`inputParameters` - необязательный, массив объектов вида `[{name: ИМЯ_ПАРАМЕТРА, value: ЗНАЧЕНИЕ_ПАРАМЕТРА},...]`, параметры метода вызова раздела Системы + +**Результат:** функция не возвращает значимого результата + +#### `pOnlineShowDocument(Object)` + +Открывает типовое модальное окно раздела Системы с позиционированием/отбором по документу (в зависимости от настроек метода вызова). + +**Входные параметры:** + +``` +{ + unitCode, + document, + showMethod = "main", + inRnParameter = "in_RN" +} +``` + +`unitCode` - обязательный, строка, код раздела Системы\ +`document` - обязательный, число, регистрационный номер документа или иной его идентификатор +`showMethod` - необязательный, строка, метод вызова раздела Системы (если не указан - будет использован метод вызова "main")\ +`inRnParameter` - необязательный, строка, имя параметра метода вызова для позиционирования/отбора (если не указан, будет применён параметр метода вызова с именем "in_RN") + +**Результат:** функция не возвращает значимого результата + +#### `pOnlineShowDictionary(Object)` + +Открывает типовое модальное окно раздела Системы в режиме словаря (позволяет считать параметры выбранной записи через выходные значения метода вызова). + +**Входные параметры:** + +``` +{ + unitCode, + showMethod = "main", + inputParameters, + callBack +} +``` + +`unitCode` - обязательный, строка, код раздела Системы\ +`showMethod` - необязательный, строка, метод вызова раздела Системы (если не указан - будет использован метод вызова "main")\ +`inputParameters` - необязательный, массив объектов вида `[{name: ИМЯ_ПАРАМЕТРА, value: ЗНАЧЕНИЕ_ПАРАМЕТРА},...]`, параметры метода вызова раздела Системы\ +`callBack` - необязательный, функция вида `f(result)`, будет вызвана при закрытии модального окна словаря, в качестве параметра `result` в функцию будет передан объект `{success, outParams}`. При этом `success` принимает значения `true` (пользователь нажал "ОК") или `false` (пользователь нажал "Отмена"), а `outParams` (при `success=true`) содержит объект вида "ключ-значение" `{ИМЯ_ВЫХОДНОГО_ПАРАМЕТРА: ЗНАЧЕНИЕ}`, где ключ - имя выходного параметра метода вызова, ключ - его значение для выбранной записи. + +**Результат:** функция не возвращает значимого результата + +#### `pOnlineUserProcedure(Object)` + +Вызывает "Пользовательскую процедуру" Системы (если процедура имеет визуализируемые параметры - будет отображён диалог для их ввода). + +**Входные параметры:** + +``` +{ + code, + inputParameters, + callBack +} +``` + +`code` - обязательный, строка, мнемокод вызываемой пользовательской процедуры\ +`inputParameters` - необязательный, массив объектов вида `[{name: ИМЯ_ПАРАМЕТРА, value: ЗНАЧЕНИЕ_ПАРАМЕТРА},...]`, значения параметров пользовательской процедуры (имеют более высокий приоритет, чем значения инизиализации в настройках пользовательской процедуры, однако менее низкий, чем значения сохраненные на форме)\ +`callBack` - необязательный, функция вида `f(result)`, будет вызвана после исполнения пользовательской процедуры, в качестве параметра `result` в функцию будет передан объект `{success, outParams}`. При этом `success` принимает значения `true` (выполнена успешно) или `false` (была ошибка исполнения), а `outParams` (при `success=true`) содержит объект вида "ключ-значение" `{ИМЯ_ВЫХОДНОГО_ПАРАМЕТРА: ЗНАЧЕНИЕ}`, где ключ - имя выходного параметра процедуры, ключ - его значение. + +**Результат:** функция не возвращает значимого результата + +#### `pOnlineUserReport(Object)` + +Вызывает "Пользователький отчёт" Системы (если отчёт имеет визуализируемые параметры - будет отображён диалог для их ввода, отчёт исполняется аналогично его вызову штатным действием из типового раздела - через сервер отложенной печати). + +**Входные параметры:** + +``` +{ + code, + inputParameters +} +``` + +`code` - обязательный, строка, мнемокод вызываемого пользовательского отчёта\ +`inputParameters` - необязательный, массив объектов вида `[{name: ИМЯ_ПАРАМЕТРА, value: ЗНАЧЕНИЕ_ПАРАМЕТРА},...]`, значения параметров пользовательского отчёта (имеют более высокий приоритет, чем значения инизиализации параметров в настройках отчёта, однако менее низкий, чем значения сохраненные на форме его вызова) + +**Результат:** функция не возвращает значимого результата + ### Компоненты пользовательского интерфейса #### Типовые интерфейсные примитивы