Programación del mouse: cómo nos escapamos de la rutina CRM

¿Qué es la programación del mouse? Este es el principio de crear una interfaz de usuario que evite escribir código. Muchos critican este enfoque: dicen que programar con el mouse no es digno de un desarrollador real, todo debería estar en el código. Pero antes, incluso para dibujar un círculo, necesitabas conocer los conceptos básicos de la sintaxis del mismo Basic. Ahora cualquier usuario puede dibujar cualquier forma en cualquier editor gráfico simple, y esto ni siquiera se llama programación, porque la operación es demasiado simple. Este es el desarrollo de la interfaz de usuario, que facilita la interacción con la computadora. En este artículo compartiré nuestra experiencia de maximizar los principios de "programación con el mouse" en CRM Dynamics.



Al crear nuevos servicios, siempre nos enfocamos en maximizar el "principio de programación" con el mouse. Es decir, al resolver un problema, debe pensar: ¿cómo asegurarse de que no vuelva a aparecer con mejoras funcionales posteriores? El deseo de alejarse de la rutina acelerará el desarrollo del producto. Si el usuario a menudo quiere cambiar alguna parte visual del formulario, dele un mecanismo que le permita hacerlo usted mismo y no lo distraiga del objetivo principal, pero al mismo tiempo no interferirá con el sistema. Si en la etapa de diseño nos guiamos por la solución más sencilla y ponemos todo en el código, los primeros pasos ciertamente se implementarán más rápido. Pero con el tiempo, en la etapa de soporte del producto, puede ahogarse en el trabajo operativo: editar informes, agregar directorios y generar documentación comercial a partir de un sistema de plantillas. Finalmente, el desarrollo del sistema puede simplemente detenerse.

Características de la dinámica de CRM


CRM Dynamics ofrece una interfaz gráfica para crear una secuencia de procesos de negocio: puede mover bloques con el mouse y crear secuencias y dependencias específicas sin ningún código. Pero aún más interesante, aquí puede crear una interfaz de usuario con un solo mouse, tan fácil como en el diseñador de formularios incorporado. Por lo tanto, los desarrolladores pueden formar formas extensas en un solo estilo en literalmente minutos. Esto, por supuesto, acelera el desarrollo. Daré algunos ejemplos de nuestras soluciones.

Verificación de datos


En la gran mayoría de los sistemas comerciales, hay verificación de los datos que el usuario ingresa en el sistema. Muchos abordan la tarea de una manera directa: registran algoritmos en el código para verificar la presencia y validez de los datos ingresados. Pasamos por la implementación de un servicio separado que permite a los administradores comerciales (nuestros usuarios privilegiados) configurar la verificación utilizando mecanismos simples en la interfaz de usuario. Sí, el primer paso en nuestra implementación (la formación de métodos de verificación) sigue siendo el código que escribe el programador. Pero escribe en un lenguaje simple para generar consultas dentro de un formulario de usuario, lo que significa que un usuario avanzado con habilidades básicas en la creación de consultas también puede formar un método similar. Después de eso, el usuario común ya recopila la ruta de verificación completa por su cuenta y establece las condiciones para su uso.

Considere un ejemplo específico. Estamos verificando la disponibilidad del pasaporte de una persona en el sistema. Lo describimos en el código y le damos este método a los administradores de empresas. Además, todas las relaciones básicas ya están registradas en los objetos correspondientes. Los administradores comerciales ya configuran de forma independiente todas las conexiones con el mouse utilizando la interfaz básica y la funcionalidad del sistema, determinan en qué etapa del ciclo de vida del producto comercial y para qué producto se usa este método, a saber: si es necesario verificar al director de la organización prestataria, al contador de la organización garante u otros roles y relaciones dentro de la aplicación. El pasaporte en sí se verifica de la misma manera, y las condiciones y las relaciones asociadas con esto son determinadas por el administrador de la empresa. No estamos involucrados en este proceso.


El usuario crea una condición Stop especificando: Nombre, Etapa, Producto y Objeto de validación


Configura el enlace del objeto de verificación con el método de verificación


Los desarrolladores todavía están configurando el método de verificación, pero aquí el usuario puede desactivar y luego habilitar los atributos marcados con casillas de verificación

Imprimir formularios


Otro ejemplo de nuestra función de maximizar los principios de "programación con el mouse" son los formularios impresos. En Dynamics, inicialmente puede crear una plantilla para formularios impresos para contratos, formularios de consentimiento y otros documentos de clientes extrayendo datos del sistema. Pero la implementación estándar de esta característica tiene una gran cantidad de limitaciones que la empresa no ha soportado, por lo que tuvimos que construir un mecanismo más flexible.

La primera solución rápida es generar formularios impresos a través del mecanismo de informes en el sistema utilizando SQL y SSRS. Me he encontrado de esta manera más de una vez en otras soluciones. Pero cuanto más trabajamos en el desarrollo de nuestro sistema, más y más complicadas se volvieron las formas de impresión. Como resultado, seguimos un camino similar al del ejemplo anterior: implementamos el procesamiento de una consulta SQL y construimos un conjunto de etiquetas a partir de ella utilizando Open XML. Los usuarios comerciales pueden reutilizar esta consulta, creando y cambiando rápidamente las formas de contratos, cuestionarios y otros documentos comerciales colocando las etiquetas con el mouse en el texto estático de la plantilla.

Como resultado, tenemos una gran solicitud para todos los atributos básicos, que cambiarán solo cuando aparezcan nuevos. Con su ayuda, el usuario podrá en cualquier momento en línea recolectar el formulario impreso deseado. Para acelerar la ejecución de la solicitud, siempre podemos conectarnos más tarde, en un momento conveniente para nosotros, sin violar los principios de scrum, para planificar y hacer una solicitud más óptima para necesidades específicas, si es necesario.


Aquí está la plantilla terminada en Word


Y esta es la preferencia del usuario para el formulario de impresión

En Excel, los formularios de impresión requerían una solución adicional para formar etiquetas, pero también hicimos frente a esta tarea. Exteriormente, para el usuario, hicieron todo de la misma manera que al trabajar con plantillas de Word.

Y en la verificación de datos, y en la creación de formularios impresos, el nivel más bajo de servicios permanece, aunque parcialmente, de nuestro lado. Pero en el futuro planeamos crear un generador de consultas gráficas conveniente. Entonces podemos dar a los administradores de empresas el 99% del trabajo con estos componentes de sistema volátiles.

Con el enfoque que utilizamos, los costos laborales iniciales, por supuesto, son mucho mayores; después de todo, escribir un servicio completo es más difícil. Pero no trabajamos como contratistas integradores que desean entregar el producto terminado y olvidarse de él. Entendemos que continuaremos trabajando con este producto y desarrollándolo. Siguiendo los principios de "programación con el mouse", ahorramos más soporte del sistema.

Un detalle más que vale la pena mencionar. Para seguir los principios de maximizar la funcionalidad con elementos de "programación con el mouse", se necesitan especialistas con calificaciones comparativamente más altas: desarrolladores y analistas que resuelven no solo los requisitos funcionales actuales, sino que también puedan mirar hacia el futuro para finalmente cerrar las tareas potenciales máximas para un mayor desarrollo.

Por supuesto, la implementación de las posibilidades de "programación con el mouse" plantea un cierto número de limitaciones en comparación con el uso del código, ya que en nuestro caso toda la funcionalidad estará predeterminada por los desarrolladores. Pero esto se convierte en un incentivo para desarrollar la funcionalidad, flexibilidad y conveniencia de las herramientas para el usuario.

Source: https://habr.com/ru/post/es419181/


All Articles