Autor Thema: Berechnet beim anlegen: Domino 6???  (Gelesen 5247 mal)

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Berechnet beim anlegen: Domino 6???
« am: 25.01.05 - 15:42:00 »
Hi,

habe eine alte DB die ich pflege muss  :( und diese will in Version 6 nicht funzen  :'(

Ich habe mittleweil herausgefunden dass ein "berechnet beim Anlegen" Text Feld in notes 6 nur noch den Wert als Eingenschaft hat. früher in 5er Version gab's noch Options, Declarations, Initialize und Terminate... dazu könnte man natürlich noch mehr rein bringen.
So in mein alte DB wurde in die Initialize was programmiert... und auf ein uidoc rum gebastelt der noch nicht als Dokument in der Datenbank angelegt ist... Hmmm schien aber Notes 5 nicht zu stören....

Allerdings Notes 6 frag mich ob ich ganz sauber bin von diese uidoc was zu wollen da er nicht existent ist.... OK wollte dann diese Script in Designer anpassen aber ich kann die Initialize nicht sehen.... Also im klar Notes 6 bearbeitet diese Sub ohne es mir im Designer anzuzeigen...

Hat jemand Erfahrung in diese Programmiertechnik (initialize Sub von berechnete Felder) ?
für was es gut sein sollte und wie man es jetzt am beste umgeht?


Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Berechnet beim anlegen: Domino 6???
« Antwort #1 am: 25.01.05 - 15:47:11 »
gehe zurück auf 5 nimm die Routine und schmeiß sie raus. Anschließend durch Formelsprache in 6 ersetzen.

Warum jemand das macht? keine Ahnung! vielleicht weil man was ausprobieren wollte. Ohne Hintergründe dafür zu kennen unmöglich zu beantworten.

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Berechnet beim anlegen: Domino 6???
« Antwort #2 am: 26.01.05 - 08:57:57 »
@Thomas ja dein Idee ist nicht schlecht aber 2 Punkte schmecken mir nicht:
1) Formelsprache ist ja gut aber bei komplizierte Sachen sehr umständlich
2) Ich kann mir nicht vorstellen dass Formelsprache in 6er Version wieder ein Neugeburt erleben soll.

Den Ablauf:
Eine Dokument wird erstellt (@Command([Compose];"Form1")
in der Queryopen wird geprüft ob isnewdoc, dann wird ein Feld ausgefüllt mit eine Liste von Werte (Arbeitsgruppen). In ein zweite Feld an Hand der gewählte Arbeitsgruppe in die o.g. Liste wird ein Paket errechnet (PickList). Dann wird der erste Feld nur noch mit dem gewählte Wert gefüllt.

Ob das alles Sinnvol ist?? Aber wie schon gesagt diese Datenbank wurde vor lange Zeit schon programmiert. Ich muss sie blos pflegen...

Ich habe jetzt die Initialize Sub von mein Feld in der Maskedefinition als neue Sub eingebaut und will aus den QueryOpen diese Sub aufrufen. Leider:
Zitat
in Notes 5 bei Queryopen ist der notesUIWorkspace.CurrentDocument schon definiert. Bei Notes 6 anscheinend nicht!

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Berechnet beim anlegen: Domino 6???
« Antwort #3 am: 26.01.05 - 09:24:31 »
1) Formelsprache ist ja gut aber bei komplizierte Sachen sehr umständlich
2) Ich kann mir nicht vorstellen dass Formelsprache in 6er Version wieder ein Neugeburt erleben soll.
Also dazu wie das zu beheben ist kann ich nichts sagen, ohne die Anwendung zu kennen

ABER: zu deinen zwei Punkten lässt sich schon einiges anmerken.
zu. 1. Da hast du was falsch verstanden oder die Formelsprache nicht richtig begriffen. Dieses Instrument ist mindestens genauso mächtig, wie die Scriptsprache. In manchen Bereichen, z.B. Listenoperationen sogar wesentlich mächtiger. Mit der Möglichkeit z.B. Schleifen zu programmieren, die in V6 eingeführt wurde ähnelt das auch einer "richtigen" Programmiersprache,
zu 2.  Wozu eine Neugeburt. Diese Sprache war nie tot. Wozu sollte ich Script benutzen, wenn es mit der Formelsprache um Klassen schneller geht. Schau dir mal das !!!Help!!! Projekt von Eknori an, da sind bis jetzt noch keine wesentlichen Script Routinen drin bis auf die ClassHistorie und die Excel Export Funktionen und dann schau dir an wie mächtig das mittlerweile geworden ist.

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Berechnet beim anlegen: Domino 6???
« Antwort #4 am: 26.01.05 - 10:04:37 »
@thomas:
Ich wollte dir nicht auf die Füße tretten  ;D aber ich kann mich errinern an manche Seminar wo damals gesagt wurde dass nächste Version (damals 5er) man wollte weg von der Formelsprache kommen. Nich nur dass die 5er immer noch diese angeboten hat aber jetzt in der 6er wird er noch mehr eingesetzt... Ich finde solchen Richtungswechsel nicht für sehr sinnvoll. Ich habe damals meine Programmierung auf Lotus und Java- Script konzentriert um ein Kompabilität für zukünftige Versionen zu Gewährleisten (ich war anscheinend nicht der einzige...)
Ob jetzt diese Sprache mächtig ist, möchte ich nicht bestreiten... Du hast sicher mehr Wissen wie ich auf diesen Gebiet  :)

@all:
warte auf weitere Antwort und Vorschläge...

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Berechnet beim anlegen: Domino 6???
« Antwort #5 am: 26.01.05 - 10:11:00 »
Du bist mir nicht auf die Füße getreten. Das war nur eine Klarstellung einer Fehleinschätzung  ;D
Aber du wirst um die bereits skizzierte Vorgehensweise nicht drumherum kommen, außer du programmierst di komplette Maske neu.

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Berechnet beim anlegen: Domino 6???
« Antwort #6 am: 27.01.05 - 09:54:01 »
Das ist eine verzwickte Situation.... :-\

Wie @thomas es vorgeschlagen hat habe ich mein script in formelsprache überstzt (kein leichte Übung für ein Anfänger wie ich)... Jetzt hab ich's aber funzt nur in Version 6 (@for gab's ja wohl früher nicht)... Diese DB wäre nur bei uns im Einsatz wäre kein Problem. Alle Anwender auf 6 umstellen aber diese DB ist Deutschland weit in großen Behörde... Die hängen mich alle auf wenn es nicht mehr in 5er geht.

Kennt da jemand die möglichkeit so ein Art For-Schleife in 5er zu machen?

Ich lege hier mein Code ab (aber bitte nicht auslachen  ;)) Vielleicht weißt da jemand was
Code
_TAG:=@GetField("Arbeitsgruppen");
_TAP:=@GetField("arbeitspakete");
_grp:=@UserNamesList;

@For(n:=1;n<=@Elements(_grp);n:=n+1;
@If((@Left(_grp[n];4)=".SW-") & (@Length(_grp[n])=8);
@For(m:=1;m<=@Elements(_TAP);m:=m+1;
@If(@Right(_grp[n];4)=_TAP[m];
_grp1:=_grp1+";"+_TAG[m];
"")
)
;"")
);
@Explode(@Trim(_grp1);";")

Glombi

  • Gast
Re: Berechnet beim anlegen: Domino 6???
« Antwort #7 am: 27.01.05 - 09:58:46 »
Poste mal ein Beispiel: Was kann in "Arbeitsgruppen" stehen und was in "arbeitspakete"
Und was soll dabei herauskommen?

Andreas

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Berechnet beim anlegen: Domino 6???
« Antwort #8 am: 27.01.05 - 10:14:42 »
Arbeitsgruppen:
"GRVS/SW - Abgleich":
"GRVS/SW - Bestandsanalyse und Überführung":
"GRVS/SW - Organisationseinheiten":
"GRVS/SW - Berechtigungen, Zugriffskontrolle":
"GRVS/SW - Verfahrensabläufe":
"GRVS/SW - Druckerzeugung":
"GRVS/SW - Anschriftenermittlung":
"GRVS/SW - GUI":
"GRVS/SW - HamEr - Harmonisierung mandantenspezifischer Erweiterungen":
"GRVS/SW - Sonstige Daten und Verfahren":
"GRVS/SW - Statistik":
"GRVS/SW - Testorganisation":
"GRVS/SW - Projektleitung":
"GRVS/SW - DV-Leiter":
"GRVS/SW - Fachbereichbeauftragte":
"GRVS/SW - KonTest"

Arbeitspakete:
"AP01":
"AP02":
"AP03":
"AP04":
"AP05":
"AP06":
"AP07":
"AP08":
"AP09":
"AP10":
"AP11":
"AP12":
"APPL":
"APDV":
"APFB":
"KOTE"

Es soll für diese User in seine Gruppen nachgeschaut werden ob er für die Arbeitspakete berechtigt ist, dann kommt in ein PickList die entsprechende Arbeitsgruppen raus.
Beispiel: der Anwender gehört die Gruppen ".SW-AP10" und ".SW-KOTE" diesen werden in die Arbeitspakete gefunden (10 und letzte Position) daraus soll in der Picklist "GRVS/SW - Sonstige Daten und Verfahren" und "GRVS/SW - KonTest" erscheinen.
(10 und letzte Position der Arbeitsgruppen)

Die 2 Listen sind in Gemeinsame Felder Arbeitsgruppen und Arbeitspakete eingetragen und müssen ständig gepflegt werden.

Glombi

  • Gast
Re: Berechnet beim anlegen: Domino 6???
« Antwort #9 am: 27.01.05 - 10:19:58 »
Ich denke die gültigen Gruppen für Arbeitsgruppen bekommt Du mit einer Kombination von
_Gruppen := @Trim(@Right(@UserNamesList;".SW-"));

ergibt für Dein Beispiel dann "AP10" und "KOTE".

Dann mit dieser Liste die Liste der Arbeitspakete aus dem Dokument generieren
_ArbeitspaketeListe := @Keywords(_Gruppen;Arbeitspakete);

Wie bekommt man die Arbeitsgruppen:
_Liste1 := Arbeitspakete + "#" + Arbeitsgruppen;
_ReturnListe := @Trim(@Right(_Liste1;_ArbeitspaketeListe + "#"));

Andreas
« Letzte Änderung: 27.01.05 - 10:22:25 von Glombi »

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Berechnet beim anlegen: Domino 6???
« Antwort #10 am: 27.01.05 - 10:49:35 »
@Glombi

schon genial wie du das löst... ich bekomme aber nur den ersten Wert.

Wenn ich _ArbeitspaketeListe zurückgebe sind alle Gruppen wo ich Mitglied bin, die _Liste1 ist auch schön mit "AP01#GRVS/SW - Abgleich" usw gefüllt aber diese _ReturnListe hat wie gesagt nur 1 Element

Glombi

  • Gast
Re: Berechnet beim anlegen: Domino 6???
« Antwort #11 am: 27.01.05 - 11:06:14 »
Stimmt, das liegt an dem dusseligen @Right.

Es ginge evtl. so (aus dem Bauch heraus):

_Liste1 := Arbeitspakete + "#" + Arbeitsgruppen;
_Liste 2:= (_ArbeitspaketeListe + "#") *+ Arbeitsgruppen;
_ReturnListe := @Keywords(_Liste1;_Liste2)

also über Permutationen... (*+)

Andreas

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Berechnet beim anlegen: Domino 6???
« Antwort #12 am: 27.01.05 - 12:15:26 »
@Glombi

Thx jetzt habe ich's! hat fast so geklappt  :)

für spätere Suchen:
Code
_TAG:=@GetField("Arbeitsgruppen");
_TAP:=@GetField("arbeitspakete");

_grp:= @Trim(@Right(@UserNamesList;".SW-"));
_ArbeitspaketeListe := @Keywords(_grp;_TAP);

_Liste1 := _TAP + "#" + _TAG;
_Liste2:= (_ArbeitspaketeListe + "#") *+ _TAG;
_ArbeitsPaketeGruppeListe := @Keywords(_Liste1;_Liste2;"");
_ReturnListe:= @Replace(_ArbeitsPaketeGruppeListe;_Liste1;_TAG);

_ReturnListe


Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Berechnet beim anlegen: Domino 6???
« Antwort #13 am: 27.01.05 - 14:45:25 »
diese @GetField ist auch nur für Version 6 verfügbar  :'(

habe versucht mit @getdocfield aber da geht's auch nicht in 5er... Meldung: "@getdocfield und @setdocField können nicht auf das Dokument zugreifen, das aktuell berechnet wird"

hat jemand eine andere Idee an der Stelle?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Berechnet beim anlegen: Domino 6???
« Antwort #14 am: 27.01.05 - 14:48:52 »
Warum überhaupt @GetField ?

_TAG:= "Arbeitsgruppen";

reicht doch vollkommen.

Bernhard

Offline Alois

  • Junior Mitglied
  • **
  • Beiträge: 88
  • Geschlecht: Männlich
  • Mal sehen...
Re: Berechnet beim anlegen: Domino 6???
« Antwort #15 am: 27.01.05 - 14:56:47 »
Wie einfache Lösung manchmal schön kompliziert gemacht werden  ;D

ich danke dir @koehlerbv

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz