Angebotsdaten (Formularfelder) eintragen

Ach das Eintragen von Formularfeldern in die Angebotsdaten ist recht einfach. Allerdings brauchen wir hier eine Hilfsklasse, um uns das Leben entsprechend einfach zu machen.

Zunächst aber wieder uns Basis-Skript, diesmal schon mit dem zusätzlichen Hilfsmodul  „kkp_projektdaten“

# -*- coding: utf-8 -*-
import kkp
import kkp_projektdaten

In dem Modul kkp_projektdaten gibt es die Klasse CSetPojektdaten. Und von dieser Klasse müssen wir uns nun ein Objekt erstellen

# -*- coding: utf-8 -*-
import kkp
import kkp_projektdaten
pd = kkp_projektdaten.CSetPojektdaten()

Nun haben wir Zugriff auf die Funktion set, der wir die ID des Platzhalters, also die 2 Zahlen und den Wert übergeben. Die Zahlen sind integer (also ganze Zahlen) und der Wert ist ein String.

Na, dann ändern wir mal die Projektbezeichnung

# -*- coding: utf-8 -*-
import kkp
import kkp_projektdaten
pd = kkp_projektdaten.CSetPojektdaten()
pd.set(2 , 3 , „Mein Projekt“)
Würden wir das Skript so ausführen, würde nichts geschehen unsere Änderungen würden nicht getätigt werden. Bei dieser Klasse ist es wichtig zu verstehen, dass wird zunächst alle Platzhalter, denen wir einen Wert geben wollen auch entsprechend einstellen. Und dann, wenn alle Platzhalter ihren Wert bekommen haben, dann müssen wir einen „Schreiben“ Befehl machen.
# -*- coding: utf-8 -*-
import kkp
import kkp_projektdaten
pd = kkp_projektdaten.CSetPojektdaten()
pd.set(2 , 3 , „Mein Projekt“) #Projektbezeichnung
pd.set(2 , 2 , „die neue Angebotsnummer“)
pd.set(2 , 20 , „345“) #Statik Schnee
pd.write()
Achtung! Die Funktion set ist noch recht neu. Du brauchst also in jedem Fall das Software-Update, welches nach dem 30.10.2024 veröffentlicht wurde.
Andernfalls musst Du stattdessen den Eintrag händisch vornehmen
Hier die „manuelle“ Variante
# -*- coding: utf-8 -*-
import kkp
import kkp_projektdaten
pd = kkp_projektdaten.CSetPojektdaten()
pd.Daten[„400.2.3“] = „Mein Projekt“
pd.Daten[„400.2.2“] = „Die neue Angebotsnummer“
pd.Daten[„400.2.20“] = „345“ # Statik Schneelast
pd.write()

Noch ein kleiner Hinweis: Wenn Du das Skript ausführen solltest, während Du bereits in den Angebotsdaten bist (ja da gibt einige, die schaffen selbst das), dann werden die Werte nicht direkt aktualisiert. Du musst den Bereich erst verlassen und neu betreten damit die neuen Werte auch sichtbar werden.

Das kann zum Beispiel passieren, wenn ein Projekt importiert werden soll.

Und dann habe ich noch einen Hinweis, einige Formularfelder sind schreibgeschützt, bzw. die haben nur eine Funktion um abgefragt zu werden, jedoch besitzen diese keine Funktion, einen neuen Wert anzunehmen. Die Felder in den Angebotsdaten können größtenteils beschrieben werden. Daten wie die Projektfarbe oder dergleichen können auf diese Weise allerdings nur abgefragt, jedoch nicht beschrieben werden.