Was this article helpful?

Спасибо за вашу оценку!

Оставляя более подробный отзыв, вы помогаете нам улучшать документацию

Практикум. Банковская информационная система. Объектная модель

Общие сведения об объектной модели

Реализация любого приложения начинается с создания предметной области, типов объекта, их атрибутов и настройки связи между элементами объектной модели.

Перед тем как приступить к настройке приложения необходимо выделить основные используемые понятия:

  • Атрибут – значимая характеристика объекта, используется для идентификации, классификации, выражения количественной характеристики или состояния объекта;

  • https://docs-public.gdcloud.org/platform/ru/architecture-of-system-objects.html#%D1%82%D0%B8%D0%BF%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0[Тип объектов] – набор характеристик(атрибутов);

  • https://docs-public.gdcloud.org/platform/ru/architecture-of-system-objects.html#%D1%8D%D0%BA%D0%B7%D0%B5%D0%BC%D0%BF%D0%BB%D1%8F%D1%80%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%B0[Экземпляр] – набор сведений о конкретном объекте, создается Системой при заполнении данными;

  • https://docs-public.gdcloud.org/platform/ru/architecture-of-system-objects.html#%D1%80%D0%B5%D0%B5%D1%81%D1%82%D1%80%D0%BE%D0%B1%D1%8A%D0%B5%D0%BA%D1%82%D0%BE%D0%B2[Реестр объектов] – накопитель сведений одного типа;

  • Связь – индикатор взаимоотношений между объектами. Существует 3 типа связей: наследования, агрегации и ассоциации.

При проектировании объектной модели существует возможность использовать готовые и создавать новые типы объектов. После описания типов данных и определения их характеристик платформа автоматически создаст оптимальные таблицы, ключи, индексы, связи и структуры.

Работа с объектной моделью включает в себя несколько этапов:

  1. Создание предметной области, на которой будет происходить создание объектной модели;

  2. Создание типов объекта. Перед созданием типа объекта необходима проверка отсутствия в Системе, что позволит обойти дублирование данных;

  3. Определение атрибутивного состава нового типа объектов и других настроек;

  4. Настройка связей ассоциации и агрегации между типами объекта;

  5. Наполнение типа объектов данными – экземплярами объектов – и последующее использование созданного типа в реализации бизнес-приложения.

Описание модуля

Для решения рассматриваемой бизнес-задачи необходимо построить объектную модель, содержащую следующие типы объектов:

  • Заявка на принятие решения – ключевой тип объектов, с которым взаимодействуют пользователи. Сотрудники КлП создают экземпляры типа, а сотрудники остальных подразделений просматривают и редактируют их, чтобы внести данные по результатам экспертиз;

  • Клиент - тип объектов, который будет хранить данные о юридических лицах – клиентах банка;

  • Структура вопроса – тип объектов, экземпляры которого будут содержать сведения о банковском продукте (кредите или гарантии), по которой принимается решение в заявке:

    • Кредит – тип объектов, который будет хранить данные о кредитах клиентов в заявке;

    • Гарантия – тип объектов, который будет хранить данные о гарантиях в заявке;

  • График погашения – тип объектов, который будет хранить данные по дате и сумме выплат по конкретному кредиту в заявке.

  • Экспертиза – тип объектов, экземпляры которого будут содержать информацию об инициаторе и результатах экспертизы заявки.

  • Справочник – тип объектов, который будет хранить экземпляры дочерних справочников:

    • Форма представления – справочник, который будет хранить значения о типах продуктов банка: кредитов и гарантий;

    • Целевое назначение – справочник для хранения значений целевого назначения кредита;

    • Тип лимита – справочник для хранения значений типов лимита кредита;

    • Ресурс финансирования – справочник для хранения значений вариантов ресурсов финансирования банковской гарантии;

    • Группа бенефициара – справочник для хранения информации о типе заинтересованного лица, которое является получателем денежный средств по банковской гарантии;

    • Результат экспертизы – справочник для хранения значений вариантов заключений экспертов.

Целевая объектная модель должна выглядеть следующим образом:

image016

Создание предметной области

Для удобства работы на платформе предусмотрена работа с моделью данных в виде ER-диаграммы (диаграммы предметной области), которая наглядно отображает состав и связи между элементами настраиваемой объектной модели.

Для создания новой ER-диаграммы есть два способа:

1. На стартовой странице в виджете «Предметные области» нажмите на кнопку «Создать».

extracted

2. Через главное меню перейти в пункт «Администрирование»«Управление объектами»«Предметные области». После перехода в реестре предметных областей создать новый экземпляр типа с помощью кнопки «Создать».

extracted

Создайте новую предметную область. Задайте для предметной области Наименование «Банковская информационная система». Сохраните экземпляр с помощью кнопки на верхней панели.

image019

Определение типов объектов

Для реализации объектной модели используются типы объектов для описания сущностей.

В редакторе предметной области предусмотрено добавление уже имеющихся типов объектов и создание новых.

image020

Определение справочников

Определение типа объектов «Справочник»

Создайте новый тип объектов «Справочник» – тип объектов, который будет хранить экземпляры дочерних справочников. Он используется для стандартизации атрибутивного состава для типов-справочников, а также реализации их связи для обращения к значениям каждого при необходимости.

Создайте тип объектов «Справочник» [DICTIONARY], в качестве родителя укажите тип объектов «Объект» — это абстрактный объект, содержащий минимальный необходимый набор атрибутов. При необходимости добавить новый справочник, в качестве родителя можно будет использовать тип объектов «Справочник».

Важно корректно заполнить поля «Наименование таблицы» и «Родитель», так как после сохранения данного типа, изменить их будет нельзя.

image021

Сохраните настройки типа объекта с помощью кнопки «Ок» и вернитесь к предметной области – созданный тип объектов будет расположен на ней в виде прямоугольника с наименованием.

Чтобы не усложнять предметную область, уберите его с предметной области. Для этого раскройте панель действий, нажав на тип объектов правой кнопки мыши. Затем выберите способ удаления «Убрать Тип объекта из Предметной области».

extracted

После этого предметная область будет пуста, но к типу объектов «Справочник» также можно обращаться, так как из системы он не удален. Сохраните настройки предметной области.

Определение дочерних справочников

Добавьте тип объектов «Форма представления» - справочник, который будет хранить значения о типах продуктов банка: кредитов и гарантий.

Создайте тип объектов «Форма представления» [PRODUCT_TYPE]. В качестве родителя выберите тип объектов «Справочник» и сохраните настройки типа объектов.

image023

Аналогично создайте остальные справочники, в качестве родителя выберите тип объектов «Справочник»:

  • «Целевое назначение» [TARGET_RATE] – справочник для хранения значений целевого назначения кредита;

  • «Тип лимита» [LIMIT_TYPE] – справочник для хранения значений типов лимита кредита;

  • «Ресурс финансирования» [RESOURSE_TYPE] – справочник для хранения значений вариантов ресурсов финансирования банковской гарантии;

  • «Группа бенефициара» [BEN_GROUP] – справочник для хранения значений типов тех, кто получает деньги по банковской гарантии;

  • «Результат экспертизы» [EXAM_RESULT] – справочник для хранения значений вариантов заключений экспертов.

После размещения типов объектов на предметную область, вы можете изменить их расположение на ней, используя принцип перетаскивания drag&drop.

extracted

Сохраните настройки предметной области.

Наполнение справочников

Вернитесь к настройке типа объектов «Форма представления», для этого на предметной области дважды нажмите на него. В модальном окне перейдите в реестр с помощью кнопки «Открыть реестр» на панели управления.

extracted

Реестр нового типа объектов по умолчанию пустой и не имеет экземпляров объектов. На панели инструментов расположены кнопки взаимодействия с реестром и объектами типа.

extracted

Создайте новый объект с помощью кнопки на панели управления. Заполните поле «Наименование» значением «Кредит» и сохраните объект.

extracted

Вернитесь к реестру и создайте остальные объекты:

  • Кредитная линия;

  • Лимит банковской гарантии;

  • Банковская гарантия.

После этого реестр будет выглядеть следующим образом:

extracted

Для того чтобы заполнить сразу несколько справочников и не переходить к каждому реестру по отдельности, можно создавать объекты в типе объектов «Справочник», который является родительским созданных ранее типов-справочников.

Для этого перейдите в пункт меню «Администрирование» - «Управление объектами» - «Типы объектов» и в реестре типов объектов с помощью поиска найдите тип «Справочник». Нажмите на него дважды, чтобы перейти к его настройкам.

extracted

Перейдите в реестр с помощью кнопки на панели управления «Открыть реестр». В реестре находятся экземпляры всех дочерних типов объектов. Создайте новый объект с помощью кнопки на панели управления. В модальном окне выберите тип объектов, экземпляр которого необходимо добавить.

extracted

Заполните реестры согласно таблице (см. Таблица 1).

Таблица 1. Наполнение справочников
Тип лимита Ресурс финансирования Группа бенефициара Результат экспертизы

Возобновляемый

Собственные ресурсы банка

Бенефициары в рамках 44-ФЗ

Положительный

Не возобновляемый

Программа субсидирования

Бенефициары в рамках 223-ФЗ

Положительный с условием

Неограниченный круг лиц

Отрицательный

Конкретный выбор бенефициаров

Экспертиза не проводилась

Заполнение справочника «Целевое назначение» будет рассмотрено позже.

image031

Определение типа объектов «Клиент»

Необходимо добавить новый тип объектов «Клиент» – тип объектов, который будет хранить данные о юридических лицах – клиентах банка.

Создайте тип объектов «Клиент» [CLIENT], в качестве родителя укажите тип объектов «Юридическое лицо» – он является системным типом объектов, содержащим необходимый набор атрибутов для описания клиента.

На вкладке «Атрибуты» настройте атрибутивный состав типа объектов «Клиент». В списке атрибутов указываются унаследованные (родительские), существующие и созданные пользователем атрибуты. Для того чтобы отобразить список родительских атрибутов, необходимо активировать переключатель «Показать атрибуты родительского типа».

image032

В списке родительских атрибутов уже содержатся атрибуты для описания клиента: ИНН, КПП, ОКВЭД, сегмент бизнеса и другие, поэтому создавать их дополнительно нет необходимости.

Сохраните настройки типа объектов и вернитесь к предметной области с помощью кнопки «Ок».

image033

Сохраните настройки предметной области.

Определение типа объектов «Заявка на принятие решения»

Создайте новый тип объектов «Заявка на принятие решения» [APPLICATION], экземпляры этого типа объектов будут содержать информацию о заявках на принятие решения по одобрению с результатами экспертизы. В качестве родителя выберите тип объектов «ДО.Документ» и сохраните настройки типа объектов.

Тип объектов «ДО.Документ» – это системный тип объектов, настройки которого нельзя изменить. Но его можно использовать в качестве родителя для типов объектов, по данным которых в дальнейшем будут формироваться документы, так как он имеет необходимые для этого атрибуты «Дата документа», «Номер документа» и «Прикрепленные файлы».

Сохраните тип объектов и вернитесь к предметной области.

image034

Сохраните предметную область.

Определение типа объектов «Структура вопроса»

Создайте новый тип объектов «Структура вопроса» [QUESTION], экземпляры этого типа объектов будут содержать сведения о банковском продукте (кредите или гарантии), по которой принимается решение в заявке. В качестве родителя выберите тип объектов «ДО.Документ» и сохраните настройки типа объектов.

Сохраните тип объектов и вернитесь к предметной области.

image035

Сохраните предметную область.

Определение типа объектов «Кредит»

Создайте новый тип объектов «Кредит» - тип объектов, который будет хранить данные о кредитах клиентов в заявке.

Создайте тип объектов «Кредит» [CREDIT], в качестве родителя укажите тип объектов «Структура вопроса», чтобы унаследовать родительские атрибуты.

Чтобы добавить существующие в системе атрибуты, необходимо нажать на кнопку «Добавить существующий» и в появившемся модальном окне выбрать интересующий из перечня атрибутов. Использование существующих атрибутов позволит избежать дублирования данных и расширения базы данных.

extracted

