Un valor por defecto con una regla de negocio es un valor que el sistema completa en un campo cuando se cumple una condición, sin que el usuario lo cargue. Se arma con una regla cuya acción es Establecer: si se cumple la condición, el campo toma el valor. Es distinto del valor por defecto que se define en el modelo de datos o en un objeto MDF, que vimos en unidades anteriores y que es fijo para todos. La regla permite que el valor dependa de otros datos: la entidad legal, el departamento, la ubicación.
Lo que cambia de un caso a otro es el evento. En el alta, el evento natural es al iniciar. La academia lo describe así: corre durante el alta y la recontratación, en Añadir nuevo empleado, y al crear un objeto de fundamento nuevo. Para el alta hay un escenario específico, el de reglas al iniciar para alta y recontratación, que usa el modelo de información del empleado como objeto base. El ejemplo de la academia es el documento de identidad: en el alta de empleados de Estados Unidos, la regla deja el país, el tipo de documento y la marca de primario ya completos.
Fuera del alta, el evento es al cambiar. Si el valor por defecto depende de otro campo, la regla se asigna a ese campo y corre cada vez que el usuario lo cambia, tanto en el alta como en cualquier cambio posterior. Esa diferencia es la que se discute en la Tabla 2.1 de la lección, con la modalidad de trabajo de Best Run Argentina.
El pedido de RR. HH. era que, en la filial, la modalidad empezara en Presencial. Había dos diseños. Al iniciar, en el alta, la regla solo cubre las altas. Al cambiar, en el campo entidad legal, cubre las altas y también los traslados desde otra entidad legal de Best Run. Elegimos el segundo, porque una persona que llega a la filial desde otra empresa del grupo también necesita una modalidad. El resultado es AR_Modalidad por defecto, asignada en jobInfo, en el campo entidad legal, al cambiar.
La regla tiene una condición que distingue un valor por defecto bien diseñado de uno que trae problemas: que la modalidad esté vacía. Sin ella, cualquier cambio de entidad legal pisaría una modalidad que alguien ya había definido. La lección lo plantea como error común: funciona en la prueba del alta y falla en producción, el día que alguien cambia la entidad legal de una persona híbrida.
Antes de armar un valor por defecto con una regla, conviene hacerse dos preguntas. La primera es si de verdad depende de una condición. Si no depende de nada, el lugar es el modelo de datos o la definición del objeto, no una regla. La segunda es si ya hay otra fuente para ese valor. Algunos campos de la información del puesto se pueden completar por propagación desde objetos de fundamento, y tener dos mecanismos que completan el mismo campo genera resultados difíciles de explicar.
El ejercicio de la L2 practica el mismo patrón con otro campo: que el tipo de contrato empiece en Tiempo indeterminado cuando alguien llega a AR01.
