Pessoal tenho uma função e executo ela quando o pedido de venda no ponto de entrada A410CONS, fica no menu em outras ações.
Os gatilhos do campo c6_oper não são executados. Podem me ajudar ?
User Function A410CONS()
Local aButtons := {}
Aadd(aButtons,{"Simulacao",{|| ReproIT() }, "Proc: Reserva [ACF/Duco]"})
Return(aButtons)
Static Function ReproIT() Local _nx Local _Oper Local nVlrUnit Local nVlrItem Local nPosCol
If cEmpAnt = '01' .And. cFilAnt = '01'
If Alltrim(SC5->C5_NOTA) != ''
MsgAlert("ATENÇÃO: PEDIDO ja teve a Nota FISCAL gerada - A410CONS") Else
If M->C5_CLIENTE $ '004800#002166'
For _nx := 1 to Len(ACOLS)
If !(aCols[_nx][len(aCols[_nx])])
If M->C5_CLIENTE = '004800' _Oper := '01' Else _Oper := '05' EndIf
//aCols[_nx][GdFieldPos("C6_OPER")] := _Oper GDFieldPut("C6_OPER", _Oper) M->C6_OPER := _Oper //nPosCol := Ascan(aHeader,{|x|Alltrim(Upper(x[2]))=="C6_OPER"})
If ExistTrigger('C6_OPER') // verifica se existe trigger para este campo //RunTrigger(nPosCol,_nx,nil,,'C6_OPER') RunTrigger(2,_nx,nil,,'C6_OPER') Endif
nPrdQtd := GDFieldGet("C6_QTDVEN") nVlrUnit := GDFieldGet("C6_PRCVEN")
If nVlrUnit = Nil nVlrUnit := 1 EndIf
nVlrItem := nVlrUnit * nPrdQtd nVlrItem := Round(nVlrItem, 2)
GDFieldPut("C6_VALOR", nVlrItem) //aCols[_nx][GdFieldPos("C6_VALOR")] := nVlrItem M->C6_VALOR := nVlrItem A410MultT()
GDFieldPut("C6_PRUNIT", nVlrUnit) //aCols[_nx][GdFieldPos("C6_PRUNIT")] := nVlrUnit M->C6_PRUNIT := nVlrUnit
EndIf
Next _nx
MsgAlert("Reprocessado todos os ITENS - A410CONS") Else MsgAlert("ATENÇÃO: Funcionalidade disponível apenas para os clientes [004800#002166] - A410CONS") EndIf EndIf
Else MsgAlert("ATENÇÃO: Rotina Disponível apenas para a Duco-Matriz - A410CONS") Endif
Return
Rhander essa Static Function é realmente executada você verificou? Porque chamando assim a partir de um botão não sei se ele executa, ou se seria necessário trabalhar com User Function. Outra coisa que observei o campo C6_OPER você não preencheu nada é assim mesmo? Não teria que você colocar algo no campo para poder depois executar o gatilho?
— Cirilo Rocha 30 de Sep de 2022Chamo a Static Function do Menu e o campo C6_OPER é povoado dependendo do Cliente. Ja fiz o debug e tudo. GDFieldPut("C6_OPER", _Oper) M->C6_OPER := _Oper
— Rhander 04 de Oct de 2022