Jump to content
Fivewin Brasil

Luiz Fernando

Membros
  • Posts

    3,368
  • Joined

  • Last visited

  • Days Won

    40

Posts posted by Luiz Fernando

  1. O que era um único  METHOD agora se transformou em dois, e no caso da tag de referencia de nota de devolução não esta no grupo IDE do METHOD New 

    colocando esta linha ele aparece agora no xml

      aadd(::axNodes[ nPos ][2], {"refNFe"  ,TVoNFeItem():New("N", 1, 44 ) }  )

    desta forma

    <indPres>9</indPres>
    
    <procEmi>0</procEmi>
    
    <verProc>NF-eletronica.com</verProc>
    
    <refNFe>35170508897417000291550010013692851013811490</refNFe>

    mais o correto seria assim

    <NFref>
       <refNFe>35170508897417000291550010013692851013811490</refNFe>
    </NFref>


    alguém tem alguma sugestão como resolver isto

    obg

     

     

  2.  

    Não é assim que usa :)

    oRef:=TVoNfeRefNf()

    oRef:mod:="2D"
     oRef:nEcf:="001"
    oRef:nCOO:="0001" 

    oNfe:AddItem(oRef)

    // Para cada modelo usa as tags necessárias 

     

    Gilmer obg pela resposta, no caso de cupom referenciado eu faço desta maneira.

    o detalhe é nota de devolução de mercadoria com fornecedor, acabei de ler o manual não mudou nada neste sentido, mais ao criar o xml mesmo preenchendo a tag refNFe(chave da nfe de origem da devolução), esta informação não vai para o xml, tive que voltar a versão 3.10 no cliente para poder fazer a nota, abri um chamado na flexdocs detalhando, assim que tiver retorno posto aqui.

    obg

  3. pessoal veja se isto confere

    isto aqui não se usa mais

    METHOD SetRefNfe(oItem) CLASS TVoNFe2G
      local axArray:={}
      aadd(axArray, {"refNFe" , TVoNFeItem():New("N", 1, 44,,,,oItem:refNFe  ) }  )
    Return(axArray)

    agora preciso preencher estes dados

    METHOD SetrefNF(oItem) CLASS TVoNFe2G
      local axArray
      axArray := {}
      aadd(axArray, {"refNF"  , {} } )
      aadd(axArray[1,2], {"cUF"   , TVoNFeItem():New("C", 1, 2,,,,oItem:cUF   ) }  )
      aadd(axArray[1,2], {"AAMM"  , TVoNFeItem():New("N", 1, 2,,,,oItem:AAMM   ) }  )
      aadd(axArray[1,2], {"CNPJ"  , TVoNFeItem():New("C", 1, 14,,,,oItem:CNPJ ) }  )
      aadd(axArray[1,2], {"mod"   , TVoNFeItem():New("N", 1, 2,,,,oItem:mod   ) }  )
      aadd(axArray[1,2], {"serie" , TVoNFeItem():New("N", 1, 1, 3,,,oItem:serie ) }  )
      aadd(axArray[1,2], {"nNF"   , TVoNFeItem():New("N", 1, 1, 9,,,oItem:nNF ) }  )
    return( axArray )

    seria ist mesmo ? obg

  4. Pessoal alguém sabe me dizer se mudou algo, não consigo fazer NFE de devolução a tag abaixo não vai no xml, embora estou passando por ela

     

       if !empty(aDetalhe[1,70])  //cFinalidade='2'
          ? "estou aqui"
       	oNFe:SetValue("ide" , "refNFe", aDetalhe[1,70] )
    	endif

    Obg

    Luiz Fernando

  5. Pessoal alguém deve problema com o envio de email usando a classe nova do Gilmer, depois que fiz o upgrade, não passa mais email.

    aqui o pedaço do meu código aonde aciono o método

    cFilePDF:=cPath4+cEmpresa+"\remessa\protocolos\"+::cChavenfe+"-nfe.xml"
    CriaPdfDanfe( cFilePDF, ::oNfeUtil, ::cChavenfe )
    cFilePDF1:=cPath4+cEmpresa+"\remessa\pdf\"+::cChaveNFe+".pdf"
    If !Empty(::cFromEmail).and.!Empty(cTo)
       cBody:=::PreparaEmail(If(Empty(cBody),::cEmailEmissao,cBody),::cXmlProtocolo,aFieldBody)
       ::EnviaEmail(cTo,cBcc,cSubject,cBody,{::cPathNFe+::cSubPastaProtocolos+::cChaveNfe+"-nfe.xml",cFilePdf},lBodyHtml,aFieldBody)
    endif

    obg

    Luiz Fernando

  6.  

    Boa noite meus amigos.

    Hoje após as 15:00 também passei por esse problema e tive que atualizar o sistema em vários clientes de um minuto para o outro e os demais ficaram para amanhã. Entretanto, surpresas como essa não estão sendo novidade por parte da famigerada Sefaz, haja visto a questão do grupo <fat> com as tags <vOrig> e <vLiq> que só passaram a ser validadas em 01/07/2018, pegando-nos todos de surpresa. Aliás, eu quase perco clientes de longos anos por causa disso, de modo que tive que retornar a versão 3.10 da NF-e para desempacar o faturamento. ESSES CARAS DA SEFAZ NÃO PASSAM DE UM BANDO DE IRRESPONSÁVEIS!!!

    a gente tem uma baita responsabilidade com nossos clientes, aqui tenho mais de 60, não tem como atualizar tudo de uma unica vez, é foda estas surpresas, a validação em produção deveria ser apenas em 01/12/18, mais algumas UF implementaram a validação antes, por sua vez a DLL da flexdocs não trás o item que a validação deu erro, se tiver uma NFE com mais de 100 itens como fazemos.

     

  7. Pessoal o comportamento em homologação não é o mesmo em produção, o sefaz atualizou a pouco dias o schema do xml somente em homologação, coisas que estava passando começou a dar erro, dai atualizei a dll e os schema com versão 4.05 conforme orientação da flexdocs, dai deu certo os teste em homologação, fui atualizar um cliente e da erro, dai a flexdocs me dize para voltar o schema da 4.04 no modulo de produção até o sefaz atualizar os schema no servidor deles, mais como pode estamos a poucos dias da virada, se o sefaz atualizar tipo no dia 30, como irei atualizar mais de 60 clientes.

     

    Obs: varios amigos que já estão com os clientes atualizado me passaram xml, tem dois detalhe conforme coloquei num outro post aqui, que nãos sera mais aceito, fiquem atendo com isto.

     

     

     

  8.  

    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.

     

  9. 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)

     

  10. 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

  11. Engraçado que só da certo se eu colocar algum desconto, dai ira sair na tag vDesc, conforme a imagem abaixo, mais já vi varios xml sem desconto e sem a tag vDesc, não entendi esta

    
    -<fat>
    
    <nFat>46605</nFat>
    
    <vOrig>42.90</vOrig>
    
    <vDesc>5.00</vDesc>
    
    <vLiq>37.90</vLiq>
    
    </fat>
    
    
    -

     

  12. 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>

     

  13. Colegas estou usando a classe do Gilmer, alguém consegue ver aonde estou errando no codigo abaixo

     

    Function LoadDuplicatas( oNFe,nFiscal )
       if len(aDuplicata)>0
    		for j=1 to len(aDuplicata)
    		    oItem := TVoNfeCobr()  //TVoNFeDupl()
    		    WITH OBJECT oItem
                if j=1
                   // fatura
                   :nFat   := nFiscal
                   :vOrig  := aDetalhe[1,37]-aDetalhe[1,31]
                   :vDesc  := aDetalhe[1,31]
                   :vLiq   := aDetalhe[1,37]
                endif
    				// duplicata
       	  	   :nDup   := aDuplicata[j,1]         // Numero da Duplicata        
    			   :dVenc  := ctod(aDuplicata[j,2])   // Data de vencimento
    			   :vDup   := val(aDuplicata[j,3])    // Valor Duplicata
    		    END
    		    oNFe:AddItem( oItem )
    		next
    	endif
    Return(nil)

    qdo vou transmitir da este erro

    Application
    ===========
       Path and name: C:\NFE4.0\empre-gestor.EXE (32 bits)
       Size: ********* bytes
       Time from start: 0 hours 0 mins 17 secs 
       Error occurred at: 20/07/2018, 15:34:33
       Error description: Error BASE/2022  Argument error: ALLTRIM
       Args:
         [   1] = A   { ... }
    
    Stack Calls
    ===========
       Called from:  => ALLTRIM(0)
       Called from: C:\NFE4.0\classes\nfe400\VONFE2G_v4.PRG => TVONFE2G:R_TAG(1348)
       Called from: C:\NFE4.0\classes\nfe400\VONFE2G_v4.PRG => TVONFE2G:GETTAG(1228)
       Called from: C:\NFE4.0\classes\nfe400\VONFE2G_v4.PRG => TVONFE2G:GETTAG(1218)
       Called from: C:\NFE4.0\classes\nfe400\VONFE2G_v4.PRG => TVONFE2G:GERARXML(1147)
       Called from: C:\NFE4.0\source\NfeFlexdocs.prg => GERARNFE(334)

     

  14.  

    Você sabe se o site vai disponibilizar o número da Inscrição Estadual

    Só falta esse número para a consulta ficar completa.

     

    Infelizmente esta informação não tem la, somente o sintegra mesmo para trazer tudo, só que empresas sem inscrição(isento de icms) não tem no sintegra, dai só na receita mesmo, o bom é ter as duas opções dentro do sistema

    Abs

    Luiz Fernando

  15. Pessoal uma dificuldade que tenho aqui que não consigo fazer NFE para revenda em modo de homologação pelo fato de não poder colocar a tag IE dai da mensagem que  cliente é consumidor, tem o exemplo do Valdir acima mais ele usou o CST 90, alguma sugestão para poder usar o CST correto.

     

    Obg

    Luiz Fernando 

  16.  

    EMPRESOFT quando retirei a tag indpag somente aceitou se for tipo duplicata mercantil na tag  tPag no caso opcao 14, so consegui validar assim, quando for dia 02/07 colocarei o indpag novamente

    tipo:

    :tPag     := "14"        // 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     := TotalLiq
     

    Vlw pelo retorno sputnik , mais estou achando muito estranho a gente não ter um cenário real do dia 02/07.

     

    Obg

    Luiz Fernando 

×
×
  • Create New...