MIND1
nein es ist ja schon eine integer zahl dadurch das ich sie in eine Long change wird der nächst höhere wert (ganze Zahl9 verwendet, und zack ist mathematisch richtig gerundet
Beiträge von setherus
-
-
also wir haben das hier mit ner unterfunktion gelöst sieht wie folgt aus
Function RundKor(x As Double, n As Integer) As Double
' Rundungs-Funktion als Ersatz für die fehlerhaft arbeitende LotusScript-Funktion "Round"
If (n < 1 Or n > 14) Then Exit Function
' x = Zahl zu runden, n = Anzahl der Stellen
'1,64635 in dem Beispiel wäre diese Zahl = x
e = x*(10^n) '164,635 im Beispiel: 1,64635 * (10 ²) = 164,635
diff = Clng(e) ' 165 im Beispiel: nächstgelegenste Integer Zahl 164,635 <-> 165
ergebnis = diff / 10^n ' 1,65 im Beispiel: 165/(10 ²) = 1,65
RundKor = ergebnis
End Functionx => zu Rundene Zahl
n => anzahl der Nachkommastellen -
danke für die schnelle antwort....das mit den @functions wusste ich noch nicht
mit der shell funktioniert das qauch wunderbar, vielen dank nochmal
-
Moin
hab da ein problem mit dem aufruf einer batch datei...
also um den agenten auszuführen muss vorher ein netzlaufwerk gemountet werden (der part der batch) was aufh funktioniert getestet hatte ich das mit nem button in der ansicht...
@Command([Execute]; "X:\\startfaktura.bat"; "")
wie gesagt das hat funktioniert, nur wollen wir unsere user hja mal nicht "überfordern" also soll das automatisch beim aufruf des agenten passieren....also der agent wrd gestartet und das erste was er macht er ruft die function netzlaufwerkmounten auf in diesem steht folgendes
Dim session As New NotesSession
Set db = session.CurrentDatabase
ret = Evaluate (|@Command([Execute]; "X:\\startfaktura.bat"; "")|)
NetzlaufwerkMounten = Truetja das funktioniert nun aber nicht was mach ich da falsch??
oder kann man das viel eleganter über ls lösen? -
Moin Moin,
wie bekomme ich den momentanen standart drucker raus?
hab schon ein bissl rumgesucht und den kern des problems (document was gelöscht wird als pdf in die logdatei speichern) nur muss ich ja den standartdrucker wieder setzten dazu muss ich aber wiederrum wissen welcher das ist, wie bekomm ich den raus getdefaultprinter geht nicht, nutze winXP
ne idee (dialis variante mit der registrie ergibt 47 bei mir muss ich evtl da noch was beachten?
Dim printer As String
printer = "FreePDF XP" ' hier Drucker eintragen, es funktionieren auch Netzdrucker
Dim uiws As New NotesUIWorkspace
Dim db As NotesDatabase
Dim session As New NotesSession
Dim uidoc As NotesUIDocument
Dim PrinterPathAndName As String
Dim objNetwork As Variant
Set db=session.CurrentDatabase
PrinterPathAndName=printer
Set objNetwork=CreateObject("WScript.Network") 'aufruf der wscript
)
gDp = defprinter 'aktuellen Standartdrucker holen
objNetwork.SetDefaultPrinter PrinterPathAndName 'neuen Standartdrucker setzen
Print "Printer changed to " + Cstr(PrinterPathAndName)
Set uidoc = uiws.EditDocument(True,doc)
Call uidoc.print(True)
objNetwork.SetDefaultPrinter gDp 'alten Standart wieder herstellen
Call uidoc.close(True)
End FunctionDeclare Function GetProfileString Lib "Kernel32" Alias "GetProfileStringA" (Byval lpAppName As String, Byval lpKeyName As String, _
Byval lpDefault As String, Byval lpReturnedString As String, Byval nSize As Long) As LongDefPrinter = Trim(GetProfileString("WINDOWS", "DEVICE", "", String(128, 0), 127))
-
Moin Moin,
Ich hab da eben so ein ähnliches Problem...
Konnte das dank dieses Threads im großen und ganzen lösen....bei mir druckt er jetzt auch mit freepdf, nur will ich ja acuh danach den alten Standart wieder herstellen, nur wie gesagt getdefaultprinter ergiebt ne errormessage, dann hat ja diali den codeschnipsel mit der registry gepostet...soweit so gut, dummerweise ergibt das auslesen bei mir "47" womit natürlich der alte drucker nicht gesetzt werden kann :-?
wie bekomme ich den denn jetzt raus?Danke schonmal im vorraus
-
also wie taurec sagt...
das feld $Ref wird automatisch erstellt wenn du ein Response Document erstellst das kannst du dir dann holen
DocID = uidoc.document.$Ref(0)dann hast du die Id, mit der holst du dir dann das Maindoc
set maindoc = db.getDocumentByUNID(DocID)
so steht dasauch in dem von dir angeegebenen artikel...
schönen Tag noch
EDIT: natürlich kannst du auch ein Feld erstellen in dem der VORGABE wert $Ref ist das muss dann aber berechnet sein (hatte ich übersehen)
-
moin,
wenn ich mich nicht ganz irre ist in einem antwort document, die docID des Hauptdocuments hinterlegt, die kann man sich denn mittels eines agenten holen und dieses damit holen und öffnen dzu muss es dann nicht vorher geöffnet werden, ich denke mal das entspricht in etwa dem was du vorhast, oder?EDIT: so wie taurec das sagt so mein ich das eigentlich auch, sollte mich echt mal um einen verständlichen Audruck bemühen
-
ok das mit der server id hab ich jetzt auch in der hilfe endeckt, das mit dem aktivieren klingt aber auch interessant
Danke ich versuchs mal damit
-
wie meinst du das mit dem aktivieren, agenten öffnen und speichern?
und mit der server ID wie mach ich das ??danke schonmal
-
ok, damit wäre dieses problem geklärt
gibt es die möglichkeit, alle agenten neu unterschreiben zulassen
(automatisch) um halt anstatt den Namen des ursprünglichen unterzeichners mit dem neu dafür angelegten User "Agent" dort zu
haben....das problem ist das die entwickler unseres systems nicht
mehr für uns arbeiten, und entsprechend sollen deren ID's nicht mehr mit migrierenalso ich dachte das die agenten neu abgespeichert werden und mit der "Agent" ID unterzeichnet werden
-
danke
hilft mir auf jedenfall wieter -
Moin Leute,
hab das Probem das ich trotz Mangerrechte in der DB, Agenten zwar ändern kann, aber wenn es ein scheduled Agent ist bekomme ich die Meldung keine Ausführungs-Zugriffsrechte, der GAent wird nicht laufen....wenn ich Ihn aber manuell starte läuft er dennoch..nun wüßte ich gern was das heißen soll ich hab die rechte nicht ich bin doch manager, auf gut deutsch kann ich in der db tun und lassen was ich will,oder?
Danke im Vorraus
-
moin taurec,
also das insert-statement läuft durch, aber wenn ich result.isresultsetavaible abfrage gibts nur ein false, wenn ich aber in die db gucken hat er das eingefügt..., deswegen denke ich ich das das das resultset nichts wiedergibt da es nur ein affected rows statetment gibt....nur kann ich nicht einfach mal ausprobieren...im R7 wird das affected rows als resultset gezählt...
bin irgendwie überfragt, das muss doch im 5er auch irgendwie gehen das ich da nen feedback bekomme....
bzw wie meinst du das konkret mit ausgeführten execute, wie kann ich da den erfolg bzw. nicht erfolg abfragen? <- das einfach ignorieren..
-
Moin,
hab da mal wieder ne frage wenn ich mittels einem notesagenten ine datenbank verändere mittels sql, so weit so gut das ist ja alles auch von hause aus mitgeliefert aber, mein statement benutzt zum einen eine insert und sollte nur bei erfolgsmeldungen die anderen db's updaten und einträge löschen, zuerst dachte ich das da ein resultset zurückkommt, wie bei meienm odbc tool sowas wie 'one row affected'
naja es ist auf jeden fall keine resulset avaible....hat da jemand erfahrungen oder ne idee wie ich dort mein feedback bekomme, in der hilfe hab ich nichts gefunden :-?Danke schonmal im vorraus
-
danke für die Antwort, das Problem lag daran das, text felder ein arrray of strings
ZitatText or text list (includes Names, Authors, and Readers item types) Array of strings
wiedergeben haben das so gelöst...
For i = 1 To 12
inhalt = configdoc.getitemvalue("Miete_"& Cstr(i))
ausgabe(i) = Cstr(inhalt(0))
Nextnaj adanke auf jeden fall
-
Moin Leute,
hab da mal wieder ne frage
also ich will ein array beschreiben wobei die quelle ( ein feld natürlich ) dynamisch ist das sieht momentan so aus
For i = 1 To 12
ausgabe(i) =Cstr(configdoc.getitemvalue("Miete_"& Cstr(i)))
Nextleider gibts da immer einen type mismatch dabei ist das felt tesxt und das array ausgabe string
wo ist da der fehler??? :-?
-
Moin
also ich hab dat so gelöst :
Set docMemo = db.CreateDocument
docMemo.Form = "Memo"
docMemo.SendTo =
docMemo.CopyTo =
docMemo.Subject = Dateiname
Set rtitem = New NotesRichTextItem( docMemo, "Body" )
Set object = rtitem.EmbedObject ( EMBED_ATTACHMENT, "", pathName & "\" & Dateiname)
Call docMemo.Send(False)....EMBED_ATTACHMENT da kann man natürlich auch appendtext nehmen um plain text anzuhängen
-
moin schön,
über LS das uidoc holen und printen (call uidoc.print(true) )
dann (uidoc.document.getattachment(dateiname)), dann hast du schon mal das doc gedruckt und hast die datei
nur wie man die jetzt noch druckt...tja ich schau mal aber vl hilfts schon mal einwenig -
wie meint ihr das mit erstem reiter?
als gemeinsam genutzt un dausgewählte dokumente.. meint ihr das?..
EDIT: ja ich denke...wer lesen kann ist klar im vorteil...fehler entdeckt sry für die frage in dem fall...asche auf mein haupt