Добавьте атрибут, который будет хранить информацию о валюте. Добавьте существующий атрибут, для этого нажмите на кнопку «Добавить существующий». В модальном окне активируйте переключатель «Выбор атрибута из полного списка атрибутов» и в поле «Атрибут» с помощь поиска найдите и выберите атрибут «Валюта» [CURRENTCY_ID], затем подтвердите с помощью кнопки «Добавить».

extracted

Измените настройки добавленного атрибута, для этого в списке выберите атрибут «Валюта» и нажмите на кнопку редактирования.

extracted

В модальном окне настройки атрибута его параметры расположены на следующих вкладках:

  • Основное – ввод основной информации об атрибуте;

  • Визуал – выбор визуального представления атрибута;

  • Версионность значений – определение зависимости значения атрибута от времени;

  • События – настройка дополнительных действий при изменении значения атрибута в объекте;

  • Дополнительное – ввод иных (некритичных) характеристик атрибута.

На вкладке «Основное» в поле «Обязательность» выберите значение «Да», а в поле «Значение по умолчанию» - «Рубль». Сохраните настройки атрибута с помощью кнопки «Ок».

extracted

Аналогично добавьте атрибут «Тип динамики» [DYN_TYPE_ID], который будет хранить информацию о периодичности выплат кредита.

extracted

Перейдите к его настройке и измените наименование на «Периодичность выплат». Сохраните изменения в типе объекта.

Аналогично добавьте существующий атрибут «Сумма» [SUMM] для обозначения суммы кредита.

extracted

Перейдите к редактированию атрибута и измените значения в полях:

  • Минимум – «0»;

  • Количество знаков после запятой – «2»;

  • Значение по умолчанию – «0»;

  • Обязательность – «Да».

extracted

Сохраните настройки

Создайте новый атрибут для хранения информации о процентной ставке, для этого нажмите на кнопку «Создать».

extracted

На вкладке «Основное» заполните поля:

  • Наименование – «Процентная ставка»;

  • Идентификатор – «INTEREST_RATE»;

  • Тип – «Числовой»;

  • Минимум – «0»;

  • Максимум – «100»;

  • Количество знаков после запятой – «2»;

  • Значение по умолчанию – «0»;

  • Обязательность – «Да».

extracted

Сохраните настройки типа объектов.

Аналогично добавьте атрибут «Срок» [TERM] для обозначения срока кредитования, выберите тип – «Числовой», минимум – «0», значение по умолчанию – «0», обязательность – «Да».

extracted

Сохраните настройки типа объектов.

image046

Определение типа объектов «График погашения»

Необходимо добавить тип объектов «График погашения»- тип объектов, который будет хранить данные по дате и сумме выплат по конкретному кредиту.

Создайте тип объектов «График погашения» [REPAYMENT_SCHEDULE], в качестве родителя укажите тип объектов «Объект».

Добавьте существующий атрибут «Дата» [REPORT_DATE] – в модальном окне выбора атрибута активируйте чек-бокс «Обязательный».

extracted

Добавьте существующий атрибут «Сумма» [SUMM]. Перейдите к редактированию атрибута и измените значения в полях:

  • Минимум – «0»;

  • Количество знаков после запятой – «2»;

  • Значение по умолчанию – «0»;

  • Обязательность – «Да».

Сохраните настройки типа объектов.

image048

Сохраните настройки предметной области.

Определение типа объектов «Гарантия»

Создайте новый тип объектов «Гарантия» - тип объектов, который будет хранить данные о гарантиях клиентов в заявке.

Создайте тип объектов «Гарантия» [GUARANTEE], в качестве родителя укажите тип объектов «Структура вопроса», чтобы унаследовать родительские атрибуты.

Настройте атрибутивный состав типа объекта согласно таблице ниже (см. Таблица 2).

Таблица 2. Атрибуты типа объектов «Гарантия»
Вид атрибута Исходное наименование Наименование Наименование поля таблицы Тип атрибута Обязательность Значение по умолчанию Дополнительные настройки

Существующий

Валюта

Валюта

CURRENTCY_ID

Объект

Да

Рубль

-

Существующий

Сумма

Сумма

SUMM

Денежный

Да

0

минимум – 0, знаков после запятой - 2

Существующий

Срок

