Manuais
PHC GO Como criar uma regra de negócio - Ao executar Trigger na gravação
 

Cenário


A sua empresa tem uma necessidade de, sempre que existir um movimento de conta corrente de um cliente igual ou superior a 1.000.000,00€, seja criada uma tarefa no PHC GO a alertar da respetiva ocorrência. Como tal, está à procura de uma regra de negócio, que lhe realize este automatismo de extrema importância para o seu negócio.
 
 

Como configurar


  • Entidade: Como queremos que esta regra se aplique a Contas Correntes de Clientes, a entidade a selecionar é a entidade Contas Correntes de Clientes.

  • Título: De forma a que esta peça seja facilmente reconhecida, foi selecionado o título -> Criar tarefa se movimento igual ou superior a 1Milhão de euros.

  • Tipo código: De acordo com o nosso cenário, queremos criar a tarefa Ao executar Trigger na gravação.

  • Código:
     
     
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
                    
    ´ itemVO é um objeto do tipo CCVO (Conta corrente de cliente)
    ´ Verifica se existe um movimento de débito ou crédito na conta corrente do cliente com valor maior ou igual a 1 milhão.
    Dim ONE_MILLION = 1000000
    Dim isMovementGreaterThanOneMillion As Boolean = itemVO.edeb >= ONE_MILLION OrElse itemVO.ecred >= ONE_MILLION
    
    If isMovementGreaterThanOneMillion Then
        Dim fieldThatWasChanged As String = If(itemVO.edeb > 0, "edeb", "ecred")
        Dim task As TasksVO = SDK.Triggers.GetNewObjectInstance(Of TasksVO)()
        task.summary = "Tem um movimento de conta corrente com valor acima de 1 milhão."
        task.startdate = SDK.Dates.timezoneDate()
        task.enddate = SDK.Dates.timezoneDate()
        
        Dim currentUser As UserVO = SDK.User.getCurrentInfo()
        task.whocreated = currentUser.usstamp
        task.description = "Tem um movimento de " & CDec(itemVO.GetPropertyValue(fieldThatWasChanged)).ToCurrency() & "€ para o cliente " & itemVO.nome & "."
        task.code = "Imagine some unique code here"
    
        ´ Criar conexão para navegar ao movimento através da tarefa
        Dim itemTaskConnection As TaskConnectionsVO = SDK.Triggers.GetNewObjectInstance(Of TaskConnectionsVO)()
        itemTaskConnection.tasksstamp = task.tasksstamp
        itemTaskConnection.ParentVO = task
        itemTaskConnection.summaryentity = itemVO.nome
        itemTaskConnection.urlextern = "/mainform/cc/view;stamp=" & itemVO.ccstamp
    End If
                    

     

    Resultado


    Depois de instalar o add-on que contém a peça desenvolvida, quando quando existir um movimento de conta corrente de cliente superior a 1.000.000,00€, irá ser criada uma tarefa no PHC GO a alertar o utilizador. A tarefa criada irá ter o seguinte aspeto: