Przykład — Używanie schematów numerowania w oknach dialogowych rozwiązania Data Standard

Wykorzystaj Vault schematy numerowania, aby wymusić nazw plików, gdy użytkownik tworzy nowy plik programu Data Standard.

Filtrowanie schematów numerowania

W zainstalowanym przykładzie w polu kombi Schemat numerowania są wyświetlane wszystkie aktywne schematy numerowania. W pliku XAML pole kombi jest powiązane z funkcją programu PowerShell o nazwie GetNumSchms.

Funkcja GetNumSchms ułatwia określenie, które schematy powinny być widoczne dla użytkownika.

Filtrowanie schematów numerowania w programie Inventor w oparciu o typ pliku

Dostosowywanie nazwy pliku

Rozwiązanie Data Standard dla programu Vault

Rozwiązanie Data Standard dla programów CAD

Właściwość DocNumber zawiera wygenerowaną liczbę, ponieważ jest ona zdefiniowany w atrybucie GeneratedNumberProperty="DocNumber" w elemencie sterującym DSNumSchemeCtrl pliku Inventor.xaml.

Używanie numerowania programu Vault bez wyświetlania elementu sterującego schematu numerowania w oknie dialogowym

Po usunięciu elementu sterującego DSNumSchemeCtrl i pola kombi NumSchms z domyślnego pliku File.xaml użytkownik nie może wybierać schematu numerowania.

Rozwiązanie Data Standard dla programu Vault

    W następującym przykładzie implementacji funkcji GetNewFileName użyto powyższego schematu numerowania „TestScheme” i wartości wprowadzonej w polu „Tytuł” jako parametru schematu numerowania.

    C:\ProgramData\Autodesk\Vault 2016\Extensions\DataStandard\Vault\addinVault\Default.ps1

    ...
    function GetNewFileName
    {
        $numSchemes = $vault.DocumentService.GetNumberingSchemesByType([Autodesk.Connectivity.WebServices.NumSchmType]::Activated)
        $testNumScheme = $numSchemes | Where-Object { $_.Name.Equals("TestScheme") }
        $NumGenArgs = @()
        $NumGenArgs += $Prop["Title"].Value
        $genNum = $vault.DocumentService.GenerateFileNumber($testNumScheme.SchmID, $NumGenArgs)
        return $genNum + $Prop["_FileExt"].Value
    }
    ...

Rozwiązanie Data Standard dla programów CAD

    W przypadku programów Inventor i AutoCAD implementacja jest podobna do powyższego przykładu. Jednak zamiast zwracania nazwy pliku właściwość „DocNumber” musi zostać wypełniona wygenerowaną liczbą. Ta właściwość jest następnie używana do ustawienia nazwy bieżącego pliku:

    C:\ProgramData\Autodesk\Vault 2016\Extensions\DataStandard\CAD\addinVault\Default.ps1

    ...
    function OnPostCloseDialog
    {
        if ($Prop["_CreateMode"].Value)
        {
            $numSchemes = $vault.DocumentService.GetNumberingSchemesByType([Autodesk.Connectivity.WebServices.NumSchmType]::Activated)
            $testNumScheme = $numSchemes | Where-Object { $_.Name.Equals("TestScheme") }
            $NumGenArgs = @()
            $NumGenArgs += $Prop["Title"].Value
            $genNum = $vault.DocumentService.GenerateFileNumber($testNumScheme.SchmID, $NumGenArgs)
            $Prop["DocNumber"].Value = $genNum
        }
    }
    ...