PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 25 → Log de tabelas
Log de tabelas
Iniciado por Boller, 01,sep. 2022 17:17 - 2 respuestas
Miembro registrado
4.521 mensajes
Publicado el 01,septiembre 2022 - 17:17
// Résumé : <indiquez ici ce que fait la procédure>
// Syntaxe :
//[ <Résultat> = ] oop_log (<login>, <tipo_acao>, <screenid>, <tabela>, <campo>, <busca>, <array_antes>, <array_depois>)
//
// Paramètres :
// login : <indiquez ici le rôle de acao>
// tipo_acao : <indiquez ici le rôle de tipo_acao>
// screenid : <indiquez ici le rôle de screenid>
// tabela : <indiquez ici le rôle de tabela>
// campo : <indiquez ici le rôle de campo>
// busca : <indiquez ici le rôle de busca>
// array_antes : <indiquez ici le rôle de array_antes>
// array_depois : <indiquez ici le rôle de array_depois>
// Valeur de retour :
// Type indéterminé : // Aucune
//
// Exemple :
// <Indiquez ici un exemple d'utilisation>
//
PROCEDURE oop_log(login, tipo_acao, screenid, tabela, campo, busca, array_antes, array_depois)

IF tipo_acao = 0 THEN // 0 = ao abrir

//carga da estrutura
HFilter(tabela,campo,busca)
FileToArray(array_antes,tabela,campo)
HDeactivateFilter(tabela)

RESULT array_antes

ELSE IF tipo_acao = 1 OR tipo_acao = 2 //1 incluir e 2 alterar

//carga da estrutura
HFilter(tabela,campo,busca)
FileToArray(array_depois,tabela,campo)
HDeactivateFilter(tabela)
//carga da estrutura

//diferença
bufTabela_antes is Buffer
Serialize(array_antes,bufTabela_antes,psdJSON)

bufTabela_depois is Buffer
Serialize(array_depois,bufTabela_depois,psdJSON)

IF bufTabela_antes <> bufTabela_depois THEN

//Info("diferente")

//Log Colunas
sec15_log_users_x_screens.sec15_log_id = GetUUID()
sec15_log_users_x_screens.sec01_login = login
sec15_log_users_x_screens.sec11_security_screen_id = screenid
sec15_log_users_x_screens.sec15_acao = tipo_acao
sec15_log_users_x_screens.sec15_tabela = tabela
sec15_log_users_x_screens.sec15_antes = bufTabela_antes
sec15_log_users_x_screens.sec15_depois = bufTabela_depois
sec15_log_users_x_screens.sec15_data_hora = DateSys() + TimeSys()
IF HAdd(sec15_log_users_x_screens) = True
RESULT True
ELSE
RESULT False
END


ELSE
//Info("igual")
RESULT True
END

ELSE
RESULT False
END


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Miembro registrado
4.521 mensajes
Publicado el 01,septiembre 2022 - 17:19
Modo de usar

usa a procedure ao abrir a janela e guarda o array da classe da tabela envolvida

e depois antes de salvar usa ela novamente para comparar os arrays e gerar 2 jsons somente se for diferente.

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Miembro registrado
4.521 mensajes
Publicado el 01,septiembre 2022 - 20:42
//LOG - TABELAS
//---------------------------------------------------------------------------------------
garr_Msec00_config is array of Msec00_config
garr_Msec00_config_Antes is array of Msec00_config
garr_Msec00_config_Depois is array of Msec00_config


Msec00_config est une Classe <MAPPING=sec00_config>

// Le code se trouvant entre <MAPPING> et <FIN> est généré automatiquement.
// Il sera effacé et recréé entièrement à chaque génération depuis le menu contextuel
// du fichier dans l'explorateur de projet ou dans l'analyse "..Regénérer la classe modèle"
<MAPPING>
m_sec05_app_id est UUID <MAPPING=sec05_app_id>
m_sec02_cnpj est une string <MAPPING=sec02_cnpj>
m_sec00_config_id est un 8-byte int <MAPPING=sec00_config_id, clé unique>
m_sec00_descricao est une string <MAPPING=sec00_descricao>
m_sec00_valor est une string <MAPPING=sec00_valor>
<FIN>

FIN


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/