Maatwerk IBM Notes applicaties

De afgelopen 18 jaar hebben wij zeer veel applicaties verzonnen, ontwikkeld, aangepast en onderhouden. De mogelijkheden zijn haast eindeloos. Graag bespreken wij met u wat uw wensen zijn, we zijn er van overtuigd dat we samen met u een mooie, kwalitatieve en betaalbare applicatie kunnen maken! Er zijn al zo veel verschillende applicaties gemaakt of onderhouden door ons. Van eenvoudige documenten databases, track & trace applicaties, Workflow applicaties, CRM databases, Risico analyse databases, Rapportage tools, een online bestel applicatie voor machine onderdelen, websites, facturatie applicaties, evenement planners, helpdesk applicatie, diverse Domino admin tools, migratie databases, EPD applicaties, documentverwerking en ga zo maar door. U kunt het zo gek niet bedenken of we kunnen het voor u maken… Delen op: lees meer…

Lees verder ...

INECO Support Contract

Wat zijn de voordelen van een INECO IBM Notes support contract? Door het afsluiten van een support contract bent u verzekerd dat er tijd vrij gemaakt wordt voor ondersteuning. U bent dus altijd gewaarborgd voor ondersteuning en dat tegen een lager tarief dan dat u per uur zou betalen zonder contract. Daarnaast geven wij vanaf een bepaald niveau korting op het normale uurtarief voor werkzaamheden die buiten het contract vallen, zie hiervoor het onderstaande schema. lees meer…

Lees verder ...

Nieuw in 8.5: StampAllMulti – een voorbeeld hoe te gebruiken…

De nieuwe methode StampAllMulti voor de NotesDocumentCollection en NotesViewEntryCollection classes is een waardevolle aanvulling! Nu kunnen we zeer snel meerdere velden in een documentenreeks van een nieuwe waarde voorzien. Omdat er in de Lotus 8.5 Designer Help geen voorbeeld staat voor het gebruik post ik het even hier. In dit geval maken we een document collectie door alle documenten in een view te selecteren, maken een nieuw (tijdelijk) document, vullen het document met een paar velden en roepen de methode StampAllMulti aan om de velden uit het tijdelijke document te kopieren naar alle documenten in de collectie. Snel en effectief! Voorbeeld: Sub Initialize Dim session As New NotesSession Dim db As NotesDatabase Dim view As NotesView Dim vc As NotesViewEntryCollection Dim doc As NotesDocument Set db = session.CurrentDatabase Set view = db.GetView(“StampMulti”) Set vc = view.AllEntries Set Doc = db.CreateDocument Doc.ReplaceItemValue(“Company”,”INECO”).IsSummary = True Doc.ReplaceItemValue(“Address”,”Hoge Riem 27″).IsSummary = True Doc.ReplaceItemValue(“Zipcode”,”6666JA”).IsSummary = True Doc.ReplaceItemValue(“City”,”Heteren”).IsSummary = True Doc.ReplaceItemValue(“Country”,”The Netherlands”).IsSummary = True Doc.ReplaceItemValue(“Phone”,”+31653353140″).IsSummary = True Call vc.StampAllMulti( Doc ) End Sub Uit de Help: Replaces the values of specified items in all documents associated with the entries in a view collection. Note This method is new with Release 8.5. Defined in NotesViewEntryCollection Syntax Call notesViewEntryCollection.StampAllMulti( document ) EN Parameters: document NotesDocument. The document contains multiple items, each with values appropriate for the item type. Usage If an item does not exist, it is created. If the item is of a different data type, the existing item will be deleted and a new item of the new data type created. The item values are immediately written to the documents on the server. You do not have to use the Save method of NotesDocument after StampAllMulti. However, any documents modified by your script must be saved before calling StampAllMulti. This method does not modify existing NotesDocument objects. Documents must be retrieved again to see the changes. If you do not have the proper access to modify one or more of the documents in the view entry collection, this method will return ERR_NOTES_STAMP_FAILED. Only those documents you are able to modify will be stamped. Delen op: lees meer…

Lees verder ...

PDFCreator aansturen met LotusScript

Voor een klant moest er een export gemaakt worden van alle Notes documenten in een database. Dit moest gebeuren door deze als PDF af te drukken. Als PDF printer heb ik gekozen voor het OpenSource PDFCreator dat makkelijk aan te sturen is en erg nette afdrukken maakt. Omdat er geen tijd was om te onderzoeken of dit op de achtergrond kon gebeuren heb ik gekozen om een eenvoudig script te maken dat via de Notes client door een weergave loopt, elk document te openen, de bestandsnaam aan PDFCreator te door te geven via DOM, af te drukken naar de default (PDF) printer, en het document te sluiten. Sub Initialize On Error GoTo ErrorHandler ‘……. Declare And Set items….. sPDFPath$ = “C:\” If Dir(sPDFPath$,16) = “” Then MsgBox sPDFPath$ & ” kan niet worden geopend”,16,”Export” End If Set PDFCreator = CreateObject(“PDFCreator.clsPDFCreator”) If Not PDFCreator.cStart(“”,True) Then MsgBox “PDF printer kan niet worden gestart”,16,”Export” GoTo TheEnd End If Set Doc = View.GetFirstDocument Do Until Doc Is Nothing sPDFName$ = doc.NoteID & “.pdf” FileName$ = sPDFPath$ & sPDFName$ If Not Dir(FileName$) = “” Then Kill FileName$ End If With PDFCreator .cOption(“UseAutosave”) = 1 .cOption(“UseAutosaveDirectory”) = 1 .cOption(“AutosaveDirectory”) = sPDFPath$ .cOption(“AutosaveFilename”) = sPDFName$ .cOption(“AutosaveFormat”) = 0 .cClearCache End With Set uiDoc = ws.EditDocument(False,Doc,True,””,True,True) Call uiDoc.Print(1) Call uiDoc.Close(True) Set uiDoc = Nothing If Not isFileCreated(FileName$) Then ‘Foutafhandeling End If Set Doc = View.GetNextDocument(Doc) Loop TheEnd: On Error Resume Next PDFCreator.cClose Set PDFCreator = Nothing Exit Sub ErrorHandler: MsgBox GetThreadInfo(1) & ” ” & Error & ” (” & Err & “) op regel ” & Erl & “.” Resume TheEnd End Sub Function isFileCreated ( filePath As String ) As Boolean On Error GoTo errorHandler Dim counter As Integer Dim fSize As Long isFileCreated = False Do While Dir$(filePath$, 0) = “” If counter > 30 Then Exit Function End If Sleep 1 counter = counter + 1 Loop fSize = FileLen(filePath$) Counter = 0 Do While (FileLen(filePath$) = 0 Or FileLen(filePath$) > fSize) fSize = FileLen(filePath$) If counter > 30 Then Exit Function End If Sleep 1 counter = counter + 1 Loop isFileCreated = True Exit Function ErrorHandler: MsgBox GetThreadInfo(1) & ” ” & Error & ” (” & Err & “) op regel ” & Erl & “.” Exit Function Resume Next End Function Delen op: lees meer…

Lees verder ...

Aantal dagen in een bepaalde periode met LotusScript

Voor een applicatie moest herhaaldelijk uitgerekend worden hoeveel dagen er in een bepaalde periode zitten. De volgende functie voldeed hier goed: Input: getDaysBetween(“31-12-2007″,”01-01-2007”, “1,7” ,”25/12/07 – 26/12/07,05-12-2007″,Doc)   Output: 258 Function getDaysBetween(strStart As String, strEnd As String,daysToExclude As String , datesToExclude As String ,Doc As NotesDocument) As Long On Error GoTo ErrorHandler Dim Formula As Variant Dim dLow As String Dim dHigh As String If strStart = “” Or strEnd = “” Then GoTo ErrorHandler strStart = {@TextToTime(“} & strStart & {“)} strEnd= {@TextToTime(“} & strEnd & {“)} If daysToExclude = “” Then dLow = {;0} Else dLow = {;@TextToNumber(@Explode(“} & daysToExclude & {“;”,”))} End If If Not datesToExclude = “” Then dLow = dLow & {;@TextToTime(@Explode(@TextToTime(@Explode(“} & datesToExclude & {“;”,”))))} End If dHigh$ = {@BusinessDays(} & strStart$ & {;} & strEnd$ & dLow & {)} dLow$ = {-@BusinessDays(} & strEnd$ & {;} & strStart$ & dLow & {)} Formula = Evaluate({@If(} & strStart & {>} & strEnd & {;} & dLow$ & {;} & dHigh$ & {)} ,Doc) getDaysBetween = CLng(Formula(0)) Exit Function ErrorHandler: MsgBox GetThreadInfo(1) & ” ” & Error & ” (” & Err & “) op regel ” & Erl & “.” getDaysBetween = 0 Exit Function Resume Next End Function Delen op: lees meer…

Lees verder ...