Autor Thema: Felder von einer Maske in eine andere übertragen  (Gelesen 14256 mal)

Marie

  • Gast
 Hallo,

ich habe mal wieder ein neues Problem.

Ist es möglich die Werte aus den Feldern einer Maske in andere Felder einer anderen Maske zu übertragen?

Also, ich habe eine Maske, in der ich alle Details eines Angebotes in verschiedene Felder eintrage. Jetzt möchte ich aus diesem Angebot einen Auftrag machen, und über einen Button z.B. die Kundendaten in eine andere Maske(Auftragsmaske) übertragen.

Sprich:

ich habe eine Maske A, in der ich die Felder A1 und A2 habe. Jetzt möchte ich auf einen Button klicken, und somit den Inhalt der Felder in Maske B in die Felder B1 und B2 übertragen.

Kann mir jemand helfen?

Vielen Dank schonmal...

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Felder von einer Maske in eine andere übertragen
« Antwort #1 am: 30.10.10 - 12:04:31 »
In der Maske gibt es die Option 'On create formulas inherit values from selected document' auf dem 2 Reiter.
Dann entsprechend die Felder dann entweder auf computed when composed stellen, wenn die Werte fest sein sollen, oder als bearbeitbar und die formel für die Werteübernahme beim Default value eintragen.

lg

Dau-in
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Marie

  • Gast
Re: Felder von einer Maske in eine andere übertragen
« Antwort #2 am: 30.10.10 - 12:31:13 »
Hallo Dau-in,

vielen Dank schonmal für die schnelle Antwort.

Zwei Fragen hab ich noch:

Müssen die Felder in Maske A und B den gleichen Namen haben?

Und, wie lautet denn die Formel für die Werteübernahme?

Gruß marie

Marie

  • Gast
Re: Felder von einer Maske in eine andere übertragen
« Antwort #3 am: 30.10.10 - 13:12:31 »
ach so, noch etwas:

ich möchte nicht, daß die Felder generell übertragen werden.

Ich habe Maske A als Übersicht für ein Angebot, welches ich auch bearbeite und ergänze. Nur wenn es zum Auftrag wird, dann möchte ich einen best, Button betätigen, eine zweite (Auftrags) maske öffen, und bestimmte Daten in die Maske B übertragen, aber nur dann...

Offline heini_schwammerl

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
Re: Felder von einer Maske in eine andere übertragen
« Antwort #4 am: 30.10.10 - 13:59:47 »
Der Vorgabewert in der neuen Maske ist der Feldname in der alten Maske
Beispiel:
Alte Maske Feld mit dem Namen Subject und dem Wert "Beispieltext"
Neue Maske Feld mit Namen Titel und dem Vorgabewert Subject (ohne Anführungszeichen).
Beim Erstellen der neuen Maske erscheint dann im Feld als Wert "Beispieltext"
Wenn die Feldnamen gleich sind dann nimmt man in der neuen Maske als Vorgabewert einfach den Feldnamen (ohne Anführungszeichen).
Was wann passiert lässt sich auch einfach durch Ausprobieren herausfinden.
Man muss das neue Dokument ja nicht speichern.
Gruß
Henning

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: Felder von einer Maske in eine andere übertragen
« Antwort #5 am: 01.11.10 - 14:19:57 »
Hallo Marie

Maske und Dokument sind nicht identisch.

Dokument = Daten
Maske = Darstellung

=> Ein Dokument kann mit verschiedenen Masken dargestellt werden.
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

Marie

  • Gast
Re: Felder von einer Maske in eine andere übertragen
« Antwort #6 am: 01.11.10 - 20:24:38 »
OK, danke das habe ich nicht gewußt.

Eine andere Frage habe ich noch:

Ich habe mir noch eine Kundendatenbank geschrieben. Wenn ich jetzt eine Angebot anlege, und die Kundendaten eingebe, dann kann ich ja über ein Dialogfeld auf die Daten der Kundendatenbank zugreifen. Gibt es eine Art Querverweis?
Wenn ich zum Beispiel den Firmennamen über ein Dialogfeld einlese, daß sich dann die Felder für Straße und Ort automatisch füllen?

Vielen Dank schonmal!

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Felder von einer Maske in eine andere übertragen
« Antwort #7 am: 01.11.10 - 21:12:37 »
im Onchange-event z. B. die entsprechenden Felder mit einem DB-lookup befüllen.

oder in einer Ansicht in einer Spalte die Firmennamen zur Auswahl, dazu in einer versteckten Spalte alle interessierenden Informationen verkettet, diese Spalte bei Auswahl einlesen und in die einzelnen Werte zerlgen.

Achtung: die Aktualisierung der Werte passiert nur direkt bei der Auswahl, wenn sich im Hintergrund die Firmendaten ändern, werden die Felder im bestehenden Dokument nicht aktualisiert. Wenn die Daten aktuell gehalten werden sollen, muß bei Änderung des Firmendokumentes die Aktualisierung programmatisch nachgezgen werden.
mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Marie

  • Gast
Re: Felder von einer Maske in eine andere übertragen
« Antwort #8 am: 01.11.10 - 21:53:20 »
...aber wie kann ich die versteckte spalte einlesen?

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Felder von einer Maske in eine andere übertragen
« Antwort #9 am: 01.11.10 - 22:10:45 »
@DBLookup

Die Spalte muss auch nicht zwingend versteckt sein. Die Ansicht sollte versteckt sein, denn einen programmatischen Zugriff auf eine sichtbare Ansicht sollte man sein lassen.

Marie

  • Gast
Re: Felder von einer Maske in eine andere übertragen
« Antwort #10 am: 02.11.10 - 13:08:12 »
Hallo Peter,

vielen Dank, das klappt. Jetzt habe ich allerdingsdas Problem, wenn ich ein Angebot anlege, dann ist das Feld, auf welches sich der Befehl "DBLookup" bezieht nich leer ist, sodaß ich die Fehlermeldung:

Eintrag im Index nicht gefunden

bekomme"

Marie

  • Gast
Re: Felder von einer Maske in eine andere übertragen
« Antwort #11 am: 02.11.10 - 13:19:32 »
Hallo Peter,

ach so, da ich eine "manuelle" Eingabe auch weiterhin offen halten möchte, sollte das Ausgabefeld auch weiterhin bearbeitbar sein!

Ist das möglich?

Die Fehlermeldung habe ich im Griff.
Ich habe folgenden Code verwendet:

a:=@Unique(@DbLookup("";"":"";"Backup3";firma;4));
@if(@iserror(a);"";a);

...ist der Empfehlenswert? Oder gibt es vielleicht einen besseren Weg?

Gruß marie

Offline kawie

  • Junior Mitglied
  • **
  • Beiträge: 87
  • Ich liebe dieses Forum! Und wie :-)
Re: Felder von einer Maske in eine andere übertragen
« Antwort #12 am: 02.11.10 - 13:46:40 »
Hallo Peter,

ach so, da ich eine "manuelle" Eingabe auch weiterhin offen halten möchte, sollte das Ausgabefeld auch weiterhin bearbeitbar sein!

Ist das möglich?

Die Fehlermeldung habe ich im Griff.
Ich habe folgenden Code verwendet:

a:=@Unique(@DbLookup("";"":"";"Backup3";firma;4));
@if(@iserror(a);"";a);

...ist der Empfehlenswert? Oder gibt es vielleicht einen besseren Weg?

Gruß marie

Die Formel kann man so machen. Performanter wäre allerdings ein Feld als Bedingung einzufügen wie z.B. Auftrag ="True".
Der Vorteil wäre der DbLookup nicht ausgeführt werden muss, wenn es nicht zutrifft man spart also Zeit und muss keinen Fehler abfangen.

Beispiel:
Code
@if(Auftrag="True";a:=@Unique(@DbLookup("";"":"";"Backup3";firma;4));a:="");
a

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Felder von einer Maske in eine andere übertragen
« Antwort #13 am: 02.11.10 - 13:57:38 »
Also ganz ehrlich gesagt, verstehe ich bald nur noch Bahnhof.

Welches Feld ist nicht leer und erzeugt deshalb einen Fehler?

Welches Feld soll bearbeitbar sein? Das Feld, in das Du z.B. die Straße des Kunden schreibst?

Wenn die Felder mit den weiteren Angaben zum Kunden nur vorbelegt, aber bearbeitbar sein sollen, hast Du zwei Möglichkeiten:

1. Du schreibst die Formel als Vorgabe für das bearbeitbare Feld, musst dann aber sicherstellen, dass der Schlüssel (also die Firma) für das DBLookup gefüllt ist, bevor das bearbeitbare Feld gerechnet wird. Bei nachträglicher Änderung der Firma erfolgt keine Neuberechnung

2. Du wählst die Firma mittels einer Schaltfläche (z.B. mit @Picklist) aus und füllst im Anschluss innerhalb der Schaltfläche das Feld mit Deiner Formel, aber abgewandelt auf FIELD ausgabefeld := ...

Marie

  • Gast
Re: Felder von einer Maske in eine andere übertragen
« Antwort #14 am: 02.11.10 - 14:07:37 »
Hallo Peter,

also sagen wir mal ich habe 4 Felder als Dialogliste angelegt. Alle sind bearbeitbar, und greifen auf die View Backup3 zu. So kann ich ich manuell in allen feldern eine Auswahl treffen.

Die felder heißen:

Firma
Ansprechpartner
Straße
Ort

Ich beziehe mich bei den letzten 3 Felder über DBLookup auf das Feld Firma, und möchte so die Felder automatisch befüllen, wenn ich über den Dialogbutton die Firma auswähle.

Wenn ich die Maske öffne, dann sind alle felder leer, und die Felder mit der Formal für DBLookup erzeuegn den Fehler.

Ich möchte aber, für den Fall, das die View in die letzten Felder nichts brauchbares liefert, diese auch noch manuell befüllen können!


Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Felder von einer Maske in eine andere übertragen
« Antwort #15 am: 02.11.10 - 14:22:01 »
Firma als Dialogliste verstehe ich. Aus welchen Listen wählst Du die anderen Felder aus, wenn Du dazu Dialoglisten verwendest??

Wenn Du die Firma als Dialogliste behalten willst, musst Du dafür sorgen, dass bei Änderung der Firma die anderen (m.E. einfachen bearbeitbaren) Felder neu berechnet werden. Da wurde ziemlich am Anfang dieser Diskussion der OnChange-Event angesprochen (habe das selbst noch nicht genutzt), da solltest Du mit Deiner Formel ansetzen.

Wenn das nicht funktioniert, bleibt Dir noch das Postrecalc, dann musst Du Dir aber den alten Wert der Firma merken, um eine Veränderung festzustellen.

Marie

  • Gast
Re: Felder von einer Maske in eine andere übertragen
« Antwort #16 am: 02.11.10 - 14:37:19 »
Hallo Peter,

ich glaube ich werde doch auf Picklist zurückgreifen. Das hört sich am Besten an.

Ich habe allerdings noch nie mit diesem Befehl gearbeitet, und verstehe die Beschreibung auch nicht so ganz:


Was für einen "Ordner" muß ich denn angeben?
Kann ich nicht wie bei DBLookup auf eine View in eine bestimmte Spalte greifen?

Gruß Marie


Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Felder von einer Maske in eine andere übertragen
« Antwort #17 am: 02.11.10 - 14:55:34 »
Nimm @Picklist ([CUSTOM] ....

Das andere sind spezielle Dialogboxen (für Ordner, Namen, Ressourcen usw.)
« Letzte Änderung: 02.11.10 - 15:01:47 von Peter Klett »

Marie

  • Gast
Re: Felder von einer Maske in eine andere übertragen
« Antwort #18 am: 02.11.10 - 15:04:14 »
Hallo Peter,

ich habe es jetzt hinbekommen. Allerdings muß ich 7 felder befüllen, die aber alle die gleiche Firma als Grundlage haben. Ich möchte daher natürlich die Firma nur einmal auswählen. Jetzt habe ich folgenden Code:

a:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 1 );
FIELD firma := a;
@True;
b:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 5 );
FIELD Ansprechpartner := b;
@True;
c:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 2 );
FIELD Straße:= c;
@True;
d:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 3 );
FIELD Ort_1 := d;
@True;
e:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 4 );
FIELD Ort := e;
@True;
f:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 7);
FIELD Mail :=f;
@True;
g:= @PickList( [Custom] ; "NI-Vertrieb" ; "Adressübersicht" ; "Kunden wählen" ; "Bitte wählen Sie einen Kunden aus:" ; 6 );
FIELD Telefonnummer := g;
@True

damit muß ich aber natürlich 7 mal die Firma bestätigen.

Gibt es da eine elegantere Lösung?

Gruß Marie

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Felder von einer Maske in eine andere übertragen
« Antwort #19 am: 02.11.10 - 15:19:07 »
Natürlich gibt es da elegantere Lösungen. Eine wurde Dir bereits in #7 vorgeschlagen.

Dazu baust Du dann eine Spalte (dort ist es dann sinnvoll, die zu verstecken, weil sie sonst im Dialog sichtbar wäre), in der Du alle benötigten Felder zusammen darstellst. Natürlich musst Du die einzelnen Wert irgendwie maskieren, z.B. mit einem festen Trennzeichen und dann die einzelnen Werte aus dem Ergebnis ausrechnen. Möglichkeiten und Ideen gibt es da viele.

Eine andere Möglichkeit ist, mit der Picklist die Firma zu holen und dann mittels DBLookup die anderen Felder zu füllen. Du hast doch schon alles beschrieben, musst Du jetzt nur noch in die richtige Reihenfolge und Logik bringen ...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz