Ir para conteúdo
  • Cadastre-se

Filipe Natividade

Membros
  • Total de ítens

    133
  • Registro em

  • Última visita

Tudo que Filipe Natividade postou

  1. Bom dia, deve-se notar também que no momento da geração do XML, na unit pnfsNFSeW_IPM.pas, a passagem do campo: situacao_tributaria, nos últimos commits desta unit, o preenchimento deste campo mudou varias vezes. 16295 - 14/01/2019 Gerador.wCampoNFSe(tcStr, '', 'situacao_tributaria', 1, 4, 1, NaturezaOperacaoToStr( NFSe.NaturezaOperacao), ''); 16296 - 14/01/2019 Gerador.wCampoNFSe(tcStr, '', 'situacao_tributaria', 1, 4, 1, RegimeEspecialTributacaoToStr( NFSe.RegimeEspecialTributacao), ''); 16423 - 29/01/2019 Gerador.wCampoNFSe(tcStr, '', 'situacao_tributaria', 1, 4, 1, NaturezaOperacaoToStr( NFSe.NaturezaOperacao), ''); // cleyton 25/01/2019 16519 - 08/02/2019 Gerador.wCampoNFSe(tcStr, '', 'situacao_tributaria', 1, 4, 1, NFSe.Servico.CodigoTributacaoMunicipio, ''); por causa deste motivo, não estava lendo o campo: NFSe.Servico.CodigoTributacaoMunicipio, como relatado, pois antes não era previsto. *Anexe seu código para analise dos moderadores.
  2. Bom dia, segue em anexo alteração do provedor de Canelinha - SC de: CIGA para: Betha. No site do município é possível visualizar a informação que realmente o provedor é Betha. https://www.canelinha.sc.gov.br/portalcidadao/index/detalhes/codMapaItem/33818/codServico/1535 Cidades.ini
  3. Tudo certo @Daniel Simoes, o ajuste resolveu o problema. Muito obrigado.
  4. Estou tendo problemas ao enviar um relatório gerencia para o EscECF Epson TM-T900F Na unit do escecf o tamanho limite de caracteres por linha é 512 porem quando a posição 512 é uma quebra de linha, ocorre erro no ECF. realizei uma alteração no envio da linha do relatório gerencia, para que quando a linha possuir 512 caracteres e a posição 512 for uma quebra de linha, a quebra de linha seja ignorada. é possível simular este erro no Emulador na aba Tags de Formatação, adiciona adicionando o conteúdo abaixo e clicando em enviar linha gerencia. ACBrECFEscECF.pas conteudo do relatório gerencia.txt
  5. Boa noite, infelizmente eu nunca utilizei esse provedor.
  6. Muito obrigado @Daniel Simoes.
  7. Filipe Natividade

    ECF FechaCupom

    Pessoal bom dia. Me ajudem a entender, essa regra está correta? Em: if (not Consumidor.Enviado) and (not IdentificaConsumidorRodape) then no momento em que meu aplicativo fecha o cupom os parâmetros estão com os seguintes valores: Consumidor.Enviado = False; IdentificaConsumidorRodape = True; e com essa validação não informa o consumidor no rodapé do cupom. procedure TACBrECF.FechaCupom(Observacao: AnsiString; IndiceBMP : Integer); var Tratado : Boolean; RodapePafECF, InfoConsumidorRodapeBobina: String; begin if (Observacao = '') then Observacao := fsMensagemRodape ; if (not Consumidor.Enviado) and (not IdentificaConsumidorRodape) then begin if Consumidor.Documento <> '' then Observacao := Observacao + '|CPF/CNPJ consumidor: '+Consumidor.Documento ; if Consumidor.Nome <> '' then Observacao := Observacao + '|Nome: '+Consumidor.Nome ; if Consumidor.Endereco <> '' then Observacao := Observacao + '|Endereco: '+Consumidor.Endereco ; end else begin {$IFNDEF NOGUI} if IdentificaConsumidorRodape and MemoAssigned then begin InfoConsumidorRodapeBobina := ''; if Consumidor.Documento <> '' then InfoConsumidorRodapeBobina := InfoConsumidorRodapeBobina + '|CPF/CNPJ consumidor: '+Consumidor.Documento ; if Consumidor.Nome <> '' then InfoConsumidorRodapeBobina := InfoConsumidorRodapeBobina + '|Nome: '+Consumidor.Nome ; if Consumidor.Endereco <> '' then InfoConsumidorRodapeBobina := InfoConsumidorRodapeBobina + '|Endereco: '+Consumidor.Endereco ; InfoConsumidorRodapeBobina := StringReplace(InfoConsumidorRodapeBobina,CR+LF,#10,[rfReplaceAll]) ; InfoConsumidorRodapeBobina := StringReplace(InfoConsumidorRodapeBobina,'|',#10,[rfReplaceAll]) ; InfoConsumidorRodapeBobina := Trim(DecodificarPaginaDeCodigoECF(InfoConsumidorRodapeBobina)); InfoConsumidorRodapeBobina := AjustaLinhas( InfoConsumidorRodapeBobina, fsMemoColunas, 8 ) ; MemoAdicionaLinha( InfoConsumidorRodapeBobina ); end ; {$ENDIF} end; /*Restante do código*/ end;
  8. Realmente @Daniel Simoes, estava fazendo outra coisa e como não ocorreu erro no teste, não prestei muita atenção. Segue em anexo uma solução para o problema, pois não consegui pensar em outra solução para manter a alteração somente na unit: ACBrTEFDCliDTEF.pas ACBrTEFDCliDTEF.pas
  9. Alteração em anexo. Seria somente isso? ACBrTEFDCliDTEF.pas
  10. Certo @Daniel Simoes, muito obrigado pelo retorno da equipe. segue as alterações somente na unit ACBrTEFDCliDTEF.pas ACBrTEFDCliDTEF.pas
  11. Eu só confirmo as operações depois das impressões do cupom dos CCD, para eu poder informar ao componente que não deve finalizar a transação a confirmar o primeiro cartão, deveria permitir a alteração da propriedade: TEFD.RespostasPendentes.Objects[0].Finalizacao pois é somente leitura, por essa causa realizei a alteração em: ConfirmarTransacoesPendentes que deixa o componente decidir se é ou não a ultima transação pendente. Agora não sei como você conseguiu homologar, pois quase bem dizer todas as oepraçãoes de TEF.ADM não funcionam ou funcionam parcialmente, pelo menos em Delphi. E lembrando que em Delphi o TEFD DEMO está com todos esses problemas relatados.
  12. pode explicar melhor, pois ao fazer dois TEF.CRT, e manfar finalizar o cupom fiscal, o próprio componente ACBr comanda a confirmação de pagamento na operadora.
  13. Estou fazendo a Homologação do D-TEF e encontrei problemas nas seguintes funções. TACBrTEFD.ConfirmarTransacoesPendentes * caso haja mais de um pagamento em cartão, ao confirmar na operadora o primeiro pagamento, finaliza a transação e automaticamente a operadora estorna o segundo pagamento. TACBrTEFDCliDTEF.FazerRequisicao * Algumas operações não estão sendo confirmadas e finalizadas na operadora, ocasionando erros no nas próximas transações. * Ao imprimir o comprovante de determinadas operações, a função de impressão destrói a variável com o conteúdo do comprovante e ao voltar para a função: FazerRequisicao ocorre access violation. * Ao executar o função: xTransacaoCancelamentoPagamento ocorre access violation devido a tipo da variável: pNumeroControle := ' ' * Ao chamar a tela de funções da ADM, a tela fica em loop caso clique na opção de cancelar. * Não está excluindo o arquivo de backup da resposta de algumas operações, ocasionando erro nas próximas transações. Segue em anexo alterações em duas units para corrigir todos os problemas citados acimas com poucas alterações exclusivas para o CliDTEF. ACBrTEFD.pas ACBrTEFDCliDTEF.pas
  14. Boa tarde a todos. Alguma novidade em questão deste problema?
  15. Para quem utiliza configuração: SSLLib = libWinCrypt e XMLSignLib = xsMsXml2. Enquanto não sai uma correção para o problema, alterei o arquivo Betha.ini para a seguinte alteração. [Assinar]RPS=1Lote=0 para minha cidade está aceitando o lote somente com os RPS assinados.
  16. SSLCryptLib = cryWinCrypt SSLHttpLib = httpWinHttp SSLLib = libCustom SSLXmlSignLib = xsLibXml2
  17. Bom dia, Atualizei meus fontes novamente e refiz os testes. vou anexar os prints para ver o problema.
  18. Sim, estou com os fontes atualizados. A questão é, se os dois campos estiverem com valor: 1, o arquivo deve ter a assinatura de cada RPS e uma ultima assinatura para o lote, ou não?
  19. Bom dia. Notei que devido a alguma alteração a assinatura do RPS e LOTE não está obedecendo a configuração do arquivo Betha.INI [Assinar] RPS=1 Lote=1 está desta forma, mas ao enviar o Lote, somente o lote é assinado, e ocasiona rejeição pelo provedor, pois pede assinatura do RPS. fiz a troca para: [Assinar] RPS=1 Lote=0 e ao enviar o lote, o RPS dentro do lote foi assinado e foi autorizado pelo provedor. Agora, tem que verificar se deve-se manter essa nova configuração ou ajustar o componente para assinar o lote e o RPS dentro do lote.
  20. Não, pq a mensagem em multipart/form-data fica incorreta.
  21. Bom dia. Essa alteração se faz necessária devido a função: ConverteXMLtoUTF8(FPEnvelopeSoap), adiciona no inicio de FPEnvelopeSoap a string: <?xml version="1.0" encoding="UTF-8"?>, mas como a variável: FPEnvelopeSoap está com o conteúdo em: multipart/form-data, coloquei a condição, se o inicio do conteudo em multipart/form-data conter essa string inicial, não é reconhecida pelo webservice. segue os fontes atualizados para a Revisão: 14585 ACBr Trunk2.rar
  22. segue código as as alterações mais recentes. ACBr Trunk2.rar
×
×
  • 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.