Ejemplo de agrupamiento de listas de tareas por persona responsable

3 min de lectura
Anton Budon
4 de Abril de 2017
Última actualización: 23 de Mayo de 2019
Ejemplo de agrupamiento de listas de tareas por persona responsable
Este es un post realizado por Julia Bedrosova, una de las principales consultoras de Bitrix24 y proveedora de personalización en Upwork.

Uno de nuestros clientes nos pidió que agregáramos un grupo de listas de tareas por persona responsable en Bitrix24. También, requirió ser capaz de cambiar a una persona responsable, por simples tareas arrastables, al grupo apropiado. Este cliente cuenta con una versión self-hosted, por lo que hemos podido agregar la funcionalidad requerida.

La lista de tareas en Bitrix24 puede ser ordenada y filtrada por la persona responsable, pero el cliente no estaba satisfecho con estas dos opciones, necesitaba tener la capacidad de agrupar la lista de tareas por persona responsable como nivel de agrupación adicional.

Primero, copiamos el componente (tasks.list) en nuestro propio espacio de nombres. En el código de componente (component.php file) encontramos un lugar donde se forman una matriz con condición de ordenación. Es $ arOrders array. Cambiamos el $ arOrders array para ordenar por ID de persona responsable en primera prioridad:

$arOrder = array_merge(array("RESPONSIBLE_ID" => "ASC";), $arOrder);

Para nuestra sorpresa, después de la clasificación, algunas tareas fueron colocadas en el orden equivocado: algunas tareas de una persona responsable se mezclaron con las tareas de otra persona responsable.

Comenzamos a aclarar este problema y encontramos ese código en el método CTask :: GetList:
foreach ($arOrder as $by => $order)
{
……
switch ($by)
{
……
case 'responsible_id':
$arSqlOrder[] = " RESPONSIBLE_LAST_NAME ".$order." ";
$needle = 'RESPONSIBLE_LAST_NAME';
break;
……
}
……
}
Por lo tanto, en lugar de ordenar por el identificador de persona responsable (esta columna está en la tabla «b_tasks» y disponible para la clasificación) Bitrix ordenó nuestros datos por el apellido de la persona responsable.

El sistema no tiene en cuenta el hecho de que el apellido quizás no se pueda especificar. Tenemos tal caso. Todas las personas responsables, cuyas tareas fueron "mezcladas", no han especificado apellidos.

Después de ordenar las tareas en el orden requerido, también necesitamos algunos datos adicionales sobre las personas responsables. En el código, que genera una matriz con datos de tareas, encontramos la identificación de la persona responsable y una solicitud para seleccionar el nombre de la persona, el apellido y el inicio de sesión (necesitamos saber el inicio de sesión si el apellido no se especifica).

A continuación, agregamos los resultados de la solicitud a la matriz $ arResult. Entonces podemos trabajar con plantillas de componentes.

El componente de lista de tareas estándar Bitrix24 tiene dos vistas: vista de lista y diagrama de Gantt. Era necesario cambiar ambos. Ambas visiones ya contenían una agrupación por proyectos. De acuerdo con el pedido del cliente, añadimos un nivel más de agrupación - agrupación por ID de la persona responsable.


La personalización de ambas plantillas de componentes nos obligó a realizar cambios significativos en el código Javascript, no lo describiremos en detalle, solo mostraremos el resultado final (haga clic en las imágenes para ver la animación):



c792f929c73d4a22ffbddca43b1277b6.gif

15bcc61083fadf7f9e4f24e4cec05cb7.gif





Lo Más Destacado
Novedades
CoPilot, tu nuevo asistente de IA
Webinars
Webinarios en noviembre 2023
Apps & Marketplace
Trabaja con Google Docs
Novedades
Nueva Integración de Bitrix24 con Mercado Libre
Novedades
CoPilot en Sitios Web
También te puede interesar
Artículos
Webinars
Glosario

Free. Unlimited. Online.

Bitrix24 es un lugar donde todos pueden comunicarse, colaborar entre tareas y proyectos, administrar clientes y mucho más.

Empezar gratis
También te puede interesar
Kanban en Bitrix24
Herramientas
Kanban en Bitrix24
1 min de lectura
Gráfico de Gantt y Dependencias entre las tareas
Herramientas
Gráfico de Gantt y Dependencias entre las tareas
1 min de lectura
Chat de Bitrix24: nuevo mensajero e IA
Herramientas
Chat de Bitrix24: nuevo mensajero e IA
3 min de lectura