En los múltiples proyectos con Siebel CRM surge la necesidad de tener en cuenta los días hábiles y los días festivos según la zona geográfica, horario laboral del cliente cuando sumamos X días en un campo de tipo fecha para cumplir con los requerimientos del cliente o simplemente por obligación legal como es el caso de los service requests o trouble tickets.
Después de búsquedas, la mejor forma de lograr el objetivo y tratando de reducir el uso de eScript lo máximo posible en este post os presento la forma más fácil y elegante y a la vez administrable por parte del cliente.

La clave está en un business service «FS Holiday API Service» y su método GetResponseTime.
Podemos invocar el método bien con la ayuda del eScript (seria lo único código que necesitaríamos) o usando un campo calculado haciendo uso de la función InvokeServiceMethod pasando todos los parámetros que detallare a continuación.
Los parámetros requeridos son los siguientes:
– Start Time – fecha inicial a cuál queremos sumar los días (también se pueden sumar horas)
– Response Time – el tiempo que queremos sumar en días horas etc.
– Time Zone – la zona geográfica a tener en cuenta (ex: GMT-05:00 Bogota, Lima, Quito)
– Priority – siempre 1
– ServiceCalendarId – el row_id del calendario laboral que queramos usar (su creación la detallare en otro post)
– Time Unit – Dias (también se puede usar cualquier otra unidad de tiempo siempre teniendo en cuenta el idioma que usamos en la aplicación)
– Commited Time – es el parámetro de salida del método que contiene la fecha calculada.
Para crear un calendario laboral tenemos que ir a la aplicación Site Map –> Administración de Servicios –> Programaciones.
Crearemos una nueva programación cuyo Row Id tenemos que pasar en el parámetro ServiceCalendarId del método indicado anteriormente.
En la segunda parte explicare como se crea un calendario laboral y los días festivos asociados.









