Commit 5b1acbea authored by Sergey Antonovich's avatar Sergey Antonovich 🇯🇵

Update jSynergyDocs.md

parent a09b0a19
# Class Synergy API
Данный класс предназначен для работ с платформой Synergy.<br>
Особенностями класса являются методы `client` и `server`.
# :butterfly: Библиотека `jSynergy 1.0.9`
Различия в них просты:
* `client` - Этот метод работает везде где используется `javaScript`
* `server` - Этот метод работает только в самой платформе и нужен для `Блок процессов`
:point_right: Данный класс предназначен для работ с платформой Synergy.<br>
jSynergy [Скачать класс](./jSynergy.js)
:point_right: Особенностями класса является метод `client` работает как вне блок-процесса так и внутри (авто-определение)
<hr>
:clock8: Экономия вашего времени
<h3>Disclaimer:</h3>
Автор не несет ответственности за неправильное функционирование, нанесенный ущерб, неработоспособность и т.д. Который можно получить при использовании данного `класса`. А также не обязуется за доработку его возможностей по вашим прихотям.<br>
:rocket: Пишите бизнес-логику быстрее и экономьте свое время
<hr>
Пишите свой код внутри браузера прямо в консоли для более гибкой и удобной отладки.<br/>Если код работает то смело переносите его в интерпретатор.<br/>
Ну или же пишите на хардкоре прямо в БП :sweat_smile:
Совместимость с версиями Synergy: [`Поддержка платформы`] [`Работоспособность класса`]
* `3.12` - [❌] [❌]
* `3.15` - [❌] [❌]
* `4.0`   - [✅] [✅]
* `4.1`   - [✅] [✅]
> PSS: Пишите код на странице с открытой *Synergy* или *SynergyAdmin* или *Configurator* для предотвращения CORS
Автор данного класса: [`Антонович Сергей`](@yandexphp)
## :coffee: Disclaimer:
Версия класса: `0.5.2`
> Автор не несет ответственности за неправильное функционирование, нанесенный ущерб, неработоспособность и т.д. Который можно получить при использовании данного `класса`. А также не обязуется за доработку его возможностей по вашим прихотям.<br>
<hr>
<hr/>
## Структура класса
### Совместимость с версиями Synergy
#### Корневые методы класса
* `Работоспособность` - это потверждение того что в определенных версиях Synergy есть нужные API, а так же что библиотека будет работать но возможны и последствия так что утвердитесь в пункте `Проверено`
* `jSynergy.setConnection` - 3 аргумента `host`, `login`, `password`<br>
Данная функция добавляет подключение к контейнеру а также записывается в лист.<br><br>
* `jSynergy.getConnection` - Без аргументов `void`<br>
Данная функция возвращает `Object` (объект) подключения к контейнеру.<br><br>
* `jSynergy.getListConnection` - Без аргументов `void`<br>
Данная функция возвращает `Array` (массив) раних подключенний контейнерам.<br><br>
* `jSynergy.selectConnection` - 1 аргумент `index`<br>
Данная функция возвращает `Array` (массив) раних подключенний контейнерам.<br><br>
* `jSynergy.getFormData` - Без аргументов `void`<br>
Данная функция возвращает данные по форме `после загрузки формы`<br><br>
* `jSynergy.getDataUUID` - Без аргументов `void`<br>
Данная функция возвращает UUID `после загрузки формы`<br><br>
* `jSynergy.getDocumentID` - Без аргументов `void`<br>
Данная функция возвращает UUID `после загрузки формы`<br><br>
* `jSynergy.getFormUUID` - Без аргументов `void`<br>
Данная функция возвращает UUID `после загрузки формы`<br><br>
* `jSynergy.getNodeUUID` - Без аргументов `void`<br>
Данная функция возвращает UUID `после загрузки формы`<br><br>
* `jSynergy.getFormVersion` - Без аргументов `void`<br>
Данная функция возвращает ID версии формы `после загрузки формы`<br><br>
* `jSynergy.testConnect` - Без аргументов `void`<br>
Данная функция возвращает проверку соединения с контейнером.<br><br>
* `jSynergy.destroy` - Без аргументов `void`<br>
Данная функция полностью очищает работу с классом.<br><br>
* `jSynergy.about` - под категория класса, тут вся информация о классе.<br><br>
* `jSynergy.getWordDeclination` - 2 аргумента `Array`, `Integer`<br>
Данная функция возвращает склонения слова из массива по числу.<br><br>
* `jSynergy.strAddZero` - 2 аргумента `Integer & String`, `Integer`<br>
Данная функция возвращает тоже число или текст, но вначале добавляется ноль.<br><br>
* `jSynergy.utf8_encode` - 1 аргумент `String`<br>
Данная функция возвращает текст в кодировке `UTF-8`<br><br>
* `jSynergy.utf8_decode` - 1 аргумент `String`<br>
Данная функция возвращает текст в кодировке `CP1251`<br><br>
* `jSynergy.client` - под категория класса<br>
Данная категория работает везде где используется `javaScript`<br><br>
* `jSynergy.server` - под категория класса<br>
Данная категория работает `только` в платформе `Synergy` для написания `Блок процессов` в интерпретаторе.<br><br>
| :beginner: **Версия Synergy** | :hammer_and_wrench: **Работоспособность** | **Проверено** |
| ------ | ------ | ------ |
| **3.*** | <div align="center">:x:</div> | <div align="center">:x:</div> |
| **4.*** | <div align="center">:heavy_check_mark:</div> | <div align="center">:heavy_check_mark:</div> |
| **5.*** | <div align="center">:heavy_check_mark:</div> | <div align="center">:x:</div> |
#### client класса
* `jSynergy.client.load` - 1 аргумент `Integer & String`<br>
Данная функция подгружает данные по форме.<br><br>
* `jSynergy.client.save` - Без аргументов `void`<br>
Данная функция сохраняет измененные данные по форме.<br><br>
* `jSynergy.client.multiLoad` - 1 аргумент `Integer & String & Array`<br>
Данная функция подгружает все перечисленные данные форм.<br><br>
* `jSynergy.client.getFormsList` - Без аргументов `void`<br>
Данная функция возвращает все данные по формам после их подгрузки.<br><br>
* `jSynergy.client.selectForm` - 1 аргумент `Integer & String`<br>
Данная функция устанавливает работу с выбранной формой по её идентификатору.<br><br>
* `jSynergy.client.regainForm` - Без аргументов `void`<br>
Данная функция возвращает форму загруженную через `jSynergy.client.load`. Последнюю загруженную форму.<br><br>
* `jSynergy.client.getAsfData` - Без аргументов `void`<br>
Данная функция возвращает все компоненты ввиде листа.<br><br>
* `jSynergy.client.addAsfData` - 1 аргумент `Object`<br>
Данная функция добавляет в лист компонентов новый `Object` (объект).<br><br>
* `jSynergy.client.setAsfData` - 1 аргумент `Array`<br>
Данная функция устанавливает новый лист компонентов.<br><br>
* `jSynergy.client.converTable` - 1 аргумент `String`<br>
Данная функция конвертирует таблицу в читаемый вид.<br><br>
* `jSynergy.client.getRowsCount` - 1 аргумент `String`<br>
Данная функция возвращает кол-во рядов в дин.таблице.<br><br>
* `jSynergy.client.addRowTable` - 3 аргумента `String`, `Integer`, `Boolean`<br>
Данная функция добавляет в дин.таблицу ряды. Третий аргумент при значении `true` нечего не добавляет.<br><br>
* `jSynergy.client.removeRowTable` - 2 аргумента `String`, `Integer`<br>
Данная функция удаляет ряд по его `index`.<br>Внимание под индексом подразумивается `-b1`, `-b2`, ... только без `-b`.<br><br>
* `jSynergy.client.clearTable` - 1 аргумент `String`<br>
Данная функция очищает всю таблицу.<br><br>
* `jSynergy.client.getValue` - 4 аргумента `String`, `String`, `Integer & String`, `String`<br>
Данная функция возвращает данные компонента.<br>Первый аргумент `ID компонента`, Второй аргумент `Ключ или ID таблицы`, Третий аргумент `Index`, Четвёртый аргумент: `Ключ`. Если вам нужен статический компонент то логично указать 2 или 1 аргумент. Иначе если вам нужен компонент из дин.таблицы, то нужно указать 3 или 4 аргумента.<br><br>
* `jSynergy.client.setValue` - 5 аргументов `String`, `Integer & String & Object`, `Integer & String`, `String`<br>
Данная функция возвращает данные компонента.<br>Первый аргумент `ID компонента`, Второй аргумент `Ключ или ID таблицы`, Третий аргумент `Index`, Четвёртый аргумент: `Ключ`. Если вам нужен статический компонент то логично указать 2 или 1 аргумент. Иначе если вам нужен компонент из дин.таблицы, то нужно указать 3 или 4 аргумента.<br>
* `jSynergy.client.ApiUtils` - под категория, категории `jSynergy.client`<br>
Там лежат различные готовые API запросы.<br><br>
* `jSynergy.client.api` - метод для выполнения API запросов Synergy.
**[:rice_ball: Библиотека jSynergy](./jSynergy.js)**
#### server класса
* `jSynergy.server.load`<br>
* `jSynergy.server.save`<br>
* `jSynergy.server.multiLoad`<br>
* `jSynergy.server.getFormsList`<br>
* `jSynergy.server.selectForm`<br>
* `jSynergy.server.regainForm`<br>
* `jSynergy.server.getAsfData`<br>
* `jSynergy.server.addAsfData`<br>
* `jSynergy.server.setAsfData`<br>
* `jSynergy.server.converTable`<br>
* `jSynergy.server.getRowsCount`<br>
* `jSynergy.server.addRowTable`<br>
* `jSynergy.server.removeRowTable`<br>
* `jSynergy.server.clearTable`<br>
* `jSynergy.server.getValue`<br>
* `jSynergy.server.setValue`<br>
* `jSynergy.server.ApiUtils`<br>
* `jSynergy.server.api`
<hr>
## Использование класса
### Использование
Вызов класса с пред. установленной переменной: `jSynergy`.<br>
Или можете создать новый класс через объект класса `let varName = new __classSynergy()`.
Или можете создать новый класс через объект класса `const varName = new __classSynergy()`.
P.S: Если у вас версия платформы Synergy `4.1` и выше то там есть так называемые Библиотеки для интерпретатора пихаем класс
туда и просто пропускаем шаг с созданием экземпляра класса тобишь `__classSynergy` и пропускаем авторизацию контейнера т.е
> Если у вас версия платформы Synergy `4.*` и выше то там есть так называемые `Библиотеки для интерпретатора` пихаем класс туда и просто пропускаем шаг с созданием экземпляра класса тобишь `__classSynergy` и пропускаем авторизацию контейнера т.е
`jSynergy.setConnection(false, login, password);`. Тогда можно сразу работать с классом и формами.
<hr>
##### Для метода `jSynergy.server` все методы как и в `jSynergy.client` равны.
Прочие функции
```javascript
// Вернет `true & false` подключения к контейнеру
......@@ -196,9 +93,7 @@ P.S: Если у вас версия платформы Synergy `4.1` и выш
// Полное очищение класса в его исходное состояние
jSynergy.destroy();
```
```javascript
/**
* Подключения к контейнеру
*/
......@@ -215,8 +110,6 @@ P.S: Если у вас версия платформы Synergy `4.1` и выш
// Вариант подключения к контейнеру (третий)
jSynergy.setConnection('https://synergy.arta.pro/Synergy/', '$key', 'token');
/**
* После подключения к контейнеру можно начинать работу с формами
*/
......@@ -327,8 +220,6 @@ P.S: Если у вас версия платформы Synergy `4.1` и выш
// Сохранить изменения формы
jSynergy.client.save();
/**
* Для выполнения API запроса несколько примеров:
* методы можно писать так: 'asforms/data' или так 'rest/api/asforms/data' разница в '/rest/api/'
......@@ -360,7 +251,6 @@ P.S: Если у вас версия платформы Synergy `4.1` и выш
password: 'password', // key or token
});
/**
* Дополонение. Готовые API методы (У методов в client есть асинхронность callback)
*/
......@@ -377,3 +267,80 @@ P.S: Если у вас версия платформы Synergy `4.1` и выш
// Возвращает список доступных реестров авторизованному пользователю
jSynergy.client.ApiUtils.getRegistryList();
```
### Корневые методы класса
* `jSynergy.setConnection` - 3 аргумента `host`, `login`, `password`<br>
Данная функция добавляет подключение к контейнеру а также записывается в лист.<br><br>
* `jSynergy.getConnection` - Без аргументов `void`<br>
Данная функция возвращает `Object` (объект) подключения к контейнеру.<br><br>
* `jSynergy.getListConnection` - Без аргументов `void`<br>
Данная функция возвращает `Array` (массив) раних подключенний контейнерам.<br><br>
* `jSynergy.selectConnection` - 1 аргумент `index`<br>
Данная функция возвращает `Array` (массив) раних подключенний контейнерам.<br><br>
* `jSynergy.getFormData` - Без аргументов `void`<br>
Данная функция возвращает данные по форме `после загрузки формы`<br><br>
* `jSynergy.getDataUUID` - Без аргументов `void`<br>
Данная функция возвращает UUID `после загрузки формы`<br><br>
* `jSynergy.getDocumentID` - Без аргументов `void`<br>
Данная функция возвращает UUID `после загрузки формы`<br><br>
* `jSynergy.getFormUUID` - Без аргументов `void`<br>
Данная функция возвращает UUID `после загрузки формы`<br><br>
* `jSynergy.getNodeUUID` - Без аргументов `void`<br>
Данная функция возвращает UUID `после загрузки формы`<br><br>
* `jSynergy.getFormVersion` - Без аргументов `void`<br>
Данная функция возвращает ID версии формы `после загрузки формы`<br><br>
* `jSynergy.testConnect` - Без аргументов `void`<br>
Данная функция возвращает проверку соединения с контейнером.<br><br>
* `jSynergy.destroy` - Без аргументов `void`<br>
Данная функция полностью очищает работу с классом.<br><br>
* `jSynergy.about` - под категория класса, тут вся информация о классе.<br><br>
* `jSynergy.getWordDeclination` - 2 аргумента `Array`, `Integer`<br>
Данная функция возвращает склонения слова из массива по числу.<br><br>
* `jSynergy.strAddZero` - 2 аргумента `Integer & String`, `Integer`<br>
Данная функция возвращает тоже число или текст, но вначале добавляется ноль.<br><br>
* `jSynergy.utf8_encode` - 1 аргумент `String`<br>
Данная функция возвращает текст в кодировке `UTF-8`<br><br>
* `jSynergy.utf8_decode` - 1 аргумент `String`<br>
Данная функция возвращает текст в кодировке `CP1251`<br><br>
* `jSynergy.client` - под категория класса<br>
Данная категория работает везде где используется `javaScript`<br><br>
* `jSynergy.server` - под категория класса<br>
Данная категория работает `только` в платформе `Synergy` для написания `Блок процессов` в интерпретаторе.<br><br>
#### client класса
* `jSynergy.client.load` - 1 аргумент `Integer & String`<br>
Данная функция подгружает данные по форме.<br><br>
* `jSynergy.client.save` - Без аргументов `void`<br>
Данная функция сохраняет измененные данные по форме.<br><br>
* `jSynergy.client.multiLoad` - 1 аргумент `Integer & String & Array`<br>
Данная функция подгружает все перечисленные данные форм.<br><br>
* `jSynergy.client.getFormsList` - Без аргументов `void`<br>
Данная функция возвращает все данные по формам после их подгрузки.<br><br>
* `jSynergy.client.selectForm` - 1 аргумент `Integer & String`<br>
Данная функция устанавливает работу с выбранной формой по её идентификатору.<br><br>
* `jSynergy.client.regainForm` - Без аргументов `void`<br>
Данная функция возвращает форму загруженную через `jSynergy.client.load`. Последнюю загруженную форму.<br><br>
* `jSynergy.client.getAsfData` - Без аргументов `void`<br>
Данная функция возвращает все компоненты ввиде листа.<br><br>
* `jSynergy.client.addAsfData` - 1 аргумент `Object`<br>
Данная функция добавляет в лист компонентов новый `Object` (объект).<br><br>
* `jSynergy.client.setAsfData` - 1 аргумент `Array`<br>
Данная функция устанавливает новый лист компонентов.<br><br>
* `jSynergy.client.converTable` - 1 аргумент `String`<br>
Данная функция конвертирует таблицу в читаемый вид.<br><br>
* `jSynergy.client.getRowsCount` - 1 аргумент `String`<br>
Данная функция возвращает кол-во рядов в дин.таблице.<br><br>
* `jSynergy.client.addRowTable` - 3 аргумента `String`, `Integer`, `Boolean`<br>
Данная функция добавляет в дин.таблицу ряды. Третий аргумент при значении `true` нечего не добавляет.<br><br>
* `jSynergy.client.removeRowTable` - 2 аргумента `String`, `Integer`<br>
Данная функция удаляет ряд по его `index`.<br>Внимание под индексом подразумивается `-b1`, `-b2`, ... только без `-b`.<br><br>
* `jSynergy.client.clearTable` - 1 аргумент `String`<br>
Данная функция очищает всю таблицу.<br><br>
* `jSynergy.client.getValue` - 4 аргумента `String`, `String`, `Integer & String`, `String`<br>
Данная функция возвращает данные компонента.<br>Первый аргумент `ID компонента`, Второй аргумент `Ключ или ID таблицы`, Третий аргумент `Index`, Четвёртый аргумент: `Ключ`. Если вам нужен статический компонент то логично указать 2 или 1 аргумент. Иначе если вам нужен компонент из дин.таблицы, то нужно указать 3 или 4 аргумента.<br><br>
* `jSynergy.client.setValue` - 5 аргументов `String`, `Integer & String & Object`, `Integer & String`, `String`<br>
Данная функция возвращает данные компонента.<br>Первый аргумент `ID компонента`, Второй аргумент `Ключ или ID таблицы`, Третий аргумент `Index`, Четвёртый аргумент: `Ключ`. Если вам нужен статический компонент то логично указать 2 или 1 аргумент. Иначе если вам нужен компонент из дин.таблицы, то нужно указать 3 или 4 аргумента.<br>
* `jSynergy.client.ApiUtils` - под категория, категории `jSynergy.client`<br>
Там лежат различные готовые API запросы.<br><br>
* `jSynergy.client.api` - метод для выполнения API запросов Synergy.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment