Drop-down auf User Feld in VKBelegePositionen

MAbujayyab

Mitglied
Teammitglied
Ich habe viel versucht, einen Datenreferenz wie (Dropdown) zu bauen und mit VKBelegposition zu verbinden.
Datenreferenz hat 4 Werte:

0 - ''
1 - Angebot1
2 - Angebot2
3 - Angebot1+2

ich habe in VKBelegPositionen einen User Field erstellt, heißt ("USER_Angebot") durch "Sage-Adminitrator UI"

Schritte:

1- Datenreferenz : wird von TblAngebote (Angebot_ID , Angebot_Desc) importiert.
2- in Datenstrukture habe ich neue Struktur strVKBelegPosition erstellt und "Feld-Attribute anhängen" ==> (Sage.WaWi).
3- "USER_Angebot" erstellt in strVKBelegPosition und "Feld-Attribute anhängen" (Aktiviert)
4- Multi-Data-Edit-Element MDE-VKBelegPositionen "Feld-Attribute anhängen" ==> (Sage.WaWi)
5- USER_Angebot wird in Multi-Data-Edit-Element "MDE-VKBelegPositionen" importiert, mit "Feld-Attribute anhängen" (Aktiviert).

aber leider kommt keine Datenreferenz (Dropdown) in MDE-VKBelegPositionen, es kommt immer nur "Textbox" mit Nummern.
0.png 1.png

hat jemand Idee!

Danke

Viele Grüße,
Abujayyab
 

Anhänge

  • 2.png
    2.png
    33,5 KB · Aufrufe: 39
  • 3.png
    3.png
    48,8 KB · Aufrufe: 32
  • 4.png
    4.png
    33,3 KB · Aufrufe: 26
  • 5.png
    5.png
    37,3 KB · Aufrufe: 26
  • 6.png
    6.png
    40,6 KB · Aufrufe: 26
  • 7.png
    7.png
    38,3 KB · Aufrufe: 34
Zuletzt bearbeitet:
Die einfachste Lösung ohne Daten zwischen Client und Server transportieren zu müssen, ist vielleicht diese Variante:
Benutzerdefiniertes Feld "Angebot", int, Standardwert=0
Benutzerdefiniertes Feld "Angebot2", Text, Werteliste= ;Angebot 1;Angebot 2;Angebot 1+2

Metadaten (die Platzierung des sichtbaren Feldes ist natürlich nicht zwingend):
Data-Edit-Element
ediVKBelegerfassung, Anhängen an Sage.Wawi
Register Positionen mit Feld-Attribute anhängen? aktivieren
Feldgruppe PositionSonstiges mit Feld-Attribute anhängen? aktivieren
Feld KHKVKBelegePositionen_USER_Angebot mit Feld-Attribute anhängen? aktivieren und Sichtbarkeit = Versteckt
Feld KHKVKBelegePositionen_USER_Angebot2 mit Feld-Attribute anhängen? aktivieren und Position > 0

Multi-Data-Edit-Element
mdeVKBelegPositionen, Anhängen an Sage.Wawi
Vorlage Standard mit Feld-Attribute anhängen? aktivieren
Feld KHKVKBelegePositionen_USER_Angebot2 mit Feld-Attribute anhängen? aktivieren und folgende Makros im Ereignis "Nach Aktualisierung":
upload_2018-3-13_12-10-25.png
 
Vielen Danke für Ihre Lösung.

aber "Benutzerdefiniertes Feld "Angebot2", Text, Werteliste= ;Angebot 1;Angebot 2;Angebot 1+2"
darf nicht sein.
Weil Benutzer kann die Daten ändern, und dass muss nicht erlauben.
Die Liste muss NUR durch Metadaten sein und versteckt von Änderung.
Benutzer muss Drop-Down haben und eine Text {'Angebot 1' | 'Angebot 2' | 'Angebot 1+2' ,........} auswählen.
Leider muss mit Drop-Down und keine andre Lösung.

Viele Grüße,
MAbujayyab
 
Entschuldigen Sie vielmals, ich glaube das hatten Sie auch im anderen Thread geschrieben. Hier nun die andere Variante mit Programmierung:

Benutzerdefiniertes Feld "Angebot", int, Standardwert=0
Metadaten:
Datenstrukur
strVKBelegPosition, Anhängen an Sage.Wawi
Neues Feld "Angebot2" mit Datentyp = Indizierten String (Index 0 weglassen)

Data-Edit-Element
ediVKBelegerfassung, Anhängen an Sage.Wawi
Register Positionen mit Feld-Attribute anhängen? aktivieren
Feldgruppe PositionSonstiges mit Feld-Attribute anhängen? aktivieren
Feld KHKVKBelegePositionen_USER_Angebot mit Feld-Attribute anhängen? aktivieren und Sichtbarkeit = Versteckt
Feld Angebot2 mit Position > 0

Multi-Data-Edit-Element
mdeVKBelegPositionen, Anhängen an Sage.Wawi
Vorlage Standard mit Feld-Attribute anhängen? aktivieren
Feld Angebot2 mit folgendem Makro im Ereignis "Nach Aktualisierung":
upload_2018-3-13_14-47-1.png

Mit der DCM VKBelegPositionProxyBelegPositionToContainerPosition den Inhalt von USER_Angebot in Angebot2 des DataContainer schreiben.
 
Danke Sehr.

Die Lösung sieht wie ein Bridg aus!
Aber meine Frage ist:
warum (in MDE) kann User_Angebot nicht direkt in Dropdown-Liste gewechselt werden ! Gibt es einen Grund!?

Weil in Normal DataEditElement, USER_FELD kann direkt zum Dropdown-Liste gewechselt werden.

V.G,
Abujayyab
 
Zuletzt bearbeitet:
Bei Standardfeldern - und benutzerdefinierte Felder gehören dazu - können Sie Position (wenn Position=0), Sichtbarkeit überschreiben und Makros anhängen. Mehr geht nicht. Ich weiß nicht wie Sie es in einem Data-Edit-Element hinbekommen haben. Laut Code geht es nicht.

Der beschriebene Weg wurde von mir gewählt, weil falls es mal möglich ist, mehr Eigenschaften zu überschreiben, Sie das Feld Angebot2 und die DCM löschen und das benutzerdefinierte Feld sichtbar machen können. Alle Daten bleiben erhalten und der Anwender hat im Handling keinen Unterschied.
 
Ich habe es eben laut meiner Beschreibung aus #4 getestet. Es funktioniert. Nur wenn ich den Makrobefehl und/oder die DCM-Implementierung weglasse, erhalte ich das von Ihnen beschriebene Verhalten. Prüfen Sie bitte diese beiden Punkten.
 
Ich habe diese Code programmiert,,,

case DcmDefinitionManager.DcmListId.VKBelegPositionProxyBelegPositionToContainerPosition:
var c2bContext =(Sagede.OfficeLine.Wawi.BelegProxyEngine.DcmContextBelegPositionProxyBelegPositionToContainerPosition) context;
var beleg = c2bContext.Beleg;

foreach (BelegPosition pos in beleg.Positionen)
{
string User_Angebot = pos.UserProperties["User_Angebot"].Value.ToString ();
pos.DCMProperties.StringValues["Angebot2"] = User_Angebot;
}
break;

jedoch Drop-Down-List ist immer leer.
 
Sie befinden sich in der DCM, in der der DataContainer aus dem Belegobjekt aufgebaut und danach zum Client geschickt wird. Sie müssen also das Feld des DataContainer füllen.
 
Bestemmt! es funktioniert,,!!
Aber, wenn die Combobox geändert wurde, dann ist keine Änderung, (Speichern Knopf) ist inaktiv.
 

Anhänge

  • Speichern.PNG
    Speichern.PNG
    1,3 KB · Aufrufe: 21
sorry, aber kann ich im aktuellen Hotfixstand nicht nachvollziehen. Jede Änderung setzt das Data-Edit auf Dirty und damit den Speicher-Button auf aktiv. Vergleichen Sie Ihre Daten noch einmal mit #4. Eventuell ein Feld-Attribute anhängen? zu viel/zu wenig?
 
Zurück
Oben