Jump to content
Fivewin Brasil

NFE 4.0 grupo fatura


Luiz Fernando

Recommended Posts

pessoal veja se alguém pode me ajudar,não sei aonde esta errado comparei com varios xml

erro da flexdocs "Campos do grupo fatura não informado" mais eles estão ai tudo certo


-<cobr>


-<fat>

<nFat>46605</nFat>

<vOrig>42.90</vOrig>

<vLiq>42.90</vLiq>

</fat>


-<dup>

<nDup>001</nDup>

<dVenc>2018-07-25</dVenc>

<vDup>42.90</vDup>

</dup>

</cobr>


-<pag>


-<detPag>

<indPag>1</indPag>

<tPag>15</tPag>

<vPag>42.90</vPag>

</detPag>

</pag>

 

Link to comment
Share on other sites

Pessoal tem duas situações que na forma de homologação e produção tem comportamento diferente

1) No grupo fatura em homologação é obrigatório ir a tag vDesc mesmo que não tenha desconto(para isto é preciso atualizar o schemas e dll 4.05), já em produção não da erro, se não tiver esta tag. Dai a duvida, será que dia 02/08 ira dar erro para aqueles que não estão enviado a tag vDesc mesmo com 0.00.

2) No grupo DUP em homologação não posso mais informar qualquer coisa em nDup , antes eu colocava o numero da duplicata gerado pelo meu sistema, agora só aceita "001" e se for parcelado "002" conforme a parcela, já em produção aceita normal qq informação, dai a duvida novamente sera que dia 02/08 ira dar erro para quem não alterou isto.

 

fiquem atento com estas duas situação para não ter surpresa dia 02/08

vDesc no grupo <fat>
nDup no grupo <dup>

 

Abs

Luiz Fernando

Link to comment
Share on other sites

Colegas, vocês pelo menos já conseguiram que a tag cobrança apareça no XML eu não consegui nem isto. Alguém pode me dar uma mão nisto>

 

Eu fiz assim:

 

oNfe:SetValue("fat",'nFat',vNdoc)
oNfe:SetValue("fat",'vOrig',vLiq)
oNfe:SetValue("fat",'vDesc',vDesc)
oNfe:SetValue("fat",'vLiq',(vLiq-vDesc) )
// Carregar as duplicatas para a nfe
LoadDuplicatas(oNfe,vNdoc,vFpag)

// ------------------- Inserir as formas de pagamentos -------------------------
If Alltrim(vFpag) == "0"
   oNfe:SetValue("detPag",'indPag',vTpag)
   oNfe:SetValue("detPag",'tPag',cTipoPag)
   oNfe:SetValue("detPag",'vPag',nValPag)
   If cTipoPag IN "03;04"
      oNfe:SetValue("detPag",'tpIntegra',2)
        oNfe:SetValue("detPag",'CNPJ',Pag_Cnpj)
        oNfe:SetValue("detPag",'tBand',Pag_Band)
        oNfe:SetValue("detPag",'cAut',Pag_Auto )
        oNfe:SetValue("detPag",'vTroco',Pag_Troco)
    Endif     
Else 
   If vMod == "65"
      LoadPagamento(oNfe,vNdoc)
   Endif
Endif   
 

E a função LoadDuplicata é essa:

 

Function LoadDuplicatas( oNFe,vNdoc,vFpag)
local cString := ""
local nItem := 0,vArea
********************************************************************************
vArea := Select()
If Alltrim(vFpag) != "0"
   DbSelectArea("BIDO"); Bido->( dbGotop() )
   If Bido->(DbSetOrder(1),DbSeek(vNdoc),Found() )
      Do while Bido->Ndoc=vNdoc
          oItem := TVoNFeDupl()
          WITH OBJECT oItem
//          Duplicatas
            :nDup     :=vNdoc                 // Numero da Duplicata        
           :dVenc    := Bido->Dvcto          // Data de vencimento
            :vDup     := Bido->Rece           // Valor Duplicata
          END
         oNFe:AddItem( oItem )
          (Bido)->( dbSkip() )
      Enddo
   Endif
Endif   
DbSelectArea(vArea)   
********************************************************************************
Return(nil)        // Fim da função LoadDuplicatas()
********************************************************************************
 

Link to comment
Share on other sites

Crisvam veja se te ajuda

Function LoadDuplicatas( oNFe,nFiscal )
  local cString := ""
  local aDuplicata:={}
  local nItem := 0
  cSql="SELECT duplicata,date_format(vecimento,'%d/%m/%Y'),valordupl"
  cSql+=" FROM duplicata"
  cSql+=" WHERE notafiscal='"+aDetalhe[1,1]+"'"
  cSql+=" AND empresa='"+aDetalhe[1,2]+"'"
  cSql+=" AND serie='"+aDetalhe[1,3]+"'"
  SqlExecute("commit")	 
  aDuplicata=SqlArray(cSql)
  if len(aDuplicata)>0
  	 for j=1 to len(aDuplicata)
	     oItem := TVoNfeCobr()  //TVoNFeDupl()
	     WITH OBJECT oItem
           if j=1
              // fatura
              :nFat   := alltrim(aDetalhe[1,1])
              :vOrig  := val(aDetalhe[1,37])+val(aDetalhe[1,31])
              :vDesc  := val(aDetalhe[1,31])
              :vLiq   := val(aDetalhe[1,37])   
           endif
		   // duplicata
   	  	   :nDup   := strzero(j,3)  //alltrim(aDuplicata[j,1])   //"001"   
		   :dVenc  := ctod(aDuplicata[j,2])   
		   :vDup   := val(aDuplicata[j,3])    
		 END
		 oNFe:AddItem( oItem )
 	next
  endif
Return(nil)

 

Link to comment
Share on other sites

 

Empresoft, grato pela atenção.

Uma dúvida.

Se na minha venda não tiver duplicatas, como proceder.

continua igual , não preencher as tags, mais a forma de pagto vc precisa preencher

function Loadformapagto(oNFe,aDetalhe)
  local aMeio:={}
  local j:=0
  cSql="SELECT forma,meio,valor"
  cSql+=" FROM pagto_nfe"
  cSql+=" WHERE notafiscal='"+aDetalhe[1,1]+"'"
  cSql+=" AND empresa='"+aDetalhe[1,2]+"'"
  SqlExecute("commit")	 
  aMeio=SqlArray(cSql)
  if len(aMeio)>0
	  for j=1 to len(aMeio)
         oItem := TVoNFePag()
         WITH OBJECT oItem
           //:IndPag   := aMeio[j,1]   // 0 - pagamento à vista; 1 - pagamento à prazo, 2 - outros.
           :tPag     := aMeio[j,2]        // 01=Dinheiro; 02=Cheque; 03=Cartão de Crédito; 04=Cartão de Débito; 05=Crédito Loja; 10=Vale Alimentação; 11=Vale Refeição; 12=Vale Presente; 13=Vale Combustível; 15=Boleto Bancário; 90=Sem Pagamento; 99=Outros.
           :vPag     := val(aMeio[j,3])   //nTotalPag
         END
        oNFe:AddItem( oItem )
     next  
  else
     oItem := TVoNFePag()
     WITH OBJECT oItem
        //:IndPag   := aMeio[i,1]   // 0 - pagamento à vista; 1 - pagamento à prazo, 2 - outros.
        :tPag     := "90"         // aMeio[i,2]        // 01=Dinheiro; 02=Cheque; 03=Cartão de Crédito; 04=Cartão de Débito; 05=Crédito Loja; 10=Vale Alimentação; 11=Vale Refeição; 12=Vale Presente; 13=Vale Combustível; 15=Boleto Bancário; 90=Sem Pagamento; 99=Outros.
        :vPag     := 0.00         // val(aMeio[i,3])   //nTotalPag
      END
     oNFe:AddItem( oItem )
  endif

return .t.

 

Link to comment
Share on other sites

Pessoal

Primeiro obrigado aos colegas que me ajudaram passar pela primeira etapa da cobrança, mas agora me apareceu um outro erro no pagamento>

Tou fazendo assim:

oNfe:SetValue("detPag",'indPag',vTpag)
   oNfe:SetValue("detPag",'tPag',cTipoPag)
   oNfe:SetValue("detPag",'vPag',nValPag)
   If cTipoPag IN "03;04"
      oNfe:SetValue("detPag",'tpIntegra',2)
        oNfe:SetValue("detPag",'CNPJ',Pag_Cnpj)
        oNfe:SetValue("detPag",'tBand',Pag_Band)
        oNfe:SetValue("detPag",'cAut',Pag_Auto )
        oNfe:SetValue("detPag",'vTroco',Pag_Troco)
    Endif     
Mas tá dando um erro no Method SetValueII da Classe Vonfe2g,  na linha For I := 1 to len(axArray)

 

Link to comment
Share on other sites

 

pessoal veja se alguém pode me ajudar,não sei aonde esta errado comparei com varios xml

erro da flexdocs "Campos do grupo fatura não informado" mais eles estão ai tudo certo



-<cobr>


-<fat>

<nFat>46605</nFat>

<vOrig>42.90</vOrig>

<vLiq>42.90</vLiq>

</fat>


-<dup>

<nDup>001</nDup>

<dVenc>2018-07-25</dVenc>

<vDup>42.90</vDup>

</dup>

</cobr>


-<pag>


-<detPag>

<indPag>1</indPag>

<tPag>15</tPag>

<vPag>42.90</vPag>

</detPag>

</pag>

 

A flexdocs me orientou a informar :vDesc := 0.001, quando não houver descontos. Caso seja para um destinatário de SP essa tag só será obrigatória a partir  de 03/09/2018.

Link to comment
Share on other sites

Obrigado a todos os colegas que me ajudaram a vencer mais um obstáculo.

Gilmer

Kapiaba

Empresoft

JFaguiar e outros que peço desculpa por não lembrar, mas que contribuiram para que eu conseguisse enviar o meu primeiro xml da versão 4.0

Link to comment
Share on other sites

Empresoft, isto está resolvido em ambiente de produção? Se sim, cual é o Link para baixar a DLL da Flexdocs?, Obg. abs.

 

SEFAZ/SP - Rejeição 225 - Falha de schema XML para vDesc informado com 0.00

A SEFAZ/SP, ainda não atualizou o schema XML para aceitar o vDesc=0.00 (schema XML publicado hoje - 02/072018 - https://www.nfe.fazenda.gov.br/portal/informe.aspx… ), assim a nota com vDesc=0.00 no grupo fat está sendo rejeitada com 225 - falha de schema XML.

Este problema pode estar acontecendo com outra UF também.

Link to comment
Share on other sites

 

Com esta, VDESC = 0.00 em ambiente de produção não funcionou. Deu Rejeição: 225 Falha no schema do xml.

Veja o que a Flexdocs disse:

INFORMAÇÃO IMPORTANTE

A SEFAZ modificou a obrigatoriedade da tag vDesc do grupo fat, isto vai causar um grande problema, pois apesar do ambiente de homologação exigir a informação, a informação da tag vDesc com valor = 0.00 pode provocar falha de schema XML na SEFAZ que não estiver com o schema XML atualizado.
Assim, só utilize a nova versão da DLL em produção quando tiver certeza que a SEFAZ atualizou o schema XML

Só não deu problemas, no Rio de Janeiro, São Paulo e Minas deu.

Obg. abs.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...