Блог

Платформа как инструмент реализации задач индивидуального пользователя

Технологическая платформа Sherp позволяет проектировать и разрабатывать многофункциональные корпоративные информационные системы. Но также с её использованием возможна реализация решений небольших практических задач. В данной статье описан процесс создания на платформе Sherp небольшого прикладного решения по учету и анализу сделок на финансовом рынке для нужд индивидуального пользователя.

 

Назначение разрабатываемого решения:

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

 

  1. Создадим предметную область «Отчеты брокера».
  2. Создадим сущности и настроим связи между ними:
  • Документ – головной объект;
  • Документ HTML – хранение самого отчета брокера в формате HTML;
  • Операции – учет операций;
  • Счет – денежные активы и движения по счету за день;
  • Учет ЦБ – активы и движения ЦБ за день;
  • Справочник ЦБ.

 

Например, описание сущности операции на рисунке 1:

 

Рис. 1

 

Связи с сущностью документ по полю DocumentID и справочником ЦБ по полю QuoteID:

 

Рис. 2

 

Простейшая схема БД представлена на рисунке 3:

 

Рис. 3

 

Под каждую сущность создаем таблицу в БД с необходимыми атрибутами, а также процедуры, отвечающие за добавление, изменение и удаление экземпляров сущности (записей в таблице).

Например, таблица:

 

CREATE TABLE [dbo].[sz$Trade](

[TradeID] [uniqueidentifier] NOT NULL,

[DocumentID] [uniqueidentifier] NOT NULL,

[QuoteID] [uniqueidentifier] NOT NULL,

[Quantity] [int] NOT NULL,

[Price] [money] NOT NULL,

 CONSTRAINT [PK_h$Trade] PRIMARY KEY CLUSTERED

(

[TradeID] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

 

GO

 

Процедуры:

  • Добавление записи:

 

CREATE PROCEDURE [dbo].[sz$Trade_Insert]

@DocumentID UNIQUEIDENTIFIER,

    @QuoteID UNIQUEIDENTIFIER = NULL,

    @Quantity INT = 0,

    @Price MONEY = NUll

AS

BEGIN

INSERT INTO [dbo].[sz$Trade]

( [TradeID],

        [DocumentID],

        [QuoteID],

        [Quantity],

        [Price] )

     VALUES

     ( NEWID(),

        @DocumentID,

        @QuoteID,

        @Quantity,

        @Price );

END

GO

 

  • Изменение записи:

 

CREATE PROCEDURE [dbo].[sz$Trade_Update]

@TradeID UNIQUEIDENTIFIER,

@DocumentID UNIQUEIDENTIFIER,

    @QuoteID UNIQUEIDENTIFIER,

    @Quantity INT,

    @Price MONEY

AS

BEGIN

UPDATE [dbo].[sz$Trade]

SET [DocumentID] = @DocumentID,

[QuoteID] = @QuoteID,

[Quantity] = @Quantity,

[Price] = @Price

WHERE [TradeID] = @TradeID;

END

GO

 

  • Удаление записи:

 

CREATE PROCEDURE [dbo].[sz$Trade_Delete]

@TradeID UNIQUEIDENTIFIER

AS

BEGIN

DELETE FROM [dbo].[sz$Trade]

WHERE [TradeID] = @TradeID;

END

GO

 

На основании этих объектов формируем соответствующие datablock’и, являющиеся одними из основных элементами Платформы. Выбираем тип datablock’а «Редактирование таблицы», и в один datablock включаем процедуры просмотра, добавления, изменения и удаления информации с соответствующими параметрами:

 

Рис. 4

 

На основании этого datablock’а формируем browser, в котором и будем просматривать и редактировать информацию:

 

 

Рис. 5

 

После создания всех необходимых datablock’ов и browser’ов получаем систему для учета торговых сделок. Внешне она выглядит так: по вызову из меню открывается окно «Отчет брокера» (browser) c последними десятью документами:

 

Рис. 6

 

 Из контекстного меню доступны команды «Открыть файл» и «Посмотреть отчет». В результате выполнения команды «Посмотреть отчет» элемент WEB browser выводит содержание отчета:

 

Рис. 7

 

Соответственно, карточка для ввода изменения информации будет выглядеть следующим образом:

 

Рис. 8

 

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

 

Рис. 9

 

В готовом виде этот график выглядит так:

 

Рис. 10

 

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

Фактически на создание всего решения ушло менее одного дня.


Примеры реализации
Подписаться

Новые статьи

Настройка рабочего места Изменения в разработке пользовательских форм Платформа как инструмент реализации задач индивидуального пользователя Поиск по связанным сущностям Дополнительные настройки Browser'а Новая форма интерфейса - FinderBrowser Новый вид меню пользователя Возможность формирования отчетов с использованием различных источников данных (Федерация данных) Росагролизинг внедрил лизинговый конвейер, автоматизировав процесс рассмотрения заявок на поставку сельхозтехники Возможность аутентификации и авторизации с использованием ADFS