3.6.3.15. «Объекты Synergy»

3.6.3.15.1. Тип данных «Пользователи»

Описание компонента выглядит следующим образом

{
    "id": "userlink-cmp",
    "type": "entity",
    "style": {},
    "config": {
        "entity": "users",                            // тип данных
        "read-only": false,                           // заблокировать от изменений пользователем
        "depends": "positionlink-cmp",                // связь с компонентом
        "fill-with-current": true,                    // заполнять создающим пользователем
        "custom": true,                               // разрешать ввод произвольного текста
        "multi": true,                                // позволять мультивыбор
        "groups": true,                               // отображать группы
        "show-without-position": true,                // отображать не назначенных на должность
        "editable-label": true,                       // разрешать редактировать label выбранного элемента
        "customNameFormats": {                        // изменить формат отображения ФИО в зависимости от языка системы
            "ru": "${l} ${f.short}.${p.short.dot}",   // русский язык
            "kz": "${l} ${f.short}.${p.short.dot}",   // казахский язык
            "en": "${l} ${f.short}.${p.short.dot}"    // английский язык
        },
        "script": ""
    }
    "required": true
}

Модель данных компонента

{
    "id": "userlink-cmp",
    "type": "entity",
    "value": "syndevel s., DEVDEP, ARTA, Someone",                                                    // значение компонента
    "key": "cbc93e4a-b3b6-4b5d-8b93-7692b32e3ceb;63e8d268-a135-4fa9-91d2-ed5d0024c93b;g-131;text-0",  // список id выбранных пользователей, разделенных «;»
    "formatVersion": "V1",
    "manualTags": {"63e8d268-a135-4fa9-91d2-ed5d0024c93b": "DEVDEP"}                                  // пользователи, для которых были изменены названия вручную
}

Примечание

Идентификаторы могут иметь приставки:

  • без приставки - пользователь
  • g - группа (g-идентификатор_группы)
  • text - произвольный текст (text-номер_просто_число)

class AS.FORMS.UserLinkModel()

Модель компонента, наследует AS.FORMS.Model()

AS.FORMS.UserLinkModel.getSelectedIds()

Получить идентификаторы выбранных пользователей

Результат:[String]
AS.FORMS.UserLinkModel.getValue()

Получить значение

Результат:[object]: массив объектов
{
    personID: "идентификатор пользователя",      // обязательное поле
    personName: "название пользователя",         // обязательное поле
    positionName: "название должности пользователя (если существует)",
    customFields: {
        calendarColor: "цвет статуса",
        calendarStatusLabel: "текст статуса"
    }
}
AS.FORMS.UserLinkModel.setValue(value)
Аргументы:
  • value (object) –

    объект, или массив объектов со следующей структурой

    {
        personID: "идентификатор пользователя",      // обязательное поле
        personName: "название пользователя",         // обязательное поле
        positionName: "название должности пользователя (если существует)",
        customFields: {
            calendarColor: "цвет статуса",
            calendarStatusLabel: "текст статуса"
        }
    }
    

class AS.FORMS.UserLinkView()

Отображение компонента, наследует AS.FORMS.View()

AS.FORMS.UserLinkView.showUserChooser()

отображает диалог выбора пользователя

3.6.3.15.2. Тип данных «Должности»

Описание компонента выглядит следующим образом

{
    "id": "positionlink-cmp",
    "type": "entity",
    "style": {},
    "config": {
        "entity": "positions",            // тип данных
        "read-only": false,               // заблокировать от изменений пользователем
        "script": "",                     // код скрипта
        "depends": "departmentlink-cmp",  // связь с компонентом
        "locale": "kz",                   // язык
        "fill-with-current": true,        // заполнять первой должностью создающего пользователя
        "custom": true,                   // разрешать ввод произвольного текста
        "editable-label": true,           // разрешать редактировать label выбранного элемента
        "only-vacant": true               // отображать только вакантные должности
    },
    "required": true
}

Модель данных компонента

