Angebotsdaten (Formularfelder) auslesen

Im KKP hat jedes Projekt eine Liste von sogenannten Angebotsdaten. In diesen Angebotsdaten befinden sich Informationen wie die Lieferadresse, der Projektname, die Auftragsnummer, das Erstelldatum und viele, viele weitere Informationen. Die KKP API bietet eine Möglichkeiten eben diese Daten abzufragen. Das System welches wir dafür benutzen kann allerdings auch noch wesentlich mehr abfragen als „nur“ die Angebotsdaten. Im KKP sprechen wir hier von den Formularfeldern.

Kleiner Einschub: Im RTF Texteditor kannst du eine Vorlage erstellen oder eine bestehende Vorlage bearbeiten und dabei die Funktion „Platzhalter einfügen“ verwenden. Dort stehen dir sehr viele Platzhalter zur Verfügung und all diese kannst du eben auch per KKP – API abfragen. Also schauen wir uns das einmal kurz an, damit wir ein besseres Verständnis bekommen.

Um Platzhalter einzufügen, müssen wir zuerst der Vorlage eine Kategorie zuweisen, welche ist dabei vollkommen egal.

Gehen wir dann auf das Menü „Platzhalter einfügen“ bekommen wir eine große Liste mit Platzhaltern. Vorab: Die Grafiken können wir mit der API nicht abfragen, sondern nur „textuelle“ Daten.

Nachdem wir uns einen Platzhalter ausgesucht und eingefügt haben, können wir diesen anklicken und dann im Menü auf „Platzhalter abfragen“ klicken

Dadurch bekommen wir die ID des Platzhalters zu sehen. Die ID besteht immer aus 2 Zahlen (streng genommen sind es sogar 3 aber wir brauchen nur 2)

In diesem Falle haben wir die ID bestehend aus den Zahlen 2 und 3.

Mit diesem Wissen können wir nun endlich in die KKP-API gehen.

Ich bastele mir kurz ein Basis Skript.

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

Und nun brauchen wir nur noch einen Befehl. kkp.Get_Drucktext(ID1 , ID2) und schon sind wir fertig.

# -*- coding: utf-8 -*-
import kkp
projektbezeichnung = kkp.Get_Drucktext(2,3)
print(projektbezeichnung)

Und das war’s schon.

Hier noch ein kleines Skript, welches einem das Leben eventuell leichter machen kann. Dort frage ich einfach mal auf gut Glück ganz viele Drucktexte ab und schaue mir an, was die so liefern.

Dieses Skript fragt deutlich mehr Platzhalter ab, als das KKP überhaupt hat, aber wenn nichts gefunden wurde wird auch einfach nur eine leeres Ergebnis zurück gegeben, daher ist das auch nicht weiter tragisch.

# -*- coding: utf-8 -*-
import kkp
import os
homeDir = os.path.expanduser(„~“)
f = open(homeDir +  „\\kkp-platzhalter.txt“ , „w“)
i = 0
j = 0
while i < 10:
    i += 1
    j = 0
    while j < 150:
        j += 1
        wert = kkp.Get_Drucktext(i , j)
        f.write(„%i %i = %s\r\n“ % (i , j , wert))
f.close()
kkp.MsgBox(„Fertig“)