Руководство по настройке altAwin:Пользовательские документы

Материал из AltecDocs
Перейти к:навигация, поиск

Пользовательские документы

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

Каждый тип пользовательских документов представляет собой стандартный документ altAwin, который создаётся и редактируется по общепринятым правилам и отображается в соответствующей таблице представления подраздела.

Окно редактирования пользовательского документа представлено рядом вкладок, на которых определяются свойства создаваемого типа пользовательских документов: Общие данные, Поля, Действия, Состояния, Переходы состояний, Доступ.

Вкладка Общие данные

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

Рис. 4.175. Окно документа «Тип документов». Вкладка Общие данные


  • Идентификатор — уникальный идентификатор создаваемого типа пользовательских документов, используемый для доступа к документам из скриптов. В момент создания типа пользовательских документов автоматически создаётся интерфейс с наименованием, образующимся путём склеивания строки Iud с заданным в этом поле идентификатором. Например, если создаётся тип документа с идентификатором Test, то для него будет сгенерирован интерфейс IudTest
  • Наименование — наименование типа пользовательских документов, отображаемое в заголовке формы редактирования документов.
  • Наименование во множ. числе — наименование типа пользовательских документов во множественном числе; используется для элементов интерфейса, отображающих список документов, например, кнопка открытия представления документов соответствующего типа.
  • Раздел — подраздел приложения, в который будет отнесено представление документов данного типа; отображается в соответствующем раздела панели навигации главного окна приложения или секции представления «быстрый запуск».
  • Пиктограмма 16x16 — используется в качестве иконки формы редактирования и навигационных элементов интерфейса приложения (главное меню, навигационная панели и «быстрый запуск»).
  • Пиктограмма 32x32 — используется в качестве иконки навигационных элементов интерфейса приложения (главное меню, навигационная панели и «быстрый запуск»).
  • Скрипт наименования — функция вычисления наименования экземпляра документа, вызывается только один раз после проверки введённых данных перед сохранением созданного документа. Для вычисления значения доступен текущий экземпляр документа в переменной Instance в режиме «только для чтения», скрипт должен вернуть значение в переменной Result. Если скрипт наименования не задан, при создании экземпляра пользовательского документа потребуется вручную заполнить поле Наименование.
  • Скрипт перехода — вызывается при любом изменении состояния экземпляра пользовательского документа до скрипта, заданного в самом переходе состояния.
  • Комментарий — служебная информация.

Вкладка Поля

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

Поля пользовательских документов могут быть одного из двух типов: хранимые и вычислимые. Хранимые поля представляют собой стандартные поля документов altAwin, их значение заполняется при создании документа и сохраняется вместе с ним. Вычисляемые поля получают своё значение в результате выполнения скрипта вычисления, которое происходит в момент обращения к значению поля.

Рис. 4.176. Окно документа «Тип документов». Вкладка Поля


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

