×
Linguagem de Programação ADVPL
Perguntas Grava dados na CD5
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
3 anos 11 meses atrás #32952
por diegoo_martins
Grava dados na CD5 foi criado por diegoo_martins
Pessoal, bom dia!
Temos uma necessidade de gravar dados automaticamente na tabela CD5- Complementos de Importação. A nota fiscal de importação é gerada pela rotina Mata103 e estamos utilizando o ponto de entrada MT103FIM.
Os dados são gravados na CD5, porém ao sair da rotina MATA103, gera error.log de chave duplicada.
Podem nos ajudar?
Segue ponto de entrada.
Temos uma necessidade de gravar dados automaticamente na tabela CD5- Complementos de Importação. A nota fiscal de importação é gerada pela rotina Mata103 e estamos utilizando o ponto de entrada MT103FIM.
Os dados são gravados na CD5, porém ao sair da rotina MATA103, gera error.log de chave duplicada.
Podem nos ajudar?
Segue ponto de entrada.
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
3 anos 11 meses atrás #32954
por admin
Respondido por admin no tópico Grava dados na CD5
Manda o Erro pra gente,
acrescentei o campo CD5_FORNEC
#include 'Protheus.ch'
/*/{Protheus.doc} MT103FIM
Ponto de Entrada executado após a geração da Nota Fiscal de Entrada.
@author Diego Martins
@since 04/12/2020
@version 1.0
/*/
User Function MT103FIM()
Local aArea := GetArea()
dbSelectArea("SD1") // posiciona no item da nf
dbSetorder(1)
If SF1->F1_EST == 'EX' // Incluir somente para Notas de Fornecedores de Importação
// Incluir as informaçôes para Importação - Diego Martins - 04-12-2020
If SD1->(DbSeek(SF1->F1_FILIAL+SF1->F1_DOC+SF1->F1_SERIE+SF1->F1_FORNECE+SF1->F1_LOJA))
While !SD1->(Eof()) .And. ;
SD1->D1_FILIAL == SF1->F1_FILIAL .And. ;
SD1->D1_DOC == SF1->F1_DOC .And. ;
SD1->D1_SERIE == SF1->F1_SERIE .And. ;
SD1->D1_FORNECE == SF1->F1_FORNECE .And. ;
SD1->D1_LOJA == SF1->F1_LOJA
// Incluir o Registro na tabela CD5 - Complemento de Importação
DbSelectArea("CD5")
RecLock("CD5",.T.)
CD5->CD5_FILIAL := SD1->D1_FILIAL
CD5->CD5_DOC := SD1->D1_DOC
CD5->CD5_SERIE := SD1->D1_SERIE
CD5->CD5_FORNEC := SD1->D1_FORNECE
CD5->CD5_LOJA := SD1->D1_LOJA
CD5->CD5_DOCIMP := SD1->D1_ZZNDI
CD5->CD5_TPIMP := '0'
CD5->CD5_LOCAL := '0'
CD5->CD5_NDI := SD1->D1_ZZNDI
CD5->CD5_DTDI := SD1->D1_ZZDTDI
CD5->CD5_LOCDES := "AEROPORTOS BRASIL VIRACOPOS SA"
CD5->CD5_UFDES := 'SP'
CD5->CD5_DTDES := SD1->D1_EMISSAO
CD5->CD5_CODEXP := SD1->D1_FORNECE
CD5->CD5_LOJEXP := SD1->D1_LOJA
CD5->CD5_NADIC := "001"
CD5->CD5_SQADIC := "001"
CD5->CD5_CODFAB := SD1->D1_FORNECE
CD5->CD5_LOJFAB := SD1->D1_LOJA
CD5->CD5_INTERM := '1'
CD5->CD5_CNPJAE := "13884068000122"
CD5->CD5_UFTERC := 'SP'
CD5->CD5_ITEM := SD1->D1_ITEM
CD5->CD5_VTRANS := '4'
CD5->CD5_SDOC := "001"
CD5->(MsUnlock ())
//CD5_FILIAL, CD5_DOC, CD5_SERIE, CD5_FORNEC, CD5_LOJA, CD5_DOCIMP, CD5_ALPIS, CD5_ALCOF, CD5_NADIC, CD5_ITEM, R_E_C_D_E_L_
SD1->(DBSkip())
EndDo
Endif
Endif
RestArea(aArea)
Return Nil
acrescentei o campo CD5_FORNEC
#include 'Protheus.ch'
/*/{Protheus.doc} MT103FIM
Ponto de Entrada executado após a geração da Nota Fiscal de Entrada.
@author Diego Martins
@since 04/12/2020
@version 1.0
/*/
User Function MT103FIM()
Local aArea := GetArea()
dbSelectArea("SD1") // posiciona no item da nf
dbSetorder(1)
If SF1->F1_EST == 'EX' // Incluir somente para Notas de Fornecedores de Importação
// Incluir as informaçôes para Importação - Diego Martins - 04-12-2020
If SD1->(DbSeek(SF1->F1_FILIAL+SF1->F1_DOC+SF1->F1_SERIE+SF1->F1_FORNECE+SF1->F1_LOJA))
While !SD1->(Eof()) .And. ;
SD1->D1_FILIAL == SF1->F1_FILIAL .And. ;
SD1->D1_DOC == SF1->F1_DOC .And. ;
SD1->D1_SERIE == SF1->F1_SERIE .And. ;
SD1->D1_FORNECE == SF1->F1_FORNECE .And. ;
SD1->D1_LOJA == SF1->F1_LOJA
// Incluir o Registro na tabela CD5 - Complemento de Importação
DbSelectArea("CD5")
RecLock("CD5",.T.)
CD5->CD5_FILIAL := SD1->D1_FILIAL
CD5->CD5_DOC := SD1->D1_DOC
CD5->CD5_SERIE := SD1->D1_SERIE
CD5->CD5_FORNEC := SD1->D1_FORNECE
CD5->CD5_LOJA := SD1->D1_LOJA
CD5->CD5_DOCIMP := SD1->D1_ZZNDI
CD5->CD5_TPIMP := '0'
CD5->CD5_LOCAL := '0'
CD5->CD5_NDI := SD1->D1_ZZNDI
CD5->CD5_DTDI := SD1->D1_ZZDTDI
CD5->CD5_LOCDES := "AEROPORTOS BRASIL VIRACOPOS SA"
CD5->CD5_UFDES := 'SP'
CD5->CD5_DTDES := SD1->D1_EMISSAO
CD5->CD5_CODEXP := SD1->D1_FORNECE
CD5->CD5_LOJEXP := SD1->D1_LOJA
CD5->CD5_NADIC := "001"
CD5->CD5_SQADIC := "001"
CD5->CD5_CODFAB := SD1->D1_FORNECE
CD5->CD5_LOJFAB := SD1->D1_LOJA
CD5->CD5_INTERM := '1'
CD5->CD5_CNPJAE := "13884068000122"
CD5->CD5_UFTERC := 'SP'
CD5->CD5_ITEM := SD1->D1_ITEM
CD5->CD5_VTRANS := '4'
CD5->CD5_SDOC := "001"
CD5->(MsUnlock ())
//CD5_FILIAL, CD5_DOC, CD5_SERIE, CD5_FORNEC, CD5_LOJA, CD5_DOCIMP, CD5_ALPIS, CD5_ALCOF, CD5_NADIC, CD5_ITEM, R_E_C_D_E_L_
SD1->(DBSkip())
EndDo
Endif
Endif
RestArea(aArea)
Return Nil
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.099 segundos