Beiträge von Simsala

    Was für eine unterordnung meinst du denn ??


    so sollte das vielleicht gehen wenn ich dich richtig verstehe.



    '------ MAIL_SERVER Name+ Pfad wo dein NAB liegt das genutzt werden soll.


    _db := @Word(MAIL_SERVER;"~";2);
    _srv := @Word(MAIL_SERVER;"~";1);



    '------- Mit diesem Picklist bekommst du seinen Namen.


    tmpVal := @PickList ([Custom]:[Single]; _srv:_db; "($PeopleGroupsFlat)"; "Auswahl des Requestors"; "Bitte wählen Sie den Mitarbeiter aus der Liste aus "; 3);



    '--------- und mit dem sucht du dann per Lookup alle Felder die du sonst haben willst. Hier z.B. Department


    val := @DbLookup( ""; _srv : _db; "($NamesFieldLookup)";@Name([Abbreviate] ;tmpVal); "Department");
    ValD1:=@If( @IsError(val)|val=""; "-"; val );



    Meinst du sowas ???

    hängt davon ab was du wie sehen willst.


    1. Möglichkeit (Is es ein neues dokument macht er nichts und übergeht die weiteren Befehle)


    @if(@isnewdoc;@return("");"");


    ...
    Feld1 +"~"+Feld2
    ...


    2.Möglichkeit (Wenn alle drei felder leer sind macht er nichts, sonst führt er deinen code aus)


    @if(@trim(Feld1)="" & @trim(Feld2)="" & @trim(Feld3)="";@return("");"");


    ...
    Feld1 +"~"+Feld2
    ...


    Meinst du sowas in der Art ???

    Hi, ich denke du hast zwei Möglichekeiten.


    1. Lege eine View an. "(LFDNR)" mit in der Dokumente angezeigt werden die LFDNR heißt. Select FORM="LFDNR"


    Dann baust du eine Maske mit einem Feld "LETZTE_NUMMER"
    und speicherst die (vielleicht noch ein Autoren feld [ERSTELLER]
    Und alle die dokumente erstellen können bekommen diese Rolle.


    Dann legst du mit der Hand ein Dokument an in der die letzte Nummer enthalten ist.


    nun baust du dein Script so um das halt diese View benutzt wird und die nummer in dem dokument immer erhöht wird. usw...



    2. Du legst pro user ein Belegnummern dokument an (vielleicht hast du ja sowas sowieso für weitere Vorgaben (Briefköpfe usw.) halt mit einem anderen Namen.


    Wenn dem so ist, dort ein Feld ein richten wo jeder user einen Belegnummernkreis bekommt. Vorteil ist, das die dann auch lokal mit der DB arbeiten können. Ansonsten so wie oben nur halt das über den Usernamen der entsprechenede User gesucht wird usw...


    Hilft Dir das ???

    Was willst du da denn schreiben ??


    Notes ist schwer bis garnicht vergleichbar mit anderen Dingen.


    Ich persönlich komme aus der Großrechnerecke und habe da über 15 Jahre Anwendungsentwicklung mit Assembler für meine Firma gemacht bis eines Tages unser DV-Leiter meinte "Hier haben wir jetzt Notes schaut euch das mal an".


    Ich habe mit IMS-Datenbanken und relationalen Datenbanken gearbeitet (DB2) und kannte mich dort gut aus.


    Dann gab es viele Versuche in der PC-programmierung mit z.B. C++ / JAVA / Smalltalk usw. Fuß zu fassen. Bis dann dieser Tag mit Notes kam.


    Seit dem (ca. 6 Jahre) mache ich ausschliesslich Anwendungsentwicklung mit Notes. Und ich persönlich finde das du nirgends etwas besseres findest. OK, Es gibt andere Sprachen usw. aber in Summe hast du einfach mit Notes die absolut geile Plattform. Ob Web oder rein notespassiert 90% aller Anforderungen konnte ich bisher damit realisieren.


    Man hat einfach gigantisch viele vorteile wenn man Notes nutzt. z.B. Rechteverwaltung / replizierung / Web / Schnittstellen / Verbinden verschiedener notesanwendungen zu einem Paket usw...


    wie willst du das alles in Worte fassen was willst du denn nun genauer wissen.


    Brauchst du noch mehr input ??

    also auf meinem system habe ich sogar 3 Notesversionen installiert. Das geht schon wieso auch nicht ??


    Bei mir läuft 4.6 / 5.0.11 / 6.5.3


    Alle gleichzeitig !!


    in 5 steht in der Ini


    DominoResLang=de
    AltNameLanguage=de
    ContentLanguage=de
    Region=de


    in 6


    Region=de
    AltNameLanguage=de
    ContentLanguage=de-DE


    nur das R6 spricht englisch (Leider auch bei den Kunden die die Applikationen dann verwenden) Die Kunden hatten vorher R5 und da lief es nun haben sie 6 da läufts nicht. Also ist meine installtion soe wie sie beim Kunden auch sind. !!


    Ich denke es ist ein reines Notes Problem !!


    Nochmal die Frage. Habt Ihr beim Excel-Formel programmieren mit R5 bisher die Deutsche oder englische Schreibe benutzt ?!? Das ist halt die Frage. Ab 6 geht denke ich nur englisch

    Aber tortzdem ist das keine Erklärung dafür warum mein R5 client nun in deutsch mit Excel spricht und mein R6 client nur Englisch sprechen kann. Das macht doch keinen Sinn.


    In den aktivierten Sprachen steht Deutsch / englisch / Französisch / Italenisch.


    Das kann nicht die Lösung sein. !!


    Hast du auf deinem Rechner einen R5 + R6 client. ? Wenn ja dann sollte ja bei dir sowohl in R5 als auch in R6 es möglich sein mit den gleichen Formeln zu arbeiten. Bei mir geht das nicht.

    Public Declarations


    Dim styles(1 To 7) As NotesRichTextParagraphStyle '= 7 Tabellen Spalten.
    Dim rtnav As NotesRichTextNavigator
    Dim body As NotesRichTextItem
    Dim richStyle As NotesRichTextStyle


    -------------------------------------------------------------
    willst du ein die Tabelle in einem Neuen dokument anlegen, dann neues Body feld erstellen ansonsten denke an Dokument spreichern im Vordergrund verlassen und dann wieder neu öffnen, also das übliche Richtextproblem.


    -------------Funktionen die mir helfen-------------------


    Function Tabfuellen (Inhalt As String,UEB As String)
    Call body.BeginInsert(rtnav)
    richStyle.NotesFont = FONT_HELV
    richStyle.FontSize = 8
    If UEB = "J" Then
    richStyle.Bold = True
    richStyle.NotesColor = COLOR_YELLOW
    Else
    richStyle.Bold = False
    richStyle.NotesColor = COLOR_BLACK
    End If
    Call body.AppendStyle(richStyle)
    Call body.AppendText(Inhalt)
    Call body.EndInsert

    Call rtnav.FindNextElement(RTELEM_TYPE_TABLECELL)
    End Function


    --------------------------------------------------
    Function Tabbreite(Posi As Integer ,Breite As Double)
    Set styles(Posi) = Session.CreateRichTextParagraphStyle
    styles(Posi).LeftMargin = 0
    styles(Posi).FirstLineLeftMargin = 0
    styles(Posi).RightMargin = RULER_ONE_CENTIMETER * breite
    End Function


    ----------- Click event einer Schaltfläche ---------


    Set body = doc.CreateRichTextItem( "Body" )
    Set richStyle = session.CreateRichTextStyle


    rowCount% = anz 'anzahl Zeilen in deiner Tabelle (auch variabel möglich
    columnCount% = 7 'wieviele Spalten.


    Call Tabbreite(1 , 5)
    Call Tabbreite(2 , 4)
    Call Tabbreite(3 , 1.5)
    Call Tabbreite(4 , 1.5)
    Call Tabbreite(5 , 1.7)
    Call Tabbreite(6 , 2.5)
    Call Tabbreite(7 , 1) 'nun die spaltenbreite für ALLE Spalten festlegen



    Call body.AppendTable(rowCount%, columnCount%,, RULER_ONE_CENTIMETER * 1.5, styles)
    Set rtnav = body.CreateNavigator


    Dim rtt As NotesRichTextTable

    Set rtt = rtnav.GetFirstElement(RTELEM_TYPE_TABLE)
    rtt.Style = TABLESTYLE_TOP
    Dim colorObject As NotesColorObject
    Set colorObject = session.CreateColorObject
    Call colorObject.SetRGB(51,102,152)
    Call rtt.SetColor(colorObject)
    Call colorObject.SetRGB(255,255,255)
    Call rtt.SetAlternateColor(colorObject)

    Call rtnav.FindFirstElement(RTELEM_TYPE_TABLECELL)
    Call Tabfuellen("Ueb1","J")
    Call Tabfuellen("Ueber2","J")
    Call Tabfuellen("...3...","J")
    Call Tabfuellen("...4....","J")
    Call Tabfuellen("...5....","J")
    Call Tabfuellen("...6....","J")
    Call Tabfuellen("....7....","J") 'das J steht für Überschrift dadruch wird die Fett gemacht.


    for i = 1 to rowCount%


    Call Tabfuellen(ausg1,"N") 'nun werden alle Zeilen ausgegeben
    Call Tabfuellen(ausg2,"N")
    Call Tabfuellen(ausg3,"N")
    Call Tabfuellen(ausg4,"N")
    Call Tabfuellen(ausg5,"N")
    Call Tabfuellen(ausg6,"N")
    Call Tabfuellen(ausg7,"N")


    next



    So ungefähr mache ich das, hilft dir das ???

    Moment das muss ich genauer hinterfragen.


    Ich habe "einen" Rechner auf dem R5 und R6 installiert ist. Auf diesem System ist NUR ein Excel installiert. die Datenbank die ich nutze läuft auf einem R5 Notesserver.


    öffne ich nun diese DB unter R5 und führe den Agenten aus der mir meine Excel-sheets erstellt dann funktioniert alles richtig in der mit den formeln (UND NUR MIT DENEN GIBTS PROBLEME,gibst du nur Zellen aus geht alles so wie immer)


    Also die Formel "=SUMME(A1+A2+A3)" geht dort.


    nimmt man nun den R6 Client auf der selben Maschine dann sagt er nur #Name in der entsprechenden Zelle beim ausgeben.


    Übergebe ich dann aber "=SUM(A1,A2,A3)" gehts wieder, ABER NUR unter R6 diese Schreibweise geht nicht unter R5. Was soll das jetzt mit meiner Excel installation zutun haben ????


    und wie kann ich ein MUI installieren ist das ein Office tool oder etwas was man im notesinstallieren muss??

    *********** ACHTUNG *****************


    Notes ist gemein !!!


    Wer viel mit Excel macht, also schicke Berichte baut usw. wird sich wundern wenn er diese mit einem R6 Client ausführt. Notes hat die gesamte schreibweise der Excel Formeln geändert.


    SO muss unter R6 eine formel aussehen damit sie läuft
    oexcel.cells(anzZ, anzS).Formula = "=((RC[-3] / R3C5) * 12)"



    und so sah sie in R5 aus !!!
    oexcel.cells(anzZ, anzS).Formula = "=((ZS(-3) / Z3S5) * 12)"



    Also wundert euch nicht WENN heißt jetzt IF und ; muss man teilweise durch , ersetzen usw....


    Viel Spass

    habt ihr XP mit servicepack 2 drauf ??


    Bei mir lief es immer wunderbar. Nur nachdem ich auf SP2 gehoben wurde gings nicht mehr. Bin fast verzweifelt.


    Im IE habe ich dann an den einsstellungen was verändert. Danach konnte ich das dann endlich wieder nutzen.


    hab die Zeile nicht mehr so richtig im Kopf. Im notes.net stand wohl was darüber drin und hier im Forum glaube ich auch. IRgendwas von wegen "externen Programmen" und ausführen stand da. Der Haken war Standard mäßig aus und den musst du umsetzen.


    Jetzt gehts bei mir wieder richtig .

    wilst du dafür ein muster script haben ??? Wenn ja dann sag es, habe mittlerweile soviele Scripte hier gepostet und nie eine Antwort bekommen, das ich es jetzt erstmal aufgebe.


    Also ich hab mir dafür ein paar kleine funktionen gebastelt und das geht echt gut mit den dynamischen Tabellen, ABER bedenke mit den Informationen IN der Tabelle kann man wenig anfangen. Am besten die Daten nochmals in 1 - X versteckte Mehrfach felder schieben.


    Willst du das script ?? Dann poste ich das hier rein !

    hi Fangemeinde,


    ich habe mal wieder ein schweres Problem und hoffe Ihr habt eine Idee.


    Ich habe mit der neuen dynamischen Tabelle unter R6 angefangen zu arbeiten. d.H. ich habe in einem dokument ein Richtextfeld in dem ich eine Tabelle mit verschiedenen Inhalten erzeuge, das geht auch wunderbar. Das RT-Feld ist editierbar. Jetzt will der Kunde in einer extra Spalte hinter jeder Zeile ein Auswahlfeld haben "Offen" "Erledigt" als Klick feld.


    d.H. kennt Ihr eine Methode wie ich dynamisch in einem Richttextfeld ein anderes Item erzeugen kann. z.B. ein Feld das mit neuem Namen kopiert wird oder so ?!?


    Ich hoffe Ihr versteht mich !!

    Ich verstehe nicht so ganz was du machen willst. Du hast eine Maske die öffnet der Benutzer. dort siehst du ein subject feld und ein Body feld (RT) ist das so richtig ?? Dort kannst du nun Texte eintragen. diese Inhalte willst du jetzt an eine bestimmten Personenkreis mailen / Faxen oder wie ?? Meinst du das ??

    Ich verstehe nicht so ganz was du machen willst. Du hast eine Maske die öffnet der Benutzer. dort siehst du ein subject feld und ein Body feld (RT) ist das so richtig ?? Dort kannst du nun Texte eintragen. diese Inhalte willst du jetzt an eine bestimmten Personenkreis mailen / Faxen oder wie ?? Meinst du das ??

    bitte nehmt nicht range, das ist zu langsamm.


    .cells ist einfacher. und schneller ausserdem kannst du da spalten und Zeilen mit nummern durchforsten. Ich poste euch hier mal eine funktion. und einen kleinen aufruf.


    globale deklaration
    Dim oexcel As Variant



    Set oexcel = CreateObject("Excel.Application")
    oexcel.Visible = True
    Call oexcel.Workbooks.Add
    With oexcel.Worksheets(1).PageSetup
    '.Orientation = 1 '= normaldrucken
    .Orientation = 2 '= Quer drucken
    '.PrintTitleRows = "$1:$1"
    '.CenterHeader = "&""Arial,Bold""&<your header>"
    '.RightFooter = ""
    '.CenterFooter = ""
    '.CenterHorizontally = True
    '.LeftMargin = oexcel.Application.InchesToPoints(0.4)
    .RightMargin = oexcel.Application.InchesToPoints(0.2)
    .TopMargin = oexcel.Application.InchesToPoints(0.2)
    '.BottomMargin = oexcel.Application.InchesToPoints(0.3)
    .HeaderMargin = oexcel.Application.InchesToPoints(0.15)
    '.FooterMargin = oexcel.Application.InchesToPoints(0.15)
    End With


    AnzZ = Zeile in der du dich befindest
    AnzS = spalte in der du bist




    ausgabe = "Inhalt den du ausgeben willst, auch zahlen"
    XZelle anzZ,anzS,ausgabe,"Arial",10,1,"N","NO","N"


    Set oexcel = Nothing




    Function XZelle(_
    ZZ As Integer ,_
    SS As Integer ,_
    inhalt As Variant,_
    XFont As String,_
    XSize As Integer,_
    XColor As Integer,_
    XBold As String,_
    XNUMBER As String, _
    XOrient As String)
    'Farbe 1 =Schwarz 5 =Blau 3 =Rot 50=Grün
    'Number = "#.##0,00" oder "NO"
    If XNumber = "NO" Then
    oexcel.cells(ZZ, SS)= inhalt
    Else
    oexcel.cells(ZZ, SS)=inhalt
    End If

    With oexcel.cells(ZZ, SS)
    .Font.Name = XFont
    .Font.Size = XSize
    .Font.ColorIndex = XColor
    If XBold = "J" Then
    .Font.Bold = True
    Else
    .Font.Bold = False
    End If

    If Not(XNumber = "NO") Then
    .NumberFormat = XNumber
    End If

    If Xorient = "C" Then
    .HorizontalAlignment = -4108
    .VerticalAlignment = -4107
    .WrapText = True
    .Orientation = 0
    .AddIndent = False
    .ShrinkToFit = False
    .MergeCells = False
    End If

    End With

    End Function

    Das wird schwierig !!


    Es werden hunderte Mails darüber versandt, es ist eine Rundschreiben Datenbank die Verteiler auswertet und dann Mails verschickt, Es muss doch die Möglichkeit geben diesen Mails die entsprechenden Formatierungsinformationen mitzugeben.


    Und wo kommen diese blöden 5 Leerzeilen am Anfang her ??

    hi Fangemeinde,


    mal wieder stehe ich vor einem Problem wo ich noch keine Lösung für gefunden habe, Leider habe ich auch nichts im Forum dazu gefunden, deswegen meine Frage.


    Ich habe in meinem arbeitsumgebungsdokument eingestellt, das meine Mails im MIME format verschickt werden sollen. Wenn ich jetzt also "Bunte" Texte schreibe und die per email verschicke, kommen die auch schön an. "alle Formatierungen blieben erhalten."


    Jetzt habe ich einen Script "knopf" geschrieben der aus einer anderen Anwendung heraus (Body Feld für den Mailtext) Mails versenden soll, geht auch wunderbar nur leider verliert der seine Farben usw...


    Set Maildoc = Db.CreateDocument
    Maildoc.Form = "Memo"
    Maildoc.MIME_Version = "1.0" <- Hab das mal probiert brachte nix
    Maildoc.~$NoteHasNativeMIME = "1" <- Hab das mal probiert brachte nix
    Maildoc.from = doc.SendFrom(0)
    Maildoc.Subject = doc.Subject(0)
    Set rtitem = DOC.GetFirstItem( "Body" )
    Call rtitem.CopyItemToDocument( Maildoc, "Body" )
    Maildoc.SendTo = empfdoc.MailAddress(0)


    Call Maildoc.Send( False )


    habt Ihr eine Idee bzw. hattet Ihr das Problem schon und vielleicht eine Lösung für mich ??


    Achja wenn der empfänger z.B. ein Outlook user ist, dann bekommt er zum anfang auch immer 5 Leerzeilen. Im Notes (eine Kopie des Mails wird auch an den absender geschickt) sieht die Mail tadellos aus.


    Bitte helft.


    DANKE