Edit 24.10.17: Für manuellen Betrieb ist hier eine Variante mit "Datei öffnen"-Fenster.
Bitte beachten: Die Versionsliste für ein Objekt ist in einer Fob ggf. nur unvollständig vorhanden, die maximale Länge dort ist nur 67 Zeichen (statt 80 bzw. 248 ab NAV 2013 R2).
Deswegen habe ich das Feld abweichend nur Version genannt .
Filtern im Feld Name auf "Terms"
Ein Filter über alle Felder mit "Co". Es wäre schön, wenn der NAV-Windowsclient das auch optional könnte .
Kombinierte Mehrfachfilter mit einstellbaren Filterkriterien
Filterung auf Type "Re" (= Reports) auf diese dann nach Namen sortiert. Bei Sortierung nach ID beachten, dass alle Felder als Text behandelt werden.
Die Übergabe der Objektliste nach Excel ist über die Zwischenablage ebenfalls möglich.
Die Funktion wird zusammen mit dem Pfad zur Fobdatei aufgerufen.
- Code: Alles auswählen
function FobObjectsGridView
{
$FileExists = Test-Path $args
If ($FileExists -eq $False) {Throw "No $args file exists at this location."}
$FileExtension = [System.IO.Path]::GetExtension($args)
if ($FileExtension -eq '.fob')
{
$DataArray = New-Object System.Collections.Generic.List[object]
$reader = [System.IO.File]::OpenText($args)
Write-host "Reading fob header, please wait..."
try {
for(;;) {
$line = $reader.ReadLine()
if ($line -eq $null) { break }
$FirstCharacter = $line.Substring(0,1)
IF ([byte][char]$FirstCharacter -eq 26) { break }
if ($FirstCharacter -ne ' ')
{
Write-host $line
$ObjectType = $line.Substring(0,9).Trim()
$ObjectID = $line.Substring(10,10).Trim()
$ObjectName = $line.Substring(21,30)
$ObjectDate = $line.Substring(54,10).Trim()
$ObjectTime = $line.Substring(70,8).Trim()
}
else
{
$ObjectSize = $line.Substring(10,10)
$ObjectVersion = $line.Substring(21,57)
$Obj = New-Object Psobject -Property @{
Type= $ObjectType
ID = $ObjectID
Name = $ObjectName
Date = $ObjectDate
Time = $ObjectTime
Size = $ObjectSize
Version = $ObjectVersion
}
$DataArray.add($Obj)
}
}
}
finally {
$reader.Close()
$DataArray | Out-GridView -title "Fobviewer $args"
}
}
else
{Throw 'Please use a Dynamics NAV object file with *.fob extension for this script.'}
}
Tags: Fobviewer