Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TPlanner von TMS, Umstellung Datumsperiode, keine Aktualisierung (https://www.delphipraxis.net/187366-tplanner-von-tms-umstellung-datumsperiode-keine-aktualisierung.html)

stolti 23. Nov 2015 10:13


TPlanner von TMS, Umstellung Datumsperiode, keine Aktualisierung
 
Hallo zusammen,

ich habe nun ein Problem, das ich bisher leider nicht mittels Suche lösen konnte. Ich benutze die TPlanner Komponente von TMS.
Die Komponente und einen Button habe ich in ein Formular gezogen. Ich benutze den Planner im Modus "plDayPeriod".
Auf der linken Achse (positions) stehen die Mitarbeiternamen, im "Display" das jeweilige Tagesdatum.

Wenn ich nun den Button klicke, möchte ich das die Kalenderansicht um einen Monat vorgestellt wird. Die Variablen
"PeriodStartDay" usw. werden auch gefüllt, d.h. die Komponente hat beim nächsten Durchlauf die Werte vom Vordurchlauf.

Die Ansicht verändert sich auch, aber wenn ich dann in den Planer klicke (PlannerMAZeitenItemLeftClick) und mir das
Datum der selektierten Zelle (Spalte) in Edit Feldern anzeigen lasse, kommt nichts. Das bedeuetet ich muss irgendwo
anders noch etwas füllen, denn der Komponente müssen Angaben fehlen, um das Datum der selektierten Zelle zu kennen.

Was mache ich falsch, bzw. was fehlt?

Ich habe schon ein paar Beispiel von TMS durchgeschaut, hier im Forum geschaut, gegoogelt, das PDF von TMS druchgeschaut,
aber mir kommt nicht die richtige Idee / Info...

Hat jemenad eine Idee was fehlt, ich würde mich über einen Hinweis freuen!

Anbei der Code, die auskommentierten Zeilen laden bzw. speichern den Kalender in eine MySql Tabelle:

Delphi-Quellcode:
procedure TForm1.ButtonPlanerArbeitszeiteMonatVorClick(Sender: TObject);
var jahr, monat, tag : word;
    erg : integer;

begin
  ButtonZeitplanerSpeichernClick(self);

  jahr := PlannerMAZeiten.Mode.PeriodStartYear;
  monat := PlannerMAZeiten.Mode.PeriodStartMonth;
  tag  := PlannerMAZeiten.Mode.PeriodStartDay;

  // Start
  monat := monat + 1;
  if monat = 13 then
  begin
    monat := 1;
    jahr := jahr + 1;
  end;

  PlannerMAZeiten.Mode.PeriodStartDay  := tag;
  PlannerMAZeiten.Mode.PeriodStartMonth := monat;
  PlannerMAZeiten.Mode.PeriodStartYear := jahr;

  PlannerMAZeiten.Mode.Year := jahr;
  PlannerMAZeiten.Mode.Month := monat;
  PlannerMAZeiten.Mode.Day  := tag;

  PlannerMAZeiten.Mode.TimeLineNVUBegin := 0;
  PlannerMAZeiten.Mode.TimeLineNVUEnd := 0;
  PlannerMAZeiten.Mode.TimeLineStart := EncodeDate(jahr, monat, tag);

  // Ende
  erg := monat + 1;
  if (erg > 12) then
  begin
    monat := erg - 12;
    jahr := jahr + 1;
  end
  else
    monat := monat + 1;
 
  PlannerMAZeiten.Mode.PeriodEndDay  := tag;
  PlannerMAZeiten.Mode.PeriodEndMonth := monat;
  PlannerMAZeiten.Mode.PeriodEndYear := jahr;

  //ButtonZeitplannerLadenClick(self);
end;

procedure TForm1.PlannerMAZeitenItemLeftClick(Sender: TObject; Item: TPlannerItem);
var datum : tDateTime;
    position : integer;

begin
  datum := item.ItemStartTime;
  position := item.ItemPos;

  ComboBoxPlanungMitarbeiter.ItemIndex := Position;

  selected_date := DatetimeToStr(datum);
  tmp_date := datum;
  start_date := datum;
  end_date := datum;

  EditZeitVon.Text := selected_date;
  EditZeitBis.Text := selected_date;
end;

mm1256 23. Nov 2015 10:40

AW: TPlanner von TMS, Umstellung Datumsperiode, keine Aktualisierung
 
Zitat:

Zitat von stolti (Beitrag 1322194)
Ich habe schon ein paar Beispiel von TMS durchgeschaut, hier im Forum geschaut, gegoogelt, das PDF von TMS druchgeschaut,
aber mir kommt nicht die richtige Idee / Info...

Und was sagt der TMS-Support zu dem Problem? Ich habe mit dem Support von TMS bisher nur sehr positive Erfahrungen gemacht. Reaktionszeit manchmal sogar nur 10-15 Minuten, sehr kompetent und hilfsbereit :thumb:

// edit: hat mit deinem Problem zwar nicht primär was zu tun, aber diese beiden Zeilen würde ich etwas abändern. Dann bist du auf der sicheren Seite, wenn in der DB mal Mist steht

Delphi-Quellcode:
  if monat = 13 then ==> if monat > 12 then

  monat := erg - 12; ==> monat := 1;

stolti 23. Nov 2015 10:49

AW: TPlanner von TMS, Umstellung Datumsperiode, keine Aktualisierung
 
Na dann will ich das mal probieren. Evtl. Ergebnisse poste ich selbstverständlich hier!
Danke für den Tip.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz