Autor Thema: Berechnete Felder innerhalb eines Dokumentes  (Gelesen 2848 mal)

Offline Jan 83

  • Frischling
  • *
  • Beiträge: 10
Berechnete Felder innerhalb eines Dokumentes
« am: 16.07.11 - 08:40:55 »
Moin Moin,

nachdem ich nun drei Tage lang die Hilfe und das Forum nach einer Lösung durchsucht habe, ohne Erfolg, hoffe ich, dass Ihr mir einen Denkanstoß / Lösungsansatz vermitteln könnt.

Zu meinem Problem, ich habe ein Maske in welcher sich eine Vielzahl an Feldern befindet, die mit einer Eingabe gefüllt werden und eine weitere Maske die darufhin die Werte übernimmt und sechs weitere Felder berechnen sollen.

Das Anlegen und öffnen der neuen Maske funktioniert auch generell, jedoch gibt es zwei Fehler:

1) Öffne ich die Maske, welche berechnet, erscheint folgende Fehlermeldung:

Field 'Insurance': Incorrect data type for operator or @Funktion: Number expected

Das Feld Insurance ist als computed und Number angelegt und als Währung formatiert, die Formel zur Berechnung lautet:
Insurance=Transport*(1+InsurancePercent)

2) Um den ersten Fehler zu übergehen, habe ich dem Feld Insurance einen Wert zugewiesen, dann öffnet sich auch die gewünschte Maske, doch wird nur das erste Feld berechnet und alle weiter mit 0 gefüllt, auch wenn sie mit Insurance rechnen sollen, das nun einen Wert zugewiesen hat und dieser auch angezeigt wird.

Ich habe wirklich keine Idee mehr, wonach ich jetzt noch suchen soll und wäre über jede Hilfe von Euch sehr dankbar!

Beste Grüße
Jan
« Letzte Änderung: 16.07.11 - 08:47:04 von Jan 83 »

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Berechnete Felder innerhalb eines Dokumentes
« Antwort #1 am: 16.07.11 - 08:51:24 »
Hallo Jan

bei "Number expected" übergibst du einen Text - achte auf den Datentyp

Toni
Grüßle Toni :)

Offline Jan 83

  • Frischling
  • *
  • Beiträge: 10
Re: Berechnete Felder innerhalb eines Dokumentes
« Antwort #2 am: 16.07.11 - 09:33:55 »
Hallo Toni,

danke für die schnelle Antwort!

Was ich jetzt getan habe, ist dass ich mir die Datentypen nochmals in der Hilfe angeschaut habe und habe auch exakt diese Fehlerbeschreibung gefunden.

Als zweites habe ich mir dann nochmal die Datentypen der einzelnen Felder angeschaut und die sind alle als Number deklariert. Ich habe das Feld auch bereits gelöscht und neu erstellt, jedoch ohne Erfolg...

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Berechnete Felder innerhalb eines Dokumentes
« Antwort #3 am: 16.07.11 - 10:11:50 »
... haben deine verwendeten Felder denn tatsächlich Werte?

Die Formel im Feld ist auch nicht korrekt. Sie muß lauten

Transport * ( 1 + InsurrancePercent )

Transport und I surrancePercent müssen Zahlen sein - leer ist nicht gleich 0 - sondern Text als Leerstring...

Toni
« Letzte Änderung: 16.07.11 - 10:16:53 von ata »
Grüßle Toni :)

Offline Jan 83

  • Frischling
  • *
  • Beiträge: 10
Re: Berechnete Felder innerhalb eines Dokumentes
« Antwort #4 am: 16.07.11 - 11:14:45 »
...ja, die Werte werden ja von der zuvor verwendeten Eingabe Maske übernommen.

Ich habe jetzt den Fehler gefunden, kann ihn mir jedoch nicht ganz erklären. Die Transportkosten werden durch die Kosten für einen Container in Euro mal dem Umtrechnungskurs ermittelt, dafür hatte ich in dem entsprechenden Feld die Formel: 2600*Currency

Diese habe ich jetzt in die Eingabe Maske mit eingebaut und jetzt funktioniert das ganze tadellos.

Vielen Dank für deine Hilfe!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Berechnete Felder innerhalb eines Dokumentes
« Antwort #5 am: 16.07.11 - 13:12:38 »
Diese Formel
Code
Insurance=Transport*(1+InsurancePercent)
ist in mehrerlei Hinsicht falsch.

Auf das Insurance=<formel> ist Toni schon eingegangen.

Bei derartigen Berechnungen ist immer eine Überprüfung der Daten erforderlich. Also:
Code
@If (@IsNumber (Transport) & @IsNumber (InsurancePercent); Transport * (1 + InsurancePercent); <alternativwert>)

Was im Falle ungültiger Datentypen eingetragen wird, hängt von der Gesamtlogik ab: Entweder 0, um wieder ein definiertes weiteres Verhalten / Berechnen zu ermöglichen, oder "" (Leerstring), um den Fehlerwert zu visualisieren.

HTH,
Bernhard

Offline Jan 83

  • Frischling
  • *
  • Beiträge: 10
Re: Berechnete Felder innerhalb eines Dokumentes
« Antwort #6 am: 19.07.11 - 09:41:29 »
Hallo koehlerbv,

Danke für den Hinweis, ich habe nun alle Felder mit der @IF Funktion berechnet und
das funktioniert wirklich sehr gut!

Besten Dank!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz