Archivo del sitio

Capitulo 06 – Programando en lotus notes desde 0 – Búsqueda de datos con Lotusscript

Hola amigos, aquí esta nuestra sexta entrega del curso de programación en Lotus notes desde 0. En esta ocasión haremos un segundo capítulo con el trabajo en lenguaje lotuscript.

En este capítulo aprenderemos a buscar datos en vistas utilizando este lenguaje utilizando el método getdocumenbykey.  

Además aprenderemos en términos simples:

  • Creación de botónes.
  • El objeto Session.
  • El Objeto Notesdatabase.
  • El Objeto NotesView.
  • Ordenamiento de columnas en vistas.
  • Validación de Documentos Nulos.

Si tienen alguna duda no olviden dejarme un comentario al final de la página o en la cajita de comentarios de youtube. No dejen de suscribirse al blog dejando su correo o mediante el canal de youtube, es totalmente gratis y podrán enterarse de esa forma sobre los nuevos contenidos que publicamos cada semana.

Capitulo 05 – Programando en Lotus Notes desde 0 – Lotusscript 1

Continuando con nuestro curso de programación en lotus notes desde 0 llegamos al capitulo 05. Hasta ahora hemos aprendido a programar en lenguaje de formula pero vamos a comenzar a programar en lotusscript desde este capitulo.

En esta ocasión les enseñaré a como hacer validaciones de campo, objetos básicos como documentos y workspace.

Cualquier duda o comentario sobre los contenidos o ejercicios que les voy dejando pueden ingresar un comentario y espero poder aclarar sus dudas.

Diferencia de dias entre dos fechas con LotusScript

calendar_icon

Bueno amigos, continuando con mis aportes acerca del poco conocido mundo de la programación lotus notes, les dejo a continuación una función bastante sencilla pero no por eso menos útil que dadas dos fechas nos entrega la diferencia entre ambas expresada en en días.

Para ello, nos colgaremos de la función TimeDifference, nativa de lotusscript,  que nos entrega la diferencia en segundos entre dos fechas. Por eso dividimos su resultado  por 86400 que son los segundos que tiene un día. Espero les sea de utilidad

Function DiferenciaEnDias(fdesde, fhasta)
On Error Goto ER

Dim dif As Currency
Dim desde As New NotesDateTime(fdesde)
Dim hasta As New NotesDateTime(fhasta)

dif = desde.TimeDifference(hasta)
dif = dif /86400 ‘ 86400 segundos tiene  un día.

DiferenciaEnDias = dif

Exit Function
ER:
Print Error & ” en diferencia en dias en linea ” & Erl
Exit Function
End Function

Crear una entrada en Agenda mediante LotusScript por @Calitrunks


Como hay poca documentación en español acerca de programación para lotus notes, quise compartir este post el día de hoy para todos a quienes pueda servirles. Consiste en crear una entrada en la agenda de correo del usuario con una alerta emergente.

En primer lugar debemos abrir la agenda del usuario sobre el que deseemos crear la entrada(demás esta decir que el usuario que ejecuta el proceso, deberá tener delegado el acceso de escritura en la agenda del usuario que recibirá la entrada). Para abrir la agenda podemos ejecutar el siguiente script,

Sub AbreAgenda(usuario)
On Error Goto ER

Dim dbnames As NotesDatabase
Dim vista As NotesView
Dim doc As NotesDocument
Print “abriendo agenda de ” & usuario
Set dbnames = New NotesDatabase(“servidor/dominio”,”names.nsf”)
Set vista = dbnames.GetView(“($NamesFieldLookup)”)
Set doc = vista.GetDocumentByKey(usuario,True)

If Not doc Is Nothing Then
Set Agenda = New NotesDatabase(doc.MailServer(0), doc.MailFile(0))
Else
Set Agenda = Nothing
End If

Exit Sub
ER:
If Err = 4060 Then
Print “ERROR CON LA AGENDA DEL USUARIO ” & Ucase(usuario)
Exit Sub
Else
Msgbox Error & ” en AbreAgenda linea ” & Erl & ” ” & Err
Exit Sub
End If
End Sub

Luego, podemos ejecutar el siguiente script para crear el recordatorio en la agenda del usuario.

Sub CreaEntradaAgenda()
On Error Goto ER

Dim ws As New NotesUIWorkspace
Set docAgenda = Agenda.CreateDocument

docAgenda.Form=”Appointment”
docAgenda.Subject= estedoc.Mensaje(0)
docAgenda.AppointmentType = “4”
docAgenda.StartDateTime = Now
docAgenda.EndDateTime = Now
docAgenda.StartDate = Now
docAgenda.EndDate = Now
docAgenda.StartTime = Time
docAgenda.EndTime = Time
Call docAgenda.ReplaceItemValue(“_ViewIcon”, 10)
Call docAgenda.ReplaceItemValue(“$PublicAccess”,”1″)
Call docAgenda.ReplaceItemValue(“CalendarDateTime”, Now)
Call docAgenda.ReplaceItemValue(“$Alarm”, “1”)’ activa que tenga alarma
Call docAgenda.ReplaceItemValue(“$AlarmOffset”,0)’ Si es negativo es minutos antes, si es postivo minutos despues, si es 0 enseguida.
Call docAgenda.ReplaceItemValue(“$AlarmUnit”, “M”)
Call docAgenda.ReplaceItemValue(“Alarms”, 1)
Call docAgenda.ComputeWithForm(1,1)
Call docAgenda.Save(1,1)
estedoc.Mensaje = “”
Call ws.EditDocument(True,docAgenda)
Exit Sub
ER:
Msgbox Error & ” en CreaEntradaAgenda linea ” & Erl
Exit Sub
End Sub

Espero que le sea de utilidad.

A %d blogueros les gusta esto: