× Linguagem de Programação ADVPL

Perguntas Grava dados na CD5

Mais
3 anos 11 meses atrás #32952 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.
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

Mais
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

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.099 segundos
Joomla templates by a4joomla