1 - 2010

T-FLEX DOCs 2010 — удобный инструмент для решения задач автоматизации

Роман Рыжиков

Справочная система

Настройка диалогов свойств

Макросы и макроязык

T­FLEX DOCs API

Как известно, одним из наиболее важных критериев при выборе системы документооборота является возможность расширения ее функциональности и интеграции с другими имеющимися системами. Каждый пользователь имеет свою специфику работы, и ни одна компания­разработчик не может на 100% угодить всем. Для добавления дополнительной функциональности в систему пользователям в большинстве случаев предлагают довольно сложные инструменты, требующие услуг квалифицированных программистов и системных администраторов, которые имеют опыт работы с данной системой. В новой версии системы документооборота T­FLEX DOCs 2010 компания «Топ Системы» предлагает набор инструментов по расширению разной степени сложности. Это и возможность адаптации справочной системы: формирование справочников со сложной структурой, настройка диалоговых форм; и тонкая настройка пользовательского интерфейса как администратором для всех пользователей, так и каждым пользователем под себя; и различные средства разработки: как простые, требующие навыков программирования начального уровня, так и сложные — для разработки независимых приложений на платформе T­FLEX DocsLine. Вообще, глубокая системная интеграция различных задач на основе единого ядра информационной системы — это гарантия успешного внедрения программных продуктов и залог получения прямой выгоды от инвестиций в ИТ­сферу.

Справочная система

Допустим, у вас есть некий набор данных, имеющих общие свойства, которые вам хотелось бы упорядочить, сложить в одном месте, иметь возможность быстро находить их и работать с ними. Это могут быть совершенно разные вещи: документы, адресная книга, договоры, материалы — всё, что можно объединить по общим признакам и назвать. С этим прекрасно справится T­FLEX DOCs 2010 с его мощной справочной системой. Справочник состоит из двух частей: описания структуры и правил работы с данными и непосредственно самих данных — объектов справочника. Описать структуру объекта справочника мы можем через параметры, списки объектов и связи с другими справочниками. Но ведь часто встречаются задачи, когда в одном справочнике должны находиться не совсем одинаковые объекты. В справочнике материалов объекты обладают как одинаковыми, так и разными параметрами. То есть понятно, что у каждого материала есть название и общие физические свойства. Но помимо этого у металла могут быть одни свойства, а у полимера — совершенно другие, хотя и те и другие являются материалами и должны лежать в одном месте, просто их необходимо типизировать. Для этих целей в справочниках T­FLEX DOCs существует понятие «тип». Мы можем создать в справочнике материалов базовый тип — «материал», в который включим общие параметры, присущие всем материалам. А уже у типа «материал» создадим подтипы — «металл» и «полимер». Для металла заведем группу параметров — «параметры металла», а для полимера — группу «параметры полимера» и тем самым не будем нагружать объекты ненужными данными, а пользовательский интерфейс — ненужными полями.

Типы объектов справочника «Документы»

Типы объектов справочника «Документы»

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

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

Ограничение доступов в T­FLEX DOCs реализовано по пессимистичному принципу, то есть если пользователю нигде не было разрешено определенное действие, то считается, что оно ему запрещено. Доступ пользователям можно ограничивать как на отдельные объекты, так и на весь справочник целиком. Если справочник имеет иерархическую структуру, то доступы наследуются: ограничение доступа на папку распространяется и на лежащие в ней файлы, если доступ для них не был задан явно. Есть еще ряд удобных административных возможностей, связанных с доступами. Пользователь может не иметь доступа к определенному справочнику, но если для выполнения задания ему требуются какие­либо данные, необязательно открывать ему доступ ко всему справочнику. Можно открыть доступ к конкретным объектам и отправить их ему, приложив к письму или задаче.

Вообще, описание всех возможностей справочной системы T­FLEX DOCs — это предмет отдельной статьи. Она позволяет формировать структуры для данных любой сложности, а самое главное — очень быстро, благодаря интуитивному и простому пользовательскому интерфейсу. Для того чтобы оценить сложность задач, которые можно решить при помощи справочников T­FLEX DOCs, достаточно взглянуть на справочник «Проекты», на основе которого работает модуль управления проектами. Также стоит заметить, что справочники, включенные в поставку, пользователи могут расширять и дорабатывать по своему усмотрению.

В начало В начало

Настройка диалогов свойств

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

Редактирование диалога свойств

Редактирование диалога свойств

Для решения данных задач в T­FLEX DOCs 2010 существует редактор пользовательских диалогов свойств. Первое, на что сразу обращаешь внимание при создании собственных диалогов, — это простота и скорость процесса. Вам просто дают список доступных параметров и связей объектов справочника, для которого вы хотите сделать свой диалог. И всё, что от вас требуется, — это расположить поля и элементы управления так, как вам нравится. Система сама добавляет подписи к полям и определяет элемент управления, который соответствует типу параметра. Не нужно думать, какой элемент управления подходит для данного поля: для параметра­числа вставится поле для ввода чисел, для параметра­даты — поле с возможностью выбора даты из календаря. Всё сделано предельно просто. Можно задавать и форматирование вводимых данных, например специальный формат для дат и времени. Помимо вставки полей для ввода, для улучшения восприятия можно добавлять разного рода разделители, метки, группировать элементы и т.д. Большие диалоги для удобства можно разбивать на вертикальные закладки (группы), каждую из которых можно дополнительно разбить еще и на страницы.

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

В начало В начало

Макросы и макроязык

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

Есть справочник договоров, в котором каждый договор должен иметь свой уникальный номер. В T­FLEX DOCs не составляет труда спроектировать нужный справочник, сделать в нем поле номера уникальным и создать диалог свойств, через который будет удобно создавать и редактировать этот договор. Поскольку мы сделали поле с уникальным номером, при создании договора, если пользователь введет уже существующий номер, система выдаст ошибку и не позволит добавить повторяющуюся запись. Теперь давайте подумаем, как нам облегчить жизнь пользователю. Ведь, согласитесь, удержать в памяти все необходимые сведения, чтобы ввести уникальный номер, непросто. Наиболее логичным решением будет завести где­нибудь переменную, в которой хранить номер договора, а при каждом создании увеличивать ее на 1. Вот как эту задачу можно решить при помощи макросов T­FLEX DOCs 2010.

Назначение номера договора при помощи макроса

Назначение номера договора при помощи макроса

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

ГлобальныйПараметр[«Номер последнего договора»] += 1;
Параметр[«Номер»] = ГлобальныйПараметр[«Номер последнего договора»];

Заметьте, все используемые в данном программном коде конструкции написаны на русском языке, что существенно упрощает их читаемость и облегчает создание.

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

Кнопки можно добавлять не только в диалоги свойств, но и размещать их в контекстном меню и на панели инструментов справочника. Помимо простых макросов, применяющих упрощенный макроязык, можно писать и более сложные на языке C#, используя все возможности платформ Microsoft .NET и API T­FLEX DOCs.

В начало В начало

T­FLEX DOCs API

T­FLEX DOCs 2010 был разработан на новой платформе T­FLEX DocsLine, созданной с нуля по принципу трехуровневой архитектуры построения клиент­серверных приложений. На первом уровне находится СУБД, на втором располагается сервер приложений, на третьем — клиент. Ключевая особенность новой платформы, по сравнению с предыдущими версиями, — выделение сервера приложений как промежуточного уровня между базой данных и клиентом. Данное нововведение дало системе ряд преимуществ. Во­первых, сильно снизилась нагрузка на другие два узла системы, что подняло общую производительность платформы, а также позволяет экономить и на клиентских машинах, и на сервере баз данных. Во­вторых, повысилась безопасность системы и защита от нарушения целостности данных, так как основная часть бизнес­логики по изменению данных сосредоточена на сервере приложений. В­третьих, появилась возможность работать удаленно через Интернет, для этого достаточно открыть доступ к серверу приложений. Сервер баз данных при этом может оставаться в защищенной локальной сети, что повышает безопасность хранилища данных.

T-FLEX DocsLine

T-FLEX DocsLine

Клиентская часть платформы T­FLEX DocsLine представлена полноценным высокоуровневым API (Application Programming Interface). Это набор библиотек, содержащий всю логику работы клиента с сервером. Объектная модель API построена в соответствии со стандартами библиотек .NET и содержит все возможности платформы. При этом работа разработчиков надстроек и приложений не требует обязательного знания баз данных, так как вся работа с базой скрыта в сервере приложений. Более того, им не нужно знать и то, как работать с сервером приложений, потому что вся эта работа скрыта на низком уровне.

Помимо библиотек по работе с хранилищем данных, платформа содержит библиотеки по разработке пользовательского интерфейса, что позволяет легко встраивать модули в основное клиентское приложение T­FLEX DOCs или создавать свои приложения с современным интерфейсом. Для упрощения разработки в поставку входит специальный мастер приложений (Application Wizard) для Microsoft Visual Studio.

Также в поставку входит модуль T­FLEX PDM Framework, упрощающий интеграцию в CAD­системы. При помощи этого компонента система T­FLEX DOCs 2010 поддерживает интеграцию не только с T­FLEX CAD, но и с другими CAD­системами, такими как SolidWorks, AutoCAD, Autodesk Inventor, Unigraphics.

Всё это делает платформу T­FLEX DoсsLine не просто набором типовых решений, а реальным инструментом для построения систем любой сложности на основе единого хранилища данных. Система обладает хорошим набором средств: как простыми — для решения стандартных административных задач, так и сложными — для решения задач интеграции и создания собственных уникальных разработок.

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

В начало В начало

САПР и графика 1`2010