Ir para conteúdo
  • Cadastre-se

Fernando Amado

Membros
  • Total de ítens

    133
  • Registro em

  • Última visita

Tudo que Fernando Amado postou

  1. Foi um retorno enviado pelo gerente do banco: "Linha 0007, Lote 0001, Trailer de Lote: Quantidade de Registros com erro. informado '000004'. Correto '000006'"
  2. Bom dia Pessoal, Realizei um ajuste no contador do registro Trailler do banco do brasil, pois ele não estava considerando as duas linhas do Header. Abraço ACBrBancoBrasil.pas
  3. Exatamente Everson, eu aqui tenho o Lazarus instalado e mantenho atualizado diariamente, mantenho também uma versão paralela do monitor com algumas modificações que se fizeram necessários aqui na empresa onde trabalho, como por exemplo integrar a NFSe no monitor, isso além de me permitir atender algumas necessidades pessoais também consigo fazer algumas contribuições ao componente com correções e melhorias.
  4. Bom dia, Eu fiz o método de retornar o nosso numero pelo índice do título, não sei se serve para você, estou usando ela já faz um mês sem problemas. Precisa colocar o o método no ACBrMonitorConsts CMetodoMontarNossoNumero = 'montarnossonumero'; DoBoletoUnit.pas
  5. Bom dia José, Realizei a manutenção, se quiser avaliar para subir no repositório oficial segue o .pas ACBrBancoBrasil.rar
  6. Bom dia José, aqui na empresa, antes de iniciarmos a integração com o ACBr era utilizado um terceiro gerador de boleto chamado CobreBemX e através dele, o arquivo de remessa sendo gerado com os mesmo parâmetros também não gera o segmento "S", os dois arquivos gerados estão saindo exatamente iguais, somente esse contador de linhas que da diferença. Esse trecho foi retirado do arquivo gerado com o ACBr 00100015 000011 00199999 000001000012 Esse trecho com o arquivo gerado pelo CobreBemX 00100015 000008 00199999 000001000010
  7. Bom dia, Alguém que usa boleto pelo Monitor poderia me auxiliar, não sei se estou fazendo alguma coisa errada, mas quando gero o arquivo de remessa, no trailler do arquivo está gerando o contador de linhas dobrado. para gerar o arquivo estou usando os comandos: MonitorPLUS.Socket.SendText('BOLETO.LIMPARLISTA'+CrLf+'.'+CrLf); MonitorPLUS.Socket.SendText('BOLETO.INCLUIRTITULOS("'+ ArquivoINI + '","P")'+CrLf+'.'+CrLf); MonitorPLUS.Socket.SendText('BOLETO.GERARREMESSA'+CrLf+'.'+CrLf); Anexo segue o INI usado para inclusão dos títulos e o arquivo de remessa gerado. As duas últimas linhas estão saindo 00100015 000011 00199999 000001000012 Sendo que deveria sair 00100015 000008 00199999 000001000010 Se alguém conseguir me dar uma luz onde estou errando eu agradeço muito. boleto.ini cb280901.rem
  8. Desculpe Italo, segue o lfm ACBrNFSeDANFSeRLRetrato.lfm
  9. Fernando Amado

    Melhoria no DANFSe

    Boa tarde pessoal, Existem alguns servidores, como o SmaraPD, que permitem o envio de vários "itens" de serviço, no entanto na DANFSe atual só imprimi a TAG discriminação em um único campo descritivo. Meu cliente, que já emitia a NFSe pelo site da prefeitura, solicitou que os itens saíssem na DANFSe detalhados com quantidade, descrição, unitário e total, como o site da prefeitura fazia então fiz uma modificação da DANFSe para ler as tags de quantidade, descrição, unitário e total que já existem no componente e exibir em uma SubDetail, e para deixar configurável criei uma propriedade do componente chamada DetalharServico para habilitar ela. Estou enviado os arquivos modificados para serem avaliados e possivelmente subir a modificação na versão oficial. Aqui já estamos usando em produção com o cliente e funcionando perfeitamente. Qualquer dúvida estou a disposição. ACBrNFSeDANFSeRLClass.pas ACBrNFSeDANFSeRLRetrato.pas ACBrNFSeDANFSeClass.pas ACBrNFSeDANFSeRL.pas
  10. Bom dia Italo, O problema estava no pnfsLerListaNFSe.pas linha 508... alterei de: if Provedor = proSMARAPD then FNFSe.XML := '<nfdok ' + Leitor.Grupo + '</nfdok>'; Para: if Provedor = proSMARAPD then FNFSe.XML := Leitor.Grupo; Agora está funcionando perfeitamente. Segue o .pas anexo para avaliação. Muito obrigado pelo auxilio. pnfsLerListaNFSe.pas
  11. Bom dia Italo, Após a atualização resolveu o problema no <NOTA_ no entanto agora no inicio e no final do arquivo tivemos um probleminha, ele abriu a tag nfdok uma dentro da outra e fechou ela duas vezes no final, vou debugar aqui ver se encontro onde realizar a correção. Inicio: <?xml version="1.0" encoding="UTF-8"?><tbnfd><nfdok <nfdok numeronfd="3370"><NewDataSet><NOTA_FISCAL> Fim: </NOTA_FISCAL></NewDataSet></nfdok></nfdok></tbnfd> Mais uma vez obrigado pelo apoio 3518082462213900013556000000000003370-nfse.xml
  12. Boa tarde Italo, Uma parte do problema eu resolvi, o fato dele estar gerando o inicio do arquivo com: <CompNfse> ao invés de <tbnfd><nfdok numeronfd=><NewDataSet> Resolvi alterando o arquivo INI do servidor de: [RetornoNFSe] Texto1=<CompNfse>%DadosNFSe%</CompNfse> Para: [RetornoNFSe] Texto1=<tbnfd><nfdok numeronfd="%NumeroNFSe%"><NewDataSet>%DadosNFSe%</NewDataSet></nfdok></tbnfd> No entanto na função ExtrairNotasRetorno do ACBrNFSeWebServices o valor do "FRetornoNFSe.ListaNFSe.CompNFSe.Items.NFSe.XML" continua vindo com o final cortado "</NOTA_" conforme nos XML enviados anteriormente, esse problema ainda não consegui resolver. Mais um detalhe, é que para a linha colocada no INI funcionar eu tive que adicionar um Parametro para o NumeroNFSe, com isso após a chamada da função GerarRetornoNFSe na função ExtrairNotasRetorno do ACBrNFSeWebServices adicionei um StringReplace: FRetNFSe := GerarRetornoNFSe(FRetornoNFSe.ListaNFSe.CompNFSe.Items.NFSe.XML); FRetNFSe := StringReplace(FRetNFSe, '%NumeroNFSe%', FRetornoNFSe.ListaNFSe.CompNFSe.Items.NFSe.Numero, [rfReplaceAll]); Não sei se é a melhor solução, se coloco um "if (Provedor = proSMARAPD) then " enfim, ainda estou terminando a integração e teste, fiz um outro ajuste no pnfsNFSeW_SMARAPD, assim que eu concluir todos os teste mando as units que alterei para avaliação. Agora se puder me dar uma luz com relação a esse caso do "</NOTA_" que vem cortado eu agradeço muito.
  13. Se quiser usar o programa de exemplo nos fontes, vou enviar o ini de condiguração do exemplo que estou usando. O lote é 1 e Protocolo é QMXT-NNZJ no cidades.ini alterei a cidade de Birigui para o novo servidor: [3506508] Nome=Birigui UF=SP Provedor=SmaraPD NomeURL_H=201.49.71.187:8085 NomeURL_P=201.49.71.187:8085 Demo_ACBrNFSe .ini
  14. Bom dia Italo, Segue todos os arquivos gerados pelo componente sendo os logs o 25325982-nfse.xml é o Notas e o 1307018-rps.xml é o rps da pasta Recibos. Obrigado pelo auxílio. QMXT-NNZJ-con-lot-soap.xml 1-rec.xml 1-rec-soap.xml 1-env-lot.xml 1-env-lot-soap.xml QMXT-NNZJ-lista-nfse.xml QMXT-NNZJ-lista-nfse-soap.xml QMXT-NNZJ-con-lot.xml
  15. A impressão que eu tenho é que ele está salvando o XML no formato de outro servidor e não do SmaraPD
  16. Boa Tarde Italo, Estou com os fontes atualizados sim... o erro dava quando habilitava a opção Consultar Lote Após Envio, mas quando executo a função ConsultarLoteRps() manualmente após o envio ele funciona mais ou menos, pois assim que termina a execução da função (inclusive usando o exemplo do ACBr na pasta do componente) o XML que é salvo na pasta NFSe vem com problema, no final do arquivo a tag vem incompleta </NOTA_</CompNfse> sendo que ela deveria vir </NOTA_FISCAL></CompNfse> .... Segue anexo o arquivo gerado no Exemplo do ACBr. Outro fato que não estou conseguindo salvar é o arquivo xml final da NFSe que seria tipo um retorno da lista que fica no formato <tbnfd> <nfdok numeronfd="3370"> <NewDataSet> <NOTA_FISCAL> Se puderem me orientar qual método usar para salvar essa lista eu agradeço 3518082462213900013556000000000003370-nfse.xml
  17. Só mais uma informação, estou deixando a opção "Consultar Lote Após Envio" desabilitada pois quando habilito fala que o metodo consultar lote não foi implementado pelo servidor SmaraPD... ou seja, não estou gerando o XML da NFSe somente do RPS... Alguém que utiliza o SmaraPD, poderia me orientar como gerar esse XML para poder fazer a impressão. Obrigado
  18. Fernando Amado

    Problemas com SmaraPD

    Boa tarde pessoal, Estou tendo um problema com o servidor SmaraPD... alimento o componente e uso a função Enviar(); ele faz a transmissão corretamente, o xml é validade e transmitido tudo OK, no entanto apos a transmissão quando mando imprimir a danfse abre sem os dados de retorno... tentei fazer a reimpressão do XML que ficou salvo na minha pasta e ai abre tudo em branco, pois quando ele da o Load do XML no componente ele não encontra as TAGS do formato do SmaraPD... Essa mesma nota se faço o download do XML pelo site da prefeitura ele vem no formato correto, ou seja, o XML que chega na prefeitura está no padrão, mas o do diretório não. abro os dois e a diferença é nitida: As que ficam na minha pasta segue o padrão no inicio do arquivo assim: <tbnfd> <nfd> <numeronfd>0</numeronfd> Ja as que baixo ficam assim: <tbnfd> <nfdok numeronfd="3367"> <NewDataSet> <NOTA_FISCAL> Segue anexo os dois arquivos, alguém pode me auxiliar onde estou errado, o que posso fazer para ficar com o XML igual ao da prefeitura? Obrigado 35150.xml 1305018-rps.xml
  19. @Italo Jurisato Junior @falcon2000 A cidade de Birigui - SP está no server SMARAPD Olhando o manual de integração oficial da cidade na página 12 do pdf as tags razaotomador e emailtomador mostram o nome do Servidor. http://www.birigui.sp.gov.br/birigui/controle/arquivo/manual_integracao_birigui.pdf
  20. Boa tarde pessoal, Eu estava tendo problemas com a geração via ACBrMonitorPLUS com relação ao grupo Faturas. A rejeição era "Rejeição: campos do grupo fatura não informados" Essa rejeição ocorria devido ao componente suprimir a Tag desconto quando o valor era 0 e agora após essa nova validação, o grupo Fatura não é obrigatório, mas se for informado tem que sair todas as tags, inclusive a desconto com o valor zerado. Para correção eu alterei no arquivo "../Fontes/ACBrDFe/ACBrNFe/PCNNFE/pcnNFeW.pas" a função antes era: procedure TNFeW.GerarCobrFat; begin if (trim(nfe.Cobr.Fat.nFat) <> '') or (nfe.Cobr.Fat.vOrig > 0) or (nfe.Cobr.Fat.vDesc > 0) or (nfe.Cobr.Fat.vLiq > 0) then begin Gerador.wGrupo('fat', 'Y02'); Gerador.wCampo(tcStr, 'Y03', 'nFat ', 01, 60, 0, nfe.Cobr.Fat.nFat, DSC_NFAT); Gerador.wCampo(tcDe2, 'Y04', 'vOrig ', 01, 15, 0, nfe.Cobr.Fat.vOrig, DSC_VORIG); Gerador.wCampo(tcDe2, 'Y05', 'vDesc ', 01, 15, 0, nfe.Cobr.Fat.vDesc, DSC_VDESC); Gerador.wCampo(tcDe2, 'Y06', 'vLiq ', 01, 15, 0, nfe.Cobr.Fat.vLiq, DSC_VLIQ); Gerador.wGrupo('/fat'); end; end; Alterei para: procedure TNFeW.GerarCobrFat; begin if (trim(nfe.Cobr.Fat.nFat) <> '') or (nfe.Cobr.Fat.vOrig > 0) or (nfe.Cobr.Fat.vDesc > 0) or (nfe.Cobr.Fat.vLiq > 0) then begin Gerador.wGrupo('fat', 'Y02'); Gerador.wCampo(tcStr, 'Y03', 'nFat ', 01, 60, 1, nfe.Cobr.Fat.nFat, DSC_NFAT); Gerador.wCampo(tcDe2, 'Y04', 'vOrig ', 01, 15, 1, nfe.Cobr.Fat.vOrig, DSC_VORIG); Gerador.wCampo(tcDe2, 'Y05', 'vDesc ', 01, 15, 1, nfe.Cobr.Fat.vDesc, DSC_VDESC); Gerador.wCampo(tcDe2, 'Y06', 'vLiq ', 01, 15, 1, nfe.Cobr.Fat.vLiq, DSC_VLIQ); Gerador.wGrupo('/fat'); end; end; Alterando a obrigação do campo para 1 ele gera a tag no XML mesmo se o valor estiver zerado. Isso resolve o problema. Caso queiram subir a correção no SVN segue anexo o .pas modificado. Obrigado pcnNFeW.zip
  21. Somente para não deixar o tópico sem um fim... Acabei fazendo um "subterfúgio técnico" para resolver o problema. Como meu problema estava em algum conflito com a minha aplicação, criei uma DLL com as minhas rotinas de envio de e-mail utilizando o ACBrMail e consumi essa DLL dentro da minha aplicação, como o envio de e-mail por fora da minha aplicação funcionava perfeitamente, o problema foi "resolvido". Obrigado
  22. Realmente algo muito estranho está acontecendo, verifiquei o par de DLLs e estão com a versão 0.9.8.14, na propriedade From é um e-mail válido e o FromName já tentei passando o nome e o próprio e-mail, também sem sucesso. Fiz um novo teste e olha só a bruxaria... Uma unica Unit compartilhada para dois DPR. Criei um projeto novo, uma Unit nova joguei os campos e o componente na tela e salvei na mesma pasta da minha aplicação, configurei o Output Directory para o mesmo local da minha aplicação, abri o dpr da minha aplicação, dei uses na unit e criei um botão para chamar a tela. Rodei os 2 executáveis junto e mandei o e-mail, no projeto novo vai, na minha aplicação não. Mesma tela, mesmo diretório, mesma DLL ssleay32.dll e libeay32.dll, mesma configuração no componente, mesma internet, mesmo tudo... somente DPR diferente, um funciona outro não.
  23. Ricardo, ja havia feito os testes com todas as combinações possíveis porta 25, 465, 587 e todas as variações de TSL e SSL... o problema é que independente das configurações normais do gmail, fora da minha aplicação funciona com essa mesma configuração que estou colocando... tanto pelo Monitor, quanto em uma aplicação que que fiz somente com essa tela de email.
  24. Boa tarde Pessoal, Estou com um problema e quebrando a cabeça em cima disso já a uns 2 dias mais está difícil encontrar uma solução. O problema não está no ACBrMail e sim em minha aplicação, mais estou colocando aqui para ver se alguém consegue me dar uma luz. A situação é: Minha aplicação não envia e-mail com o ACBrMail com Gmail. Na teoria um assunto muito batido aqui no fórum já, no entanto o comportamento é estranho pelo seguinte, funcionava normalmente até semana passada e parou de repente. (Estou com a ultima versão no trunk2 e não houve atualização no ACBrMail entre funcionar e parar de funcionar). Verifiquei DLLs do openSLL e a configuração de aplicativos menos seguros na conta do Gmail. Ai comecei os teste. Inicialmente fiz o teste usando o botão "Testar configuração" que tem no projeto do ACBrMonitor Plus e o e-mail foi enviado normalmente, então peguei os mesmo edits do monitor, o mesmo botão, ctrl + c, ctrl + v na minha aplicação e a mesma configuração, não funcionou na minha aplicação. Segundo teste, peguei os campos no ACBrMonitor Plus e joguei em uma nova aplicação no Delphi e fiz o teste, funcionou normalmente, então tive a certeza que o problema estava em minha aplicação e não no ACBrMail. Comecei a disconfiar que em minha tela de configuração poderia ter algum "uses" que estivesse interferindo no funcionamento do ACBrMail. Terceiro teste, peguei a unit que eu criei na minha nova aplicação, dei uses dessa nova tela em minha aplicação e mais uma vez não funcionou. Alguém faz ideia do que pode estar conflitando com o ACBrMail em minha aplicação? O Componente funciona perfeitamente fora dela, porém nela não vai. Pegando o evento OnMailProcess, ele para em: Email: Iniciando processo de envio. Email: Configurando o cabeçalho do e-mail. Email: Logando no servidor de e-mail. Já verifiquei as DLL o openSSL (Estou usando a versão 0.9.8.14), tanto na System32 quanto na pasta da aplicação, e no componente smtp.gmail.com, porta 587, UTF_8, TSL. O botão enviar está exatamente igual do ACBrMonitor Plus. Obrigado.
×
×
  • 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.