Срок действия гарантии

TERM

Числовой

Да

0

минимум – 0

Существующий

Тип динамики

Период

DYN_TYPE_ID

Объект

Да

-

-

Существующий

Дата начала

Дата начала действия

START_DATE

Дата

Да

-

-

Новый

-

Дата выдачи

DATE_ISSUANCE

Дата

Да

Текущая дата

-

Новый

-

Период доступности лимита

PERIOD_AVAILABLE

Дата

Да

-

-

Сохраните настройки типа объектов.

image049

Сохраните настройки предметной области.

Определение типа объектов «Экспертиза»

Создайте новый тип объектов «Экспертиза» [EXPERTISE], экземпляры этого типа объектов будут содержать информацию об инициаторе и результатах экспертизы заявки. В качестве родителя выберите тип объектов «ДО.Документ» и сохраните настройки типа объектов.

Добавьте существующий обязательный атрибут «Сотрудник инициатор» [INIT_EMP_ID] для фиксации сотрудника, проводящего экспертизу.

Сохраните настройки типа объектов.

image050

Сохраните настройки предметной области.

Настройка связей между типами объекта

Настройте связи между типами объектов на предметной области. На платформе реализован функционал установки связей для сопоставления данных между двумя типами объектов.

Связь между типами объектов устанавливает отношения между совпадающими значениями в ключевых полях, что позволяет обращаться к записям одного типа из другого.

Существует 3 вида взаимосвязи между объектами:

  • Наследования – ссылка на родительский объект;

  • Ассоциации – создание объектного атрибута – атрибута с ссылкой на тип объектов;

  • Агрегации – создание дочернего атрибута – атрибут, хранящий в себе набор записей другой таблицы (типа объекта, указанного при настройках атрибута), которая в свою очередь имеет объектную ссылку на текущую таблицу.

Один родительский объект может иметь много дочерних, однако у всякого дочернего объекта может быть только один родитель. Кроме того, один и тот же объект может быть родительским для одних объектов и в то же время дочерним для других.

Настройка связей для типа объектов «Гарантия»

Создайте ассоциативную связь от типа объектов «Гарантия» к типу объектов «Клиент», для того чтобы отображать данные о бенефициаре (-ах) гарантии. Для этого выберите тип объектов «Гарантия» и откройте выпадающий список действий, выберите команду «Создать ассоциативную связь» и щелкните по типу объектов «Клиент».

extracted

После этого откроется модальное окно создания атрибута. При необходимости в текущем окне можно изменить настройки атрибута до сохранения, но после часть настроек будет недоступна для редактирования. Измените наименование атрибута на «Бенефициар(ы)», активируйте переключатель «Множественный выбор» — это значит, что для одной гарантии может быть указано несколько бенефициаров. Сохраните изменения, нажав на кнопку «Ок».

extracted

Таким образом, в типе объектов «Гарантия» будет создан объектный атрибут, ссылающийся на Тип объектов «Клиент».

extracted

Сохраните предметную область.

Аналогично создайте ассоциативную связь от типа объектов «Гарантия» к типам.

  • Группа бенефициара;

  • Тип лимита;

  • Форма представления;

  • Целевое назначение;

  • Ресурс финансирования.

extracted

Сохраните предметную область.

Настройка связей для типа объектов «Кредит»

По аналогии с типом объектов «Гарантия» настройте ассоциативную связь от типа объектов «Кредит» к типу «Целевое назначение», чтобы отображать назначение кредита.

В модальном окне создания объектного атрибута измените идентификатор на [CREDIT_TARGET_RATE_ID].

extracted

Также настройте ассоциативную связь от типа объектов «Кредит» к типу «Форма представления», чтобы отображать форму кредита (кредит или кредитная линия).

В модальном окне создания объектного атрибута измените идентификатор на [CREDIT_PRODUCT_TYPE_ID] и установите обязательность – «Да».

Если форма представления кредита – Кредитная линия, необходимо отображать график погашения такого кредита. Чтобы хранить набор нескольких связных объектов для одного экземпляра типа, в системе предусмотрен тип атрибута – дочерний объект.

Процесс создания атрибута типа «Дочерний объект» включает в себя следующие шаги:

  1. Создаются два типа объектов, между которыми будет настраиваться связь.

  2. В первом типе объекта создается атрибут типа «Объект» со ссылкой на второй тип объекта.

  3. Во втором типе объекта создается атрибут типа «Дочерний объект» со ссылкой на первый тип объекта, при этом в параметре «Связь» указывается объектный атрибут первого типа.

Необходимо связать типа объектов «Кредит» и «График погашения», где последний – будет дочерним объектом.

Создайте ассоциативную связь от типа объектов «График погашения» к типу «Кредит», в настройках атрибута укажите «Обязательность»«Нет». Затем нажмите на стрелку обозначающую связь правой кнопкой мыши и выберите «Преобразовать в связь агрегации».

extracted

Сохраните атрибут без изменений с помощью кнопки «Ок».

extracted

После этого на предметной области изменится вид стрелки между типами объектов «Кредит» и «График погашения». Сохраните настройки предметной области.

image058

Настройка связей для типа объектов «Экспертиза»

Настройте ассоциативную связь от типа объектов «Экспертиза» к типу «Результат экспертизы», чтобы Инициатор экспертизы мог отметить свое решение по заявке.

Сохраните атрибут без изменений с помощью кнопки «Ок».

extracted

Сохраните настройки предметной области.

Настройка связей для типа объектов «Заявка на принятие решения»

Создайте дочерний объект от типа объектов «Заявка на принятие решения» к типу «Структура вопроса», чтобы отображать список продуктов (кредитов и гарантий) в заявке. Для начала настройте ассоциативную связь от типа объектов «Структура вопроса» к типу «Заявка на принятие решения», чтобы отображать назначение кредита: в модальном окне создания объектного атрибута установите обязательность – «Да».

extracted

Далее преобразуйте связь ассоциации в связь агрегации и создайте атрибут дочернего объекта, затем сохраните его с помощью кнопки «Ок».

extracted

Сохраните настройки предметной области.

extracted

Создайте связь ассоциации от типа объектов «Заявка на принятие решения» к типу «Клиент», чтобы хранить информацию о клиенте, оформившем заявку.

extracted

В заявке должны храниться результаты экспертизы подразделений СБ и КрП.

Создайте связь ассоциации от типа объектов «Заявка на принятие решения» к типу «Результат экспертизы», чтобы хранить информацию по решению от Службы Безопасности. В модальном окне измените наименование и идентификатор на «Результат экспертизы СБ» [SS_EXAM_RESULT_ID].

extracted

Аналогично создайте связь ассоциации от типа объектов «Заявка на принятие решения» к типу «Результат экспертизы», чтобы хранить информацию по решению от Кредитного Подразделения. В модальном окне измените наименование и идентификатор на «Результат экспертизы КрП» [CU_EXAM_RESULT_ID].

Также экспертиза заявки проводится Юридическим Департаментом, но в отличии от остальных – экспертиза может быть проведена несколько раз. Для этого необходимо добавить дочерний атрибут от типа объектов «Экспертиза». Для этого создайте ассоциативную связь от типа объектов «Экспертиза» к типу объектов «Заявка на принятие решения»: в окне настройки атрибута измените наименование и идентификатор на «Заявка» [EXP_APPLICATION_ID].

extracted

Преобразуйте связь ассоциации в связь агрегации и создайте дочерний атрибут «Экспертиза ЮД» [LD_EXPERTISE_LIST]. Сохраните атрибут с помощью кнопки «Ок».

extracted

Сохраните настройки типа объектов.

image016

Определение выражений для типов объекта

На платформе GreenData предусмотрена работа с алгоритмами. Алгоритм – это некая последовательность вычислительных шагов, используемая для выполнения определенной задачи или преобразования данных.

Система поддерживает работу со всеми типами алгоритмов: линейными, разветвляющимися, циклическими и вспомогательными. Они задаются на языке Groovy – объектно-ориентированном языке программирования, который является дополнением к языку Java.

Бэковые алгоритмы объектов выполняются на серверной части приложения. Они используются для:

  • заполнения значений атрибутов типа объектов;

  • расчета вычислимых показателей;

  • запуска этапа процесса интеграции;

  • создания условий и действий на бизнес-процессе;

  • трансформации аналитических форм.

Откладка бэковых алгоритмов возможна на этапе создания формулы. Каждый алгоритм может использоваться в Системе один или несколько раз.

Выражения – это алгоритмы на типе объекта, выполняющие автоматическое заполнение привязанных к ним атрибутов. С помощью выражений можно реализовать автонаименование объектов, их нумерацию, расчет вычислимых показателей, а также заполнение атрибутов данными.

Создание и настройка выражений происходит в настройках типа объекта на вкладке «Выражения/Автокалькуляции». Все системные и созданные пользователями алгоритмы выражений хранятся в реестре алгоритмов объектов в папке «Карточки объектов», в который можно перейти с помощью главного меню: «Администрирование» - «Управление объектами» - «Алгоритмы объектов».

Также можно создать собственную папку для хранения созданных алгоритмов с помощью кнопки на верхней панели.

image067

Если выражения наследуются от родительского типа объектов, их невозможно отредактировать и удалить на уровне дочернего типа. Например, все типы объектов по умолчанию содержат выражение для автоматического заполнения наименования объекта. Указанное выражение наследуется от типа «Объект». Для задания нового алгоритма следует использовать кнопку «Переопределить настройки».

Для создания нового выражения воспользуйтесь кнопкой «Добавить новое выражение».

extracted

Каждый объект типа «ДО. Документ» (или его дочернего) имеет атрибут «Номер документа», который заполняется номером документа автоматически.

Настройте алгоритм для нумерации экземпляров типа объектов «Заявка на принятие решения».

Для реализации механизма автонумерации на платформе представлен отдельный тип объектов «Автонумерация» [SYS_SEQUENCE].

Для того чтобы перейти к нему, откройте главное меню и перейдите в раздел «Справочники» - «Автонумерация».

extracted

В открывшемся реестре создайте новый экземпляр «Автонумерация заявок» [APPL_NUM], укажите текущее значение – 1. Сохраните объект.

extracted

Вернитесь к предметной области и откройте настройки типа объектов «Заявка на принятие решения» и перейдите на вкладку «Выражения/Автокалькуляции». Переопределите настройки выражения для Автоматической нумерации документов.

image071

Редактор алгоритмов содержит в себе поле для формулы и панель «Инструменты», на которой располагаются доступные функции: набор функций определяется типом алгоритма.

image072

Создайте алгоритм «Нумерация заявок» [REQ_NUM_ALG], в качестве базового типа объектов оставьте «Заявка на принятие решения», который будет автоматически последовательно нумеровать заявки.

image073

Заполните поле формулой алгоритма.

extracted

Воспользуйтесь функциями:

Выполните следующие шаги чтобы повторить формулу алгоритма:

  1. На панели инструментов в разделе «Текст» вызовите функцию text и впишите в кавычках «Заявка №»;

  2. Введите с клавиатуры «+» для конкатенации(склеивания) элементов и строк формулы алгоритма между собой;

  3. После знака «+» вызовите функцию sequenceNextVal – в появившемся окне выберите только что созданный экземпляр «Автонумерация заявок».

extracted

Сохраните изменения и вернитесь к настройке выражений типа.

В окне настройки выражения измените значение поля «Автоматический пересчет выражения» на «При первом сохранении», чтобы алгоритм выполнялся один раз при сохранении и в дальнейшем при изменении заявки - не менялся.

extracted

Сохраните настройки выражения с помощью кнопки «Сохранить».

Настройте алгоритм для автоматического наименования экземпляра для типа объектов «Заявка на принятие решения». Для этого в настройках типа объектов «Заявка на принятие решения» на вкладке «Выражения/Автокалькуляция» выберите строку с алгоритмом наименования и выберите «Переопределить настройки».

Создайте алгоритм «Алгоритм наименования заявки» [APPL_NAME_ALG], в качестве базового типа объектов оставьте «Заявка на принятие решения», который будет автоматически генерировать значение для атрибута «Наименование» при создании экземпляра. Наименование будет содержать информацию о номере заявки, дате и клиенте.

