CSP. Руководство администратора и системного архитектора
Редактор реквизитов информационных объектов
Построение бизнес-машрутов
Базовые настройки бизнес-логики
- Общие сведения о хранилище информационных объектов (CarabiDB)
- Редактор реквизитов информационных объектов
Общие сведения о хранилище информационных объектов (CarabiDB)
Рекомендации по проектированию структуры данных
В данном разделе приведены рекомендации по проектированию структуры хранилища инфорационных объектов CarabiDB, которая реализует сетевую модель данных с элементами объектной методологии, и описаны особенности проектирования структуры данных для реализации потоков работ.
Общие сведения о хранилище информационных объектов (CarabiDB)
Роль хранилищ данных CarabiDB
Хранилища данных являются центральным компонентом всей информационной архитектуры РЕШЕНИЯ. Оно обеспечивает не только пользовательский доступ (т.е. определяя способ получения информации), но и выполняя функцию извлечения информации из информационных объектов (т.е. определяя, какие данные доступны). Объединение данных о финансовом состоянии компании, ее служащих, заказчиках и поставщиках в единое представление является сложнейшей задачей, и ее решение затрагивает, как правило, множество исходных систем. Например, в CRM-системе информация о сотруднике клиентской службы и его взаимосвязи с конкретным заказчиком (группой заказчиков) может быть отражена одним способом (по виду продукции). Та же самая информация в системе управления человеческими ресурсами или в финансовой системе будет представлена другим способом (по географии и по юридическому лицу соответственно). В рамках Хранилищ данных подобное несоответствие успешно разрешается.
При размещении информации в Хранилищах интегрированная аналитика предоставляет в рамках РЕШЕНИЯ целый ряд дополнительных преимуществ:
-
предоставление полной и согласованной информация о финансах, заказчиках, сотрудниках и поставщиках;
-
возможность установить показатели, через которые выражается планируемая и достигнутая производительность;
-
применение общего набора инструментов и инфраструктуры для всех ранее разрозненных программных средств;
-
повышение эффективности за счет устранения проблем согласования, а
-
также уменьшения количества используемых систем и интегрированных инструментов.
База данных, объект, экземпляр объекта, поля и значения полей
В харащение CarabiDB используются элементы объектного подхода и сетевая модель данных.
Хранилище CarabiDB – это система специальным образом организованных данных, предназначенная для их накопления и использования. В базе данных отображается определенная часть реального мира (так называемая предметная область). Поэтому база данных обычно создается не для решения какой-то одной задачи, а для многоцелевого использования информации по определенной теме.
Традиционные системы накопления информации, такие как картотеки, требуют больших временных затрат на внесение и дальнейший поиск информации, особенно если хранимая информация не однотипна. При этом во избежание ошибок, одни и те же данные приходится дублировать. Анализ данных и подготовка необходимых отчетов занимает много времени и сил. А обнаружение одной ошибки, допущенной в начале, приводит к необходимости исправления всех результатов проделанной работы. Все это делает традиционную систему накопления информации сложной и негибкой в использовании.
База данных является простой и удобной, а главное лучшей, альтернативой любой картотеке. Он позволяет существенно облегчить и удешевить работу с большими объемами информации. При этом достигается полнота, непротиворечивость и достоверность отображения предметной области. В связи с этим, нет необходимости повсеместного дублирования информации.
Понятие информационного объекта
Объект – это некоторая, относительно самостоятельная часть базы данных. В СУБД CARABI данные хранятся в объектах. Конкретный состав объектов и их связи между собой определяют структуру базы данных.
Объект содержит описание реальных объектов. Так, например, Лица являются реальными объектами. Информация об объектах (в данном случае о подростках) будет накапливаться в соответствии со структурой объекта данных. То есть структура объекта - это структура накапливаемой информации.
Если бы использовалась традиционная система накопления информации, то данные о лицах находились бы в отдельной картотеке, где одна карточка соответствовала бы одному человеку. Причем все карточки были бы однотипными, т.е. данные хранились бы в соответствии с некоторым шаблоном.
Каждая карточка содержала бы информацию о фамилии, имени, отчестве, гражданстве, дате рождения, контактном телефоне и т.д. В данном примере вся картотека соответствует всем экземплярам (реализациям) объектов в базе данных. А структура шаблона карточки – структуре объекта.
Экземпляр объекта (Документ в хранилище)
Данные состоят из конкретных реализаций объекта (экземпляр), точно также как картотеки состоят из карточек. В картотеке каждому инфорационному объекту (ИО) соответствует одна карточка. Следует отметить, что каждая реализация ИО в CarabiDB имеет системный номер. Он присваивается объекту автоматически и предназначен, для того чтобы система могла различать объекты между собой даже в тех случаях, когда они содержат одинаковые значения.
Реквизит (поле) объекта
Реквизит объекта – это структурная единица, т.е. составляющая объекта. Каждый экземпляр объекта содержит один и тот же набор Реквизитов(полей). Определить структуру объекта данных, означает, в частности, решить, какие поля будут входить в объект. Если в объекте накапливается, например, информация о физических лицах, то будет содержаться информация о фамилии, имени, отчестве, гражданстве, дате рождения и т.д. Это означает, что каждая реализация объекта будет состоять из полей «Фамилия», «Имя», «Отчество», «Гражданство», «Дата рождения» и т.д.
Значение реквизита (поля) – это конкретные данные, хранимые в каждом поле. В каждой реализации объекта содержится реквизит «Фамилия». Для каждой реализации объекта этот поле содержит свое значение, т.к. каждая реализация объекта соответствует некоторому конкретному Лицу. Для первой реализации объекта значение поля «Фамилия» – Иванов, для второй – Петров, для третьей – Зайцев и т.д.
Свойства поля (реквизита) ИО
Реквизит (поле) объекта представляет собой особую структуру, предназначенную для хранения и управления данными определенного логического типа. Набор реквизитов составляет взаимодействующую структуру, которая способна в зависимости от ситуации (роли пользователя и установленных статусов) реорганизовываться в требуемом виде по правилам логики предметной области.
Реквизит объекта содержит наименование, системное наименование, тип данных и его настройку, а также дополнительные параметры. Задав набор реквизитов, можно создавать объект выбранного типа. Список полей объектов расположен в правом верхнем окне Редактора полей.
Каждый реквизит имеет обязательную настройку – тип данных. Тип данных показывает, какого рода значения будут сохранены в поле. Достаточно большой набор типов данных позволяет настроить систему наиболее корректным образом. Существуют несколько типов данных, каждый из которых принимает те или иные виды значений, имеет свои настройки и возможности.
Тип данных реквизита
Главным из свойств реквизита(поля) является тип данных реквизита. Тип данных реквизита зависит от того, значения какого рода будут храниться в этом поле, а также от того какие операции будут выполняться над этими значениями. Наиболее часто используется тип данных Текстовый, который применяется, например, для хранения данных о фамилии, имени и отчестве. Для хранения информации о дате рождения Лица применяется тип данных Дата. Количественные характеристики – это данные типа Числовой и т.д.
Разделение реквизитов по типам требуется для удобства выполнения конкретных операций над значениями реквизитов.
Например, требуется отобрать лиц с определенной датой рождения. Для этого система должна воспринимать значение поля «Дата рождения» именно как дату – обозначение конкретного дня месяца, а не как набор символов. Таким образом, эти реквизиты должны иметь тип Дата.
Перечень типов данных:
- Стандартный тип данных;
- Словарный тип данных;
- Выборка из таблиц;
- Медиа-данные;
- Счетчик;
- Прямая ссылка;
- Обратная ссылка;
- Отображение поля;
Множественность
Существенным свойством поля является количество значений, которые могут одновременно храниться в этом поле. Поле может быть не множественным (не кратным), если оно может одновременно содержать только одно значение, или множественным (кратным), если таких значений может быть несколько. Например, в объекте данных может быть поле «Гражданство». Можно создать два объекта об одном человеке, один из которых в поле «Гражданство» будет содержать значение «Россия», а второй - «Ямайка». Т.е. продублировать всю информацию о человеке только из-за значения одного поля. Можно в поле «Гражданство» ввести оба значения. Но тогда поиск информации будет затруднен.
Лучшим выходом в такой ситуации будет определить поле «Гражданство» как множественное (кратное). Тогда это поле будет содержать столько значений, сколько потребуется.
Обязательность
Обязательный или необязательный для заполнения реквизит. Если, например, объект содержит информацию о лицах, в котором не указана хотя бы фамилия, то такой объект является бессмысленным. Поэтому поля, имеющие важное значение, следует делать обязательными. А те поля, которые содержат дополнительную информацию, необязательными.
Стандартный тип данных
«Стандартный тип данных» является базовым типом и предназначен для хранения значений простых типов. Для уточнения формата данных предлагается выбрать один из следующих шаблонов ввода:
|
Наименование типа |
Описание |
Пример |
Примечание |
Числовые типы данных |
|||
|
Стандартная объект числа |
Цифровое значение с произвольной точностью |
1200 |
|
|
Интервал от…до |
Интервал цифровых значений с произвольной точностью |
от 100 до 1200 |
|
|
Число с допуском |
Цифровое значение с допуском относительно базового значения |
1200 +/- 1 |
|
|
Линейный размер |
Размер в трехмерной системе координат (длина, ширина, высота) X=… Y=… Z=… |
100x100x1200 |
|
|
Цвет |
Один из составляющих цвета CMYK (голубой, пурпурный, желтый, черный) |
черный |
|
|
Денежный |
Денежное значение с высокой точностью |
123,53 |
|
|
Дата |
|||
|
Полный |
Дата и время с точностью до секунд |
10 июля 2000г. 12:05:00 |
|
|
Время (ЧЧ:ММ:СС) |
Только время с точностью до секунд |
12:05:00 |
|
|
Дата (ДД.ММ.ГГГГ) |
Только дата с точностью до дня |
10 июля 2000г. |
|
|
Дата (год и месяц) |
Дата в формате |
Июль 2000г. |
|
|
Дата (год) |
Только год |
2000г. |
|
|
Дата (месяц) |
Только месяц |
июль |
|
|
Время (час.: мин.) |
Время в формате |
12:05 |
|
|
Время (час) |
Только час |
12 час. |
|
|
Временной интервал даты (с ДД.ММ.ГГГГ по ДД.ММ.ГГГГ) |
Интервал даты без времени с точностью до дня |
с 10 июля 2000г. по 18 июля 2000г. |
|
|
Временной интервал времени (с ЧЧ:ММ по ЧЧ:ММ) |
Интервал времени в пределах одних суток с точностью до минуты |
с 12:05 по 12:20 |
|
|
Полный интервал даты |
Интервал даты и времени с точностью до секунды |
с 10 июля 2000г. 12:05:00 по 18 июля 2000г. 10:36:00 |
|
|
Неделя |
Неделя |
11 нед. |
|
|
Неделя года |
Неделя указанного года |
11 нед. 2000г. |
|
|
Типы данных для хранения текстовой информации |
|||
|
Текстовый |
Текстовое значение длиной до 2000 символов |
текст |
Для хранения больших объемов данных нужно использовать тип данных «Медиа» |
|
Логические типы данных |
|||
|
Логический (да/нет) |
Логическое значение (истина или ложь) |
Да |
|
При необходимости можно включить пункт [Допускает множественность значений]. В этом случае один поле может содержать несколько значений указанного типа.
Поле [Производить автоматический расчет по встроенной функции] позволяет связать формирование значения поля на основе расчета.
Словарный тип данных
Одной из возможностей СУБД CARABI, существенно упрощающих работу с информацией, является создание и использование Словарного типа данных.
При использовании традиционной системы накопления информации, возникает множество ошибок, связанных в первую очередь с отсутствием стандартов на используемые понятия и ошибками человека (такими как описка, пропуск буквы и т.д.) Например, при описании гражданства можно использовать различные (из общепринятых!) названия стран: Россия и Российская Федерация и т.д. Вероятно, это может вызвать путаницу и создать некоторые проблемы при обработке информации. Можно назначить каждой стране некоторый уникальный код, но при его дублировании в новом объекте, вновь возникает вероятность ошибки, например из-за невнимательности человека (длинный числовой код не так-то просто ввести без ошибок). К сожалению, подобными ошибками грешат не только те системы, в которых информация хранится и обрабатывается на бумажных носителях. Работая с базой данных, Вы также можете столкнуться с описанными проблемами.
Однако как указано выше, в СУБД «Караби» реализована возможность создания словарей, в том числе иерархических. Словарь представляет собой список всех возможных значений некоторого поля, которое должно быть описано точно и однозначно. Например, такое поле как «Гражданство». При использовании словаря ввод значения данного поля сводится к простому выбору значения из списка, который выводится на экран. Такой список, т.е. словарь, предварительно заполнен только теми значениями, которые следует использовать.
В качестве списка значений Словарного типа данных используется один из словарей данных, подготовленных в Редакторе словарей. Настройка словарного типа подразумевает открытие окна настройки типа (см. выше), выбора в поле [Типа данных] значения «Выборка из словаря» и выбора требуемого словаря в списке существующих словарей.
Преимущества использования Словарного типа данных:
-
отсутствие ошибок при вводе данных оператором: данные выбираются из списка;
-
в случае если изменяется значение словаря, то оно также изменяется во всех объектах, в которых использовано;
-
поиск по словарным значениям работает быстрее, так как не требует анализа данных.
Примечание. Для того чтобы создать словарь, нужно войти в Редактор словарей, нажать на кнопку [Добавить словарь] и ввести его описание. Ввод значений также осуществляется в редакторе словарей: для этого надо нажать на кнопку [Добавить значение] и ввести его значение.
После того как создан новый словарь, можно перейти в «Редактор типов» и нажать на кнопку [Обновить] на панели инструментов. Произойдет обновление данных, и, в том числе, обновление списка словарей. Затем можно настроить словарный тип данных, выбрав в окне настройки типа «Словарный» тип данных и вновь созданный словарь.
При необходимости можно включить пункт [Допускает множественность значений]. В этом случае один поле может содержать несколько значений указанного типа.
Поле [Производить автоматический расчет по встроенной функции] позволяет связать формирование значения поля на основе расчета.
Медиа-данные
Одной из универсальных возможностей хранения и обработки данных в поле объекта является использование типа «Медиа-данные». Этот тип данных позволяет хранить различные объекты в виде вложений, такие как презентации, «видеообъекты», музыку, графические объекты. Открытие их для просмотра и редактирования осуществляется при помощи стандартных функций операционной системы для работы с файлами сопоставленных типов. В СУБД CARABI это поле предназначено для хранения изображений (фотографий) и других данных. Размер медиа-файла ограничен лишь пропускной способностью канала связи, при этом данные, располагаемые в ядре системы, архивируются и шифруются.
Для того чтобы создать поле типа «Медиа-данные», нужно в окне настройки типов в поле «Тип данных» выбрать «Медиа». Дополнительных специфических настроек тип данных не требует.
Поле [Производить автоматический расчет по встроенной функции] позволяет связать формирование значения поля на основе расчета.
Счетчик
Возникает необходимость вести уникальный идентификатор объекта. Незаменимым в этом случае может быть тип данных Счетчик. Этот тип данных позволяет присваивать уникальный идентификатор для каждого объекта. Гарантируется уникальность такого идентификатора для данного типа объекта.
Прямая ссылка
Основой логической связи двух типов объектов является размещение поля типа «Прямая ссылка». Создание такой ссылки означает, что в одном из объектов устанавливается логическая зависимость на один или несколько объектов определенного при настройке поля типа.
На уровне настройки каждый поле типа данных «Прямая ссылка» может содержать ссылки на один или несколько типов объектов. Именно список типов и задается в настройке поля. При работе с объектом, при установке ссылок, выбирается (или создается) один из объектов указанных типов.
Поле может содержать ссылки на несколько объектов.
Поле [Производить автоматический расчет по встроенной функции] позволяет связать формирование связей поля на основе расчета.
Обратная ссылка
«Обратная ссылка» – еще один ссылочный тип данных. Обратная ссылка показывает, в каких объектах используется текущий объект. То есть, создав в родительском объекте прямую ссылку, а в дочернем – обратную, и организовав связи с родительских объектов на дочерний, в поле обратной ссылки дочернего объекта появится список тех родительских объектов, в которых дочерний объект выбран в поле прямой ссылки.
Поле [Производить автоматический расчет по встроенной функции] позволяет связать формирование связей поля на основе расчета.
Отображение поля
Тип данных «Отображение поля» предлагает снижение уровней погружения в иерархию ссылочных объектов для получения значения определенного поля из вложенного объекта в родительском.
Поле [Производить автоматический расчет по встроенной функции] позволяет связать формирование значения поля на основе расчета.
Системное наименование поля
Системное наименование поля является важным понятием в проектировании структуры базы данных. Оно используется во многих аспектах работы со структурой объектов.
Системное наименование используется при:
-
подготовке системных функций при помощи Oracle SDK;
-
настройке отображения поля;
-
подготовке отчетов;
-
фильтрации объектов и проч.
Дополнительные настройки поля
Как уже было сказано выше, поле имеет свое наименование, системное наименование, тип данных, а также дополнительные настройки. Для каждого поля используются следующие дополнительные настройки:
-
возможность идентификации;
-
видимость;
-
обязательность для заполнения.
Идентификация
Это процедура автоматической проверки корректности ввода данных в документ на уровне поиска подобных документов. В случае если найден подобный документ, пользователю предлагается принять решение о поведении при объединении данных из найденных документов в один: два или более документа с одинаковыми значениями в идентифицирующих полях не могут находиться в базе данных при определенном типе идентификации.
Идентификация происходит по определенным признакам. Такими признаками выступают наборы идентифицирующих реквизитов формализованного документа.
Для того чтобы настроить идентифицирующие реквизиты документа, нужно отметить их в списке реквизитов.
Один тип документа может содержать более одного идентифицирующего реквизита. Поиск подобных документов найдет подобный документ только в том случае, если во всех идентифицирующих реквизитах окажутся одинаковые наборы значений.
Видимость поля
Одной из дополнительных настроек поля является установка видимости для поля. Видимость – возможность отключения отображения поля объекта для просмотра и редактирования в карточке объекта.
Обязательность заполнения поля.
Одной из дополнительных настроек поля является установка обязательности заполнения. В случае, если пользователь не введет значение в поле, обязательное для заполнения, то система выдаст соответствующее предупреждение и предложит заполнить поле.
Пример настройки реквизитов ИО (ИО Клиент)
Организация движения документов по статусам (для внедрения документооборота или бизнес-процесса)
CarabiDB позволяет описывать взаимосвязанные между собой информационные объекты, причем информационные объекты могут быть иерархически объединены в группы. Под объектом здесь понимается тип объекта, а не конкретная реализация (экземпляр).
Для описания информационных объектов требуется определить перечень реквизитов (полей) и их свойства. Кроме этого у объекта, в зависимости от состояния (времени), могут быть описаны наборы статусов объекта. Объект может находиться в одном из заданных статусов. Для разграничения доступа к данным используется механизм уровней доступа к объекту. Для каждой роли и в зависимости от текущего статуса, карточка объекта может выглядеть различным образом.
На основе совокупности свойств объекта, статусов (состояний документа во времени) и уровней доступа, можно создать workflow-модель, адекватную заданному бизнес-процессу или документообороту.
Редактор типов и реквизитов – основной модуль для редактирования структуры базы данных, предназначен для настройки типов объектов и полей. Этот модуль выполняет полную настройку типов, полей, событий документа, позволяет отображать документы, как в виде дерева, так и в виде графа связанных документов, настраивать уровни доступа и создавать тем самым workflow-модели.
CarabiDB может быть использована для обработки неструктурированной информации в виде файлов и папок. Для того чтобы осуществить формализацию документа, необходимо воспользоваться системой, позволяющей настраивать типы формализованных документов (редактор типов документов). Для каждого типа документа организуется набор полей с определенными типами данных. Каждое поле имеет различные свойства (обязательность заполнения, доступ по правам доступа, видимость, возможность редактирования и т. п.). Кроме того, для каждого типа документа создается система статусов, по которым можно описать текущее месторасположение документа (подписан – не подписан, отправлен, изменен, открыт для просмотра, открыт для редактирования и т. п.) и т. п.;
Гибкая система типов данных полей типов документов, как простых (числовой, текстовый), так и основанных на данных (словари, ссылка на таблицу базы данных, ссылка на другой тип документа, электронная подпись и т. п. – всего около 20 типов данных) позволяет создавать сложные структуры данных и производить манипуляции с ними.
Задав необходимые типы документов, появляются правила их формализации; при необходимости формализации документа требуется выбрать тип документа и заполнить необходимые поля.
Платформы CSP позволяет Пользователю вносить информацию и запускать процессы, не погружаясь в детали работы специализированных функций экрана. Необходимо лишь ввести требую информацию в карточку информационного объекта (формализованного документа) и выполнить определенного действие из предложенных. В результате будут произведены необходимые вычисления. Для более емкого отображения информации (состояние на складе, дебиторская задолженность и т.п.) он может сформировать отчет любой сложности в виде электронных таблиц или PDF файлов.
В случае со сложными формами ввода, требующими отображения графической информации или требованиями по ускоренному вводу есть возможность использовать специально разработанные формы, с помощью инструментов платформы.
Редактор реквизитов информационных объектов
Группы типов ИО
В левой части Редактора типов и реквизитов документов располагается дерево типов документов (объектов). Объекты могут быть распределены по группам (папкам)
Для создания новой группы типов небходимо перейти в сущестующую папку, внести описание папки и ее системное наименование. После этого нажать на кнопку Создать:
Также можно переименовать группы
Создание и редактирование информационного объекта
Для создания нового ИО небходимо перейти в нужну группу ИО и выбрать закладку создать тип документа:
В результате в хранилище появится новый тип ИО, котрый можно отредактирвать при необходимости:
Замечание.
Удаление типа объекта сопровождается удалением всех экземпляров объектов, реквизитов и событий; кроме того, можно разрушить логическую структуру информационных объектов в базе данных, поэтому к этой операции следует относиться чрезвычайно ответственно. Перед тем, как произвести удаление типа объекта, нужно проверить:
-
содержатся ли в других типах объектов отображаемые поля, данные из которых могут быть важны, и если да, то удалить все отображаемые поля;
-
используется ли этот тип объекта в связях с другими документами и если да, то удалить эти связи или перевести на другие объекты;
-
разработаны ли бизнес-приложения при помощи Carabi/SDK, которые используют этот тип данных или отдельные его реквизиты для расчетов или анализа, и, если да, то скорректировать их.
Редактор статусов ИО
На заладке статусов можно добавить и изменить расположение статусов ИО
В рельтате формируется линейка необходимых по процессу статусов ИО. Можно изменить порядок располжения статусов:
CarabiDB в общем случае не имеет статических объектов данных. Любой ИО может быть представлен в одном или более состояний от времени. Управление состояниями документа в зависимости от времени выполняется настройкой статусов документа и уровнями доступа.
Статус документа – одно из состояний документа в зависимости от времени. Набор статусов документа составляет возможные временные интервалы для данного объекта. Управление статусами документа позволяет представить информационный объект в требуемом виде по правилам бизнес-логики.
Пример: документ «Договор» имеет три статуса: «Договор на стадии согласования», «Договор подписан», «Договор аннулирован».
Документ, находящийся в первом статусе, позволяет вносить изменения в любой из реквизитов документа.
Документ, находящийся во втором статусе, позволяет только просматривать заполненные реквизиты без возможности их редактирования.
Документ, находящийся в третьем статусе, позволяет редактировать дополнительные поля «Дата аннулирования» и «Причина аннулирования», которые не были доступны ни в одном из статусов, и частично просматривать реквизиты.
Таким образом, в каждом из статусов имеются свои представления информационного объекта.
Изменения статуса документа производится только в случае, если для определенной роли разрешено устанавливать такой статус. Разрешения перевода в другой статус настраивается в закладке Действия (см ниже). История изменения статусов сохраняется в ядре CarabiDB. Изначально статус документа не присвоен c датой и временем его создания в хранилище.
Редактор полей ИО
Набор реквизитов определяет структуру объекта, которая способна в зависимости от ситуации (роли пользователя и установленных статусов) модифицироваться по заданному алгоритму.
Реквизит объекта содержит наименование, системное наименование, тип данных и дополнительные характеристики. Список реквизитов объекта расположен в правой верхней части Редактора типов и реквизитов. Обязательно следует описать права доступа к объекту.
В редакторе список полей (реквизитов) ИО можно создавать новые поля, менять существующие и устанавливать порядок расположения.
Создание нового скалярного поля по кнопке создать:
Создание нового нового ссылочного поля на другой ИО:
В результате после сохранения изменений появляется неоходимая структура ИО, котрую можно модифицировать:
Для того чтобы добавить реквизит, надо нажать на кнопку [Добавить], расположенную под списком реквизитов. Данная команда создает пустой реквизит стандартного типа данных.
Для того чтобы удалить реквизит, надо нажать на кнопку [Удалить].
Замечание.
Удаление реквизита сопровождается удалением всех значений из существующих документов. Поэтому к этой операции следует относиться чрезвычайно ответственно. Перед тем, как произвести удаление реквизита, нужно проверить:
-
содержатся ли значения в выбранном реквизите;
-
используется ли этот реквизит в связях с другими типами документов, и, если да, то удалить эти связи или перевести их на другие объекты;
-
разработаны ли бизнес-приложения при помощи Carabi/Oracle SDK, которые используют этот реквизит для расчетов или анализа, и если да, то скорректировать их.
Настройка типа данных реквизита
Каждый реквизит имеет обязательную характеристику – тип данных. Тип данных показывает, какого рода значения будут сохранены в реквизите. Достаточно большой набор типов данных позволяет настроить систему наиболее корректным образом.
Существуют несколько типов данных, каждый из которых принимает те или иные виды значений, имеет свои настройки и возможности.
Перечень типов данных:
-
Скаларные;
- Ссылочные;
- Словарные;
-
Выборка из таблиц;
- Обратная ссылка;
- Счетчик;
- Медиа;
- Отображение поля;
-
Справочник: классификатор;
-
Справочник: характеристики;
Настройка типа выполняется через окно настройки типа, которое вызывается в колонке [Тип данных] списка реквизитов.
Скалярные типы данных
«Скалярный тип данных» является базовым типом и предназначен для хранения значений простых типов. Для уточнения формата данных предлагается выбрать один из следующих типов хранения и ототбражения данных в карточке документа
При необходимости можно включить пункт [Допускает множественность значений]. В этом случае один реквизит может содержать несколько значений указанного типа.
Поле Запуск функции позволяет связать формирование значения реквизита на основе расчета. Подробнее об этом «Системная функция» настоящего руководства, а также документацию по Carabi/SDK
Для некотрых скалярных типов сeществуют различные формы ввода данных в карточке документа:
Словарный тип данных
Словарный тип данных позволяет стандартизировать используемые понятия и уменьшить количество ошибок человека (описка, пропуск буквы и т.д.) Например, можно использовать различные названия стран: Россия и Российская Федерация и т.д. Вероятно, это может вызвать путаницу и создать некоторые проблемы при обработке информации. Можно назначить каждой стране некоторый уникальный код, но при его дублировании в новом объекте, вновь возникает вероятность ошибки, например из-за невнимательности человека (длинный числовой код не так-то просто ввести без ошибок).
Словарь представляет собой список всех возможных значений некоторого поля, которое должно быть описано точно и однозначно. Например, такое поле как «Страна». При использовании словаря ввод значения данного поля сводится к простому выбору значения из списка, который выводится на экран. Такой список, т.е. словарь, предварительно заполнен только теми значениями, которые следует использовать.
В качестве списка значений Словарного типа данных используется один из словарей данных, подготовленных в специализированном редакторе, который описан в разделе «Редактор словарей». Настройка словарного типа подразумевает открытие окна настройки типа (см. выше), выбора в поле Тип данных значения «Выборка из словаря» и выбора требуемого словаря в списке существующих словарей.
Преимущества использования Словарного типа данных:
-
отсутствие ошибок при вводе данных оператором: данные выбираются из списка;
-
в случае если изменяется значение словаря, то оно также изменяется во всех объектах, в которых использовано;
-
поиск по словарным значениям работает быстрее, так как не требует анализа данных.
Примечание. Для того чтобы создать словарь, нужно войти в Редактор словарей, нажать на кнопку [Добавить словарь] и ввести его описание. Ввод значений также осуществляется в редакторе словарей: для этого надо нажать на кнопку [Добавить значение] и ввести его значение.
После того как создан новый словарь, можно перейти в «Редактор типов» и нажать на кнопку [Обновить] . Произойдет обновление данных, и, в том числе, обновление списка словарей. Затем можно настроить словарный тип данных, выбрав в окне настройки типа «Словарный» тип данных и вновь созданный словарь.
В тех случаях, когда требуется ограничиться списком значений, – не предоставлять пользователю возможность ввода данных, а лишь их выбор, имеет смысл использовать «Словарный тип данных».
При необходимости можно включить флажок Множественное значение. В этом случае один реквизит может содержать несколько значений указанного типа.
Медиа-поле
Одной из универсальных возможностей хранения и обработки данных в реквизитах документа является использование типа «Медиа». Этот тип данных позволяет хранить различные объекты в виде вложений, такие как презентации, видеозаписи, музыку, графические объекты. Открытие их для просмотра и редактирования осуществляется при помощи стандартных функций операционной системы для работы с файлами сопоставленных типов.
Размер медиа-файла ограничен лишь размером хранилищя, при этом данные могут располагаться, как в базе данных, так и файловом хранилище CarabiFiles. Настройка производится в ИО Настройка фалового хранилищая
Для того чтобы создать реквизит типа «Медиа-данные», нужно в окне настройки типов в поле «Тип данных» выбрать «Медиа». Дополнительных специфических настроек тип данных не требует
Счетчик
Этот тип данных позволяет присваивать уникальный идентификатор для каждого объекта. Гарантируется уникальность такого идентификатора для данного типа объекта.
Для настройки типа данных счетчик нужно:
-
поле [Тип данных] выбрать [Счетчик];
- при необходимости назначить начальное значение счетчика в поле [начальное значение].
Ссылочный тип данных
Ссылочный тип данных означает наличие связи (прямая ссылка) с другим объектом, связь от «родительского» к «дочернему» к объекту.
В поле Ссылка на типы ИО выбираются из список типов объектов нужный, с которыми можно будет установить связь. Для выбора дополнительного типа объекта нажать на кнопку «Добавить».
При описании структуры объекта реквизит типа данных «Ссылочный» может содержать ссылки на один или несколько типов объектов. При работе с экземпляром объекта, при установке ссылок, выбирается (или создается) экземпляр объекта одного из типов, указанных в описании реквизита.
После выбора типа ИО появляется иконка фильтр, которая позволяет наложить ограничения для связи с объектами указанного типа в зависимости от значения реквизитов объекта, на который устанавливается ссылка. Данная возможность предназначена для реализации процессов автоматизации, позволяет выделить из всех экземпляров объектов требуемое подмножество объектов.
Фильтр настраивается при помощи встроенного редактора запросов:
В качестве значений фильтров могут выступать любые поля карточки. Например в примере выше ссылка на договоры с клиентом фильтр список действующих договоров, по выбранным в карточке юридическим лицам клиента
В правилах удаления дочерних и родительских объектов можно определить различные варианты действий при удалении экземпляра объекта данного типа в зависимости от логики предметной области:
При удалении дочерних ИО. Задаются действия с данным объектом и объектами, на которые имеется прямая ссылка при попытке удаления данного объекта:
-
Запретить удаление при наличии дочерних – запретить удаление объекта, пока существуют подчиненные
(«дочерние») объекты
-
Удалить дочерние ИО – удалить данный объект и все «дочерние» объекты
-
Убрать ссылку в дочернем ИО – удалить данный объект и связи с «дочерними» объектами,
- Не использовать правило - «дочерние» объекты не удаляются
При удалении родительских ИО. Задаются действия с данным объектом и «родительскими» объектами, от которых имеется прямая ссылка на данный объект при попытке удаления данного объекта:
-
Убрать ссылку в родительском ИО – удалить данный объект и связь от «родительского» объекта
-
Запретить родительские ИО – запретить удаление объекта, пока существуют «родительские» объекты
-
Удалить родительские ИО – удалить данный объект и все «родительские» объекты
Также настраиваются допустимые действия в карточук ИО, связанные с этим ссылочным полем:
создавать - означает, что экземпляры «дочерних» объектов могут создаваться в браузере при корректировке значений ссылочного реквизита
связывать - означает, что при корректировке значений ссылочного реквизита в экземпляре объекта данного типа могут устанавливаться прямые связи с другими существующими экземплярами объектов тех типов, которые определены в реквизите.
удалять - означает, что при удалении связи в карточке удаляется дочерний объект.
множественное поле – означает, что экземпляр объекта может иметь несколько «дочерних» (экземпляров) объектов тех типов, которые определены в реквизите.
Тип данных обратная ссылка
Обратная ссылка представляет собой связь от «дочернего» к «родительскому» объекту. Обратная ссылка показывает, из каких объектов имеется прямая ссылка на объект данного типа. Таким образом, если создать 2 типа объектов, и в «родительском» объекте определить прямую ссылку, а в «дочернем» объекте определить обратную ссылку, затем создать экземпляры объектов и связи между ними, то браузере в качестве значения реквизита будет отображаться список «родительских» объектов. (В которых «дочерний» объект выбран в поле прямой ссылки у «родительских» объектов):
Тип данных отображение поля
Отображение поля предназначено для получения данных из реквизитов других объектов, с которыми имеется связь (в том числе и через другие объекты).
Полученные данные могут использоваться:
-
для формирования наименования экземпляра объекта,
-
для вычислений во встроенных функциях,
-
для создания сценариев по процессу,
-
для отображения значения полей.
Этот тип данных обеспечивает удобный доступ к значениям реквизитов других объектов и в тоже время отсутствует дублирование информации, данные хранятся в одном месте:
Для настройки типа данных Отображение поля требуется указать маршрут по дереву связанных объектов для получения значения. Выбор машрута производится нажатием на выпадающий список Маршрут до поля:
Тип данных Справочник (классификатор)
Этот тип данных предназначен для описания структуры справочника (например, для описания структуры справочника номенклатурных позиций):
Выбор необходимого иерархического классикатора производится при нажатии выпадающего списка Справочник (Классфикатор):
Настройка классификатора и его параметров производится в специальном информационном объекте классфикатор и параметры и описано в отдельной инструкции
Тип данных Справочник (классификатор)
Этот тип данных предназначен для описания структуры справочника (например, для описания структуры справочника номенклатурных позиций):
Выбор необходимого иерархического классикатора производится при нажатии выпадающего списка Справочник (Классфикатор):
Настройка классификатора и его параметров производится в специальном информационном объекте классификатор и параметры и описано в отдельной инструкции. В результате в карточке документа появляется выбор из деререва заданной вершины:
Тип данных Справочник (параметры)
Этот тип данных предназначен для описания характеристик справочников (например, для описания характеристик справочника сырья и материалов). Вначале заполняется таблица справочник параметров:
Затем добавляется поле типа Справочник(параметры) и задается поле с типом данных Справочник (клиссификатор)
В реультате вместо этого поля в карточке появляются дополнительные параметры в соответствии в выбранной вершиной классификатора:
Дополнительные настройки реквизитов ИО
Поле имеет свое наименование, системное наименование, тип данных, а также дополнительные настройки. Для каждого поля используются следующие дополнительные настройки:
-
идентификация;
-
видимость;
- обязательность для заполнения.
Идентификация (Ключ)
Процедура автоматической проверки корректности ввода данных в документ на уровне поиска подобных документов. В случае если найден подобный документ, пользователю предлагается принять решение о поведении при объединении данных из найденных документов в один: два или более документа с одинаковыми значениями в идентифицирующих полях не могут находиться в базе данных при определенном типе идентификации.
Идентификация происходит по определенным признакам. Такими признаками выступают наборы идентифицирующих реквизитов формализованного документа.
Для того чтобы настроить идентифицирующие реквизиты документа, нужно отметить их в списке реквизитов.
Идентифицирующие реквизиты отмечены голубым цветом.
Один тип документа может содержать более одного идентифицирующего реквизита. Поиск подобных документов найдет подобный документ только в том случае, если во всех идентифицирующих реквизитах окажутся одинаковые наборы значений.
Видимость поля (Глаз)
Одной из дополнительных настроек поля является установка видимости для поля. Видимость – возможность отключения отображения поля объекта для просмотра и редактирования в карточке объекта.
Обязательность заполнения поля (Звездочка)
Одной из дополнительных настроек поля является установка обязательности заполнения значения поля. В случае, если пользователь не введет значение в поле, обязательное для заполнения, то система выдаст соответствующее предупреждение и предложит заполнить поле.
Настраивается видмость и обязательность на конкретные статусы по каждому полю:
Редактор наименования ИО
Конкретный экземпляр объекта может иметь наименование, что является удобным при манипулировании со списком объектов и при наличии связей с объектами другого типа.
В списке документов и при ссылке на объект будет отображаться информация из реквизитов объектов с необходимыми комментариями.
Чтобы настроить поле наименования документа (экземпляра объекта) перейти на вкладку Наименование:
Чтобы внести в наименование значение реквизита (поля) объекта, нужно нажать кнопку «Добавить» и выбрать необходимый реквизит объекта, из которого требуется отображать данные. Можно добавить необходимые комментарии до или после значения реквизита и комментарии, которые будут отображаться при отсутствии значения реквизита.
Порядок реквизитов можно изменить при помощи кнопоки Порядок
Пример: наименование договора может выглядеть, например, так Договор №123 от 12.01.2000. Значения номера договора и даты подставляются из значения документа. Все документы типа «Договор» имеют одинаковый шаблон наименования.
Замечания:
Для корректного представления шаблонов текста следует учитывать, что для разделения шаблона текста, в полях Текст перед и Текст после следует использовать пробелы или другие разделители там, где это необходимо.
Если требуется включить в наименование документа значение, находящееся во вложенном документе, следует добавить реквизит типа «Отображение поля» из вложенного документа, а после этого – выбрать его в окне наименования.
Правило наименование используется для представления списка ИО в виде таблицы по умолчанию. Например:
Редактор действий
Настройка действий позволяется изменять статусы ИО для определенных ролей и(или) запускать различные программы сервисы из указаннгого статуса:
При добавлении (кнопка добавить) или корректировки действия (двойной клик) всплывается окно:
На этом экране выбираеться наименование действия (глагол), статус в который необходимо переести ИО и запуск программы из БД или запроса сервиса CSP (см. руководство разработчика CSP).
Редактор доступов
Настройка прав доступа в зависимости от ролей пользователей и c учетом статуса информационного объекта производится на закладке Доступы.
Доступ каждой роли по статусам настраивается на подзакладке Статусы:
Бинокль настраивается возможно искать и отбраться список ИО в указанном статусе.
Корзина - Возможность удалять документ в указанном статусе
Галочка позволяе создавать выбранной роли новый документ.
Доступ каждой роли по статусам настраивается на подзакладке Поля:
В этой позакладке настраивается возможность видеть и модифицировать конкретное поле ИО для конкретной роли