0

Wiedervorlage inkl auslesen einer Untertabelle und Verarbeitung in der Ziel-Untertabelle

Hallo zusammen,

 

ich habe mir eine Vertragsverwaltung mit einem Wiedervorlagebereich gebaut, wobei die vertragsgebundenen Details der Wiedervorlage aus einer verknüpften Untertabelle kommen. Funktioniert prima!

 

Nun habe ich die Vertragsverwaltung durch eine Fahrzeugverwaltung ergänzt. Auch hier kommen wiedervorlagen vor. Über einen Button habe ich es geschafft, dass die reine Wiedervorlage auch dort angelegt wird, wo ich sie hin haben möchte. Was nicht funktionier ist das Auslesen der verknüpften Untertabelle aus der Fahrzeugverwaltung, denn innerhalb der Fahrzeugverwaltung habe ich eine Untertabelle aus der Vertragsverwaltung angelegt, um z. B. den Bezug auf einen Leasing- / Finanzierungsvertag herzustellen. 

 

Diese Information hätte ich dann auch gerne aus der entsprechenden Untertabelle der Fahrzeugverwaltung ausgelesen und innerhalb des create Wiedervorlage Befehlt in einer Untertabelle der Wiedervorlage (vertragsgebunden) angelegt.

 

Mein Ergebnis bis dato: die Wiedervorlage wird angelegt, aber die vertragsgebundene Untertabelle bleibt leer! Gehe ich in die frisch angelegte Wiedervorlage und klicke auf die Lupe der Untertabelle, kann ich aus der Liste den betreffenden Vertrag auswählen und die Wiedervorlage als Ganzes wird so dargestellt wie ich es mir vorstelle.

 

Habt Ihr eine Idee, wie ich das realisieren kann?

 

Gruß

 

Michael

4 Antworten

null
    • Florian_Wisser
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Michael,

     

    wie genau funktioniert denn die Wiedervorlage? Du füllst einzelne Felder aus einem Musterdatensatz per Befehl aus? Kannst Du nicht einfach den Musterdatensatz kopieren per Befehl? So mache ich das z.B. in unserem Schulungsmodul. Dort habe ich eine art Übersichtsdaschboard und ein Dynamisches Auswahlfeld in dem ich die Vorlage auswählen kann. Per Button wird dann der Vorlagedatensatz kopiert, geöffnet und Umbenannt und die Verknüfungen zu z.B. den Mitarbeitern der Abteilung bleibt bestehen. bzw. der kopiert auch die verknüpften Datensätze in der Untertabelle und Verknüpft diese mit dem Datensatz. Oder verstehe ich dich falsch?

     

    lg

    • Michi.1
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Michael,

    ich habe mir hier 2 extra Tabellen erstellt. Eine als "Zwischenspeicher" für Terminvorlagen die andere ist die Tabelle für die sofortige sendung und bearbeitung. Basieren tut das ganze über sichtbarkeitsregelungen nach rollen. (Empfängerauswahl) In der Tabelle wiedervorlagen ist dann der eigentliche Datensatz um den es geht wieder sichtbar. Verknüpfung Anzeigen als Eingebettet.

    erstellen der vorlage:

    if dialog("Wiedervorlage senden für den" + " " + 'Sendedatum wählen' + " " + "?", "bitte mit Ja bestätigen um Vorlage zu senden", ["Ja", "Nein"]) = "Ja" then
    let me := this;
    let dat := now();
    let user := userName();
    let text := 'Vorlagentext eingeben';
    let KV := 'KV-Nr.';
    let Nam := Name;
    let Vor := Vorname;
    let rol := 'Text für Rollen';
    let send := 'Sendedatum wählen';
    let myR := (create 'Zwischenspeicher Wiedervorlagen');
    myR.('Vorlage vom' := dat);
    myR.('gesendet von' := user);
    myR.('zu KV' := KV + " / " + Nam + " / " + Vor);
    myR.(Vorlagentext := text);
    myR.('Aufträge' := me);
    myR.('Text für Rollen' := rol);
    myR.(Sendedatum := send);
    'Vorlagentext eingeben' := null;
    'Empfänger auswählen' := null;
    'Empfänger wählen' := null;
    'Empfänger' := null;
    'Bitte Empfänger wählen' := null;
    Sendeart := null;
    'Sendedatum wählen' := null;
    closeRecord()
    else
    'Vorlagentext eingeben' := null;
    'Empfänger auswählen' := null;
    'Empfänger wählen' := null;
    'Empfänger' := null;
    'Bitte Empfänger wählen' := null;
    Sendeart := null;
    'Sendedatum wählen' := null;
    closeRecord()
    end

    Terminvorlage senden aus "Zwischenspeicher" (Globale funktion bei öffnen)

    let myR := (select 'Zwischenspeicher Wiedervorlagen');
    myR[Sendedatum = today()].(
    let me := this;
    let aus := 'Aufträge';
    let dat := now();
    let user := 'gesendet von';
    let text := Vorlagentext;
    let KV := 'Aufträge'.'KV-Nr.';
    let Nam := 'Aufträge'.Name;
    let Vor := 'Aufträge'.Vorname;
    let rol := 'Text für Rollen';
    let myR := (create Wiedervorlagen);
    myR.('Vorlage vom' := dat);
    myR.('gesendet von' := user);
    myR.('zu KV' := KV + " / " + Nam + " / " + Vor);
    myR.(Vorlagentext := text);
    myR.('Aufträge' := aus);
    myR.('Text für Rollen' := rol);
    let myB := (create Historie);
    myB.('Änderungsdatum' := dat);
    myB.(Benutzer := user);
    myB.('Aktion oder Info text eingeben' := text);
    myB.('Aufträge' := aus);
    delete me
    )

     

    Anzeige für benutzer das eine neue Vorlage vorhanden ist:

    function getWarning(MESSAGE : text) do
    let myCSS := "bll {
    border-radius: 0.2em;
    padding: 0.2em;
    animation-name: animation_blink;
    animation-timing-function: ease-in;
    animation-duration: 2s;
    animation-iteration-count: 20;
    animation-fill-mode: both;
    }
    @keyframes animation_blink {
    0% {
    background-color: yellow;
    }
    50% {
    background-color: red;
    }
    100% {
    background-color: yellow;
    }
    }";
    let myHTML := "<p><bll>" + MESSAGE + "</bll></p>";
    html("<style>" + myCSS + "</style>" + myHTML)
    end;
    for i in select Wiedervorlagen where gelesen = false and ['Text für Rollen' = userRole() or userHasRole("admin")] do
    i.getWarning("** Neue Wiedervorlage erhalten ** ")
    end

     

    So sollte eigentlich immer auch der verknüpfte satz in der Untertabelle angesprochen werden, da sich ja alles auf verknüpungen bezieht

    • Michael.3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo zusammen,

     

    vielen Dank für die Antworten. @Florian: Mein System funktioniert wie folgt: Haupttabelle ist eine Vertragsverwaltung. Innerhalb der Vertragsverwaltung habe ich ein Tab, der die Wiedervorlage für den speziellen Datensatz in Form einer verknüpften Tabelle aufnimmt.

     

    die Tabelle Wiedervorlage wird automatisch beim Öffnen der Datenbank angezeigt. Und zwar in Listenform. Die fälligen bzw. überfälligen nach ganz oben sortiert und farblich gekennzeichnet. In der WV-Liste stehen dann die Wiedervorlage Daten, ergänzt um Daten aus der Vertragsverwaltung, damit man direkt den Zusammenhang sieht. Das ganze funktioniert auch ganz gut.

     

    dieses Konstrukt habe ich nun um eine Fahrzeugverwaltung ergänzt, die Wiedervorlagen aus diesem Bereich wollte ich über einen Button in der Wiedervorlagetabelle eintragen und anzeigen lassen. Auch das habe ich in gewisser Art hinbekommen. Alle Daten bezogen auf die Wiedervorlage kommen an, aber die ergänzenden Informationen aus der Vertragsverwaltung, die in einer Untertabelle abzulegen / verknüpft wären, bekomme ich da nicht hin. 

    die Untertabelle ist eine Zeile mit einer Lupe am Rechten Rand. Ich habe die ID selektieren können. Manuell könnte ich die ID bei der Lupe eingeben und alles sieht so aus wie ich es haben will. Das bekomme ich aber nicht bei dem create Befehl hin, der die Wiedervorlage aus der Fahrzeugverwaltung anlegt.

     

    hierfür brauche ich eine Idee.

    • Michael.3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Guten Morgen!

     

    ich habe im Forum Code von Leonid S. gefunden:

     

    let me:=this;

    let new:=create Container;

    new.'Standort ID' :=me.'Standort ID';

    new.'Standort Bezeichnung':=me.'Standort Bezeichnung';

    popupRecord(new)

     

    Der hat mir geholfen, mein. Problem auf eine elegante Art und Weise zu handhaben. Es die Untertabelle wird zwar nicht, wie von mir gewünscht, automatisch mit den Daten versorgt, aber die Daten der Wiedervorlage werden automatisch angelegt und danach öffnet sich der Datensastz, so dass ich manuell die Verknüpfung in der Untertabelle vornehmen kann.

     

    Also DANKE an Alle und speziell an Leonid, die hier im Forum Code posten.

Content aside

  • vor 2 JahrenZuletzt aktiv
  • 4Antworten
  • 179Ansichten