Вкладка Общие данные
Рис. 4.177. Окно Поле документа. Вкладка Общие данные для хранимого поля


  • Идентификатор — идентификатор поля; определяет наименование свойства интерфейса документа, доступного в скриптах (изменение доступно до сохранения в БД).
  • Наименование — название поля; используется для отображения для меток полей формы редактирования и заголовков колонок таблиц при построении визуального интерфейса.
  • Тип данных — определение типа значения поля (изменение доступно до сохранения в БД), возможны след. варианты:
    • Строка — строковый тип длиной 2048 символов
    • Целое число — целое число в диапазоне (-2147483648;2147483647). В формах отображается в виде элемента управления со стрелками.
    • Вещественное число — число с плавающей точкой с двойной точностью и 15 значащими цифрами. В формах отображается с 4 знаками после запятой.
    • Булево — флаговое поле. В формах представлено как «флаговый переключатель» (checkbox).
    • Дата — поле для хранения календарной даты. В формах представлено полем ввода с календарём.
    • Дата/Время — поле для хранения календарной даты и времени. в формах представлен полем ввода с календарём и временем.
    • Документ — ссылочное поле, используемое для формирования связи с документом выбранного типа. При выборе этого типа для создаваемого поля потребуется дополнительно указать тип документа, на который будет создаваться ссылка, и определить значение поля Скрипт выбора (см. ниже).
    • Текст — строковый тип неограниченной длины. В формах представлено многострочным полем ввода.
      • HTML — текст в формате HTML. Флаговый переключатель, определяющий использование визуального редактора при редактировании данного поля.
    • Перечисление — строковый тип длиной 2048 символов, хранящий «значение» выбранного элемента. В формах представлено в виде поля ввода с выпадающим списком.
    • Множество — строковый тип длиной 2048 символов, хранящий «значение» выбранных элементов через ", " (запятую). В формах представлено в виде группы с набором флагов («флаговый переключатель»).
  • Значение обязательно — маркер обязательности; При отсутствии значения поля с установленным флагом «Значение обязательно» документ не удастся сохранить.
  • Видимость — используется для ограничения видимости поля в визуальном интерфейсе.
  • Дублируется — маркер, определяющий поведение данного поля при переносе его значения из исходного документа при дублировании.
  • Значение по умолчанию — значение поля по умолчанию; применяется при создании нового экземпляра документа в том случае, когда не происходит дублирование значения поля.
  • Скрипт инициализации — формула для вычисления значения поля по умолчанию. Скрипт должен вернуть значение в переменной Result (изначально в переменной Result содержится значение, взятое из поля Значение по умолчанию).
  • Скрипт изменения — скрипт, позволяющий установить реакцию на изменение значения поля пользовательского документа. Для использования доступны такие переменные: текущий экземпляр документа в переменной Instance, старое значение поля OldValue, новое значение NewValue; в скрипте, например, может быть изменено новое значение, которое возвращается в переменной Result (изначально в переменной Result содержится значение NewValue).
  • Скрипт выбора — скрипт, позволяющий установить значение поля пользовательского документа, имеющего тип Документ. Скрипт выполняется в момент нажатия на кнопку «…» соответствующего поля ввода.
    В окружении скрипта в переменной Instance доступен текущий экземпляр документа. Результат работы скрипта, которым должна быть ссылка на открытый документ, помещается в переменную Result. Проверка корректности типа возвращаемого значения должна осуществляться настройщиком.
    Result := OpenDocument(IdocOrderStage, 1);
    ShowMessage( 'Наименование =' + Result.Title);
    

При создании вычисляемого поля "Идентификатор","Наименование", "Тип данных", "Видимость" — аналогичны таковым для рассмотренных выше хранимых полей. Поле "Скрипт получения" определяет программный код, выполнение которого будет давать значение вычисляемого поля. Вычисление производится в момент обращения к значению поля.

Вкладка «Значения»

Вкладка «Значения» отображается при выборе типа поля «перечисление» и «множество». Помимо стандартных операций (создание, изменение и удаление) здесь также предусмотрена возможность упорядочивания списка значений.

Рис. 4.178. Окно Поле документа. Вкладка Значения


Рис. 4.179. Окно редактирования значения поля пользовательского документа


  • Наименование — используется для отображения значения поля в визуальных элементах.
  • Значение — строка-идентификатор, записываемая в значение поля документа.
  • Изображение — картинка 16х16, применяемая для отображения значения в ячейках таблицы и элементах управления поля типа «перечисление»
Вкладка «Доступ»

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

Рис. 4.180. Окно Поле документа. Вкладка Доступ


Вкладка Детали

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

  • Идентификатор поля
  • Идентификатор
  • Наименование и наименование во множественном числе
  • Дублируеся
  • Пиктограмма 16x16 и 32x32
  • комментарий

Вкладка «Действия»

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

Рис. 4.181. Окно "Действие документа"


  • Идентификатор — идентификатор действия; определяет наименование метода интерфейса документа, доступного в скриптах (изменение доступно до сохранения в БД).
  • Наименование — название действия; используется для отображения подписей кнопок при построении визуального интерфейса
  • Пиктограмма 16x16 — используется в качестве иконки кнопок действия на панелях инструментов, выпадающих и контекстных меню.
  • Пиктограмма 32x32 — используется в качестве иконки кнопок действия на панелях инструментов, выпадающих меню, а также в форме прогресса при выполнении из представления для выделенных записей (нескольких экземпляров документов).
  • Видимость — используется для ограничения видимости действия в визуальном интерфейсе.
  • Скрипт — подпрограмма, реализующая сущность определяемого действия над текущим документом, представленным переменной Instance.

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

Вкладка «Стадии»

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

Рис. 4.182. Окно "Стадия документа"


Вкладка Общие данные
  • Идентификатор — идентификатор стадии для использования в скриптах.
  • Наименование — название стадии; используется для отображения в визуальном интерфейсе (текущее состояние документа, подпись узла дерева представления).
  • Пиктограмма 16x16 — используется в качестве иконки узла стадии дерева представления документов.
  • Пиктограмма 32x32 — используется в форме прогресса, отображаемой при перетаскивании выделенных записей в узел стадии.
  • Начальное состояние — флаг, определяющий, что данная стадия будет связана с только что созданным экземпляром документа.
  • Закрытое: Изменения блокированы — флаг, используемый для пометки стадии как закрытой. То есть пользовательский документ, находящийся на данной стадии, считается закрытым и будет недоступен для изменения.
Вкладка Поля

Вкладка «Поля» служит для возможности указания доступности и заполненности полей на данной стадии

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

Вкладка Действия служит для возможности указания доступности действий на данной стадии.

  • Доступность:
    • По умолчанию — зависит от прав пользователя;
    • Недоступно — действие не отображается в визуальном интерфейсе.

Вкладка «Переходы стадий»

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

Рис. Вкладка "Переходы стадий"


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

Рис. 4.183. Диалоговое окно "Переход документа"


  • Исходная стадия — стадия, из которой осуществляется переход.
  • Стадия назначение — состояние документа, в которое осуществляется переход.
  • Скрипт — подпрограмма обработки перехода, исполняется после валидации текущих данных, после её работы происходит запись значений в БД (без commit). Контекст исполнения скрипта урезан для возможности исполнения его в серверной части программного комплекса. Для вычисления значения доступен текущий экземпляр документа в переменной Instance и переход в переменной Transition, скрипт может внести изменения в текущий документ или породить исключение функцией RaiseException для отмены перехода.
  • Вкладка «Причины» — задание перечня возможных причин для указания при осуществлении перехода. Переключатель Комментарий обязателен также требует ввода комментария к переходу.
  • Вкладка «Доступ» — задание ролей пользователей, которым доступен переход.

Вкладка «Доступ»

На вкладке «Доступ» определяются настройки доступа к пользовательскому документу в целом. Права доступа привязываются к ролям пользователей и добавляются в таблицу в виде отдельных записей.

Рис. 4.184. Окно редактирования разрешений для роли


  • Роль — роль сотрудников, для которой определяются разрешения
  • Видимость документов
    • Нет — представление отсутствует
    • Свои — только записи, которые создал сам пользователь
    • Подразделения — только записи, созданные самим пользователем и пользователями, входящими в подразделение пользователя
    • Все — все записи
  • Редактирование документов — права на редактирование документов не могут быть более широким, чем права на видимость.
    • Нет — не может создавать, редактировать и удалять записи
    • Свои — можно создавать записи; редактировать и удалять можно только записи, которые пользователь создал
    • Подразделения — можно создавать записи; редактировать и удалять можно только записи, созданные самим пользователем и пользователями, входящими в подразделение пользователя
    • Все — можно создавать записи; редактировать и удалять любые
  • Видимость узлов дерева
    • Нет — дерево не отображается
    • Свои — только узлы созданные пользователем и общие.
    • Подразделения — только узлы, созданные самим пользователем и пользователями, входящими в подразделение пользователя и общие.
    • Все — все узлы дерева.

Отображение пользовательских документов

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

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