Feldübernahme aus Position in Produkteinsatz

mrunkel

Member
Hallo in die Runde,

Wie kann man erreichen, dass beim Anlegen von Produkteinsätzen aus Projektpositionen (Auftragspositionen) auch
selbst definierte Felder der Projektpositionen in die Produkteinsätze übernommen werden? Vorausgesetzt wird natürlich, dass gleichnamige Felder bei den Datentypen Position und Produkteinsatz existieren.

Hintergrund:
Beim Verkauf von Wartungsprodukten reicht uns das Standardfeld "Menge" nicht aus. Wir benutzen es im Zusammenhang mit selbst definierten Feldern wie z.B. "Wartungsdauer" und "Anzahl_Lizenzen" oder "Anzahl_Arbeitsplätze".
Diese Felder haben wir zwar sowohl in der Position als auch im Produkteinsatz definiert. Beim Anlegen der Produkteinsätze wird aber nur das Feld "Menge" übernommen und nicht die selbst definierten Zusatzinfos. Diese müssen dann im Nachhinein berechnet oder manuell übertragen werden, was natürlich lästig und fehlerträchtig ist.

Gibt es eine Möglichkeit zur automatischen "Mitnahme" dieser Felder beim Anlegen von Produkteinsätzen?

Vielen Dank,
Martin
 

Alexis Kälin

Administrator
Teammitglied
Hallo Martin

Ich habe mir deine Anforderung heute mal etwas genauer angeschaut. Die Funktion direkt auf der CAS genesisWorld Projektmaske zum Überführen von Auftragspositionen in Produkteinsätzen ist hart programmiert. Da kriegst du es nicht hin, direkt weitere Felder zu ergänzen - oder wenn dann nur via SDK-Programmierung.

Was vielleicht ein Ansatz sein könnte. Beim Anlegen eines Produkteinsatzes wird auch automatisch eine Verknüpfung zur Auftragsposition gezogen. D.h. du könntest danach auf dem Produkteinsatz den Feldwert via Formelfeld übernehmen.

cas_genesisworld_formdesigner_element.jpg

In der Formel kannst du dann auf alle Felder der Position zugreifen:

cas_genesisworld_formdesigner_formeldesigner.jpg

Es gibt aber zwei entscheidende Dinge zu beachten, welche vermutlich dagegensprechen:

1) Diese Feldwerte werden nur gezogen, wenn danach der Produkteinsatz auch einmal geöffnet wird. Hier könntest du serverseitig noch die automatische Formelaktualisierung aktivieren, welche diesen Prozess einmal täglich automatisch ausführt und somit dieses Umstand umgehen.

2) Dies ist vermutlich das grössere Problem: bei Formelfelder wird der Wert immer direkt von der Position gezogen. D.h. du hat auf dem Produkteinsatz nicht mehr manuell die Möglichkeit diesen Wert zu verändern.

Was hier noch ein Ansatz sein könnte: ihr könntet auf dem Produkteinsatz noch ein zweites Feld Wartungsdauer (manuell) anlegen. Über die Formel prüft ihr dann, ob was im manuell Feld drinsteht - wenn ja, gewinnt dies, ansonsten das von der Position. Der Wert wird dann ins Feld 'Wartungsdauer' geschrieben.

Dies sind aktuell die einzigen Workarounds, welche mir zu dem Thema einfallen. Richtig schön und elegant ist dies nicht, aber so wäre es über die Standard-Bormittel abbildbar. Alles Andere geht nur via Programmierung.

Beste Grüsse

Alexis
 

mrunkel

Member
Hallo Alexis,

danke für die Hilfe! So hat es funktioniert.
Etwas unschön ist dabei natürlich der von Dir unter 2) genannte Punkt. Ich habe das durch ein zusätzliches Feld gelöst, das eine restriktive Anzeigelogik hat. Da diese Variable aber eine unter vielen ist, wird auf Dauer die Datenstruktur etwas aufgebläht und unübersichtlich.
Es wäre schon fein, wenn man die durch Formelfelder erfolgten Belegungen nachträglich manuell ändern könnte.

Viele Grüße,
Martin.
 
Oben Unten