AfAbmArcLstGet: Unterschied zwischen den Versionen

Aus ArcFlow Wiki
Zur Navigation springen Zur Suche springen
K Stand 4.1.08
K Stand 4.1.16 Ausführbar ArcFlow.NEXT und Beispiel hinzugefügt
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 6: Zeile 6:
   </tr>
   </tr>
   <tr class="ProcSyntax">
   <tr class="ProcSyntax">
     <td class="title">&nbsp;AFAbmArcLstGet(int1, int2[, logic3]) : int</td>
     <td class="title">&nbsp;AfAbmArcLstGet(int1, int2[, logic3]) : int</td>
     <td class="platforms">
     <td class="platforms">[[file:DE_SymbolAPI.gif|alt=Ausführbar von der API|link=Befehle der Schnittstellen|Ausführbar von der API]][[file:DE_SymbolDLL.gif|alt=Ausführbar von der Programmierschnittstelle (DLL)|link=Befehle der Schnittstellen|Ausführbar von der Programmierschnittstelle (DLL)]][[file:DE_SymbolARC.gif|alt=Ausführbar mit der Application Remote Control|link=Befehle der Schnittstellen|Ausführbar mit der Application Remote Control]][[file:DE_SymbolScriptAPI.gif|alt=Ausführbar von der Script-API|link=Befehle der Schnittstellen|Ausführbar von der Script-API]][[file:SymbolNext.gif|alt=Ausführbar von ArcFlow.NEXT|link=Befehle der Schnittstellen|Ausführbar von ArcFlow.NEXT]]
[[file:DE_SymbolAPI.gif|alt=Ausführbar von der API|link=Befehle der Schnittstellen]][[file:DE_SymbolDLL.gif|alt=Ausführbar von der Programmierschnittstelle|link=Befehle der Schnittstellen]][[file:DE_SymbolARC.gif|alt=Ausführbar mit der Application Remote Control|link=Befehle der Schnittstellen]][[file:DE_SymbolScriptAPI.gif|alt=Ausführbar von der Script-API|link=Befehle der Schnittstellen]]
     </td>
     </td>
   </tr>
   </tr>
Zeile 52: Zeile 51:
<p><p>Mit der Funktion lassen sich alle Archive ermitteln, die sich in einer übergebenen Arbeitsmappe befinden. Die Arbeitsmappen-Nummer wird über den Parameter (int1) übermittelt.</p>
<p><p>Mit der Funktion lassen sich alle Archive ermitteln, die sich in einer übergebenen Arbeitsmappe befinden. Die Arbeitsmappen-Nummer wird über den Parameter (int1) übermittelt.</p>


<p>Im zweiten Parameter muss der Deskriptor einer leeren Cte-Liste übergeben werden, die vor dem Aufruf der Funktion über den Befehl [[AFCteOpen#|AfCteOpen()]] angelegt wurde.</p>
<p>Im zweiten Parameter muss der Deskriptor einer leeren Cte-Liste übergeben werden, die vor dem Aufruf der Funktion über den Befehl [[AfCteOpen#|AfCteOpen()]] angelegt wurde.</p>


<p>Nach dem Aufruf der Funktion ist pro Archiv ein Objekt in der Cte-Liste vorhanden. Die Objekte können geladen und über die Eigenschaft "Name" die Archiv-Nummer ausgelesen werden. Wurde im Parameter (logic3) <font class=source>true</font> übergeben, steht in der Eigenschaft "Custom" zusätzlich die Beschreibung des Archivs.</p>
<p>Nach dem Aufruf der Funktion ist pro Archiv ein Objekt in der Cte-Liste vorhanden. Die Objekte können geladen und über die Eigenschaft "Name" die Archiv-Nummer ausgelesen werden. Wurde im Parameter (logic3) <font class=source>true</font> übergeben, steht in der Eigenschaft "Custom" zusätzlich die Beschreibung des Archivs.</p>
Zeile 77: Zeile 76:
</table>
</table>


<p>Zum Beispiel:<br>
== Beispiele ==
<font class=source>/user=admin /password=troja /action=fnc /fnc=AFAbmArcLstGet /AbmNr=600448 /ExtendedPara=1 /RsltPath=c:\temp\AFAPIRES.TXT</font></p>


<p>In der Ergebnisdatei wird in der ersten Zeile die übergebene Anweisung
<tabber>
geschrieben. In der zweiten Zeile wird der Rückgabewert der Funktion gespeichert. In
|-|ScriptAPI=
den folgenden Zeilen werden die Archivnummern der gefundenen Archive aufgelistet. Werden die erweiterten Daten ermittelt, stehen die zusätzlichen Informationen in der gleichen Zeile durch <font class=source>#</font> getrennt.</p></p>
<pre class=source>
 
local
<p><b>Beispiel:</b>{{Marker}}
{
</p><p>
  tErr    : int;
  tAbmNo  : int;
  tArcList : handle;
  tArcItem : handle;
  tArcNo  : alpha(12);
  tArcDesc : alpha(250);
}


{
  ...
  // Read all archives in a workfolder
  tArcList # AfCteOpen(_CteList);
  if (tArcList &gt; 0)
  {
    tErr # AfAbmArcLstGet(tAbmNo,tArcList,true);
    if (tErr = _ErrOk)
    {
      for tArcItem # tArcList-&gt;CteRead(_CteFirst);
      loop tArcItem # tArcList-&gt;CteRead(_CteNext,tArcItem);
      while (tArcItem &gt; 0)
      {
        tArcNo  # tArcItem-&gt;spName;
        tArcDesc # tArcItem-&gt;spCustom;
        ...
      }
    }
    else
    {
      // Error handling AfAbmArcLstGet()
      ...
    }
    tArcList-&gt;AfCteCloseAll();
  }
  else
  {
    // Error handling for AfCteOpen()
    ...
  }
  ...
}
</pre>
|-|ArcFlowAPI=
<pre class=source>
<pre class=source>
local
local
Zeile 101: Zeile 139:
   ...
   ...
   // Read all archives in a workfolder
   // Read all archives in a workfolder
   tArcList # AfCteOpen(_CteList);
   tArcList # CteOpen(_CteList);
   if (tArcList &gt; 0)
   if (tArcList &gt; 0)
   {
   {
     tErr # AFAbmArcLstGet(tAbmNo,tArcList,true);
     tErr # AF.API:AfAbmArcLstGet(tAbmNo,tArcList,true);
     if (tErr = _ErrOk)
     if (tErr = _ErrOk)
     {
     {
Zeile 118: Zeile 156:
     else
     else
     {
     {
       // Error handling AFAbmArcLstGet()
       // Error handling AfAbmArcLstGet()
       ...
       ...
     }
     }
     tArcList-&gt;AFCteCloseAll();
     tArcList-&gt;CteClear(true);
    tArcList-&gt;CteClose();
   }
   }
   else
   else
Zeile 130: Zeile 169:
   ...
   ...
}
}
</pre></p>
</pre>
|-|ArcFlowRemoteControl=
<pre class=source>
af_rmtcontrol.exe /user=admin /password=troja /action=fnc /fnc=AfAbmArcLstGet /AbmNr=600448 /ExtendedPara=1 /RsltPath=c:\temp\AFAPIRES.TXT
</pre>
In der Ergebnisdatei wird in der ersten Zeile die übergebene Anweisung geschrieben. In der zweiten Zeile wird der Rückgabewert der Funktion gespeichert. In den folgenden Zeilen werden die Archivnummern der gefundenen Archive aufgelistet. Werden die erweiterten Daten ermittelt, stehen die zusätzlichen Informationen in der gleichen Zeile durch <font class=source>#</font> getrennt.
|-|ArcFlow.NEXT=
<pre class=source>
af.next.AfAbmArcLstGet(600448).then(result => {
  if (result.code == af.next.constants.AFErrOk) {
    result.returnValues.arcList.forEach(archive => {
      console.log(archive.afArcNr+' '+archive.afArcCaption);
    });
  }
  else {
    af.next.AfGetErrorAlpha(result.code).then(resultError => {
      alert(result.code+' / '+result.webcode+' / '+resultError.returnValues.afError);
    });
  }
});
</pre>
Das Resultat nach erfolgreicher Ausführung der Anweisung befindet sich die Informationen zu den Archiven in einem Array in folgenden Variablen:
{| class="wikitable" style="margin-left: 0px; margin-right: auto; text-align: left;"
! Variable !! Bedeutung
|-
| ...returnValues.arcList[0].afArcNr || Archiv Nummer
|-
| ...returnValues.arcList[0].afArcDocDate || Dokumentdatum im Format "yyyy-mm-ddT00:00:00"
|-
| ...returnValues.arcList[0].afArcScanDate || Archivdatum im Format "yyyy-mm-ddT00:00:00"
|-
| ...returnValues.arcList[0].afArcStorageYears || Aufbewahrungsfrist in Jahren
|-
| ...returnValues.arcList[0].afArcCreateModule || Erstellungsmodul
|-
| ...returnValues.arcList[0].afArcCaption || Name des Archives
|-
| ...returnValues.arcList[0].afArcLocation || Beschreibung des Archives
|-
| ...returnValues.arcList[0].afArcFilesCnt || Anzahl der Anhangdateien
|-
| ...returnValues.arcList[0].afArcScanFiles || Anzahl der Scandateien
|-
| ...returnValues.arcList[0].afArcFileSize || Archivgröße (in KByte)
|-
| ...returnValues.arcList[0].afArcColor || Farbe
|-
| ...returnValues.arcList[0].afArcTypeString || Dateityper der Anhangdateien
|-
| ...returnValues.arcList[0].afArcExternId || Externe Id
|-
| ...returnValues.arcList[0].afArcExternType || Externer Typ
|}
</tabber>


<p>
<p>
Zeile 171: Zeile 263:
</translate>
</translate>
[[Category:Befehle für Arbeitsmappen]]
[[Category:Befehle für Arbeitsmappen]]
[[Category:ListeAllerApiBefehleA]]

Aktuelle Version vom 24. Februar 2026, 15:32 Uhr

 AfAbmArcLstGet(int1, int2[, logic3]) : int Ausführbar von der APIAusführbar von der Programmierschnittstelle (DLL)Ausführbar mit der Application Remote ControlAusführbar von der Script-APIAusführbar von ArcFlow.NEXT
Archive in einer Arbeitsmappe ermitteln
int1 Arbeitsmappen-Nummer
int2 Deskriptor einer leeren CTE-Liste
logic3 Erweiterte Daten ermitteln (optional)
Resultat int Fehlerwert
Siehe

Verwandte Befehle

Mit der Funktion lassen sich alle Archive ermitteln, die sich in einer übergebenen Arbeitsmappe befinden. Die Arbeitsmappen-Nummer wird über den Parameter (int1) übermittelt.

Im zweiten Parameter muss der Deskriptor einer leeren Cte-Liste übergeben werden, die vor dem Aufruf der Funktion über den Befehl AfCteOpen() angelegt wurde.

Nach dem Aufruf der Funktion ist pro Archiv ein Objekt in der Cte-Liste vorhanden. Die Objekte können geladen und über die Eigenschaft "Name" die Archiv-Nummer ausgelesen werden. Wurde im Parameter (logic3) true übergeben, steht in der Eigenschaft "Custom" zusätzlich die Beschreibung des Archivs.

Wird ein ungültiger Deskriptor übergeben, kommt es zu einem Laufzeitfehler.

Bei der Verwendung mit der Application Remote Control werden die Parameter mit folgenden Namen übergeben:

/AbmNr Nummer der Arbeitsmappe
/ExtendedPara Erweiterte Daten ermitteln
/RsltPath Pfad und Name der externen Datei, in der das Ergebnis gespeichert wird.

Beispiele

local
{
  tErr     : int;
  tAbmNo   : int;
  tArcList : handle;
  tArcItem : handle;
  tArcNo   : alpha(12);
  tArcDesc : alpha(250);
}

{
  ...
  // Read all archives in a workfolder
  tArcList # AfCteOpen(_CteList);
  if (tArcList > 0)
  {
    tErr # AfAbmArcLstGet(tAbmNo,tArcList,true);
    if (tErr = _ErrOk)
    {
      for tArcItem # tArcList->CteRead(_CteFirst);
      loop tArcItem # tArcList->CteRead(_CteNext,tArcItem);
      while (tArcItem > 0)
      {
        tArcNo   # tArcItem->spName;
        tArcDesc # tArcItem->spCustom;
        ...
      }
    }
    else
    {
      // Error handling AfAbmArcLstGet()
      ...
    }
    tArcList->AfCteCloseAll();
  }
  else
  {
    // Error handling for AfCteOpen()
    ...
  }
  ...
}

local
{
  tErr     : int;
  tAbmNo   : int;
  tArcList : handle;
  tArcItem : handle;
  tArcNo   : alpha(12);
  tArcDesc : alpha(250);
}

{
  ...
  // Read all archives in a workfolder
  tArcList # CteOpen(_CteList);
  if (tArcList > 0)
  {
    tErr # AF.API:AfAbmArcLstGet(tAbmNo,tArcList,true);
    if (tErr = _ErrOk)
    {
      for tArcItem # tArcList->CteRead(_CteFirst);
      loop tArcItem # tArcList->CteRead(_CteNext,tArcItem);
      while (tArcItem > 0)
      {
        tArcNo   # tArcItem->spName;
        tArcDesc # tArcItem->spCustom;
        ...
      }
    }
    else
    {
      // Error handling AfAbmArcLstGet()
      ...
    }
    tArcList->CteClear(true);
    tArcList->CteClose();
  }
  else
  {
    // Error handling for AfCteOpen()
    ...
  }
  ...
}

af_rmtcontrol.exe /user=admin /password=troja /action=fnc /fnc=AfAbmArcLstGet /AbmNr=600448 /ExtendedPara=1 /RsltPath=c:\temp\AFAPIRES.TXT
In der Ergebnisdatei wird in der ersten Zeile die übergebene Anweisung geschrieben. In der zweiten Zeile wird der Rückgabewert der Funktion gespeichert. In den folgenden Zeilen werden die Archivnummern der gefundenen Archive aufgelistet. Werden die erweiterten Daten ermittelt, stehen die zusätzlichen Informationen in der gleichen Zeile durch # getrennt.

af.next.AfAbmArcLstGet(600448).then(result => {
  if (result.code == af.next.constants.AFErrOk) {
    result.returnValues.arcList.forEach(archive => {
      console.log(archive.afArcNr+' '+archive.afArcCaption);
    });
  }
  else {
    af.next.AfGetErrorAlpha(result.code).then(resultError => {
      alert(result.code+' / '+result.webcode+' / '+resultError.returnValues.afError);
    });
  }
});

Das Resultat nach erfolgreicher Ausführung der Anweisung befindet sich die Informationen zu den Archiven in einem Array in folgenden Variablen:

Variable Bedeutung
...returnValues.arcList[0].afArcNr Archiv Nummer
...returnValues.arcList[0].afArcDocDate Dokumentdatum im Format "yyyy-mm-ddT00:00:00"
...returnValues.arcList[0].afArcScanDate Archivdatum im Format "yyyy-mm-ddT00:00:00"
...returnValues.arcList[0].afArcStorageYears Aufbewahrungsfrist in Jahren
...returnValues.arcList[0].afArcCreateModule Erstellungsmodul
...returnValues.arcList[0].afArcCaption Name des Archives
...returnValues.arcList[0].afArcLocation Beschreibung des Archives
...returnValues.arcList[0].afArcFilesCnt Anzahl der Anhangdateien
...returnValues.arcList[0].afArcScanFiles Anzahl der Scandateien
...returnValues.arcList[0].afArcFileSize Archivgröße (in KByte)
...returnValues.arcList[0].afArcColor Farbe
...returnValues.arcList[0].afArcTypeString Dateityper der Anhangdateien
...returnValues.arcList[0].afArcExternId Externe Id
...returnValues.arcList[0].afArcExternType Externer Typ

Neben den allgemeinen Fehlerwerten können folgende Werte zurückgegeben werden:

Konstante Wert Bedeutung
_ErrOk 0 ok - kein Fehler aufgetreten
sAfErrItemLimit -20015 Die maximale Anzahl an übertragbaren Elementen (ca. 5000) wurde überschritten
sAfErrNoRecAbm -20026 Die übergebene Arbeitsmappe existiert nicht

Für weitere CONZEPT 16-spezifische Rückgabewerte siehe die aktuelle CONZEPT 16-Hilfe.