Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Jan 83 am 16.07.11 - 08:40:55

Titel: Berechnete Felder innerhalb eines Dokumentes
Beitrag von: Jan 83 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
Titel: Re: Berechnete Felder innerhalb eines Dokumentes
Beitrag von: ata am 16.07.11 - 08:51:24
Hallo Jan

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

Toni
Titel: Re: Berechnete Felder innerhalb eines Dokumentes
Beitrag von: Jan 83 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...
Titel: Re: Berechnete Felder innerhalb eines Dokumentes
Beitrag von: ata 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
Titel: Re: Berechnete Felder innerhalb eines Dokumentes
Beitrag von: Jan 83 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!
Titel: Re: Berechnete Felder innerhalb eines Dokumentes
Beitrag von: koehlerbv 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
Titel: Re: Berechnete Felder innerhalb eines Dokumentes
Beitrag von: Jan 83 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!