- Fórum
- Protheus/Microsiga/Totvs
- Comunicação Eletrônica (SEFAZ/SPED)
- Nfe (Nota Fiscal Eletrônica)
- DATA SAÍDA DANFE
Perguntas DATA SAÍDA DANFE
- paulolana
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 1
- Obrigados Recebidos: 0
- edfelipe2
- Desconectado
- Usuário está bloqueado
Menos
Mais
- Postagens: 5
- Obrigados Recebidos: 0
12 anos 1 semana atrás #7964
por edfelipe2
Respondido por edfelipe2 no tópico Re: DATA SAÍDA DANFE
Boa noite pessoal,
Bom aqui na empresa utilizamos esta alteração na data de saída da nota fiscal eletrônica, mas lembro que se deve tomar o cuidado de ver as reais necessidades da alteração desta data.
Enfim irei posta abaixo a função que utilizamos para fazê-lo:
#Include "PROTHEUS.CH"
User Function DTSAIDA()
Private oDlg
Private oButton1
Private oGet1
Private cGet1 := Date()
Private oGroup1
Private oSay1
Private oSay2
Private bStatus := .T.
While bStatus
DEFINE MSDIALOG oDlg TITLE "Data de saida" FROM 000, 000 TO 160, 350 COLORS 0, 16777215 PIXEL
@ 004, 003 GROUP oGroup1 TO 052, 168 PROMPT " Data de saida da NF " OF oDlg COLOR 0, 16777215 PIXEL
@ 016, 009 SAY oSay1 PROMPT "Informe no campo abaixo a data de saida da nota fiscal de numero " SIZE 153, 020 OF oDlg COLORS 0, 16777215 PIXEL
@ 035, 009 SAY oSay2 PROMPT "Data de saida" SIZE 045, 007 OF oDlg COLORS 0, 16777215 PIXEL
@ 033, 045 MSGET oGet1 VAR cGet1 SIZE 113, 010 OF oDlg COLORS 0, 16777215 PIXEL
@ 059, 130 BUTTON oButton1 PROMPT "Confirmar" SIZE 037, 012 OF oDlg PIXEL Action(Confirmar())
ACTIVATE MSDIALOG oDlg CENTERED
If bStatus
Alert("Operação não permitida...")
Endif
Enddo
Return cGet1
Static Function Confirmar
oDlg:End()
bStatus:=.F.
Return
No fonte do NFESEFAZ
logo abaixo dessas linhas:
aadd(aNota,cTipo)
aadd(aNota,SF2->F2_TIPO)
aadd(aNota,SF2->F2_HORA)
Adicionei a seguinte linha:
aadd(aNota,U_DTSAIDA())
Compilei e no momento da transmissão da nota fiscal eletrônica ira abrir um box onde devo informar a data de saída de minha nota.
Att,
Felipe
Bom aqui na empresa utilizamos esta alteração na data de saída da nota fiscal eletrônica, mas lembro que se deve tomar o cuidado de ver as reais necessidades da alteração desta data.
Enfim irei posta abaixo a função que utilizamos para fazê-lo:
#Include "PROTHEUS.CH"
User Function DTSAIDA()
Private oDlg
Private oButton1
Private oGet1
Private cGet1 := Date()
Private oGroup1
Private oSay1
Private oSay2
Private bStatus := .T.
While bStatus
DEFINE MSDIALOG oDlg TITLE "Data de saida" FROM 000, 000 TO 160, 350 COLORS 0, 16777215 PIXEL
@ 004, 003 GROUP oGroup1 TO 052, 168 PROMPT " Data de saida da NF " OF oDlg COLOR 0, 16777215 PIXEL
@ 016, 009 SAY oSay1 PROMPT "Informe no campo abaixo a data de saida da nota fiscal de numero " SIZE 153, 020 OF oDlg COLORS 0, 16777215 PIXEL
@ 035, 009 SAY oSay2 PROMPT "Data de saida" SIZE 045, 007 OF oDlg COLORS 0, 16777215 PIXEL
@ 033, 045 MSGET oGet1 VAR cGet1 SIZE 113, 010 OF oDlg COLORS 0, 16777215 PIXEL
@ 059, 130 BUTTON oButton1 PROMPT "Confirmar" SIZE 037, 012 OF oDlg PIXEL Action(Confirmar())
ACTIVATE MSDIALOG oDlg CENTERED
If bStatus
Alert("Operação não permitida...")
Endif
Enddo
Return cGet1
Static Function Confirmar
oDlg:End()
bStatus:=.F.
Return
No fonte do NFESEFAZ
logo abaixo dessas linhas:
aadd(aNota,cTipo)
aadd(aNota,SF2->F2_TIPO)
aadd(aNota,SF2->F2_HORA)
Adicionei a seguinte linha:
aadd(aNota,U_DTSAIDA())
Compilei e no momento da transmissão da nota fiscal eletrônica ira abrir um box onde devo informar a data de saída de minha nota.
Att,
Felipe
Por favor Acessar ou Registrar para participar da conversa.
- giovannibaro
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 2
- Obrigados Recebidos: 0
11 anos 9 meses atrás #10510
por giovannibaro
Respondido por giovannibaro no tópico Re: DATA SAÍDA DANFE
Olá amigo Edelweis
Fis todo o procedimento,
Criei fonte U_DTSAIDA() compilei
fiz a entrada no fonte da NFESEFAZ
Compilou e chama a tela no momento de emitir a NF, porem não grava a data informada na data de saída DANFE.
Quando MV_DSAIENT = T sai em branco
Quando MV_DSAIENT = F sai igual a data de emissão
Qual a sua versão protheus, e nfesefaz ?
Fis todo o procedimento,
Criei fonte U_DTSAIDA() compilei
fiz a entrada no fonte da NFESEFAZ
Compilou e chama a tela no momento de emitir a NF, porem não grava a data informada na data de saída DANFE.
Quando MV_DSAIENT = T sai em branco
Quando MV_DSAIENT = F sai igual a data de emissão
Qual a sua versão protheus, e nfesefaz ?
Por favor Acessar ou Registrar para participar da conversa.
- colangelo1982
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 3
- Obrigados Recebidos: 0
9 anos 4 meses atrás #28485
por colangelo1982
Respondido por colangelo1982 no tópico Re: DATA SAÍDA DANFE
Olá Felipe
Desculpe reabrir esse tópico, mas será q vc poderia me ajudar...
Coloquei o seu código, ele chama a tela da data tudo certinho, mas qdo visualizo a DANFE os campos data e hora Entrada/saida aparecem em branco.
Será q poderia me ajudar???
Obrigado
Desculpe reabrir esse tópico, mas será q vc poderia me ajudar...
Coloquei o seu código, ele chama a tela da data tudo certinho, mas qdo visualizo a DANFE os campos data e hora Entrada/saida aparecem em branco.
Será q poderia me ajudar???
Obrigado
Por favor Acessar ou Registrar para participar da conversa.
- davidjackpaiva
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 153
- Obrigados Recebidos: 0
9 anos 4 meses atrás - 9 anos 4 meses atrás #28501
por davidjackpaiva
Respondido por davidjackpaiva no tópico DATA SAÍDA DANFE
Nao basta utilizar o fonte DTSAIDA.Existe uma parte no no fonte NFSEFAZ que vc tem que alterar, pois a variavel neste fonte utilizada para montar o xml é o mesmo da data de emissao(nada a ver né...):
Procura essa parte no fonte NFSEFAZ, veja que abaixo deixei comentado a parte original,...
isso esta por volta da linha +- 4150.
PARTE ORIGINAL:
//Nota Técnica 2013/005 - Data e Hora no formato UTC
If cVeramb >= "3.10"
cString += '<dhEmi>'+ConvType(aNota[03])+"T"+Iif(Len(aNota[06]) > 5,ConvType(aNota[06]),ConvType(aNota[06])+":00")+'</dhEmi>'
cString += NfeTag('<dhSaiEnt>',Iif(lDSaiEnt,"",ConvType(aNota[03])+"T"+Iif(Len(aNota[06]) > 5,ConvType(aNota[06]),ConvType(aNota[06])+":00")))
Else
cString += '<dEmi>'+ConvType(aNota[03])+'</dEmi>'
cString += NfeTag('<dSaiEnt>',Iif(lDSaiEnt, "", ConvType(aNota[03])))
If !lDSaiEnt .And. !Empty(aNota[06])
if len(aNota[06]) > 5
cString += '<hSaiEnt>'+ConvType(aNota[06])+'</hSaiEnt>'
else
cString += '<hSaiEnt>'+ConvType(aNota[06])+":00"+'</hSaiEnt>'
endif
Endif
EndIf
PARTE ALTERADA:
//NO FONTE ABAIXO EU ADICIONEI O HORARIO DE SAIDA QUE É INFORMADO NA HORA QUE ABRE O FONTE U_DTSAIDA
If cVeramb >= "3.10"
cString += '<dhEmi>'+ConvType(aNota[03])+"T"+Iif(Len(aNota[06]) > 5,ConvType(aNota[06]),ConvType(aNota[06])+":00")+'</dhEmi>'
//HORA DE SAIDA - ALTERADO POR DAVID J G PAIVA - 18/02/15 PARA ATENDER A VERSAO 3.10
cString += NfeTag('<dhSaiEnt>',Iif(lDSaiEnt,"",ConvType(aNota[07])+"T"+Iif(Len(aHoraSai[1]) > 5,ConvType(aHoraSai[1]),ConvType(aHoraSai[1])+":00")))
Else
cString += '<dEmi>'+ConvType(aNota[03])+'</dEmi>'
cString += NfeTag('<dSaiEnt>',Iif(lDSaiEnt, "", ConvType(aNota[07])))
If !lDSaiEnt .And. !Empty(aNota[06])
if len(aNota[06]) > 5
cString += '<hSaiEnt>'+ConvType(aNota[06])+'</hSaiEnt>'
else
cString += '<hSaiEnt>'+ConvType(aNota[06])+":00"+'</hSaiEnt>'
endif
Endif
EndIf
E DEIXA O PARAMETRO MV_DSAIENT = F , ASSIM VAI IMPRIMIR OS DADOS NA DANFE...
Procura essa parte no fonte NFSEFAZ, veja que abaixo deixei comentado a parte original,...
isso esta por volta da linha +- 4150.
PARTE ORIGINAL:
//Nota Técnica 2013/005 - Data e Hora no formato UTC
If cVeramb >= "3.10"
cString += '<dhEmi>'+ConvType(aNota[03])+"T"+Iif(Len(aNota[06]) > 5,ConvType(aNota[06]),ConvType(aNota[06])+":00")+'</dhEmi>'
cString += NfeTag('<dhSaiEnt>',Iif(lDSaiEnt,"",ConvType(aNota[03])+"T"+Iif(Len(aNota[06]) > 5,ConvType(aNota[06]),ConvType(aNota[06])+":00")))
Else
cString += '<dEmi>'+ConvType(aNota[03])+'</dEmi>'
cString += NfeTag('<dSaiEnt>',Iif(lDSaiEnt, "", ConvType(aNota[03])))
If !lDSaiEnt .And. !Empty(aNota[06])
if len(aNota[06]) > 5
cString += '<hSaiEnt>'+ConvType(aNota[06])+'</hSaiEnt>'
else
cString += '<hSaiEnt>'+ConvType(aNota[06])+":00"+'</hSaiEnt>'
endif
Endif
EndIf
PARTE ALTERADA:
//NO FONTE ABAIXO EU ADICIONEI O HORARIO DE SAIDA QUE É INFORMADO NA HORA QUE ABRE O FONTE U_DTSAIDA
If cVeramb >= "3.10"
cString += '<dhEmi>'+ConvType(aNota[03])+"T"+Iif(Len(aNota[06]) > 5,ConvType(aNota[06]),ConvType(aNota[06])+":00")+'</dhEmi>'
//HORA DE SAIDA - ALTERADO POR DAVID J G PAIVA - 18/02/15 PARA ATENDER A VERSAO 3.10
cString += NfeTag('<dhSaiEnt>',Iif(lDSaiEnt,"",ConvType(aNota[07])+"T"+Iif(Len(aHoraSai[1]) > 5,ConvType(aHoraSai[1]),ConvType(aHoraSai[1])+":00")))
Else
cString += '<dEmi>'+ConvType(aNota[03])+'</dEmi>'
cString += NfeTag('<dSaiEnt>',Iif(lDSaiEnt, "", ConvType(aNota[07])))
If !lDSaiEnt .And. !Empty(aNota[06])
if len(aNota[06]) > 5
cString += '<hSaiEnt>'+ConvType(aNota[06])+'</hSaiEnt>'
else
cString += '<hSaiEnt>'+ConvType(aNota[06])+":00"+'</hSaiEnt>'
endif
Endif
EndIf
E DEIXA O PARAMETRO MV_DSAIENT = F , ASSIM VAI IMPRIMIR OS DADOS NA DANFE...
Ultima edição: 9 anos 4 meses atrás por davidjackpaiva.
Por favor Acessar ou Registrar para participar da conversa.
- junimnet
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 55
- Obrigados Recebidos: 0
- Fórum
- Protheus/Microsiga/Totvs
- Comunicação Eletrônica (SEFAZ/SPED)
- Nfe (Nota Fiscal Eletrônica)
- DATA SAÍDA DANFE
Tempo para a criação da página:0.107 segundos