-
Total de ítens
426 -
Registro em
-
Última visita
-
Days Won
1
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que nebrio postou
-
O que usar para ler retornos do Monitor?
nebrio replied to Nelson A Sousa's tópico in ACBrMonitor PLUS
NFE.CriarEnviarNFe("D:\TI\Projetos\ConttrolTech\SistemaERP\SistemaERP\bin\Debug\Temp\NFe.ini","166",1,1) OK: Lote recebido com sucesso [ENVIO] Versao=SP_NFE_PL_008i2 TpAmb=2 VerAplic=SP_NFE_PL_008i2 CStat=103 XMotivo=Lote recebido com sucesso CUF=35 NRec=351000102285454 DhRecbto=30/12/1899 TMed=0 Msg=Lote recebido com sucesso Autorizado o uso da NF-e [RETORNO] Versao=SP_NFE_PL_008i2 TpAmb=2 VerAplic=SP_NFE_PL_008i2 NRec=351000102285454 CStat=100 XMotivo=Autorizado o uso da NF-e CUF=35 [NFE10144] Versao=SP_NFE_PL_008i2 TpAmb=2 VerAplic=SP_NFE_PL_008i2 CStat=100 XMotivo=Autorizado o uso da NF-e CUF=35 ChNFe=35160804591902000109550010000101441000001668 DhRecbto=16/08/2016 08:38:37 NProt=135160005392385 DigVal=LczX+LkRYiL4WYhCQ0RS4M1LzO0= Nelson, acabei de testar e o meu retornou a TAG NFe, talvez no seu exemplo não retornou porque não foi processada a NFe havendo falha no xml, aí o é devolvido apenas o retorno do erro....não sei se isso era diferente antes.... -
[C#] - Ler o arquivo SAI.TXt é a melhor opção?
nebrio replied to Nelson A Sousa's tópico in ACBrMonitor PLUS
Nelson, bom dia! Cara eu utilizo o monitor com C# e estou utilizando todas as rotinas normalmente quais tem sido seus problemas? -
Desculpe a demora tive uns probleminhas... Cara veja o .ini que eu gero [Certificado] ArquivoPFX=D:\CertificadoDigital2016.pfx NumeroSerie= Senha=12345678 Depois de executar o comando LerINI e salvar novamente as configurações pelo pelo ACBrMonitorPLUS veja como ele monta: [Certificado] ArquivoPFX=D:\Certificado Digital Confor 2016.pfx NumeroSerie= Senha=12345678 Aparentemente depois de ler ele não grava o Acbrmonitor.ini com a criptografia na senha do Certificado. Porém, se eu digitar manualmente a senha do certificado direto no AcbrMonitorPLUS ele gava assim: [Certificado] ArquivoPFX=D:\Certificado Digital Confor 2016.pfx NumeroSerie= Senha=456B581E3561774C com a senha criptograda e funciona... Eu mesmo compilei o monitor na versão 0.3.08.1 e ACbr versão 0.9.0a Sinceramente não sei dizer qual é o problema.....
-
Nelson, boa tarde! Obrigado pela resposta! Eu não criptografo não só postei o trecho do código do monitor que faz isso...eu faço tudo pelo monitor... O que eu faço é gerar um INI com as configurações e depois peço para o monitor ler esse INI (ACBR.LERINI), porém, depois que ele faz isso, de alguma forma ele esta criptografando de alguma forma que depois de criptografar a senha fica errada tanto que se eu entrar no monitor e colocar a senha na mão e depois salvar eu consigo utilizar normalmente... inclusive ele gravar no Acbrmonitor.ini de forma correta visto que se eu usar o lerini ele não dá nenhum problema mais.... O problema só ocorre quando eu monto o arquivo de configuração na mão e passo a senha por ele ainda sem criptografar
-
// trecho do método LerINI edtSenha.Text := LeINICrypt(INI, 'Certificado', 'Senha', _C); ACBrNFe1.Configuracoes.Certificados.Senha := edtSenha.Text; ACBrCTe1.Configuracoes.Certificados.Senha := edtSenha.Text; ACBrMDFe1.Configuracoes.Certificados.Senha := edtSenha.Text; ACBrBlocoX1.Configuracoes.Certificados.Senha := edtSenha.Text; ACBrGNRE1.Configuracoes.Certificados.Senha := edtSenha.Text; Pessoal estou tentando encontrar o problema....o trecho acima é do método ler....e abaixo o método que faz a criptografia Function LeINICrypt(INI : TIniFile; Section, Ident, Pass : String) : String ; var SStream : TStringStream ; CryptStr : String ; begin SStream := TStringStream.Create('') ; try INI.ReadBinaryStream(Section, Ident, SStream) ; CryptStr := SStream.DataString ; Result := StrCrypt( CryptStr, Pass) ; finally SStream.Free ; end ; end ; aparentemente está OK....apensar de eu não conseguir achar qual o método que utiliza a senha para ver se descriptografa normalmente..... Alguém sabe me dizer pode ser alguma coisa de dll que tem que estar na pasta do sistema ou coisa do gênero?
-
Pessoal o mesmo problema está acontecendo com a senha do E-mail, no arquivo ACBrMonitor.ini está correta mas quando o monitor le o arquivo não consigo enviar e-mail por conta da senha e do nome de usuário que passam a ser lidos de forma diferente.
-
Amigo, bom dia! Acabei de fazer um teste para verificar veja: NFE.CriarEnviarNFe("D:\TI\Projetos\*******\SistemaERP\SistemaERP\bin\Debug\Temp\NFe.ini","127",1,1) OK: Lote recebido com sucesso [ENVIO] Versao=SP_NFE_PL_008i2 TpAmb=2 VerAplic=SP_NFE_PL_008i2 CStat=103 XMotivo=Lote recebido com sucesso CUF=35 NRec=351000102080681 DhRecbto=30/12/1899 TMed=0 Msg=Lote recebido com sucesso Autorizado o uso da NF-e [RETORNO] Versao=SP_NFE_PL_008i2 TpAmb=2 VerAplic=SP_NFE_PL_008i2 NRec=351000102080681 CStat=100 XMotivo=Autorizado o uso da NF-e CUF=35 [NFE10114] Versao=SP_NFE_PL_008i2 TpAmb=2 VerAplic=SP_NFE_PL_008i2 CStat=100 XMotivo=Autorizado o uso da NF-e CUF=35 ChNFe=3516080*******00109550010000101141000001278 DhRecbto=10/08/2016 08:38:03 NProt=135160005315724 DigVal=rSd/TBk4k74t3ax0yDV1lmlN3Fs= Arquivo=D:\XML\************141000001278-nfe.xml Veja que as informações não estão no grupo ENVIO mas sim no grupo NFEXXXXX
-
Pessoal, vejam se podem me ajudar a enxergar meu erro: eu configuro o ACBrMonitor.ini com os dados do certificado, se eu abrir o ACBrMonitor.ini o campo senha do Certificado está correta. Depois de enviar o comando ACBr.LerINI parece que a senha está sendo alterada pelo monitor pois, qualquer operação que tento fazer me retorna erro que não foi possível assinar (NFe) por motivo de senha inválida, mas se altero a senha dentro do monitor tudo volta a funcionar. Minha dúvida é se é possível passar a senha do certificado dessa forma? Se sim o que será que estou fazendo errado? obrigado a todos,
-
Ajuda configuração Boleto Bancario Bradesco.
nebrio replied to Walney Moreira Klein's tópico in ACBrMonitor PLUS
vc está mandando um comando de cada vez? ConfigurarDados() aguarde o OK LimparLista aguarde o OK IncluirTitulos aguarde o OK Imprimir -
Ajuda configuração Boleto Bancario Bradesco.
nebrio replied to Walney Moreira Klein's tópico in ACBrMonitor PLUS
@sandrobelarmino quando você envia o comando BOLETO.ConfigurarDados("cedente.ini") qual o retorno que o monitor te dá? -
Ajuda configuração Boleto Bancario Bradesco.
nebrio replied to Walney Moreira Klein's tópico in ACBrMonitor PLUS
@sandrobelarmino você deve estar enviando o arquivo de cedente e títulos faltando informações... no caso do e-mail eles tem tem sido informados antes....veja o manual do Monitor e também aqui no fórum tem bastante coisa a respeito. -
Diferencial de Alíquota x Consumidor Final x Contribuinte do ICMS
um tópico no fórum postou nebrio ACBrMonitor PLUS
Pessoal, boa tarde! Vou colocar esse post aqui, mas não sei se está no local correto. Estou tendo o seguinte problema, tenho um caso de diferencial de alíquota mas um pouco diferente, no meu caso é uma venda para RJ (somos de SP) para Consumidor Final porém meu cliente é Contribuinte do ICMS, ou seja, não posso emitir a NFe seguindo as regras da DIFAL. No protocolo ICMS 28/14 fala para nesses casos usar os campos de ICMS-ST para esse calculo, tenho feito isso, porém, no RJ esse cliente não está aceitando a NFe, tenho outros clientes de outros Estados que aceitam, agora não sei se estou errado ou meu cliente está errado. Alguém tem um caso parecido? Se sim, como ficou seu XML? Obrigado!!!! -
Ajuda configuração Boleto Bancario Bradesco.
nebrio replied to Walney Moreira Klein's tópico in ACBrMonitor PLUS
A configuração dá para fazer pelo ini sim, dá uma olhada do ACBrMonitor.ini dá para configurar tudo por lá, depois de modificar esse arquivo use ACBR.LERINI() que o monitor será reconfigurado. Quanto aos teste, como disse tem o suporte do banco, mas no caso do boleto você pode fazer um boleto de uns R$ 5,00 e pagar e ver se cai na conta do cliente, depois pode pegar o retorno e ver se as informações retornadas são suficientes para você ler o retorno e encontrar o título em seu sistema. A remessa vc também pode fazer esse tipo de teste prático (não recomendo) desde que o boleto esteja correto dificilmente a remessa não vai estar correta. -
Ajuda configuração Boleto Bancario Bradesco.
nebrio replied to Walney Moreira Klein's tópico in ACBrMonitor PLUS
Bom dia! Pode ser esse código sim (olhei em um cliente e tem um código com as mesmas características), caso você não tenha como confirmar existe o suporte do próprio banco Bradesco (todos os bancos tem) onde você pode enviar o arquivo para eles validarem (inclusive arquivos de remessa).... -
Ajuda configuração Boleto Bancario Bradesco.
nebrio replied to Walney Moreira Klein's tópico in ACBrMonitor PLUS
Boa tarde! Código do Cedente é o código do seu cliente no Banco (não é a conta dele, mas um código interno, não sei se todos os bancos tem isso, a CEF tem). Número do documento é seu, você preenche ele, é o documento que vai sair no Boleto. NossoNumero o ACBR faz o calculo e montagem dele. -
Anexa o .ini e o xml gerado por gentileza!
-
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.
-
ACBrMonitorPLUS retornando o NossoNumero do Boleto
nebrio replied to nebrio's tópico in ACBrMonitor PLUS
@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 -
Anexo. Desculpe mas não exclui o código que coloquei na mensagem acima....srsrs DoACBrMDFeUnit.pas
-
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;
-
Amigos @Janio @Juliomar Marchetti Desculpe...revisando...
-
estou enviando um arquivo de nfce e aparece a mensagem
nebrio replied to Walney Cavalcante Duarte's tópico in ACBrMonitor PLUS
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.- 1 reply
-
- 1
-
-
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
-
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.
-
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.