{
    "id": "positionlink-cmp",
    "type": "entity",
    "value": "SDE III",                                               // значение компонента
    "key": "ababf6ba-2c64-4f02-8490-898e8d8bd096",                    // id выбранной должности
    "formatVersion": "V1",
    "manualTags": {"ababf6ba-2c64-4f02-8490-898e8d8bd096": "SDE III"} // должности, для которых были изменены названия вручную
}

class AS.FORMS.PositionLinkModel()

Модель компонента, наследует AS.FORMS.Model()

AS.FORMS.PositionLinkModel.getSelectedIds()

Получить идентификаторы выбранных должностей

Результат:[String]
AS.FORMS.PositionLinkModel.getValue()

Получить значение

Результат:[object]
{
    elementID: "идентификатор должности",            //обязательный элемент
    elementName: "название должности",               //обязательный элемент
    departmentName: "название подразделения, которому принадлежит должность",
    status: "текст статуса",
    statusColor: "цвет статуса"
}
AS.FORMS.PositionLinkModel.setValue(value)
Аргументы:
  • value (object) –
    {
        elementID: "идентификатор должности",            //обязательный элемент
        elementName: "название должности",               //обязательный элемент
        departmentName: "название подразделения, которому принадлежит должность",
        status: "текст статуса",
        statusColor: "цвет статуса"
    }
    

class AS.FORMS.PositionLinkView()

Отображение компонента, наследует AS.FORMS.View()

3.6.3.15.3. Тип данных «Подразделения»

Описание компонента выглядит следующим образом

{
    "id": "departmentlink-cmp",
    "type": "entity",
    "style": {},
    "config": {
        "entity": "departments",          // тип данных
        "read-only": false,               // заблокировать от изменений пользователем
        "script": "",                     // код скрипта
        "depends": "departmentlink2-cmp", // связь с компонентом
        "locale": "kz",                   // язык
        "fill-with-current": true,        // заполнять департаментом создающего пользователя
        "custom": true,                   // разрешать ввод произвольного текста
        "editable-label": true,           // разрешать редактировать label выбранного элемента
        "multi": true                     // позволять мультивыбор
    },
    "required": true
}

*Модель данных компонента *

{
    "id": "departmentlink-cmp",
    "type": "entity",
    "value": "ARTA;; Отдел Разработки",                                        // значение компонента, в качестве разделителя наименований value используется «;; » (с пробелом после точек с запятой)
    "key": "1;cf4b8595-44e3-43b1-bd55-f30b0a1b03cb",                           // список id выбранных подразделений, разделенных «;»
    "formatVersion": "V1",
    "manualTags": {"cf4b8595-44e3-43b1-bd55-f30b0a1b03cb": "Отдел Разработки"} // подразделения, для которых были изменены названия вручную
}

class AS.FORMS.DepartmentLinkModel()

Модель компонента, наследует AS.FORMS.Model()

AS.FORMS.DepartmentLinkModel.getSelectedIds()

Получить идентификаторы выбранных подразделений

Результат:[String]
AS.FORMS.DepartmentLinkModel.getValue()

Получить значение

Результат:[object]
{
    departmentId: "идентификатор подразделения",         // обязательное поле
    departmentName: "название подразделения",            // обязательное поле
    parentName: "название подразделения, которому принадлежит должность",
    hasChildren: "имеются ли дочерние подразделения",
    status: "текст статуса",
    statusColor: "цвет статуса"
}
AS.FORMS.DepartmentLinkModel.setValue(value)
Аргументы:
  • value (object) –
    {
        departmentId: "идентификатор подразделения",         // обязательное поле
        departmentName: "название подразделения",            // обязательное поле
        parentName: "название подразделения, которому принадлежит должность",
        hasChildren: "имеются ли дочерние подразделения",
        status: "текст статуса",
        statusColor: "цвет статуса"
    }
    

class AS.FORMS.DepartmentLinkView()

Отображение компонента, наследует AS.FORMS.View()