Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Inhaltsverzeichnis mit Seitenfilter per Script

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN
Autor Thema:  Inhaltsverzeichnis mit Seitenfilter per Script (476 mal gelesen)
Stringeater
Mitglied



Sehen Sie sich das Profil von Stringeater an!   Senden Sie eine Private Message an Stringeater  Schreiben Sie einen Gästebucheintrag für Stringeater

Beiträge: 104
Registriert: 27.11.2014

EPLAN Electric P8 Select 2.9, Windows 10
EPLAN Electric P8 2023, Windows 10

erstellt am: 31. Jul. 2023 09:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Leute

Ich suche eine Möglichkeit, per Script wahlweise einen Seitenfilter für das Inhaltsverzeichnis anzuwenden. Im Seitenbaum habe ich den Seitenfilter 'FltCustomer' definiert. Dieser funktioniert im Seitenbaum korrekt.
Die API-Hilfe erwähnt für die Action 'reports' die Parameter 'PAGEFILTERNAME' und 'USEPAGEFILTER' in Kombination mit ("TYPE", "PAGES"). Der folgende Code wendet den Seitenfilter dennoch nicht an. Der Code funktionert aber ansonsten. Neue oder gelöschte Seiten aktualisiert er nämlich.

Code:
var cli = new CommandLineInterpreter();
var acc = new ActionCallingContext();

acc.AddParameter("PAGEFILTERNAME", "FltCustomer");
acc.AddParameter("USEPAGEFILTER", "1");
acc.AddParameter("TYPE", "PAGES");
acc.AddParameter("PAGENAME", "01.1");  // Die Seite mit dem Inhaltsverzeichnis

bool success = cli.Execute("reports", acc);



Es scheint, dass er den Seitenfilter ignoriert. Auch ein falsch geschriebener Filter erzeugt keinen Fehler. Wenn ich hingegen ("TYPE", "PROJECT") angebe, ergibt ein falsch geschriebener Filter success = false. Aber auch dann wird ein korrekt geschriebener Seitenfilter ignoriert.

Ich könnte einen Filter in die Definition des Inhaltsverzeichnis einbauen. Aber dann ist dieser Filter immer aktiv. Ich möchte ihn per Script wahlweise ein- und ausschalten.

Hintergrund: Im PDF für die Kunden lasse ich zwei vertrauliche Seiten weg. Diese sollten dann auch im Inhaltsverzeichnis fehlen. Im internen PDF muss hingegen alles sichtbar sein. Bis jetzt hatte ich die Seiten per Script gelöscht und auf die Rückfragen automatisch draufgehauen. Das ist unzuverlässig und hässlicher Stil. Ein Seitenfilter wäre sehr nützlich.

Vielen Dank für eure Hinweise.
Stringeater

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

EPLAN-Buesgen
Mitglied



Sehen Sie sich das Profil von EPLAN-Buesgen an!   Senden Sie eine Private Message an EPLAN-Buesgen  Schreiben Sie einen Gästebucheintrag für EPLAN-Buesgen

Beiträge: 491
Registriert: 25.07.2003

erstellt am: 16. Aug. 2023 10:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Stringeater 10 Unities + Antwort hilfreich

Hallo,

ich habe intern folgende Info bekommen - ansonsten bitte an den EPLAN API Support wenden.

Ich hätte hier über P8 den jeweiligen Seiten, die ausgeblendet werden sollen, in einem Seitenzusatzfeld zum Beispiel dem Vermerk „intern“ hinterlegt und sowohl im Seitennavigator, als auch im PDF-Ausgabeschema einen Filter auf dieses Seitenzusatzfeld erstellt, der die Seiten mit dem Vermerk „intern“ nicht ausgibt.

VG
Robin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

F.S.
Moderator



Sehen Sie sich das Profil von F.S. an!   Senden Sie eine Private Message an F.S.  Schreiben Sie einen Gästebucheintrag für F.S.

Beiträge: 1815
Registriert: 23.04.2003

EPLAN Electric P8
2023 Prof.