Заполните формулу алгоритма.

extracted

Для этого воспользуйтесь следующими функциями:

Выполните следующяс последовательность действий чтобы создать формулу алгоритма:

  1. На панели инструментов в разделе «Источники» выберите функцию attr. В появившемся окне выберите атрибут, значение которого будет подставляться в алгоритм – Номер документа; image078

  2. Введите с клавиатуры «+» для конкатенации(склеивания) элементов и строк формулы алгоритма между собой;

  3. На панели инструментов в разделе «Текст» вызовите функцию text, укажите в кавычках « от », а затем введите «+» снова;

  4. В разделе «Дата» вызовите функцию dateFormat, измените первый аргумент и вместо текущей даты вставьте атрибут «Дата документа» с помощью функции attr. В качестве второго аргумента измените формат на «dd.MM.yyyy»;

  5. Аналогично шагам 2-3 вставьте + «: » +;

  6. Вставьте атрибут Клиент.Наименование с помощь функции attr. Этот атрибут является цепочечным, для того, чтобы его выбрать, необходимо раскрыть список атрибутов атрибута Клиент.

Сохраните алгоритм и вернитесь к настройке выражения. Переведите в активное положение переключатель «Рассчитать в момент создания новых объектов» и в поле Автоматический пересчет выражения выберите из списка значение «При изменении атрибутов, используемых в алгоритме».

extracted

Сохраните изменения на типе объектов.

Настройте заполнение атрибута «Дата документа» текущей даты для корректной работы выражения. Для этого перейдите к атрибутам типа «Заявка на принятие решения» и отобразите родительские атрибуты: перейдите к настройке атрибута «Дата документа» [DOC_DATA] и переведите в активное состояние переключатель «Значение по умолчанию – текущая дата».

image

Сохраните изменения на типе объектов и вернитесь к предметной области.

Аналогичные выражения настройте на типах объектов «Кредит» и «Гарантия», создав для каждого отдельный объект автонумерации и алгоритмы для нумерации и наименования, а также настройте родительский атрибут «Дата документа». В алгоритме наименования укажите только номер документа и дату документа. Формула алгоритма будет выглядеть следующим образом:

extracted

Настройте выражение для наименования транша в графике погашения кредита: переопределите настройки существующего выражения.

Создайте алгоритм «Алгоритм наименования транша» [TRANSH_NAME_ALG], в качестве базового типа объектов оставьте тип «График погашения». Алгоритм должен формировать строку, содержащую информацию о сумме, дате выплаты и клиенте заявки.

Заполните поле формулы алгоритма:

extracted

Для этого воспользуйтесь следующими функциями:

Выполните следующую последовательность действий чтобы создать формулу алгоритма:

  1. На панели инструментов в разделе «Текст» выберите функцию text: в поле ввода формулы алгоритма в кавычках укажите текст «Транш на сумму: »;

  2. Введите с клавиатуры «+» для конкатенации(склеивания) элементов и строк формулы алгоритма между собой;

  3. В разделе «Источники» вызовите функцию attr: в появившемся окне выберите атрибут, значение которого будет подставляться в алгоритм – Сумма;

  4. Введите с клавиатуры «+» для конкатенации элементов строки;

  5. В разделе «Дата» вызовите функцию dateFormat, в качестве первого аргумента функции укажите атрибут «Дата» [REPORT_DATE] с помощью функции attr, а в качестве второго аргумента приведите формат строки к виду «"dd.MM.yyyy"»;

  6. Введите с клавиатуры «+». Вызовите функцию attr и в появившемся окне поочерёдно раскрывайте объектные атрибуты по порядку: «Кредит» - «Заявка на принятие решения» - «Клиент», и среди цепочечных атрибутов последнего выберите «Наименование»;

Сохраните алгоритм и вернитесь к настройке выражения. Переведите в активное положение переключатель «Рассчитать в момент создания новых объектов» и в поле Автоматический пересчет выражения выберите из списка значение «При изменении атрибутов, используемых в алгоритме».

extracted

Сохраните изменения и вернитесь к типу объектов. Создание базовых элементов объектной модели завершено, в дальнейшем объектная модель может быть скорректирована и расширена.