"Hola, soy Coco y hoy vamos a aprender la diferencia entre las acciones Establecer valor predeterminado y Establecer valor de campo en las Reglas de negocio de Dynamics 365".
Así empezaría la clase diaria Coco, nuestro amigo inseparable de Barrio Sésamo que llenaba las tardes de nuestra infancia y con el que tanto aprendimos muchos de nosotros.
Y la verdad es que, amigos míos, existe una diferencia entre estas dos opciones aunque sea sutil para muchos a la hora de crear una Regla de negocio que las contenga.
Yo antes pensaba que tanto daba establecer valores de una forma o otra, al final lo que quieres es que el campo tenga un valor que tu le marcas y punto. Pero claro, si las dos opciones hicieran lo mismo, se llamarían igual y no es el caso.
Vamos a ver cada caso.
Establecer valor predeterminado
Cuando aplicamos esta acción en una regla de negocio lo que estamos realizando es mostrar un valor en un campo de forma predeterminada. La idea es que la Regla de negocio debería cargar el valor de un campo en el formulario en el evento onLoad.
Esta opción es la opción por defecto que se usa en los Optionsets (Conjuntos de datos), pero la acción se puede usar con campos Numéricos, Texto, Fecha/Hora y Búsqueda.
Dependiendo del tipo de campo, el valor establecido puede variar, como por ejemplo, en un campo Fecha/Hora podrá definirse una fecha fija, se podrá elegir que copie el valor de otro campo de fecha, establecer una fórmula que sume o reste días a una fecha o a otro campo de fecha de la entidad o se podrá elegir realizar un borrado del valor del campo.
Pero en definitiva, lo que conseguimos aplicando este componente es asignar un valor al campo que se muestre en el formulario cuando se carga.
Establecer valor de campo
Esta acción la llevaremos a cabo en una Regla de negocio cuando queramos aplicar lógica de negocio e incluso no necesitemos tener el campo cargado en el formulario.
La Regla de negocio no hace falta que se ejecute en el onLoad, puede ser un campo de la entidad que requiere ese valor pero que ni siquiera se muestra.
Esta acción lo que realiza es poner un valor que definamos en un campo de la entidad que definamos y las opciones que disponemos son iguales al anterior caso.
Mostramos un pequeño ejemplo en el que realizamos una comprobación, si un Caso tiene como Origen el valor Correo electrónico.
Si se cumple la condición lo que hace la acción Establecer valor de campo es establecer el valor del título con la cadena "[Mail]". Este campo Título no haría falta ni que se mostrara en el formulario si no quisiéramos.
Si no se cumple la condición, la acción Establecer valor predeterminado establecerá el campo Origen con la opción "Teléfono". Se cargará el formulario para que el usuario pueda tener este valor por defecto en el campo y lo pueda cambiar si lo desea.
Finalmente, para acordarnos de que opción es cual, si nos vamos al original, quizás la traducción en inglés nos quede más claro:
- Establecer valor predeterminado = Set default value
- Establecer valor de campo = Set field value
Pero cuando se traduce, el lenguaje se hace más ambiguo.
---
Enlaces con la información:
Set Default Value vs Set Field Value in Business Rule – Dynamics 365 CE - https://dynatecon.com/2020/06/13/set-default-value-vs-set-field-value-in-business-rule-dynamics-365-ce/
Setting Field Values vs. Setting Default Values in Business Rules - https://powerobjects.com/2015/02/05/setting-field-values-vs-setting-default-values-business-rules/