Ir para conteúdo
  • Cadastre-se

nebrio

Membros Pro
  • Total de ítens

    345
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que nebrio postou

  1. Anexa o .ini e o xml gerado por gentileza!
  2. Bom dia! Você poderia postar o arquivo .ini e o xml gerado por gentileza para podermos dar uma olhada, pois, nem sempre o XML vai ser gerado de acordo com o seu ent.ini, para gerar o XML o monitor respeita as regras de validação da NFe.
  3. @Juliana Tamizou bom dia! Fiz algumas modificações na unit DoBoletoUnit do ACBrMonitor incluindo o comando ListarNossoNumero que gera um arquivo texto com as informações do SeuNumero e NossoNumero. Comando a ser usado: BOLETO.ListarNossoNumero(Diretório para Gravar o Arquivo) EXEMPLO: BOLETO.ListarNossoNumero(C:) Será gerado em C: um arquivo texto chamado ListaNossoNumero.txt com a seguinte estrutura: Seu Número|Nosso Número Para mim tem sido útil para atualizar meus boletos com o nosso número gerado e utiliza-los no retorno bancário por exemplo. Se for útil e achar interessante subir para o SVN (só dá uma revisada antes porque estou aprendendo Pascal mexendo no ACBrMonitor e não tenho tanta familiariadade). DoBoletoUnit.pas
  4. Anexo. Desculpe mas não exclui o código que coloquei na mensagem acima....srsrs DoACBrMDFeUnit.pas
  5. Não estava implementado mesmo, fiz as alterações para a modalidade Rodoviario mas não fiz para as demais... @Janio @Juliomar Marchetti segue o código da procedure GerarMDFeINI se alguém puder dar uma olhada e subir para o SVN... hora que der implemento o resto.. function GerarMDFeIni( XML : WideString ) : WideString; var I, j, y : Integer; sSecao : String; INIRec : TMemIniFile; IniMDFe : TStringList; LocMDFeR : TMDFeR; begin INIRec := TMemIniFile.create( 'MDFe.ini' ); FrmACBrMonitor.ACBrMDFe1.Manifestos.Clear; if FilesExists(XML) then FrmACBrMonitor.ACBrMDFe1.Manifestos.LoadFromFile(XML) else begin LocMDFeR := TMDFeR.Create(FrmACBrMonitor.ACBrMDFe1.Manifestos.Add.MDFe); try LocMDFeR.Leitor.Arquivo := ConvertStrRecived( XML ); LocMDFeR.LerXml; FrmACBrMonitor.ACBrMDFe1.Manifestos.Items[0].XML := LocMDFeR.Leitor.Arquivo; FrmACBrMonitor.ACBrMDFe1.Manifestos.GerarMDFe; finally LocMDFeR.Free; end; end; with FrmACBrMonitor do begin try with ACBrMDFe1.Manifestos.Items[0].MDFe do begin INIRec.WriteInteger('ide', 'cUF', Ide.cUF); INIRec.WriteString( 'ide', 'tpEmit', TpEmitenteToStr(Ide.tpEmit)); INIRec.WriteString( 'ide', 'mod', Ide.modelo); INIRec.WriteInteger('ide', 'serie', Ide.serie); INIRec.WriteInteger('ide', 'nMDF', Ide.nMDF); INIRec.WriteInteger('ide', 'cMDF', Ide.cMDF); INIRec.WriteString( 'ide', 'modal', ModalToStr(Ide.modal)); INIRec.WriteString( 'ide', 'dhEmi', DateToStr(Ide.dhEmi)); INIRec.WriteString( 'ide', 'tpEmis', TpEmisToStr(Ide.tpEmis)); INIRec.WriteString( 'ide', 'procEmi', procEmiToStr(Ide.procEmi)); INIRec.WriteString( 'ide', 'verProc', Ide.verProc); INIRec.WriteString( 'ide', 'UFIni', Ide.UFIni); INIRec.WriteString( 'ide', 'UFFim', Ide.UFFim); INIRec.WriteString( 'ide', 'dhIniViagem', DateToStr(Ide.dhIniViagem)); for i := 0 to ide.infMunCarrega.Count -1 do begin sSecao := 'CARR' + IntToStrZero(I+1, 3); with ide.infMunCarrega.Items[i] do begin INIRec.WriteInteger(sSecao, 'cMunCarrega', cMunCarrega); INIRec.WriteString(sSecao, 'xMunCarrega', xMunCarrega); end; end; for i := 0 to ide.infPercurso.Count -1 do begin sSecao := 'PERC' + IntToStrZero(I+1, 3); with ide.infPercurso.Items[i] do begin INIRec.WriteString(sSecao, 'UFPer', UFPer); end; end; INIRec.WriteString('emit', 'CNPJ', Emit.CNPJ); INIRec.WriteString('emit', 'IE', Emit.IE); INIRec.WriteString('emit', 'xNome', Emit.xNome); INIRec.WriteString('emit', 'xFant', Emit.xFant); INIRec.WriteString( 'emit', 'xLgr', Emit.enderEmit.xLgr); INIRec.WriteString( 'emit', 'nro', Emit.enderEmit.nro); INIRec.WriteString( 'emit', 'xCpl', Emit.enderEmit.xCpl); INIRec.WriteString( 'emit', 'xBairro', Emit.enderEmit.xBairro); INIRec.WriteInteger('emit', 'cMun', Emit.enderEmit.cMun); INIRec.WriteString( 'emit', 'xMun', Emit.enderEmit.xMun); INIRec.WriteInteger('emit', 'CEP', Emit.enderEmit.CEP); INIRec.WriteString( 'emit', 'UF', Emit.enderEmit.UF); INIRec.WriteString( 'emit', 'fone', Emit.enderEmit.fone); INIRec.WriteString( 'emit', 'email', Emit.enderEmit.email); case Ide.modal of moRodoviario: begin INIRec.WriteString('Rodo', 'RNTRC', Rodo.RNTRC); INIRec.WriteString('Rodo', 'CIOT', Rodo.CIOT); INIRec.WriteString('Rodo', 'tpRod', TpRodadoToStr(Rodo.veicTracao.tpRod)); INIRec.WriteString('Rodo', 'tpCar', TpCarroceriaToStr(Rodo.veicTracao.tpCar)); INIRec.WriteString('Rodo', 'UF', Rodo.veicTracao.UF); if (Rodo.veicTracao.placa <> '') then begin INIRec.WriteString('veicTracao', 'clInt', Rodo.veicTracao.cInt); INIRec.WriteString('veicTracao', 'placa', Rodo.veicTracao.placa); INIRec.WriteString('veicTracao', 'RENAVAN', Rodo.veicTracao.RENAVAM); INIRec.WriteInteger('veicTracao', 'tara', Rodo.veicTracao.tara); INIRec.WriteInteger('veicTracao', 'capKG', Rodo.veicTracao.capKG); INIRec.WriteInteger('veicTracao', 'clInt', Rodo.veicTracao.capM3); end; if ( Rodo.veicTracao.prop.CNPJCPF <> '') then begin INIRec.WriteString('prop','CPFCNPJ',Rodo.veicTracao.prop.CNPJCPF); INIRec.WriteString('prop','RNTRC',Rodo.veicTracao.prop.RNTRC); INIRec.WriteString('prop','xNome',Rodo.veicTracao.prop.xNome); INIRec.WriteString('prop','IE',Rodo.veicTracao.prop.IE); INIRec.WriteString('prop','UF',Rodo.veicTracao.prop.UF); INIRec.WriteString('prop','tpProp',TpPropToStr(Rodo.veicTracao.prop.tpProp)); end; for y := 1 to Rodo.veicTracao.condutor.Count -1 do begin sSecao := 'condutor'+IntToStrZero(y+1,3); IniRec.WriteString(sSecao,'CPF',Rodo.veicTracao.condutor.Items[y].CPF); IniRec.WriteString(sSecao,'xNome',Rodo.veicTracao.condutor.Items[y].xNome); end; end; moAereo: begin // Implementar end; moAquaviario: begin // Implementar end; moFerroviario: begin // Implementar end; end; for i := 0 to infDoc.infMunDescarga.Count -1 do begin sSecao := 'DESC' + IntToStrZero(I+1, 3); with infDoc.infMunDescarga.Items[i] do begin INIRec.WriteInteger(sSecao, 'cMunDescarga', cMunDescarga); INIRec.WriteString(sSecao, 'xMunDescarga', xMunDescarga); for j := 0 to infDoc.infMunDescarga.Items[i].infCTe.Count -1 do begin sSecao := 'infCTe' + IntToStrZero(I+1, 3) + IntToStrZero(J+1, 3); with infDoc.infMunDescarga.Items[i].infCTe.Items[j] do begin INIRec.WriteString(sSecao, 'chCTe', chCTe); INIRec.WriteString(sSecao, 'SegCodBarra', SegCodBarra); // Implementar infUnidTransp - Lista end; end; for j := 0 to infDoc.infMunDescarga.Items[i].infNFe.Count -1 do begin sSecao := 'infNFe' + IntToStrZero(I+1, 3) + IntToStrZero(J+1, 3); with infDoc.infMunDescarga.Items[i].infNFe.Items[j] do begin INIRec.WriteString(sSecao, 'chNFe', chNFe); INIRec.WriteString(sSecao, 'SegCodBarra', SegCodBarra); // Implementar infUnidTransp - Lista end; end; for j := 0 to infDoc.infMunDescarga.Items[i].infMDFeTransp.Count -1 do begin sSecao := 'infMDFeTransp' + IntToStrZero(I+1, 3) + IntToStrZero(J+1, 3); with infDoc.infMunDescarga.Items[i].infMDFeTransp.Items[j] do begin INIRec.WriteString(sSecao, 'chMDFe', chMDFe); // Implementar infUnidTransp - Lista end; end; end; end; INIRec.WriteInteger('tot', 'qCTe', tot.qCTe); INIRec.WriteInteger('tot', 'qNFe', tot.qNFe); INIRec.WriteInteger('tot', 'qMDFe', tot.qMDFe); INIRec.WriteFloat( 'tot', 'vCarga', tot.vCarga); INIRec.WriteString( 'tot', 'cUnid', UnidMedToStr(tot.cUnid)); INIRec.WriteFloat( 'tot', 'qCarga', tot.qCarga); for i := 0 to lacres.Count - 1 do begin sSecao := 'lacres' + IntToStrZero(I+1, 3); with lacres.Items[i] do begin INIRec.WriteString(sSecao, 'nLacre', nLacre); end; end; for i := 0 to autXML.Count - 1 do begin sSecao := 'autXML' + IntToStrZero(I+1, 3); with autXML.Items[i] do begin // if CNPJCPF <> '' then INIRec.WriteString(sSecao, 'CNPJCPF', CNPJCPF) // else if CPF <> '' then // INIRec.WriteString(sSecao, 'CNPJCPF', CPF); end; end; INIRec.WriteString('infAdic', 'infAdFisco', infAdic.infAdFisco); INIRec.WriteString('infAdic', 'infCpl', infAdic.infCpl); end; finally IniMDFe := TStringList.Create; INIRec.GetStrings(IniMDFe); INIRec.Free; Result := StringReplace(IniMDFe.Text,sLineBreak+sLineBreak,sLineBreak,[rfReplaceAll]); IniMDFe.Free; end; end; end;
  6. Amigos @Janio @Juliomar Marchetti Desculpe...revisando...
  7. Amigo, o CRT está como 1 - Simples Nacional e no produto está sendo informado o CST e não o CSOSN verifica alguma coisa sobre isso.
  8. Pessoal, bom dia! Estava com alguns problemas no arquivo Retorno.ini que estava sendo gerado pelo ACBrMonitorPLUS para arquivos da Caixa Federal (SICOB), onde o campo nosso número não estava sendo retornado e também as informações de agência e conta. Fiz algumas alterações na procedure TACBrCaixaEconomicaSICOB.LerRetorno240(ARetorno: TStringList); da Unit ACBrBancoCaixaSICOB se alguém achar interessante subir para o SVN. Anexo está só a procedure citada, o problema de nosso número e agência que encontrei era que os mesmos estavam sendo lido em posições diferentes do meu layout Valeu!!!! LerRetorno240.txt
  9. Sim, mas o emissor da SEFAZ vai ser descontinuado e não será continuado aqui no projeto, ideal migrar para os arquivos do ACBr .INI.
  10. Amigo, A partir de 01/07 começou a ser validado algumas coisas na NFe veja: Alterações na NFE Nota Fiscal Eletrônica Novas regras de validação da NF-e entram em vigor a partir de 1-7-2016 De acordo com a Nota Técnica 2015/003, Versão 1.80, a partir de julho/2016, com as novas regras de validação dos campos da Nota Fiscal eletrônica, serão rejeitados os arquivos da NF-e que apresentarem inconsistências entre a alíquota aplicada à operação e o Código de origem da mercadoria. Dentre as possibilidades de rejeição do arquivo da NF-e por conta das novas regras de validação aplicáveis a partir de 1-7-2016, destacamos as seguintes: a) contribuinte sem inscrição estadual em operações interestaduais; b )CST e CSOSN incompatíveis na operação com não contribuinte; c) CST incompatível na operação com contribuinte isento de inscrição; d) alíquota do ICMS superior a 4% na saída interestadual com produtos importados; e) alíquota do ICMS superior a definida para a operação interestadual (7% ou 12%); f) alíquota interestadual do ICMS com origem diferente do previsto. Veja se o seu caso não se enquadra em alguma delas, seu arquivo se trata de uma operação de SP para RJ e existem peculiaridades de ICMS nessa questão.
  11. o Ubuntu não tem uma biblioteca chamada ia32-libs (ou algo assim)? verifique se ela esteja instalada..... Se não em engano é possível rodar 32 no 64 sim...
  12. @Celso, bom dia! Fiz uma pequena revisão apenas na function GerarNFeINI encontrei os seguinte: Bloco de Identificação INIRec.WriteString( 'Identificacao','idDest' , DestinoOperacaoToStr(TpcnDestinoOperacao(Ide.idDest))); // Adicionado INIRec.WriteString( 'Identificacao','indFinal',ConsumidorFinalToStr(TpcnConsumidorFinal(Ide.indFinal))); // Adicionado INIRec.WriteString( 'Identificacao','indPres', PresencaCompradorToStr(TpcnPresencaComprador(Ide.indPres))); // Adicionado Bloco Destinatário INIRec.WriteString( 'Destinatario','IM' ,Dest.IM); // Adicionado Adicionado o Bloco do NVE do Produto for N:=0 to Prod.NVE.Count-1 do begin if Prod.NVE.Items[N].NVE <> '' then begin with Prod.NVE.Items[N] do begin sSecao := 'NVE'+IntToStrZero(I+1,3)+IntToStrZero(N+1,3); INIRec.WriteString(sSecao,'NVE',NVE); end; end else Break; end; Bloco Adições da Declaração de Importação INIRec.WriteFloat( sSecao,'nDraw' ,nDraw); // Adicionado Bom, de imediato foram esses os campos que não encontrei nos códigos Anexei toda a unit mas só modifiquei a function GerarNFeINI, qq coisa após sua revisão me avise de algum problema. DoACBrNFeUnit.pas
  13. @Celso muito obrigado! Cara gostaria muito de poder ajudar sim... Só para confirmar arrumo o que precisar na unit DoACBrNFeUnit do projeto ACBrMonitorPLUS correto? Valeu!!!
  14. @Celso boa tarde! No grupo de Declaração de Importação o campo tpViaTransp não está sendo gerado, mas não sei se dizer se esse campo deve ser gerado com alguma condição especifica, fiz um XML com esse conteúdo o campo nem vai para o .ini.
  15. Obrigado Celso e Euzébio!!!!!
  16. @Euzébio Cruz Amigo funcionou só o grupo Exporta que não está sendo gerado mesmo. @Celso retificando o que falei acima, apenas o grupo Exporta que não está sendo gerado (ao menos eu não estou conseguindo) Euzébio valeu pela ajuda!!!!!!
  17. Euzébio, obrigado pela ajuda! Mas não compreendi o que você quis dizer, pois, não tenho nem está sendo gerando nenhum arquivo nfe.ini na pasta do ACBRMOnitorPLUS, poderia me ajudar por gentileza ou passar o seu post anterior para eu dar uma olhada. @Euzébio Cruz @Euzébio Cruz amigo acho que compreendi o que você disse, vou fazer uns testes aqui e qq coisa retorno com mais novidades...
  18. @datavale amigo acredito que sua versão defasada seja do ACBrMonitorPLUS e não do ACBR conforme mencionado pelo @Juliomar Marchetti, os fontes do ACBr são atualizados sempre que necessário via SVN.
  19. Celso, boa tarde! @Celso Estou efetuando testes e está acontecendo o mesmo caso com os grupos: - duplicatas - infAdic -ObsFisco - exporta -Compra Observação: Estou com os fontes do Monitor baixados hoje de manhã (29/06/2016) 35160604591902000109550010000000151002968002-nfe.xml
  20. OK. Celso, muito obrigado! Vou baixar a atualização.
  21. Anexo o xml para análise. Celso, notei também que alguns campos no INI que envio para o monitor criar a NFe retornam com nomes diferentes é normal isso também? 35160604591902000109550010000000131695000204-nfe.xml
  22. Pessoal, estou usando o LerNFe para converter um XML em INI, porém, o grupo detExport não está sendo gerado, alguém sabe de algum problema quanto a isso ou sou eu que estou fazendo algo errado?
  23. Bom dia! No Ajuda do ACBrMonitorPLUS tem como fazer a criação da NFe a partir do txt no leiaute da SEFAZ. NFe.CriarNFeSEFAZ(cTXTSefaz,[bRetornaXML]) Comando para ser passado como parâmetro o caminho do arquivo criado no formato usado pelo emissor gratuíto de SP.
  24. Cara exemplo não tenho não...mas veja no ajuda não é complicado.. Depois de incluir os titulos na lista é só enviar o comando GerarRemessa que ele gera o arquivo de remessa e ler retorno o monitor te retorna um arquivo.ini com os titulos
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.