Hoje vou mostrar uma função desenvolvida, para substituir o clássico ConOut para passar pelas validações do Code Analysis.
Se você já precisou colocar os fontes em validação no Code Analysis, sabe que o ConOut é acusado para que seja melhorado a estrutura dos fontes.
A TOTVS criou a função FWLogMsg, porém essa função recebe vários parâmetros, então não daria simplesmente para dar um Ctrl+F no projeto e substituir o texto ConOut.
Pensando nisso, encapsulei a função FWLogMsg dentro de uma função de usuário chamada zConOut. Portanto, basta você procurar no projeto por ConOut e substituir por u_zConOut.
Abaixo o código fonte desenvolvido:
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function zConOut
Função para substituir o ConOut (por causa do Code Analysis)
@type Function
@author Atilio
@since 24/06/2021
@version version
@param cTexto, Caractere, Texto a ser exibido no console.log
@example
u_zConOut("Teste")
@obs Para ativar esse recurso, a chave FWLogMsg_Debug tem que estar como 1 no AppServer.ini:
@see https://tdn.totvs.com/display/framework/FWLogMsg
/*/
User Function zConOut(cTexto)
Local aArea := GetArea()
Default cTexto := ""
FWLogMsg(;
"INFO",; //cSeverity - Informe a severidade da mensagem de log. As opções possíveis são: INFO, WARN, ERROR, FATAL, DEBUG
,; //cTransactionId - Informe o Id de identificação da transação para operações correlatas. Informe "LAST" para o sistema assumir o mesmo id anterior
"ZCONOUT",; //cGroup - Informe o Id do agrupador de mensagem de Log
,; //cCategory - Informe o Id da categoria da mensagem
,; //cStep - Informe o Id do passo da mensagem
,; //cMsgId - Informe o Id do código da mensagem
cTexto,; //cMessage - Informe a mensagem de log. Limitada à 10K
,; //nMensure - Informe a uma unidade de medida da mensagem
,; //nElapseTime - Informe o tempo decorrido da transação
; //aMessage - Informe a mensagem de log em formato de Array - Ex: { {"Chave" ,"Valor"} }
)
RestArea(aArea)
Return
Creditos :https://terminaldeinformacao.com/