Управление пользовательскими объектами Data Standard

Настройка создания диалоговых окон и вкладок для отображения данных пользовательских объектов.

Требования

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

Использование предварительно настроенного пользовательского объекта Task

По умолчанию с Data Standard поставляются все три компонента. Они настроены для работы с пользовательским объектом в Vault под названием Task.

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

    Примечание.Дополнительные сведения см. в разделе Управление пользовательскими объектами.
  2. Назначение свойств Title и Description категории Base.

  3. Перезапустите Vault Explorer и войдите в Vault дважды.

    • При первом входе в систему убедитесь, что в клиенте Vault доступен тип объекта Task.
    • Выйдите из системы и войдите второй раз, чтобы инициализировать вкладку «Таблица данных» и элементы меню для создания и редактирования задач.

    Новый пользовательский объект Task инициализирован и готов к использованию.

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

  5. Щелкните правой кнопкой мыши новый пользовательский объект. Теперь в контекстном меню отображаются параметры «Новая задача» и «Редактировать задачу».

Примечание. При первом входе в систему после определения пользовательского объекта создается файл CustomEntityDefinitions.json (%programdata%\Autodesk\<версия Vault>\Extensions\DataStandard\Vault). Определение в файле используется для инициализации вкладки и элементов меню для пользовательских объектов. Не следует вносить изменения в файл вручную. Чтобы пользователям не приходилось входить в систему несколько раз, можно выполнить развертывание файла. Если не удается инициализировать пользовательские объекты, файл можно удалить. Он будет создан при следующем входе в Vault.

Настройка дополнительных пользовательских объектов

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

Ниже приводится пример пользовательского объекта Person.

Записи меню

Записи контекстного меню для создания и редактирования диалогового окна определяются здесь:

%programdata%\Autodesk\<версия Vault>\Extensions\DataStandard\Vault\MenuDefinitions.xml

Необходимо создать определения записей меню.

  1. Скопируйте определения (MenuItem NewTask, MenuItem EditTask) из примера Task.

  2. Замените Task на Person во всех переменных.

  3. Измените типы Description, Hint, Label и Navigation.

    Примечание. Для этих переменных можно использовать синтаксис файла UIString из исходного примера. Дополнительные сведения см. в разделе Локализация.
    <NewTask Label="CreatePerson..." 
    Description="New Person"
    Hint="Create a new person object" 
    PSFile="CreateCustomObject.ps1"
    Image="NewCustomObject.ico"
    ToolbarPaintStyle="TextAndGlyph"
    NavigationTypes="Person"
    MultiSelectEnabled="false"/>
    
    <EditTaskLabel="Edit Person..." 
    Description="Edit Person"
    Hint="Edit a person object"
    PSFile="EditCustomObject.ps1"
    Image="EditCustomObject.ico"
    ToolbarPaintStyle="TextandGlyph"
    NavigationTypes="Task"
    MultiSelectEnabled="False"/>
    

    Далее следует создать узел меню для нового пользовательского объекта.

    1. Скопируйте узел (CommandSite Task) из примера Task.

    2. Замените Task на Person во всех переменных.

      <TaskLabel="Person"
       DeployAsPullDown="False"
       Location="Person">
       <ItemName="NewPerson">
        </Item>
       <ItemName="EditPerson">
        </Item>
      

Дополнительную информацию о синтаксисе меню см. в разделе Адаптация файла Data Standard MenuDefinitions.xml.

Файлы сценариев

Определения меню в файле MenuDefinitions.xml указывают на файлы PowerShell. Эти файлы находятся в папке %programdata%\Autodesk\<версия Vault>\Extensions\DataStandard\Vault\addinVault\Menus.

Используемые по умолчанию файлы PowerShell CreateCustomObject.ps1 и EditCustomObject.ps1 применимы для каждого пользовательского объекта. Нет необходимости создавать дополнительные файлы PowerShell. Однако их можно адаптировать и создать файлы PowerShell для новых пользовательских объектов, выполнив следующие действия.

  1. Скопируйте файлы определений меню CreateCustomObject.ps1 и EditCustomObject.ps1, а затем измените их имена на CreatePerson.ps1 и EditPerson.ps1.

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

    Измените имя файла XAML, который определяет диалоговое окно Data Standard, заменив Task на Person.

    ...
    $xamlFile = New-Object CreateObject.WPF.XamlFile "PersonXaml", "%ProgramData%\Autodesk\Vault 2016\Extensions\DataStandard\Vault\Configuration\Person.xaml"
    $dialog.XamlFile = $xamlFile
    ...
    

Диалоговые окна и вкладки

Файл XAML для диалогового окна создания и редактирования пользовательских объектов указан в файлах PowerShell (см. выше). По умолчанию файлы XAML для создания и редактирования диалоговых окон и вкладок расположены здесь:

%programdata%\Autodesk\<версия Vault>\Extensions\DataStandard\Vault\Configuration

Используемый по умолчанию файл CustomObject.xaml применяется без каких-либо изменений. Тем не менее в качестве шаблона при создании файла XAML для нового пользовательского объекта следует использовать файл CustomObject.xaml.

  1. Скопируйте файл CustomObject.xaml и измените его имя на Person.xaml.

  2. Измените новый файл XAML, выполнив следующие действия.

    • Замените все вхождения TaskWindow на PersonWindow.
    • Исправьте заголовок диалогового окна, добавив New Person и Edit Person Datasheet в файле UIStrings.xml и заменив имеющиеся идентификаторы на идентификаторы для новых строк текста UIString[LBL61] и UIString[LBL62].
    • Добавьте или удалите элементы управления свойства при необходимости.
  3. Измените следующие функции в %programdata%\Autodesk\<версия Vault>\Extensions\DataStandard\Vault\addinVault\Default.ps1, настроив:

    • InitializeWindow для изменения размера диалогового окна;
    • GetCategories для поддержки динамических свойств на основе категорий;
    • Validate для реализации правил проверки.

Получение вкладки «Таблица данных» для нового пользовательского объекта

  1. Скопируйте папку Task и назовите ее Person.
  2. При необходимости обновите файл Datasheet.xaml в папке Person (например, добавьте или удалите свойства).