0

Druck Layout

Hallo zusammen,

Ist es möglich das linke fx Feld so zu konfigurieren das es nur einmal ein Fest zugeordneten Wert enthält? In dem Fall Buffet, die restlichen Datensätze jedoch nur als Platzhalter fungierten bis zur nächsten Kategorie des rechten fx Feldes?

Mann kann ja meines Wissens nach keine Formatierung des Textes im Skript vornehmen, so könnte man jedoch Die Linke spalte anders formatieren als die rechte .

 

Skript in der rechten ist:

let aa := join(for i in numbers('Buffet auswahl') do

  " • " + " " + record(Buffet,i).Bezeichnung

 end, " 

");

let bb := join(for i in numbers('Getränke wählen (DMFAF)') do

  " • " + " " + record('Getränke',i).Bezeichnung

 end, " 

");

aa + "

" + "

" + if 'Getränke wählen (DMFAF)' then

 "Geränke " + "

" + "

" + bb 

end

31 Antworten

null
    • Michi.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Perfekt

    Danke

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

    Hallo Leo,

    beim probebetrieb hab ich festgestellt das der "Punkt" in die Printtabelle sowie in der übersicht erscheint, (unterschiedliche skripte) wenn eine option im Dmulti gewählt wurde (nicht abgewählt ist) und dannach in der in bezug zu dem Dmulti bestehenden Tabelle gelöscht wurde.

    Das Dmulti zeigt ja dann die fehlende Datensatz Nr. nicht mehr an.. da gelöscht. Warum bekommt man aber dem "punkt" davor noch angezeigt in der ausgabe? Dieser ist auch nicht mehr weg zu bekommen.

    skript für die anzeige im fx :

    join(for i in numbers('Buffet auswahl') do
    " • " + " " + record(Buffet,i).Position
    end, "
    ")

    skript printabelle:

    delete (select Printtabelle);
    do as server
    let me := this;
    let myNameSpace := ["Buffet", "Beilagen", "Salatbar", "Dessert", "Snacks", "Getränke"];
    let myValueSpace := ['Buffet auswahl', 'Buffet beilagen wählen', 'Salatbar auswahl', 'Dessert auswahl', 'Snack auswahl', 'Getränke wählen'];
    let myTableSpace := ["Buffet", "'Beilagen für Buffet'", "Salatbar", "Dessert", "Snacks ", "'Getränke'"];
    let myPos := 1;
    for i in range(cnt(myNameSpace)) do
    let new := (create Printtabelle);
    new.(Dashboard := me);
    new.(Pos := myPos);
    new.(Gruppe := item(myNameSpace, i));
    new.(Hinweise := join(for j in numbers(item(myValueSpace, i)) do
    text(eval(---
    record({ item(myTableSpace, i) },{ j })."___________________________________"
    ---, me))
    end, "
    ") + "
    ");
    new.(Bezeichnung := join(for j in numbers(item(myValueSpace, i)) do
    " • " + text(eval(---
    record({ item(myTableSpace, i) },{ j }).Position
    ---, me))
    end, "
    ") + "
    ");
    myPos := myPos + 1
    end;
    if 'Buffet auswahl' = null then
    delete (select Printtabelle where Gruppe = "Buffet")
    end;
    if 'Getränke wählen' = null then
    delete (select Printtabelle where Gruppe = "Getränke")
    end;
    if 'Dessert auswahl' = null then
    delete (select Printtabelle where Gruppe = "Dessert")
    end;
    if 'Snack auswahl' = null then
    delete (select Printtabelle where Gruppe = "Snacks")
    end;
    if 'Buffet beilagen wählen' = null then
    delete (select Printtabelle where Gruppe = "Beilagen")
    end;
    if 'Buffet beilagen wählen' = null then
    delete (select Printtabelle where Gruppe = "Salatbar")
    end;

     

    Der fehler trit nur auf wenn der gelöschte eintrag angewählt war! Wenn man ihn vorher abwählt im Dmulti läuft alles ganz normal.

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Michi,

    Das liegt daran, dass dmulti nicht mitbekommt, dass der Record in der Quelltabelle gelöscht ist. Eigentlich ist es ein Bug - die gelöschten Tabellenzeilen werden in Dmulti nicht mehr angezeigt, bleiben aber in der hexadezimaler Darstellung drinn.

    ich würde am Anfang des Skripts folgendes einbauen:

    ---

    let myDmulti := for i in numbers(Dmulti) do
    if record(sourse_table,i).number(Nr) > 0 then
    i
    end
    end;
    Dmulti := myDmulti

    ---

    Leo

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

    Danke  dir

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

    zu früh gefreut,

    für die fx ausgabe bekomme ich das hin mit deinem zusatz skript. (läuft auch so wie du sagst... fehler weg) 

    Bekomme es aber für dein tolles skript nicht hin.... da fehlt mir viel wissen. (leider bekomm ich da ja auch den fehler mit dem "punkt" für die printausgabe )

    let me := this;
    let myNameSpace := ["Buffet", "Beilagen", "Salatbar", "Dessert", "Snacks", "Getränke"];
    let myValueSpace := ['Buffet auswahl', 'Buffet beilagen wählen', 'Salatbar auswahl', 'Dessert auswahl', 'Snack auswahl', 'Getränke wählen'];
    let myTableSpace := ["Buffet", "'Beilagen für Buffet'", "Salatbar", "Dessert", "Snacks ", "'Getränke'"];
    let myPos := 1;
    for i in range(cnt(myNameSpace)) do
    let new := (create Printtabelle);
    new.(Dashboard := me);
    new.(Pos := myPos);
    new.(Gruppe := item(myNameSpace, i));
    new.(Hinweise := join(for j in numbers(item(myValueSpace, i)) do
    text(eval(---
    record({ item(myTableSpace, i) },{ j })."___________________________________"
    ---, me))
    end, "
    ") + "
    ");
    new.(Bezeichnung := join(for j in numbers(item(myValueSpace, i)) do
    " • " + text(eval(---
    record({ item(myTableSpace, i) },{ j }).Position
    ---, me))
    end, "
    ") + "
    ");
    myPos := myPos + 1
    end;

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

    Habs an der vermutlich falschen stelle probiert... sollte ja das Dmulti direkt ansprechen. Da klappt das auch.