Veraltet: nur für den internen Gebrauch
Erweiterung der Listbox für dynamische Gruppierung
Vorgehensweise
-
Im Modul Textkonstanten eine Textkonstante für das neue Kriterium anlegen, z. B. für DI005352 Produkt.
-
Im Wertebereich des DI029130 die neue Textkonstante an Stelle 12 eintragen.
-
DI005352 Produkt in die Listbox-Kategorie 00000333 analog den anderen eintragen.
-
In der ppms_cu.py unter groupings 12: ‘product‘ ergänzen (…./py/api/ppms/customizing/venus/ppms):
GROUPINGS = {1:'customer', 2:'pr_manager_name', 3:'ht_pr_code_name', 4:'pr_group_1',
5:'pr_group_2', 6:'pr_group_3', 7:'ou_cctr_name', 8:'calculated_end_date',
9:'phase_name', 10:'ht_pr_plan_idea', 12:'product'}
-
In DI029160 im Wertebereich das DI005352 analog den anderen eintragen.
-
Server neustarten.
-
DI005352 im Datenbereich 041023 in F9 eintragen.
-
Client neustarten.
Hinweis
-
Die Vorgehensweise gilt für alphanummerische Datenfelder. Für Aufnahme der Termin-Datenfelder in die Listbox, kontaktieren Sie bitte Ihren PLANTA-Consultant, da hierfür Anlage von neuen DIs und Wertebereichen erforderlich ist.
Angemeldete Benutzer anzeigen
Ziel
-
Customizen eines Moduls, das die angemeldeten Benutzer anzeigt.
Vorgehensweise
-
Anlegen eines Moduls mit drei Datenbereichen
-
Datenbereich 1:
-
Gruppiert nach DI001603 Startdatum
-
Angezeigt in Fenster 1: DI001603 Startdatum
-
-
Datenbereich 2:
-
Gruppiert nach DI001606 Benutzer
-
Angezeigt in Fenster 1: DI001606 Benutzer, DI010670 Benutzername
-
-
Datenbereich 3:
-
Angezeigt in Fenster 1: DI001603 Startdatum (Filtern von @15), DI = 004353 Startzeit, DI004376 Endzeit (Filtern von= 00:00, Fenster = 9)
-
-
Schritt 1: Neues Modul anlegen
-
Im Modul Module ein neues Modul mit dem gewünschten Namen anlegen und ein Makro einfügen, das bei Modulaufruf filtert.
Schritt 2: Datenbereich Datum anlegen
-
Neue Datenbereichszuordnung einfügen:
-
Einen neuen Datenbereich mit den folgenden Parametern anlegen:
-
DDI = 001603 Startdatum
-
-
Das folgende Datenfeld einfügen:
-
DI = 001603 Startdatum
-
-
Speichern
-
Datenbereich dem Modul zuordnen und folgende Parameter anpassen:
-
Pos. = 1
-
-
Modul speichern
Schritt 3: Datenbereich Benutzer anlegen
-
Neue Datenbereichszuordnung einfügen
-
Einen neuen Datenbereich mit den folgenden Parametern anlegen:
-
DDI = 001606 Benutzer
-
Gruppierung =
-
-
Zwei neue Datenfelder im Modul Datenbereiche einfügen:
-
DI = 001606 Benutzer
-
DI = 010670 Benutzername
-
-
Speichern
-
Datenbereich dem Modul zuordnen und folgende Parameter anpassen:
-
Pos. = 2
-
Oberbereich = 1
-
Ausgabe =
-
-
Modul speichern
Schritt 4: Datenbereich Anmeldezeiten anlegen
-
Neue Datenbereichszuordnung einfügen
-
Einen neuen Datenbereich mit den folgenden Parametern anlegen:
-
DDI = 001595 Session
-
-
Die folgenden Datenfelder im Modul Datenbereiche einfügen:
-
DI = 001603 Startdatum
-
DI = 004353 Startzeit
-
DI = 004376 Endzeit
-
-
Für das Datenfeld Startdatum in den Parameter Filtern von @15 eintragen
-
Für das Datenfeld Endzeit die folgenden Parameter anpassen
-
Filtern von = 00:00
-
Fenster = 9
-
-
Speichern
-
Datenbereich dem Modul zuordnen und folgende Parameter anpassen:
-
Pos. = 3
-
Oberbereich = 2
-
Ausgabe =
-
-
Modul speichern
Schritt 5: Modul testen
-
Im Modul Module die Schaltfläche Aktuelles Modul starten betätigen, um das neu erstellte Modul zu testen.
-
Mit aktivierter Baumdarstellung sowie mit Symbolen sieht das Ergebnis z.B. folgendermaßen aus:
Beispiel:
Customizing-Lösung zum Kopieren von technischen Vorgangs-IDs beim Kopieren von Terminplänen
Vorgehensweise
-
Den Customizer aufrufen und im Modul 0099J9 im Datenbereich 041668:
-
die rekursive Relation entfernen
-
das DI001098 an erste Stelle schieben (Fenster 1, wenn man es sehen möchte)
-
DI008845 und DI008851 auf input setzen
-
Speichern, PLANTA neustarten.
-
Anzeigen einer Grafik aus einem Hyperlink-Datenfeld in einem OLE-Dataitem
Ziel
-
Anzeigen einer Grafik aus einem Hyperlink-Datenfeld in einem OLE-Dataitem
Vorgehensweise
-
Ein OLE-Dataitem customizen
-
Für das neu angelegte DI den folgenden Wertebereich hinterlegen.
-
Legende:
<Python-ID>und<Dataitem-ID>fungieren als Platzhalter für die Python-ID sowie die ID des Hyperlink-Dataitems.
-
def computeOutput(di):
hl_di = di.get_dtp_record().get_di('<Python-ID>')
hl = hl_di.get_hyperlink()
if (hl != None):
ppms.ui_message_box(hl.get_uid())
return hl.get_uid()
else:
return ""
computeOutput.deps = ('DI<Dataitem-ID>',)
Hinweise
-
Dies funktioniert für die gängigen Bildformate jpg, bmp, gif und png.
-
Das verwendete Hyperlink-DI muss ein HL: Dateien in der DB sein.
-
Das OLE wird erst nach Speichern des Hyperlinks angezeigt.
|
Siehe auch: OLE-Dataitem, Hyperlink-Customizing |
Customizing eines Menüpunkts zum Excel-Export
Ziel
-
Customizen eines Menüpunkts für einen individuell angepassten Excel-Export
Vorgehensweise
-
Anlegen eines Menüpunkts für Modulaufruf.
-
Für diesen Menüpunkt ein Makro-Modul mit dem folgenden Code anlegen.
-
Sollen bestimmte Parameter, die im Export-Dialog angegeben werden können, vorbelegt werden, muss dieses Makro individuell angepasst werden. Bei Fragen hierzu wenden Sie sich bitte an Ihren PLANTA-Consultant
-
mod_obj = ppms.get_target_module()
uid = mod_obj.get_uid()
ppms.client_exec("""
env = get_Env()
mod = env.ActivePanel.ModuleManager.__getitem__('%s')
doc = mod.CreateExcelExportDocument()
env.GenerateExcelFile(doc)
""" % uid)
|
Siehe auch: IronPython Api |
|---|
Beispiel für ein individuelles Customizing von Listboxen
Ziel
-
Es soll eine Listbox gebaut werden, die einen kombinierten Schlüssel direkt auswählt.
Hinweis
-
get_listboxvalue()aus dem Customizing Helper Modul implementiert lediglich ein Mapping zwischen tatsächlichen Werten in Datentabellen und den IDs festgelegter Listboxwerte in der entsprechenden Tabelle, kann aber kein X-beliebigen Werte aus einem Listbox-Datensatz auslesen.-
Lösungsvorschlag: Zusammensetzen und Auseinanderschneiden der Schlüsselwerte über einen Python-Wertebereich
-
Vorgehensweise
-
Ein neues DI vom Typ X / ALG wird als Python-Wertebereich angelegt.
-
Dieses DI wird in der Inkarnation als ID-Feld und im Datenbereich der Listbox für LB-Auswahl benutzt.
-
Die Methode computeOutput liest die entsprechenden Schlüssel-DIs aus und konkateniert sie mit einer Pipe "|" als Trennzeichen, was mit der Methode format der String-Klasse in Python erreicht werden kann.
-
Die processInput-Methode trennt die Werte analog wieder auf und schreibt sie in die einzelnen Schlüssel-DIs.
-
Als Voraussetzung für das korrekte Funktionieren dieses Verfahrens ist die Verwendung des Pipe-Zeichens in Schlüsselwerten verboten.
-
Die Beispielimplementierung prüft nicht auf das Vorhandensein von Pipes in Schlüsselwerten beim Zusammensetzen und auch nicht auf überschüssige Trenner bzw. Werte beim Zerschneiden
def computeOutput(di):
record = di.get_dtp_record()
key0 = record.get_di_by_id(<key0_numeric_di_no>).get_value()
# etc. für weitere DIs
multicol_key_template = '{0}|{1}|{2}'
multicol_key_value = multicol_key_template.format(key0, key1, key2)
return multicol_key_value
computeOutput.deps = ('DI<key0_textual_di_no>', 'DI<key1_textual_di_no>', ) # etc. für weitere DIs
def processInput(di, oldvalue):
record = di.get_dtp_record()
key0_di = record.get_di_by_id(<key0_numeric_di_no>)
# etc. für weitere DIs
new_value = di.get_value()
key_values = new_value.split('|', 3)
key0_di.set_value(key_values[0])
return new_value
processInput.deps = ('DI<key0_textual_di_no>', 'DI<key1_textual_di_no>', ) # etc. für weitere DIs
Hinweise
-
Eine
textual_di_noist z.B. der String 000123,numeric_di_nodagegen die Zahl 123 -
Weiterführende Dokumentation ist zu finden unter PythonValueRange sowie in der Python-Referenz: http://docs.python.org/py3k/ bzw. http://docs.python.org/py3k/library/stdtypes.html#str.split
E-Mail-Client aufrufen
Ziel
-
Customizing von Hyperlink-Datenfeldern zum Aufrufen eines E-Mail-Clients mit Python
-
Für Datenfelder mit Dataitems, die den DF-Typ AM besitzen
-
Vorgehensweise
-
Modul Datenbereich aufrufen
-
Neuen Datenbereich anlegen
-
Datenfeld mit folgenden Eigenschaften einfügen:
-
Für dieses Datenfeld folgende Parameter setzen:
-
DF-Verhalten = e4
-
Aktions-ID = 009AAK
-
Symbol-ID = 001807
-
DF-Python-ID = email_id
-
-
Die Baumdarstellung des Datenfelds öffnen und in Datenfeld-Konfiguration Folgendes eintragen:
subject_text = "" body_text = ""
-
subject_text= Betreff der E-Mail -
body_text= Inhalt der E-Mail
Anpassungsmöglichkeiten der Werte: Betreff und Inhalt:
-
Mit dem obigen Customizing werden Betreff und Inhalt nicht befüllt. Es ist eine manuelle Eingabe in der E-Mail nötig.
-
Um den Betreff oder Inhalt zu befüllen kann die PythonAPIReference benutzt werden.
-
Hierzu im Datenfeld Datenfeld-Konfiguration die Variablen
subject_textundbody_textüber Python setzen. -
Um auf die Werte der Datensätze zuzugreifen kann man sich des Objekts record bedienen, das eine Instanz der MTSRecord Klasse darstellt.
-
subject_text = record.name.get_raw_value()
Kundenlogo einbinden
Ziel
-
Das Kundenlogo soll in Modulen (als Produktlogo), im Druckkopf und als Splash Screen ausgegeben werden.
Schritt 1: Kundenlogos als Grafikdateien bereitstellen
-
PLANTA unterstützt die Formate .png und .jpg.
-
Die maximale Bildgröße kann, z.B. je nach Windows-Einstellung, variieren.
-
Unter Verwendung der Standard-Windows-Einstellungen können Sie sich an den Bildgrößen der default-mäßig hinterlegten PLANTA-Logos orientieren (Höhe * Breite).
-
Produktlogo: 49 px * 458 px
-
Druckkopf: 32 px * 32 px
-
Splash Screen: 478 px * 475 px
-
-
Schritt 2: Das Logo in Modulen verwenden (als Produktlogo)
-
Customizer → Darstellungsobjekte → OLEs → Modulvariante: Produktlogos aufrufen.
-
Einen neuen Datensatz einfügen.
-
Im Feld Bezeichnung einen Namen vergeben.
-
Die OLE-Identnummer wird automatisch generiert.
-
-
Im Feld Kategorie den Wert Produktlogos aus der Listbox auswählen.
-
Im Feld Standard-OLE die bereit gestellte Datei für die Module einfügen.
-
Speichern.
-
Bei dem gewünschten OLE die Schaltfläche Systemweit als Logo verwenden betätigen.
-
Die Dialogmeldung Soll die gewünschte Grafik systemweit als Produktlogo eingebunden werden? Das Produktlogo aller Module wird durch dieses Logo ersetzt. erscheint.
-
Die Meldung mit Ja bestätigen.
-
Das Programm neu starten.
-
Alle bestehenden Module des Systems haben nun das neue Logo als Produktlogo.
-
Neue Module werden automatisch mit dem neuen Produktlogo als Default-Produktlogo belegt.
-
Schritt 3: Das Logo im Druckkopf verwenden
-
Customizer → Darstellungsobjekte → OLEs aufrufen.
-
Im Feld Bezeichnung einen Namen vergeben.
-
Die OLE-Identnummer wird automatisch generiert.
-
-
Im Feld Standard-OLE die bereit gestellte Datei für den Druckkopf einfügen.
-
Speichern.
-
Customizer → Darstellungsobjekte → Skins aufrufen.
-
Die ID-Nummer des Moduls für Druckbereiche im Feld Modul für Druckber. merken bzw. mit STRG + C kopieren.
-
Customizer → Modul-Customizer → Module aufrufen.
-
Das individuelle Druckmodul durch Kopieren des Moduls für Druckbereiche erstellen.
-
Identnummer des zu kopierenden Moduls in das Datenfeld Kopieren von eingeben.
-
Nach Betätigen der ENTER-Taste wird im Datenfeld MOD eine neue Modulidentnummer vergeben.
-
Im Datenfeld Modul den neuen Modultitel eingeben.
-
Speichern. Beim Speichern werden alle Parameter des Quellmoduls sowie seine Unterobjekte (Untermodule, Datenbereiche, Modulvarianten) in das neue Modul kopiert.
-
-
Im individuellen Druckmodul den Datenbereich Druckkopf aufrufen.
-
Im Feld Standardwert die OLE-Identnummer (DBOLE (Identnummer)) eintragen.
-
Die Positionsfelder ggf. anpassen.
-
Speichern.
-
Customizer → Darstellungsobjekte → Skins aufrufen.
-
Den verwendeten Skin aus der Listbox auswählen.
-
Skins werden im Modul Benutzer pro Benutzer im Feld Skin-Bezeichnung hinterlegt.
-
-
Im Feld Modul für Druckber. die ID-Nummer des individuellen Moduls eintragen.
-
Speichern.
Schritt 4: Das Logo als Splash Screen verwenden
-
Die Datei splash.png unter %client_folder%/Resources/ mit der bereitgestellten Datei ersetzen.
|
Siehe auch: Splash Screen, Produkt- bzw. Firmenlogos verwenden |
Erfassung fremder Stunden erleichtern
Ziele
-
Aus einem neu erstellten Modul für die Ressourcenübersicht soll in ein verkürztes Panel Mitarbeiterboard gesprungen werden.
-
Das verkürzte Panel Mitarbeiterboard soll mit dem Modul Zeiterfassung geöffnet werden.
-
Vorgehensweise
-
Eine Kopie vom Modul Mitarbeiterboard (MOD0099GU) erstellen. (Hier: MOD100003)
-
Im neu erstellten Modul nicht gewünschte Untermodule löschen (hier: Meine Tätigkeiten, Wochenkalender, Infos, Meine Planungsobjekte) oder bei diesen Untermodulen im Feld Anzeigen die gleichnamige Checkbox deaktivieren.
-
Die Reihenfolge der restlichen Untermodule so anpassen, dass das Untermodul Zeiterfassung als erstes geöffnet wird:
-
Beim Untermodul Rückmeldung folgende Parametern bearbeiten:
-
Im Feld Positionierung eine 3 eintragen.
-
Im Feld Modulgröße 0,869 eintragen.
-
Die Checkbox Vordergrund aktivieren.
-
-
Für die Rückmeldung auf ungeplante Vorgänge müssen ggf. noch die Listboxen individualisiert werden
-
-
Im Makro des kopierten Mitarbeiterboards die Funktion
call_resource()wie folgt anpassen:
from ppms.text_constant import get_text_constant
def call_resource(resource_id=ppms.get_target_module().get_current_L_var()[5]):
resource_record = ppms.search_record(467, [resource_id[0]], ['resource_type'], True)
if not resource_record :
message = get_text_constant("001247")
ppms.ui_message_box(message.replace("@user_id", resource_id[0]), blocking=1)
mod_obj.menu(49)
elif resource_record.resource_type.get_value() == "2":
ppms.ui_message_id("0860")
mod_obj.menu(49)
else:
mod_obj.set_current_L_var(5, [resource_id[0]])
-
Im Modul Globale Einstellungen im Feld Python-ID die Python-ID für das neue Modul (MOD100003) erstellen, hier: L100_employee_board_for_reporting
-
Ein neues Makro (hier: 100004) erstellen, welches das verkürzte Mitarbeiterboard mit der gewählten Ressource (@L5) aufruft.
from ppms.global_setting import get_global_setting_value
mod_obj = ppms.get_target_module()
rm_modul = get_global_setting_value("L100_employee_board_for_reporting", 'alpha120')
inv_rec = ppms.get_context_df().get_record()
res_id = inv_rec.res_id.get_raw_value()
mod_obj.set_new_L_var(5, [res_id])
mod_obj.open_module(rm_modul)
-
Ein Modul mit Ressourcenübersicht erstellen.
-
Soll das Modul über einen Link auf der Ressourcen-ID aufgerufen werden,
-
bei dem gewünschten Ressourcen-DI im Feld Aktions-ID die Nummer des neuen Makros (hier: 100004) und im Feld DF-Verhalten e4 eintragen.
-
-
Soll das Modul über ein Kontextmenü aufgerufen werden,
-
das DI004336 Button/IronPython hinzufügen und bei diesem im Feld Aktions-ID die Nummer des neuen Makros (hier: 100004) und im Feld DF-Verhalten m4 eintragen.
-
Aktualisierung von Feldern beim Speichern, wenn ein Wert geändert wurde
Ziel
-
Die individuellen Felder Prognose vom und Prognose von sollen aktualisiert werden, wenn der Prognosewert geändert wurde.
Vorgehensweise
-
Customizer → System-Customizer → Data Dictionary aufrufen.
-
Individuelle Dataitems anlegen (hier: DI100102 und DI100103).
-
Customizer → System-Customizer → Dataitems aufrufen.
-
Den Wertebereich vom Dataitem Prognose (DI006530) wie folgt anpassen:
def processInput(di, oldvalue):
rec = di.get_dtp_record()
rec.L100_prognose_vom.set_value(ppms.uvar_get("@15"))
rec.L100_prognose_von.set_value(ppms.uvar_get("@1"))
return di.get_value()
processInput.deps = ("L100_prognose_vom", "L100_prognose_von")
Beispiel für Drag & Drop-Kopieren via Python
Ziel
-
Der Wert aus dem Feld Aufwand-Soll soll in das Feld Aufwand-Soll fix übertragen werden.
Beispiel
mod_obj = ppms.get_target_module()
mod_obj.menu(12)
for rec in mod_obj.get_da ("Python_ID_DA_name").get_records():
rec.DF_Python_ID_planned_load_fixed.set_raw_value(rec.DF_Python_ID_planned_load.get_raw_value())
mod_obj.menu(34)
mod_obj.menu(49)
Beispiel für Aufruf einer externen Applikation mit Python
Ziel
-
Eine Anwendung soll aus PLANTA heraus aufgerufen werden und dabei einen bestimmten Parameter mitgeschickt bekommen
Beispiel
PATH = r'C:\Program Files (x86)\Applikation\anwendung.exe'
# Der String, der den Pfad zur Applikation darstellt, wird mit "r" vorangestellt,
# weil sonst der Backslash \ als Escape-Zeichen interpretiert werden würde.
# Siehe http://docs.python.org/reference/lexical_analysis.html#string-literals
ARGS = 'argument1=PLANTA argument2=Nocheins'
# Die Argumente, die an die Applikation übertragen werden sollen, einfach als
# einen fortlaufenden String deklarieren.
def execute_client_script(path, args):
ppms.client_exec("""import clr
clr.AddReference('System')
from System.Diagnostics import Process
Process.Start(r'{path}', r'{args}')""".format(path=path, args=args))
execute_client_script(PATH, ARGS)
Customizen eines Farbvorschaufelds
Ziel
-
Customizen eines Farbvorschaufelds, hier am Beispiel von DI028197 Hervorhebungsfarbe in der DT030 Skin
Details
-
Im Modul Skins fehlt bei DI028197 Hervorhebungsfarbe eine Vorschau für die ausgewählte Farbe:
DI anlegen
-
Im Data Dictionary DT 030 mit dem Quell-DI 028197 öffnen.
-
Ein neues DI anlegen und folgende Parameter setzen:
-
Dataitem = Hervorhebungsfarbe
-
DI-Python-ID = highlighting_color_incarnation
-
Klasse = 4
-
virtuell =
-
Spaltentyp = Alpha
-
Der Spaltentyp wird nur benötigt, um die DI-ID anzulegen. Er kann danach wieder gelöscht werden.
-
-
Symbol-ID = 000188
-
-
Speichern
-
System-Customizing aktualisieren (über den Menüpunkt Tools → PLANTA-Dienst neu starten ).
-
Hinweis: Betätigt man den Menüpunkt, werden alle offenen Client-Verbindungen (Sessions) geschlossen. Neue Client-Verbindungen sind während des Neustarts nicht möglich.
-
Unter-Dataitem zuordnen
-
Rechtsklick auf das gerade angelegte DI und den Kontextmenü-Befehl Dataitem bearbeiten auswählen.
-
Rechtsklick auf das DI → Einfügen → Unter-DataItem.
-
In das Feld SUBDI die ID des Quell-DIs eintragen ( 028197).
-
Aus der Listbox Funktion den Wert F (Farbe) auswählen.
-
-
Speichern.
DI in Datenbereich einfügen
-
Das angelegte DI nun dem Datenbereich zuordnen, in dem das Quell-DI enthalten ist.
-
Das DF-Verhalten auf o (output) setzen.
-
Speichern.
-
Damit das Datenfeld angezeigt werden kann, müssen folgende Felder angepasst werden:
Customizen einer Prozessregel zum Einkopieren einer Phase
Ziel
-
Customizen einer Prozessregel, mit der eine Phase eines anderen Prozessmodells einkopiert werden kann
Vorgehensweise
-
Anlegen einer neuen Prozessregel mit dem nachfolgenden Code im Modul Prozessregeln
-
In diesem Code die folgenden Parameter anpassen:
-
<Prozessmodell-ID>: Die ID des Prozessmodells, in dem sich die einzukopierende Phase befindet
-
<Phasen-ID>: Die ID der Phase, die einkopiert werden soll
-
def executeProcessAction(mts_rec=None,object_id=None):
from ppms.processrules import copy_phase_into_model
phase = mts_rec.phase.get_raw_value()
copy_phase_into_model(object_id, mts_rec, <Prozessmodell-ID>, <Phasen-ID>, phase)
return True
ppms.get_session_dict()["planta_functions"]=[executeProcessAction]
-
Anlegen eines neuen Prozessschritt im Modul Prozessmodell-Templates
-
Auswählen dieser Regel im Feld Prozessregel-Bezeichnung
Customizen einer Prozessregel zum Einkopieren von Prozessschritten in eine zukünftige Phase
Ziel
-
Customizen einer Prozessregel, mit der eine zukünftige Phase eines Prozessmodells um bereits vorhandene Prozessschritte eines anderen Prozessmodells erweitert werden kann
Vorgehensweise
-
Anlegen einer neuen Prozessregel mit dem nachfolgenden Code im Modul Prozessregeln
-
In diesem Code die folgenden Parameter anpassen:
-
<Prozessmodell-ID>: Die ID des Prozessmodells, in dem sich die einzukopierenden Prozessschritte befinden
-
<Phasen-ID>: Die ID der Phase, deren Prozessschritte einkopiert werden sollen
-
<Zielphasen-ID>: ID der künftigen Phase, auf die sich die Regel auswirken soll
-
def executeProcessAction(mts_rec=None,object_id=None):
from ppms.processrules import replace_phase_in_model
replace_phase_in_model(project_id=object_id,
prozess_templ_id=<Prozessmodell-ID>,
phase=<Phasen-ID>,
forced_phase=<Zielphasen-ID>)
return True
ppms.get_session_dict()["planta_functions"]=[executeProcessAction]
-
Anlegen eines neuen Prozessschritt im Modul Prozessmodell-Templates
-
Auswählen dieser Regel im Feld Prozessregel-Bezeichnung
Customizen eines individuellen Moduls zum Bearbeiten von Ressourcen
Information
-
Sollen in einem individuellen Modul die übergeordnete Ressource oder die Start- und Endperiode angepasst werden, müssen in diesem Modul folgende Anpassungen durchgeführt werden:
-
Im Parameter Python-Modulunterklasse im Modul Module die Python-Modulunterklasse
ppms.module_subclasses.resource.ResourceDatasheethinterlegen. -
Den Menüpunkt Speichern mit einem Makro mit dem folgenden Code überschreiben:
-
ppms.get_target_module().on_save_check_person_resource()