V20 CFDs OUT of Office y Holidays

Planeta Voz Quique

Silver Partner
Advanced Certified
Registrado
29 Jun 2023
Mensajes
105
Hola.

Tras actualizar una 3CX me encuentro un problema, espero tenga solución.

En este cliente utlizan varios CFDs con DateTimeCondition y las opciones "OUT of Office Hours" y 3CX Holidays. Tras la actualización no funciona. He asignado el CFD al grupo DEFAULT, donde tengo configurados horarios y festivos pero sigue sin funcionar.

1719309147323.png

1719309198206.png

¿Algo más que deba tocar?

Muchas gracias.

PD Disculpas, esto debería estar en la sección de Auto-Hospedado. Aunque supongo que el problema será el mismo.
 
Última edición:
Me encuentro esto en el foro en inglés, espero ya esté solucionado, es un problema importante:


Muchas gracias.
 
Hola @QuiquePV,

Esto está relacionado con un cambio en 3CX respecto a los horarios de oficina. En 3CX v18 estos horarios estaban definidos en forma global. En 3CX v20 estos horarios se movieron a los departamentos. Las apps del CFD necesitan ser recompiladas con una nueva versión del CFD que aún no fue liberada, para que el código C# generado pueda utilizar los horarios de los departamentos.

Mientras esta nueva versión del CFD no sea liberada, la única opción es modificar a mano el script C# generado. Esto puede hacerse desde la consola de 3CX. Los cambios a realizar serían los siguientes:
1) Agregar la siguiente linea debajo de private OnlineServices onlineServices;
private OfficeHoursManager officeHoursManager;

2) Agregar la siguiente línea debajo de this.timerManager.CallStarted();
this.officeHoursManager = new OfficeHoursManager(MyCall);

3) Reemplazar:
IsServerOfficeHourActive(myCall)

por:
officeHoursManager.IsOfficeHours()

4) Reemplazar:
IsServerInHoliday(myCall)

por:
officeHoursManager.IsHoliday()


Con esos cambios al código C# debería funcionar de acuerdo a lo siguiente:
- Cuando la app del CFD sea "system wide", debería seguir los horarios del departamento "default".
- Cuando la app del CFD pertenezca a un departamento, debería seguir los horarios de ese departamento.
 
Última edición:
  • Me gusta
Reacciones: Alejandro_3CX
Hola @QuiquePV,

Esto está relacionado con un cambio en 3CX respecto a los horarios de oficina. En 3CX v18 estos horarios estaban definidos en forma global. En 3CX v20 estos horarios se movieron a los departamentos. Las apps del CFD necesitan ser recompiladas con una nueva versión del CFD que aún no fue liberada, para que el código C# generado pueda utilizar los horarios de los departamentos.

Mientras esta nueva versión del CFD no sea liberada, la única opción es modificar a mano el script C# generado. Esto puede hacerse desde la consola de 3CX. Los cambios a realizar serían los siguientes:
1) Agregar la siguiente linea debajo de private OnlineServices onlineServices;
private OfficeHoursManager officeHoursManager;

2) Agregar la siguiente línea debajo de this.timerManager.CallStarted();
this.officeHoursManager = new OfficeHoursManager(MyCall);

3) Reemplazar:
IsServerOfficeHourActive(myCall)

por:
officeHoursManager.IsOfficeHours()

4) Reemplazar:
IsServerInHoliday(myCall)

por:
officeHoursManager.IsHoliday()


Con esos cambios al código C# debería funcionar de acuerdo a lo siguiente:
- Cuando la app del CFD sea "system wide", debería seguir los horarios del departamento "default".
- Cuando la app del CFD pertenezca a un departamento, debería seguir los horarios de ese departamento.


Gracias por la respuesta, pero algún detalle más me falla, me da estos errores:

1719314045846.png



1719314064144.png


A ver si me sabes decir.
 
Gracias por la respuesta, pero algún detalle más me falla, me da estos errores:

Ver el adjunto 15630



Ver el adjunto 15631


A ver si me sabes decir.
Claro, esas 2 funciones de la segunda captura, tienes que eliminarlas por completo. Esa es la vieja implementación que ahora está dentro del OfficeHoursManager provisto por 3CX. También en la primera captura, te faltó reemplazar la llamada a IsServerInHoliday(myCall) por officeHoursManager.IsHoliday().
 
  • Me gusta
Reacciones: Alejandro_3CX
Muchas gracias.

Estoy haciendo pruebas y parece que funciona con estos últimos cambios.

Saludo
 
Me alegro de haber podido ayudarte.
 
  • Me gusta
Reacciones: Planeta Voz Quique
De todas formas estaría bien que 3CX nos diera una solución más natural. En el caso que me toca, se trata de un cliente con unos 50 CFDs y resulta bastante tedioso retocar estos códigos.

Al menos tengo la solución.

Gracias de nuevo.
 
De todas formas estaría bien que 3CX nos diera una solución más natural. En el caso que me toca, se trata de un cliente con unos 50 CFDs y resulta bastante tedioso retocar estos códigos.

Al menos tengo la solución.

Gracias de nuevo.
Coincido contigo, 3CX debería liberar la nueva versión del CFD soportando estos cambios.
 

Estadísticas del Foro

Temas
44.440
Mensajes
232.808
Miembros
78.339
Último miembro
neil.marsura