Beiträge von Laura

    frankie07
    Zuerst zwei Fragen zu deiner Frage 1):
    1) Dürfen die "Nummer-Dokumente" programmatisch nachbearbeiten werden?
    2) Tippt der User in seinen neuen Dokumenten die Nummer ein oder wählt er sie aus einer Liste?


    @all
    Copy & Paste kann man wunderbar in den User-Ansichten verbieten.
    Im Querypaste der Ansicht
    Msgbox "Was du machen?" ,64, "Verpoten!"
    Continue = false

    Hi yukaro,


    wenn dir die Dialogliste nicht gefällt, dann kannste ein bearbeitbares Textfeld "Firma_hierarchisch" machen. Mit einem Knopf daneben (s. Bilder)


    Formel für den Knopf:

    _VIEW := "Test_Firma_kat" ;
    _SPALTE := 2 ;
    _TITEL := "Eingabe: Firma hierarchisch" ;
    _TEXT := "Bitte wählen Sie die Firma aus der Liste:" ;
    _X := @PickList( [Custom] : [Single]; "" : "" ; _VIEW ; _TITEL ; _TEXT ; _SPALTE);


    FIELD Firma_hierarchisch := _X;


    @Command([ViewRefreshFields])


    Diesmal ist die erste Spalte (Feld "Firma_hierarchisch") in der Ansicht "Test_Firma_kat" kategorisiert und komprimiert, in der zweiten ist Firma_hierarchisch nochmal mit Typ Standard.


    Wem die Auswahl nicht reicht, soll selbst tippen!


    ************************************************************


    Bei der Eingabeumsetzung habe ich doch glatt was vergessen (in rot). Neuer Versuch:


    Wert := @trim(@RightBack(Firma_hierarchisch ; "\\"));


    @if (Wert = "";
    @do(
    @SetField("UnterfirmaVon";"");
    @SetField("Firma"; Firma_hierarchisch)
    );
    @do(
    @SetField("UnterfirmaVon"; @trim(@left (Firma_hierarchisch; "\\" + Wert)));
    @SetField("Firma"; Wert)
    )
    );
    [color=990000]@SetField("Firma_hierarchisch"; Firma_hierarchisch)[/color]




    Also wenn das nicht scheee ist... :)
    Meine User wären glücklich...


    Gruß


    Laura

    Tach yukaro,


    ich würde folgendes machen:


    ein Eingabefeld " Firma_hierarchisch " vom Typ Dialogliste erstellen, keine Mehrfachwerte, neue Werte zulassen.


    Auswahlformel

    Code
    @Unique(@DbColumn("":"nocache"; ""; "(Ansicht_mit_bereits_erfassten_Firmen)"; 1))


    In dieser Ansicht ist die erste (und die einzige) Spalte (Feld "Firma_hierarchisch") nicht kategorisiert.


    User kann aus den vorhandenen Hierarchien passende auswählen und evtl. ergänzen oder ganz neu eintippen
    Beispiele:
    Firma A
    Firma A\ Firma B\ Firma C
    Firma A\ Firma D


    In der Eingabeumsetzung dieses Feldes kann - wenn nötig - der Inhalt vom Feld "Firma_hierarchisch" in die Einzelteile zerlegt und in die entsprechende Felder geschrieben werden.


    Ungefähr so:

    Wert := @trim(@RightBack(Firma_hierarchisch ; "\\"));
    @if (Wert = "";
    @do(
    @SetField("UnterfirmaVon";"");
    @SetField("Firma"; Firma_hierarchisch)
    );
    @do(
    @SetField("UnterfirmaVon"; @trim(@left (Firma_hierarchisch; "\\" + Wert)));
    @SetField("Firma"; Wert)
    )
    );

    Hab' nicht getestet, ich hoffe, die "Grammatik" stimmt.
    Probier's einfach.


    Edit: habe gerade code durch fett ersetzt, code macht die \\ kaputt!

    Hallo yukaro,


    ich kann deine Gedanken nachvollziehen, weil ich auch jahrelang mit den relationalen Datenbanken gearbeitet habe.
    Mittlerweile mag ich meine Notes-DBn mehr als die rel. DBn, weil man in Notes gerade die m:n Beziehungen flexibel (bzw. dynamisch) abbilden kann.
    Allerdings geht's nur mit dem Lotus Script gaaaanz flexibel, bei der Formel-Sprache muss man halt einige Einschränkungen berücksichtigen.


    Du musst nicht zwingend die Antwort-Dokumente nutzen. Die sind nur dann gut, wenn man die nie vom Hauptdokument trennen möchte oder dann, wenn die Felder im Antwort-Doc die Werte aus dem Hauptdoc erben sollen.


    Mach' für die Personen eine Maske Person vom Typ Dokument und erfasse die Leute damit. Eine Ansicht mit diesen einzelnen Personen-Dokumenten ist der Ersatz für die entsprechende Hilfstabelle in der rel. DB.
    (Wenn nur Name, Vorname notwendig sind, dann reicht evtl. das Adressbuch als Info-Quelle.
    Oder ihr habt eine Orga-DB, wo die Leute mit allen Daten schon drin stehen, dann kann man die verknüpfen.)


    Plus eine Maske Projekt (ebenfalls vom Typ Dokument ) zum Projekte erfassen.
    In der Projekt-Maske erstelle ein Dialogliste-Feld (mehrere Werte, Formel für Auswahl verwenden oder Adressdialog ), wo man die Personen auswählen kann.


    In den Ansichten kannst du mit kategorisierten Spalten und "Mehfachwerte getrennt anzeigen" - Option die Projekte sehr übersichtlich - auch nach Person - anzeigen.


    Zitat

    Heisst das, dass ich in jedem Dokument die Namen und alle dazugehörige felder wie Adresse usw. nochmals fix (also ausgeschrieben) speichern muss ?


    Nicht unbedingt, man kann die Daten (Adresse usw.) zur Anzeige dynamisch verknüpfen.
    Aber wenn du die Projekt-Docs drucken willst (mit allen Daten), dann musst du diese Daten in der Projekt-Maske speichern.


    ...oder du machst für Druck eine Extra-Maske, aber das kann ich jetzt mit wenigen Worten nicht erklären...

    Hallo fuchs1959,


    Diali's Idee mit

    Code
    @DocNumber

    finde ich gar nicht so schlecht. Obwohl man diesen "Speziellen Text " nicht in eine Zahl konvertieren kann.
    Wenn man in dieser Ansicht auch noch einen Knopf zum Aus- und Einblenden von Dokumenten

    Code
    @Command([ViewShowOnlyCategories])

    hat, dann kann die Ansicht wie im Beispiel unten aussehen.


    Man muss dann nur auf Strg + Ende drücken, schon sieht man die "Summe" der Kategorien.

    Probiere mal nach deinen


    Call doc.ComputeWithForm(True, False)
    und
    Call doc.save (True, True, False)


    für die "Problemfelder" (für jeden Item einzeln!)


    Set nitem = doc.GetFirstItem ("Problemfeld")
    (oder
    Set nitem = doc.ReplaceItemValue("Problemfeld", Wert) )
    nitem.IsSummary = True


    und zum Schluss noch mal
    Call doc.save (True, True, False)

    Hallo Mike,


    diese Fehlermeldung

    Zitat

    "Ungültiges oder nicht vorhandenes Dokument!"


    kann nur bedeuten, dass du dich im Ansichtsnamen vertippt hast...


    ...oder hast vergessen, den Namen in "" zu setzen.


    ...oder hast die () vergessen - für den Fall, wenn deine Ansicht so heißt >> (Ansicht).


    Selbstverständlich kann man auch den echten Namen nehmen.


    Aber den Aliasnamen zu benutzen ist grundsätzlich geschickter. Falls du aus irgendeinem Grund die Ansichten später umbenennen musst, brauchst du nichts sonst (Agenten, Maskenereignisse usw. ) anzupassen.


    Gruß, Laura

    Ich werd' verrückt!


    Es geht!
    Zwar auch nur mit Trick, aber total easy!


    Einfach im PostOpen

    Code
    @Command( [SwitchView] ; "Aktuell_geöffnete_Ansicht") ;
    @Command([ViewCollapseAll])


    eintragen.


    Quasi Switch auf sich selbst. Dann springt der Fokus tatsächlich in die Ansicht und es kommt keine Fehlermeldung wegen dem @Command([ViewCollapseAll]).


    Die schlechte Nachricht:
    leider gibt's den @Command( [SwitchView] ) erst ab Version 6.


    Alter @Command( [ViewChange] ; "Ansicht" ) bringt nix, weil er erst nach allen @Funktionen ausgeführt wird.

    @Dirk
    Die Ansicht ist doch gar nicht eingebettet...



    mike
    Hallo Mike,


    bitte-bitte, gern geschehen.
    Die Formel @Command([ViewCollapseAll]) funktioniert zuverlässig, das Problem liegt wie gesagt, woanders.


    Ich liebe komprimierte views. Aber ich mag keine Navigatoren.


    Dafür bastele ich gern an den Rahmengruppen.
    In dieser Datenbank, in der ich den Fehler reproduzieren konnte, habe ich einige davon.


    Der Trick ist, in der Start-Rahmengruppe (s. Bild 1) wird rechts unten nicht direkt die Ansicht angezeigt, sondern eine weitere Rahmengruppe (berechnet***), bestehend aus einem Rahmen (berechnet), in dem wiederum diese Ansicht (berechnet) aufgerufen wird.


    Diese Start-Ansicht darf im PostOpen keine Formel @Command([ViewCollapseAll]) haben. Bei der sind nur die Haken gesetzt. (s. Bild 2)
    Über die Gliederung im linken unteren Rahmen können weitere komprimierte Ansichten (berechnet) geöffnet werden. Die haben im PostOpen die o.g. Formel. Und meckern nicht...


    Wie man den Fokus in den rechten unteren Rahmen (in die Ansicht also) rein bekommt, weiß ich nicht.
    Die Versuche mit @SetTargetFrame("Rahmenname"), Haken setzen bei den Rahmeneigenschaften "Anfänglichen Fokus festlegen" haben nicht zum erwünschten Ergebnis geführt...


    Bin gespannt, was die Moderatoren dazu sagen...


    ***Habe mir angewöhnt, immer eine Formel rein zu schreiben, z. B. "Ansichtname".

    Wie befürchtet... Der Patient ist ernsthaft krank.
    [Blockierte Grafik: http://lexass.spb.ru/smilies/hlp.gif]



    Aber die Heilungschancen stehen gut!


    Diagnose: Fokus befindet sich direkt nach dem Start NICHT in der Ansicht.


    Der Beweis: dünn umrahmte erste Zeile.


    Ich habe den Fehler bei einer von meinen DBs nachgebaut. (S. Bild)
    *******
    So, wie kriegen wir den Patienten wieder gesund?


    Leider kann ich dir keine Fertiglösung anbieten...
    Habe keine Erfahrung mit den Navigatoren.
    Könnte dir nur über meinen Trick 17 mit den Rahmengruppen berichten.


    Aber vielleicht wissen es die Experten?


    Gruß, Laura

    Probiere mal das aus...


    Habe nicht getestet, daher keine Garantie...

    Hallo Mike,


    öffnest du diese Start-Ansicht innerhalb von einem Frameset?
    Wo steht dann der Fokus?
    Ich vermute, nicht in der Ansicht, sondern in irgendeinem anderen Rahmen.
    Deshalb kann @Command([ViewCollapseAll]) nicht ausgeführt werden.


    Ich hatte das Problem auch, es tritt nur bei der Start-Ansicht auf.


    Wenn man dann in der ersten geöffneten Ansicht auf ein Dokument klickt, funktioniert das Öffnen von anderen Ansichten (z.B. über die Gliederung), die auch @Command([ViewCollapseAll]) im PostOpen haben, ohne Probleme.