Autor Thema: Felder vorausfüllen  (Gelesen 1688 mal)

Offline mardroid

  • Frischling
  • *
  • Beiträge: 6
  • Geschlecht: Männlich
Felder vorausfüllen
« am: 09.08.17 - 10:09:41 »
Schönen guten Morgen,

vielleicht kann wir jemand weiterhelfen:

In einer Datenbank habe ich ein Formular für die Arbeitskleidung, wo nach Auswahl eines Aufgabenbereichs aus einem Dropdown (z.b. Verkäufer, Servicetechniker, ...) automatisch die richtige Stückzahl vorausgefüllt werden soll (Bearbeitbares Feld)

z.b.    


Mit der Anzahl der Kleidungsstücke und der Vorgabeprofile habe ich bereits im Adminmenü der Datenbank eine Matrix mit 65 Feldern angelegt und die Stückzahl definiert.

Wie lässt sich sowas am saubersten befüllen?

1. Per Formula wird das ja ziemlich verstrickt, was die Wartung sehr kompliziert macht. Vor allen wenn sich etwas ändert.

2. Ein Agent welcher den Wert aus der Matrix im Adminmenü ausließt und per onload beim öffnen des Dokuments prüft und schreibt wäre eine saubere Lösung. So bleibt es für den Org. Mitarbeiter wartbar.

Es geht nur darum den Usern das aufwendige vorausfüllen zu ersparen. Die Weiterverarbeitung der Daten  findet außerhalb von Notes durch die Übergabe per Webservice statt.

Welchen Weg würdet ihr nehmen?
Vielen Dank


Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Felder vorausfüllen
« Antwort #1 am: 09.08.17 - 12:15:11 »
Also ich würde meine Konfigurationen mehrstufig bauen, und auf keinen Fall mit 65 Feldern arbeiten.

1. Auswahlliste "Aufgabenbereiche": Die kannst Du irgendwo in einem zentralen Vorgabeprofil hinterlegen
2. Auswahlliste "Kleidungsarten" (T-Shirt, Polo-Shirt, Hose, etc.), ggf. auch im Vorgabeprofil gespeichert (macht also 2 Multivalue- Felder im Profil, nicht 65
3. Config- Maske "Kleidung" mit 3 Feldern: Aufgabenbereich: Auswahl aus Liste, Kleidungsstück: Auswahl aus Liste), Stückzahl: Eingeben

Dann legst Du für jede Aufgabenbereich / Kleidungsstück- Kombination ein Dokument mit der Maske "Kleidung" an. Das Ganze zeigst Du in einer kategorisierten Ansicht nach Aufgabenbereich an.

Zusätzlich erstellst Du eine versteckte Ansicht "(LookupKleidung)" mit 3 Spalten, Select Form = "ConfigKleidung", erste Spalte "Aufgabenbereich", kategorisiert, 2. Spalte "Kleidung", 3. Spalte Stückzahl.

Jetzt kannst Du, wenn Du annimmst, dass Du nie mehr als sagen wir mal 10 verschiedene Kleidungs- Arten pro Aufgabenbereich hast, in der Erfassungsmaske 10 Zeilen a 3 Felder = 30 Felder erstellen, von denen die erste und dritte Spalte berechnet sind.

Ich würde dann mit 2 Lookup- Feldern arbeiten:

Kleidungsstuecke:
Code
_viw := "(LookupKleidung)";
_crit := FeldNameArbeitsbereich;
_col := 2;
_lkp := @DBLookup( "" : "Cache" ; @DbName ; _viw; _crit; _col );
@If( @IsError( _lkp ) ; "" ; _lkp )

Stueckzahlen:
Code
_viw := "(LookupKleidung)";
_crit := FeldNameArbeitsbereich;
_col := 3;
_lkp := @DBLookup( "" : "Cache" ; @DbName ; _viw; _crit; _col );
@If( @IsError( _lkp ) ; "" ; _lkp )

Und dann die Felder in den Zeilen mit "kopierbarem" Code:

Feldname: Kleidung_1
Formel:
Code
_nr := @TextToNumber( @Right( @Thisname ; "_" ) );
@If( @Elements( Kleidungsstuecke ) < _nr ; ""; Kleidungsstuecke[_nr] )

Feldnema: Stueckzahl_1
Formel:
Code
_nr := @TextToNumber( @Right( @Thisname ; "_" ) );
@If( @Elements( Stueckzahlen) < _nr ; ""; Stueckzahlen[_nr] )

Dann noch HideWhens auf die ganze Zeile:
Kleidung_1 = ""

und fertig.

Neue Spalten (wenn 10 dann doch nicht reichen) sind dann ganz einfach per Copy & Paste und Anpassung der Feldnamen / Hide- When zu erstellen...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz