1

I'm changing the question because i realized what's wrong. Second condition only allow changes on Estado_validaci_n__c. The problem is that always will be other fields updated (e.g. lastModifiedDate). So there is any way to check that user is only changing that field ?

OR(
    **If (Estado_reporte_trimestral__c == 'Pendiente de enviar' && Trimestre_Activo__c is different)**
    AND(
        ISPICKVAL(Presupuesto_de_Gestion__r.Proyecto__r.Estado_reporte_trimestral__c, 'Pendiente de enviar'),
        Trimestre_Activo__c <> Presupuesto_de_Gestion__r.Proyecto__r.Trimestre_Activo__c 
    ),
    **If (Estado_reporte_trimestral__c == 'Enviado a aprobación' && Trimestre_Activo__c is equal but the field changed is not Estado_validaci_n__c)**
    AND(
        ISPICKVAL(Presupuesto_de_Gestion__r.Proyecto__r.Estado_reporte_trimestral__c, 'Enviado a aprobación'),
        Trimestre_Activo__c = Presupuesto_de_Gestion__r.Proyecto__r.Trimestre_Activo__c,
        NOT(ISCHANGED(Estado_validaci_n__c))
    ),
    **If Trimestre_Activo__c is equal and the parent's object Estado_reporte_trimestral__c is NOT Rechazado || No válido' Or Trimestre_Activo__c is different**
    AND(
        OR(
            AND(
                Trimestre_Activo__c = Presupuesto_de_Gestion__r.Proyecto__r.Trimestre_Activo__c,
                !ISPICKVAL(Presupuesto_de_Gestion__r.Proyecto__r.Estado_reporte_trimestral__c, 'Rechazado'),
                !ISPICKVAL(Presupuesto_de_Gestion__r.Proyecto__r.Estado_reporte_trimestral__c, 'No válido')
            ),
            Trimestre_Activo__c <> Presupuesto_de_Gestion__r.Proyecto__r.Trimestre_Activo__c
        )
    )
)
0

0

You must log in to answer this question.

Browse other questions tagged .