2

Abwesenheitsmodul optisch verfeinern

Hallo zusammen, 

ich hab nach Vorbild des Abwesenheitsmoduls in unsere eigene Datenbank die Kalenderformeln übernommen. Funktionierte Tippi toppi.

Allerdings gehen die Verfeinerungen jetzt los.

Anforderung 1: ein Abwesenheitsgrund hat keine Zeitspanne mehr, sondern jeder Tag einzeln erhält eine Abwesenheit

Vorher Lesbar => der Grund der Abwesenheit im Dia NACHHER: Da das Feld zum abbilden des Textes zu klein ist.. erkennt man nichts mehr

 mein Gedanke war jetzt, dass dort nur das von mir vergebene Icon angezeigt wird

 Auswahl dynamisch hat jeweils seine eigene Farbe und sein eigenes Icon

daher dacht ich .. just as simple, ich ersetze den Text (=> let title) durch das icon und Fertig ... aber nein :) ich weiß nicht wie .

function Bar(item : Anwesenheiten_PLAN,y : number) do
    let day0 := days(date0, max(date0, item.'Erster Tag')) + 1;
    let day1 := days(date0, min(date1, item.'Letzter Tag')) + 1;
    let capLeft := item.'Erster Tag' < date0;
    let capRight := item.'Letzter Tag' > date1;
    let class := if capLeft then
            " nxp-timeline-bar-cap-left"
        else
            ""
        end +
        if capRight then
            " nxp-timeline-bar-cap-right"
        else
            ""
        end;
    let mychoice := text(item.'Auswahl (dynamisch)');
    let color := (select 'Abwesenheitsgründe' where text('Erläuterung_Zeitgründe') = mychoice).Farbe;
    let border := (select 'Abwesenheitsgründe' where text('Erläuterung_Zeitgründe') = mychoice).Farbe;
    let title := text(item.Status) + "_" + text(item.'Auswahl (dynamisch)');
    let firstHalf := if item.'Dauer erster Tag' = 2 or item.'Dauer-Gesamt' = 3 then
            15
        else
            0
        end;
    let lastHalf := if item.'Dauer letzter Tag' = 2 or item.'Dauer-Gesamt' = 2 then
            15
        else
            0
        end;
    let left := (day0 - 1) * 40 + 256 + number(not capLeft) * 4 + firstHalf;
    let width := (day1 - day0 + 1) * 40 - (number(not capLeft) + number(not capRight)) * 4 -
        firstHalf -
        lastHalf;
    let top := y * 36 + 4;
    ---
<div class="nxp-timeline-bar{ class }" data-nid="{ item.Nr }" style="left:{ left }px;top:{ top }px;width:{ width }px;background-color:{ color };border-color: { border }" onclick="ui.popupRecord('{ item.Nr }')">

<div class="nxp-timeline-bar-tooltip">{ tooltip(item) }</div><div class="nxp-timeline-bar-title">{ title }</div></div>
    ---
end; 
 

 

Kann mir jemand helfen bitte?

5 Antworten

null
    • Schu_Mel
    • vor 2 Monaten
    • Gemeldet - anzeigen

    Anforderung 2:

    es gibt eine Anwesenheitsliste in der sollen später Tagesbuchungen stattfinden, und immer wenn eine Tagesbuchung erfolgt die Kommen heißt => soll in dem Formelfeld oben unter gleichem Namen ein Block " Anwesend" für den Tag entstehen. 

    Sodass man später erkennen kann, was war für den Mitarbeiter geplant  bspw Früh für Frühschicht und direkt drunter ist dann ebenfalls ein Feld "Anwesend" zur Kontrolle für die Führungskraft, dass der Mitarbeiter wirklich da war.

    im Bild mal simuliert in der gleichen Datentabelle, die Schwierigkeit für mich ist jetzt eher die Darstellung, wenn es in den zwei verschiedenen Tabellen ist. =>plus das Icon von Anforderung 1 wäre halt für die Darstellung deutlich simpler fürs Auge

    Geht sowas? wenn ja wie :)

    • Mirko_E
    • vor 9 Tagen
    • Gemeldet - anzeigen

    Moin,

    das gleiche Thema habe ich auch gerade hier, Berufsschule würde ich gerne mit einem icon anzeigen lassen.

    let title := if days(item.'Erster Tag', item.'Letzter Tag') <= 1 then
                icon(item.Art)
            else
                text(item.Art)
            end;

    Leider gibt es dort nur ein in Klammern angezeigtes [object ?

     

    Hat da jemand eine Idee.

     

    Grüße Mirko

      • Schu_Mel
      • vor 8 Tagen
      • Gemeldet - anzeigen

        Hi, wir sind jetzt auf Kürzel umgestiegen und eine Tagesplanung.

      weil das mit dem Icon im html keiner wusste bislang, und wir mit den Kürzeln auch zurecht kommen. So musste keiner der Ninox-Partner, die html Programmierungen machen, beauftragt werden.

      Vllt könnt ihr ja auch Kürzel vergeben,  BS wäre Berufsschule, AN = Anwesend für einen Normalschichtler bzw. Gleitzeiter, wir habens sogar soweit trieben können, dass wenn derjenige sich gemäß seiner Vorplanung im Terminal einstempelt, dann der Hintergrund des Feldes grün wird, der Rahmen die Farbe des Anwesenheitsgrundes behält
      Die Ferien werden auch eingefärbt im Hintergrund ( Hell lila)

    • Mirko_E
    • vor 8 Tagen
    • Gemeldet - anzeigen

    Moin,

    schade, dass das nicht geht...oder keiner weiß wie es geht!

    Werde wohl dann auch mit Kürzeln arbeiten. Ferien habe ich auch noch vor einzufügen.

    Grüße Mirko

      • Schu_Mel
      • vor 5 Tagen
      • Gemeldet - anzeigen

       ist bei uns auch jeweils ein einzelner Tag, der über ein Auswahlfeld als Ferien oder Feiertag gekennzeichnet ist, und da wir eh nicht für jeden Mitarbeiter jeden Tag einzeln eingeben wollten, haben wir da schon eine schleife geschrieben, dass er für alle angeklickten Mitarbeiter von einem Startdatum bis zu einem Endedatum mit dem entsprechend ausgewählten Grund dann selber die einzelnen Datensätze erzeugt. Die gleiche Schleife nutzen wir auch um die Ferien zu erzeugen in der Feiertagstabelle. Das macht es vom eingeben der Daten deutlich angenehmer

Content aside

  • 2 „Gefällt mir“ Klicks
  • vor 5 TagenZuletzt aktiv
  • 5Antworten
  • 96Ansichten
  • 3 Folge bereits