Verbindungsaufbau nur wenn nötig

This commit is contained in:
2023-11-13 12:36:21 +01:00
parent e7fe3fb037
commit f5a4342bcf
17 changed files with 490 additions and 39 deletions

View File

@ -46,3 +46,9 @@ Pandas / SqlAlchemy / xlsxwriter
Sollen Excel-Dateien mit Pandas erzeugt, werden, so muss Pandas, SqlAlchemy und xlsxwriter installiert sein
(`python -m pip install pandas sqlalchemy xlsxwriter`).
PySimpleGUI und andere
----------------------
Einige Beispiele benutzen PySimpleGUI (``python -m pip install pysimplegui``)
sowie teilweise spezielle Bibliotheken etwa zum Pretty-Printing von SQL (``python -m pip install sqlparse sqlfmt``). Dies
sind aber Abhängigkeiten von Beispielen, nicht der Bibliothek selbst.

View File

@ -4,10 +4,11 @@ typische Anwendungsfälle
einfache Admin-Aufgaben
-----------------------
Selten auftretende Admin-Aufgaben lassen sich gut mittels Python-Scripten automatisieren.
Es ist sehr einfach möglich, auf die DB, aber auch auf SOAP-Schnittstelle zuzugreifen.
Ich habe dies vor allem für Wartungsarbeiten an Anpassungstabellen, die für eigene Erweiterungen
entwickelt wurden, genutzt.
Selten auftretende Admin-Aufgaben lassen sich gut mittels Python-Scripten
automatisieren. Es ist sehr einfach möglich, auf die DB, aber auch auf
SOAP-Schnittstelle der APP-Serverse zuzugreifen. Zudem ist rudimentärer Zugriff
auf ASMX-Seiten implementiert. Ich habe dies vor allem für Wartungsarbeiten an
Anpassungstabellen genutzt, die für eigene Erweiterungen entwickelt wurden.
Als triviales Beispiel sucht folgender Code alle `DOCUMENTS` Einträge in
Artikeln (angezeigt als `Bild` in `ArtikelRec.aspx`), für die Datei, auf die
@ -88,7 +89,7 @@ Dank der Bibliothek `zeep` ist es auch sehr einfach möglich, auf beliebige SOAP
Beispielsweise kann auf die Sys-Config auch händisch, d.h. durch direkten Aufruf einer SOAP-Methode
des APP-Servers zugegriffen werden::
client = server.server_conn.getAppClient("p2system", "SysConf");
client = server.getAppClient("p2system", "SysConf");
print (client.service.getString("STAMM", "MYLAND"))

View File

@ -14,8 +14,8 @@ sys.path.append('../src/')
project = 'PyAPplus64'
copyright = '2023, Thomas Tuerk'
author = 'Thomas Tuerk'
version = '1.1.1'
release = '1.1.1'
version = '1.1.2'
release = '1.1.2'
# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

View File

@ -18,7 +18,8 @@ das Deploy-, das Test- und das Prod-System. Ein Beispiel ist im Unterverzeichnis
Damit nicht in jedem Script immer wieder neu die Konfig-Dateien ausgewählt werden müssen, werden die Konfigs für
das Prod-, Test- und Deploy-System in ``examples/applus_configs.py`` hinterlegt. Diese Datei wird in allen Scripten importiert,
so dass das Config-Verzeichnis und die darin enthaltenen Configs einfach zur Verfügung stehen.
so dass das Config-Verzeichnis und die darin enthaltenen Configs einfach zur Verfügung stehen. Zudem werden in dieser Datei auch alle verwendeten
Kombinationen aus System und Umgebung hinterlegt. So kann in Scripten auch eine Auswahl des Systems implementiert werden.
.. literalinclude:: ../../examples/applus_configs.py
:language: python
@ -74,6 +75,44 @@ Die GUI wird um die Erzeugung von Excel-Dateien mit Mengenabweichungen gebaut.
:lines: 9-
:linenos:
``complete_sql.pyw``
--------------------
Beispiel, wie ein einfacher APP-Server Aufruf über eine GUI zur Verfügung gestellt und mittels
Python-Bibliotheken erweitert werden kann. Zudem wird demonstriert, wie eine Auswahl verschiedenere
Systeme und Umgebungen realisiert werden kann.
.. literalinclude:: ../../examples/complete_sql.pyw
:language: python
:lines: 9-
:linenos:
``importViewUDF.py``
--------------------
Folgende Scripte erlauben den einfachen Import von DB-Anpass-Dateien, Views und UDFs über den Windows-Explorer.
Werden Verknüpfungen zu den Scripten ``importViewUDFDeploy.pyw`` und ``importViewUDFTest.pyw`` in ``%appdata%\Microsoft\Windows\SendTo`` abgelegt,
so können eine oder mehrerer solcher Dateien mittels _Kontextmenü (Rechtsklick) - Senden an_ an APplus zur Verarbeitung übergeben werden.
Dabei ist es wichtig, dass sich die Dateien im für den jeweiligen Typ passenden Verzeichnis befinden.
.. literalinclude:: ../../examples/importViewUDF.py
:language: python
:lines: 9-
:linenos:
Wrapper für Deploy-System:
.. literalinclude:: ../../examples/importViewUDFDeploy.pyw
:language: python
:lines: 9-
:linenos:
Wrapper für Test-System:
.. literalinclude:: ../../examples/importViewUDFTest.pyw
:language: python
:lines: 9-
:linenos:
``copy_artikel.py``
-----------------------
Beispiel, wie Artikel inklusive Arbeitsplan und Stückliste dupliziert werden kann.