erstellt am: 16. Aug. 2023 15:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Stringeater 10 Unities + Antwort hilfreich

Hallo,

ich habe mal ein wenig rumprobiert.
Ein Seitenfilter im Seiten-Navigator funktioniert hier nicht, das Inhaltsverzeichnis wertet immer alle Seiten aus.
Das einzige was funktioniert ist in der Auswertungsvorlage des Inhaltsverzeichnisse einen Filter einzustellen und das Projekt auswerten zulassen, ein Aktualisieren reicht nicht aus.

Hier wäre nun die Aufgabenstellung per Skript in der Auswertungsvorlage einen Filter zu aktivieren dann das Projekt neu auszuwerten und zum Schluss wieder den Filter zu deaktivieren.

Dafür muß man sich die Auswertungsvorlage mit eingestelltem Filter exportieren. In der XML-Datei findet man die benötigten Werte, die man per Skript setzen muß.

Code:
using Eplan.EplApi.ApplicationFramework;
using Eplan.EplApi.Base;
using Eplan.EplApi.Scripting;

class UpdateArticelPrices
{
[Start]
public void Start()
{
CommandLineInterpreter cli = new CommandLineInterpreter();
ActionCallingContext acc = new ActionCallingContext();

// In der Auswertungsvorlage den Filter definieren
// Hier im Beispiel unter Inhaltsverzeichnis die Vorlage 1
acc.AddParameter("set", "FormGeneratorGui.Templates.PxfForm_TABLEOFCONTENTS.1.FilterSchemeData");
acc.AddParameter("value", "0|1|0|11029;0|0|1|0|1|1|0|0|0;0|");
cli.Execute("XAfActionSettingProject", acc);

// In der Auswertungsvorlage den Filter definieren
// Hier im Beispiel "Schaltplan allpolig"
acc.AddParameter("set", "FormGeneratorGui.Templates.PxfForm_TABLEOFCONTENTS.1.FilterSchemeName");
acc.AddParameter("value", "Schaltplan allpolig");
cli.Execute("XAfActionSettingProject", acc);

CommandLineInterpreter cli2 = new CommandLineInterpreter();
ActionCallingContext acc2 = new ActionCallingContext();

acc2.AddParameter("TYPE", "PROJECT");
cli2.Execute("reports", acc2);

// In der Auswertungsvorlage den Filter entfernen
acc.AddParameter("set", "FormGeneratorGui.Templates.PxfForm_TABLEOFCONTENTS.1.FilterSchemeData");
acc.AddParameter("value", "");
cli.Execute("XAfActionSettingProject", acc);

// In der Auswertungsvorlage den Filter entfernen
acc.AddParameter("set", "FormGeneratorGui.Templates.PxfForm_TABLEOFCONTENTS.1.FilterSchemeName");
acc.AddParameter("value", "");
cli.Execute("XAfActionSettingProject", acc);
}
}



------------------
grüße
FrankS

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Stringeater
Mitglied



Sehen Sie sich das Profil von Stringeater an!   Senden Sie eine Private Message an Stringeater  Schreiben Sie einen Gästebucheintrag für Stringeater

Beiträge: 104
Registriert: 27.11.2014

EPLAN Electric P8 Select 2.9, Windows 10
EPLAN Electric P8 2023, Windows 10

erstellt am: 17. Aug. 2023 10:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Frank

Deine Lösung funktioniert perfekt. Das ist genau, was ich gesucht hatte. Herzlichen Dank für deinen Einsatz.
Die Filter-Details habe ich, wie von dir beschrieben, im XML-File gefunden.

@ Robin: Die PDF-Ausgabe funktioniert problemlos. Die Action "export" akzeptiert den Seitenfilter mit dem Parameter "PAGEFILTERNAME". Die ausgefilterten Seiten fehlen dann im PDF. Wenn ich für "PAGEFILTERNAME" einen Leerstring "" angebe, werden wieder alle Seiten im PDF ausgegeben. Das Problem war nur das Anpassen des Inhaltsverzeichnis. Aber danke fürs Nachfragen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz