Boa tarde!
É possível saber no ponto de entrada se a rotina está sendo chamada na tela ou execauto? Estou com uma demanda na tela de pedido de compra e preciso utilizar uma regra apenas quando o PC é inserido via tela, via execauto não.
Obrigado!
Boa tarde!
É possível saber no ponto de entrada se a rotina está sendo chamada na tela ou execauto? Estou com uma demanda na tela de pedido de compra e preciso utilizar uma regra apenas quando o PC é inserido via tela, via execauto não.
Obrigado!
Bruno,
Conforme o legado do Protheus, quando uma rotina é executada via ExecAuto, diversas variáveis private de controle são criadas, você pode se basear nelas, usando a função Type
para verificar sua existência.
Além das variáveis, você pode também verificar a stack de execução, utilizando de funções como ProcLine
e ProcSource
.
Documentações:
https://tdn.totvs.com/pages/viewpage.action?pageId=566489232
https://tdn.totvs.com/display/tec/ProcLine
Para saber se foi acionada via ExecAuto use a função IsInCallStack('MSEXECAUTO')