Visual Dataflex
Zur Startseite Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen
Datenbank RSS Feed Selector Zur User-Map

 
Boardmenü
» Forum
» Portal

» Registrieren
» Suche
» Statistik
» Mitglieder
» Team
» Kalender
» Sponsoren
» Partner

» F.A.Q

Portalmenü
» Datenbank anlegen
» Datenbank Entwicklung
» Empfehlungen
» Portal
» Programm erstellen
» Über visual Dataflex

» Statistik

Dataflex Empfehlungen

Englisches Dataflex Forum


Anzeigen

Sponsoren
Kostenloser Linktausch

Antivirus Software

Foren Verzeichnis

HP Color Laserjet 1600

Windows 7 Forum


Social Bookmark Script

Visual Dataflex » VDF Anfänger » Felder dynamisch berechnen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Felder dynamisch berechnen
Autor
Beitrag
Remo
Jungspund


Dabei seit: 25.09.2007
Beiträge: 11

Felder dynamisch berechnen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo VDF Freunde,

ich arbeite erst seit Kurzem mit VDF, habe aber ein paar Erfahrungen mit Datenbanken & Softwareentwicklung und stosse daher auf einige Unterschiede gegenüber anderen System die ich kenne (Oracle, SSAS, Centura, .NET usw.).

Dieses Forum hat ja noch ziemlich wenig Beiträge, da dachte ich, ich poste die Frage nicht in der Newsgroup sondern hier Freude

Ich hab mir das Order Entry Beispiel etwas genauer angeschaut und gesehen, das die Spalte "Total" in der Auftragsposition über die Update Routine berechnet wird. Dies ist für mich etwas ungewöhnlich da wir inzwischen mehr als genügend Leistung um bei der Anzeige kurz 23*34 zu rechnen so dass wir keine "quasi Redundanzen" speichern müssen.

Ich sehe fast nichts das ich mit dieser Funktionsweise von VDF nicht lösen könnte, es ist aber etwas problematisch wenn man eine bestehende Applikation hat die man portieren möchte. Ein Kandidat den ich ev. portieren könnte hat doch ein paar Dutzend Felder die berechnet werden, dies umzuschreiben ist ein ziemlich grossen Aufwand (sind nicht nur Multiplikationen sondern auch decode, translate,... anweisungen)

Besten Dank & Gruss
Remo Laubacher
25.09.2007 22:07 Remo ist offline E-Mail an Remo senden Beiträge von Remo suchen Nehmen Sie Remo in Ihre Freundesliste auf
Matthias Matthias ist männlich
Super Moderator


Dabei seit: 09.07.2007
Beiträge: 233
Einsatzart von VDF: gewerblich
Anwenderstatus: VDF-Entwickler
Herkunft: Niedernhausen
Betriebssystem: XP, Vista, Win7, 2008 Ser

RE: Felder dynamisch berechnen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Remo,
das ist die (seit Jahren) bewährte Vorgehensweise für die embedded DataFlex Datenbank, um möglichst schnell Ergebnisse ausweisen zu können. Bei einem neuen Projekt sicherlich auch keine Problem, ein Feld Total mitzuführen. Natürlich besteht auch hier die Möglichkeit, die Daten permanent online zu berechnen, erfordert aber bei DataFlex entsprechende Datenbankzugriffe, die zwar sehr schnell sind, aber eben auch programmiert sein müssen.
Bei Nutzung einer SQL-Datenbank eröffnen sich natürlich die Möglichkeiten, die SQL bietet. Die gängigsten Datenbanktreiber für SQL Datenbanken sind in einer VDF Entwicklungslizenz bereits mit enthalten. Weitere findet man unter www.mertechdata.com.
Matthias
26.09.2007 10:14 Matthias ist offline E-Mail an Matthias senden Homepage von Matthias Beiträge von Matthias suchen Nehmen Sie Matthias in Ihre Freundesliste auf
Remo
Jungspund


Dabei seit: 25.09.2007
Beiträge: 11

Themenstarter Thema begonnen von Remo
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Vielen Dank für die prompte Antwort!

Ich seh schon ein das es Vorteile dieser Methode gibt aber wenn ich eine Buchhaltungssoftware entwickeln möchte und gleich bei jeder Buchung den Saldo des Monats- und Jahresabschlusses, der Mittelflussrechnung, der Deckungsbeiträge usw. ausrechnen muss, so wird dies etwas unschön enden..

Wenn ich das richtig Verstehe: Eine weitere Unschönheit wäre die Trennung der Applikationen: Wenn Person A die FIBU Funktionalität implementiert hat und Person B die Mittelflussrechnung aufbereiten müsste, so muss Person B in die Applikation von Person A eingreifen. Je nach Arbeitsweise etwas unpraktisch..

Werde mich aber wohl dem Thema externe SQL DB & VDFQuery annehmen um da einen besseren Durchblick zu erlangen!

Danke für die Unterstützung!
Remo
26.09.2007 23:01 Remo ist offline E-Mail an Remo senden Beiträge von Remo suchen Nehmen Sie Remo in Ihre Freundesliste auf
Roman Köhler Roman Köhler ist männlich
Administrator


images/avatars/avatar-4.jpg

Dabei seit: 29.08.2007
Beiträge: 202
Einsatzart von VDF: gewerblich
Anwenderstatus: VDF-Entwickler
Herkunft: Mannheim
Betriebssystem: Windows XP

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Remo,

wir haben seit Jahren eine eigene Buchhaltungssoftware im Einsatz. Das Einzige, was beim Speichern des Buchungssatzes verändert wird ist der Saldo des Kontos.

Falls man andere Berechnungen starten will (Bilanz...), sind diese Berechnungen in eigene Programme gepackt, die dann die von Ihnen benötigten Daten ermitteln und evtl. in Summenfeldern zwischenspeichern. Dies bietet einerseits Vorteile in der Übersichtlichkeit des Buchungsvorgangs, und man ist deutlich flexibler in der Gestaltung der Auswertungsprogramme.

Du schlägst vor, dass gewisse Berechnungsfelder bereits im DD während der Buchung ermittelt werden sollen. Irgendwann ergibt sich dann aber eine Anforderung, die diese bereits berechneten Felder nicht braucht. Bsp.: Du lässt den Monatssaldo des aktuellen Jahres eines Kontos mitprotokollieren. Irgend wann kommt dann die Anforderung einen Monatssaldo des vergangenen Jahres auszuweisen. Spätestens dann musst Du eh wieder eine Auswertung programmieren. Also warum nicht gleich so?

LG
Roman
27.09.2007 08:41 Roman Köhler ist offline E-Mail an Roman Köhler senden Homepage von Roman Köhler Beiträge von Roman Köhler suchen Nehmen Sie Roman Köhler in Ihre Freundesliste auf
Remo
Jungspund


Dabei seit: 25.09.2007
Beiträge: 11

Themenstarter Thema begonnen von Remo
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Roman,

nein ich schlage nicht vor die Daten beim Insert zu berechnen, mir ist nur aufgefallen das die VDF Beispielapplikationen dies tun..

Ich hab in den letzten Jahren einige hundert Tabellen in Oracle angelegt und daher bin ich doch etwas vorbelastet was SQL angeht und deswegen fühle ich mich in VDF etwas verloren, hab allerdings VDFQuery noch nicht im Detail angeschaut!

Das mit der Buchhaltung war nur ein theoretisches Beispiel, deswegen auch etwas übertrieben. Ich hab von der Ausbildung her einen umfangreichen Background in diesem Gebiet, hab aber definitiv nicht vor eine Anwendung dafür zu erstellen...

Ich muss mir den Punkt "eine Auswertung programmieren" etwas genauer anschauen.. Mir fehlt da wohl die Erfahrung mit VDF noch etwas!

Gruss
Remo
28.09.2007 22:59 Remo ist offline E-Mail an Remo senden Beiträge von Remo suchen Nehmen Sie Remo in Ihre Freundesliste auf
Peter Bosch Peter Bosch ist männlich
Mitglied


Dabei seit: 04.09.2007
Beiträge: 30
Einsatzart von VDF: gewerblich
Anwenderstatus: VDF-Entwickler
Herkunft: Wien

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Remo!
Du kannst natürlich bei jedem Feld zur Anzeige eine Funktion verwenden:

Entry_Item (Func(Parm1,Parm2,...,Parmx))

statt direkt einem Datenbankfeld - in der Funktion kannst du berechnen, was du willst. Natürlich kann das aufwändig werden, wenn du viele Datensätze lesen musst, aber generell funktioniert es.

LG
Peter
10.10.2007 09:23 Peter Bosch ist offline E-Mail an Peter Bosch senden Beiträge von Peter Bosch suchen Nehmen Sie Peter Bosch in Ihre Freundesliste auf
abraxas
Doppel-As


Dabei seit: 23.07.2007
Beiträge: 107
Einsatzart von VDF: gewerblich
Anwenderstatus: VDF-Entwickler
Herkunft: Frauenfeld (CH)

RE: Felder dynamisch berechnen Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Remo

Es ist in der tat unschön, dass man dazu angehalten wir die Berechnungen in die Update Methode zu verbannen. Wir haben uns schon lange daran gestört.

Den End-Kunden klar zumachen, dass sie F2 drücken müssen um das Ergebnis der Berechnung (Bsp Anzahl Artikel*Preis pro Artikel) zu sehen, war nie einfach.

Man kann Berechnungen via DD-Buffer machen, die sich ja sofort auf die Anzeige auswirken. Das Problem ist dann aber, dass man die Berechnungen nicht 2x definieren will (im UDPATE und dann eben mittels DD Notation). Man vergisst garantiert die eine Anzupassen, wenn was ändern würde.

Wir definieren Berechnungen innerhalb derselben Table (also keine Totale 'nach oben' zu dem Parents) mit der DD Notation, get_file_field_current_value / set_file_field_Changed_Value in einer Methode DoCalcAll.

Die DoCalcAll Methode rufen wir einerseits beim field_exit_msg der gewünschten Felder auf (kann ebenfalls im DD pro Feld festgelegt werden) und andererseits als Teil von request_validate.

Das führt dazu, dass die Berechnungen sofort ausgeführt werden und nach dem verlassen des Feldes sichtbar sind. Auf eine Umsetzung (eigentlich eine Nachberechnung) in Update haben wir konsequent verzichtet.

Diese Vorgehensweise garantiert auch, dass alles im DD hinterlegt ist - was ja auch zu empfehlen ist.
Das automatische Nachführen von Totalen (also von parents) war eigentlich nie ein Thema; es war immer möglich den Kunden klar zu machen, dass erst nachdem die Eingaben durch speichern bestätigt wurden, das Total nachgeführt wird.

Gruss, Paolo

__________________
=================
Abraxas Informatik AG
Schweiz
=================
24.10.2007 17:14 abraxas ist offline E-Mail an abraxas senden Homepage von abraxas Beiträge von abraxas suchen Nehmen Sie abraxas in Ihre Freundesliste auf
Gehe zu:
Neues Thema erstellen Antwort erstellen
Visual Dataflex » VDF Anfänger » Felder dynamisch berechnen

Views heute: 1.260 | Views gestern: 2.645 | Views gesamt: 2.186.441

Impressum

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH | SEO by seo-wbb.de - Sponsored by Rene Urlaub und Reise Infos Frankenthal