PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 25 → Como espelhar registro de uma tabela TMP para uma tabela EFETIVA
Como espelhar registro de uma tabela TMP para uma tabela EFETIVA
Débuté par BOLLER, 16 jan. 2020 17:18 - 2 réponses
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 16 janvier 2020 - 17:18
EX, DEVE TER OS MESMOS CAMPOS

//Espelhar registro!!!!
TAB_CAB_NOTA_EFETIVA <= TAB_CAB_NOTA_EFETIVA_TEMP
HAdd(TAB_CAB_NOTA_EFETIVA)


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Message modifié, 16 janvier 2020 - 17:19
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 16 janvier 2020 - 18:15
//OUTRO EXEMPLO COM <= E TRANSACTION PARA UMA OPERACAO COM VARIAS TABELAS EM UMA GRAVAÇÃO ATOMICA
Procedure UI_Grava_nfe_Estoque()

umavez = 0

umavezCabecalho = False

IF F007_APS_NFE_TEMP.F007_ID_NFE = 0 OR F007_APS_NFE_TEMP.F007_ID_NFE = "" THEN
Info("Não foi informado o ID da NFe")
RETURN
END

IF F007_APS_NFE_TEMP.F007_NUM_NFE = 0 OR F007_APS_NFE_TEMP.F007_NUM_NFE = "" THEN
Info("Não foi informado o NUM NFe")
RETURN
END

IF F007_APS_NFE_TEMP.F007_VLR_TOTAL_PROD = 0 OR F007_APS_NFE_TEMP.F007_VLR_TOTAL_PROD = "" THEN
Info("Não foi informado o total da NFe")
RETURN
END

//1 : Sim
//2 : Não
SWITCH Dialog("Deseja gravar a Nota de Entrada?")
// Sim
CASE 1

ok is boolean = False

HTransactionStart(CONN_INFOTST,"F007_APS_NFE,F007_APS_NFE_TEMP,F008_APS_NFE_ITENS,F008_APS_NFE_ITENS_TEMP")

IF F007_APS_NFE_TEMP.F007_ID_NFE > 0 AND F007_APS_NFE_TEMP.F007_NUM_NFE <> 0 AND F007_APS_NFE_TEMP.F007_NUM_NFE <> "" AND F007_APS_NFE_TEMP.F007_VLR_TOTAL_PROD > 0

F007_APS_NFE_TEMP.F007_SALVA = "S"

IF HModify(F007_APS_NFE_TEMP,hRecNumCurrent) = True

F007_APS_NFE <= F007_APS_NFE_TEMP //espelhar registro!!!!

IF HAdd(F007_APS_NFE) = True THEN

//GRANA OS ITENS DA NFE
FOR EACH F008_APS_NFE_ITENS_TEMP

IF F008_APS_NFE_ITENS_TEMP.F008_ID_NFE = EDT_IDNfe AND F008_APS_NFE_ITENS_TEMP.F008_CODIGO_TISS <> 0 AND F008_APS_NFE_ITENS_TEMP.F008_CODIGO_TISS <> "" AND F008_APS_NFE_ITENS_TEMP.F008_NOME_COMERCIAL <> "" AND

HReset(F008_APS_NFE_ITENS)

F008_APS_NFE_ITENS <= F008_APS_NFE_ITENS_TEMP

IF HAdd(F008_APS_NFE_ITENS) = True THEN

ok = True

END

END

END

END

END

END





IF ok = True THEN
IF HTransactionEnd(CONN_INFOTST) = True
Info("Nfe gravada com sucesso!")
UI_LimpaCampos()
UI_VerificaCabecalho()
UI_HabilitaCamposProd()

EDT_NumNota..State = Active
EDT_Serie..State = Active
BTN_BuscaFornec..State = Active
EDT_Danfe..State = Active
EDT_EntradaEstoque..State = Active
EDT_Emissao..State = Active
EDT_Fornecedor_Razao_Social..State = DisplayOnly
END
ELSE
IF HTransactionCancel(CONN_INFOTST) = True THEN
Info("Tente novamente, ocorreu um erro: "+ ErrorInfo())
END
END



// Não
CASE 2
RETURN
END

UI_Close()

CASE EXCEPTION:


--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Message modifié, 16 janvier 2020 - 18:21
Membre enregistré
3 651 messages
Popularité : +175 (223 votes)
Posté le 16 janvier 2020 - 18:16
LEMBRETE:

SEMPRE QUE POSSIVEL USAR TRANSACTION

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