Ir para conteúdo
  • Cadastre-se

Dino Rodrigo S. Moreira

Membro Pro Verificado
  • Total de ítens

    88
  • Registro em

  • Última visita

Tudo que Dino Rodrigo S. Moreira postou

  1. Bom dia a todos! Estou com um problema ao tentar cancelar NFSE na prefeitura de SP, ele dá a seguinte mensagem : Não encontrei final do elemento </PedidoCancelamentoNFe>, vi que esse erro vem na função AdicionarSignatureElement. Desde já agradeço a ajuda!
  2. Boa tarde! Peguei na data de hoje a última atualização do ACBR e não estava conseguindo receber o código do IBGE na consulta do CNPJ, fiz algumas alterações no código e voltou a funcionar normalmente. Segue as alterações : No Create do Objeto eu adicionei a seguinte propriedade : constructor TACBrConsultaCNPJ.Create(AOwner: TComponent); begin inherited; FCNAE2 := TStringList.Create; FPesquisarIBGE := False; fACBrIBGE := TACBrIBGE.Create(nil); FACBrIBGE.IgnorarCaixaEAcentos := True; HTTPSend.Sock.SSL.SSLType := LT_TLSv1; end; No comparador da resposta eu modifiquei o seguinte item : if (UpperCase(TiraAcentos(FCidade)) = UpperCase(TiraAcentos(FACBrIBGE.Cidades[CountCid].Municipio))) And (FUF = FACBrIBGE.Cidades[CountCid].UF) then Segue o arquivo anexado com as alterações ACBrConsultaCNPJ.pas
  3. Retira a opção de busca código do IBGE pra ver se foi.
  4. Pessoal, com esse problema, acabei fazendo uma solução simples, mas funcionou. Eu fico tentando dar download do captcha umas 10 vezes, sempre que dá except eu mando ele tentar novamente. No final acabou ficando estável para o usuário.
  5. Boa tarde, Italo! Desculpa a demora em responder, eu não tinha feito o teste no programa exemplo porque não consegui colocar o cliente para emitir em homologação, hoje fiz uma pequena modificação no sistema de exemplo para incluir uma NFSE real para conseguir fazer o teste em modo produção. Modifiquei o sistema para enviar igual ao programa exemplo e em ambos quando vou enviar o lote ele dá erro de timeout. Quando vou enviar um rps somente pela rotina gerar e enviar nfse ele dá um erro de assinatura de RPS. Com relação ao timeout, modifiquei para um tempo bem grande, 60000 com 20 tentativas e intervalo de 10000 e mesmo assim ele não sai desse erro. Desde já agradeço a ajuda.
  6. Boa tarde a todos! Estou enfrentando um problema de envio para a NFSE da prefeitura de BH, já tentei trocar o tipo de SSLIB para libCapicom, libCapicomDelphiSoap e o mesmo dá o erro da figura Erro Capicom, quando mudo para o libWinCrypt ele dá o erro da figura ErroWinCrypt. Na máquina que está dando essas mensagens, a NFE está sendo emitida normalmente. Se alguem puder me dar uma luz do que pode ser, agradeço bastante. ERRO CAPICOM ERRO WINCRYPT
  7. Boa tarde Pessoal! Hoje fui emitir nota da prefeitura de SP e começou com um erro List Index(0) e não ia de maneira nenhuma, depois de muitos testes, descobri que a prefeitura mudou os códigos de vários serviços. No ACBRNFSE não conseguia retornar o erro real da prefeitura por um pequeno problema no tratamento desse retorno que em vez de retornar o erro da prefeitura, acionava a excessão acima, fiz a alteração na rotina function TNFSeEnviarLoteRPS.TratarResposta: Boolean; no arquivo : AcBrNFSeWebServices.pas De : ProNotaBlu: begin if (FProvedor in [proCTA, proSP]) or ((FProvedor = ProNotaBlu) and (RetEnvLote.InfRec.InformacoesLote.QtdNotasProcessadas > 0)) then begin FNotasFiscais.Items.NFSe.Numero := RetEnvLote.InfRec.ListaChaveNFeRPS.ChaveNFeRPS.Numero; FNotasFiscais.Items.NFSe.CodigoVerificacao := RetEnvLote.InfRec.ListaChaveNFeRPS.ChaveNFeRPS.CodigoVerificacao; FNotasFiscais.Items.NFSe.NumeroLote := RetEnvLote.InfRec.NumeroLote; end; end; end; Para : ProNotaBlu: begin if (FProvedor = proCTA) or ((FProvedor in [ProNotaBlu, proSP]) and (RetEnvLote.InfRec.InformacoesLote.QtdNotasProcessadas > 0)) then begin FNotasFiscais.Items.NFSe.Numero := RetEnvLote.InfRec.ListaChaveNFeRPS.ChaveNFeRPS.Numero; FNotasFiscais.Items.NFSe.CodigoVerificacao := RetEnvLote.InfRec.ListaChaveNFeRPS.ChaveNFeRPS.CodigoVerificacao; FNotasFiscais.Items.NFSe.NumeroLote := RetEnvLote.InfRec.NumeroLote; end; end; end; ACBrNFSeWebServices.pas
  8. Bom dia! Tive que mudar a busca por nome novamente, segue novo .pas atualizado ACBrIBGE.pas
  9. Boa tarde a Todos! Estudando o código do AcBrIBGE, eu pude verificar que o site do IBGE mudou novamente, fiz a alteração no componente e o mesmo voltou a funcionar. Poderia por favor os moderadores darem uma olhada .pas em anexo para verificar se o mesmo se encontra no padrão e incluir no Trunk para as próximas atualizações. Obs. Tive que fazer uma correção também no AcBrConsultaCNPJ na conferencia da cidade, visto que o novo site do IBGE trás a informação Case Sensitive, mudei na função : function TACBrConsultaCNPJ.Consulta(const ACNPJ, ACaptcha: String; ARemoverEspacosDuplos: Boolean): Boolean; no item : // Consulta Codigo da Cidade ACBrIBGE fCodigoIBGE := ''; if (FCidade <> '') and (FPesquisarIBGE) then begin if (sMun <> FCidade) then // Evita buscar municipio já encontrado begin FACBrIBGE.BuscarPorNome( FCidade, FUF, False, False ) ; sMun := FCidade; end ; if FACBrIBGE.Cidades.Count > 0 then // Achou ? for CountCid := 0 to FACBrIBGE.Cidades.Count -1 do Begin if (UpperCase(TiraAcentos(FCidade)) = UpperCase(TiraAcentos(FACBrIBGE.Cidades[CountCid].Municipio))) And (FUF = FACBrIBGE.Cidades[CountCid].UF) then Begin FCodigoIBGE := IntToStr( FACBrIBGE.Cidades[CountCid].CodMunicio ); Break; End; End; end ; ACBrConsultaCNPJ.pas ACBrIBGE.pas
  10. Boa tarde! Realmente eu vi que esses retornos são do CNAB 400, pro CNAB 240 não achei, por isso, fiz uma alteração no .pas, criando um conversor : function CodMotivoRejeicaoToDescricao(const TipoOcorrencia:TACBrTipoOcorrencia; CodMotivo:string): String; override; function TACBrBancoSantander.CodMotivoRejeicaoToDescricao(const TipoOcorrencia: TACBrTipoOcorrencia; CodMotivo: string): String; var cod_motivointeiro : integer; begin //Ocorrências 03, 26 e 30 if CodMotivo <> '' then cod_motivointeiro := StrToInt(CodMotivo); case cod_motivointeiro of 01 : Result := 'Código do banco invalido'; 02 : Result := 'Código do registro detalhe inválido'; 03 : Result := 'Código do segmento invalido'; 04 : Result := 'Código do movimento não permitido para carteira'; 05 : Result := 'Código de movimento invalido'; 06 : Result := 'Tipo/numero de inscrição do cedente inválidos'; 07 : Result := 'Agência/conta/DV invalido'; 08 : Result := 'Nosso numero invalido'; 09 : Result := 'Nosso numero duplicado'; 10 : Result := 'Carteira invalida'; 11 : Result := 'Forma de cadastramento do titulo invalida Se desconto, titulo rejeitado - operação de desconto / horário limite.'; 12 : Result := 'tipo de documento invalido'; 13 : Result := 'identificação da emissão do Boleto invalida'; 14 : Result := 'identificação da distribuição do Boleto invalida'; 15 : Result := 'características da cobrança incompatíveis'; 16 : Result := 'data de vencimento invalida'; 17 : Result := 'data de vencimento anterior a data de emissão'; 18 : Result := 'vencimento fora do prazo de operação'; 19 : Result := 'titulo a cargo de bancos correspondentes com vencimento inferior a xx dias'; 20 : Result := 'valor do título invalido'; 21 : Result := 'espécie do titulo invalida'; 22 : Result := 'espécie não permitida para a carteira'; 23 : Result := 'aceite invalido'; 24 : Result := 'Data de emissão inválida'; 25 : Result := 'Data de emissão posterior a data de entrada'; 26 : Result := 'Código de juros de mora inválido'; 27 : Result := 'Valor/Taxa de juros de mora inválido'; 28 : Result := 'Código de desconto inválido'; 29 : Result := 'Valor do desconto maior ou igual ao valor do título'; 30 : Result := 'Desconto a conceder não confere'; 31 : Result := 'Concessão de desconto - já existe desconto anterior'; 32 : Result := 'Valor do IOF'; 33 : Result := 'Valor do abatimento inválido'; 34 : Result := 'Valor do abatimento maior ou igual ao valor do título'; 35 : Result := 'Abatimento a conceder não confere'; 36 : Result := 'Concessão de abatimento - já existe abatimento anterior'; 37 : Result := 'Código para protesto inválido'; 38 : Result := 'Prazo para protesto inválido'; 39 : Result := 'Pedido de protesto não permitido para o título'; 40 : Result := 'Título com ordem de protesto emitida'; 41 : Result := 'Pedido de cancelamento/sustação para títulos sem instrução de protesto'; 42 : Result := 'Código para baixa/devolução inválido'; 43 : Result := 'Prazo para baixa/devolução inválido'; 44 : Result := 'Código de moeda inválido'; 45 : Result := 'Nome do sacados não informado'; 46 : Result := 'Tipo /Número de inscrição do sacado inválidos'; 47 : Result := 'Endereço do sacado não informado'; 48 : Result := 'CEP inválido'; 49 : Result := 'CEP sem praça de cobrança (não localizado)'; 50 : Result := 'CEP referente a um Banco Correspondente'; 51 : Result := 'CEP incompatível com a unidade de federação'; 52 : Result := 'Unidade de federação inválida'; 53 : Result := 'Tipo/Número de inscrição do sacador/avalista inválidos'; 54 : Result := 'Sacador/Avalista não informado'; 55 : Result := 'Nosso número no Banco Correspondente não informado'; 56 : Result := 'Código do Banco Correspondente não informado'; 57 : Result := 'Código da multa inválido'; 58 : Result := 'Data da multa inválida'; 59 : Result := 'Valor/Percentual da multa inválido'; 60 : Result := 'Movimento para título não cadastrado'; 61 : Result := 'Alteração de agência cobradora/dv inválida'; 62 : Result := 'Tipo de impressão inválido'; 63 : Result := 'Entrada para título já cadastrado'; 64 : Result := 'Número da linha inválido'; end; end; e no retorno do CNAB 240 : Titulo.DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao( Titulo.OcorrenciaOriginal.Tipo, IntToStr(CodMotivo))); ACBrBancoSantander.pas
  11. Então, eu estou usando o Schema disponibilizado com o programa de exemplo, tentei pegar o da prefeitura do Rio, mas ele nem lê.
  12. Bom dia, Pessoal! Venho pedir a ajuda de vocês, desde que atualizei a versão da NFSE, não consigo emitir NF carioca, dá a seguinte mensagem no retorno do envio da NF : Falha na validação do Lote 1472 A name contained an invalid character. Erro parsing 'Ass_rps:1004S01' as ID datatype. The atribute 'Id' with value 'Ass_rps:1004S01' failed to parse. Já procurei no forum e em tudo que é lugar e não consegui nem uma luz, se alguém puder me ajudar, agradeço.
  13. Olá Italo! Atualizei os fontes, continua dando o seguinte erro : "Erro não especificado". Abs!
  14. Bom dia, Italo! Fiz a alteração no provedor Fiorilli e mandei pro cliente, ele só pode testar hoje e apresentou o seguinte erro : "Erro desconhecido". Não sei se faltou alguma alteração, fiz no pnfsConversao.pas trocando a cidade de Saquarema de GOVBR para Fiorilli, depois no arquivo do provedor eu adicionei pra cidade a URL de webservice de saquarema. Tem algum outro ponto que precisa ser trocado?
  15. Bom dia! Estou com um cliente de Saquarema - RJ, o provedor mudou do GOVBR para o Fiorelli, como posso ajudar? Faço a alteração no .pas ou envio o link ? Caso seja o Link do webservice, segue : http://201.18.231.99:5661/IssWeb-ejb/IssWebWS/IssWebWS?wsdl
  16. Bom dia a todos! Tive problema no GINFES de São Caetano do Sul - SP em relação a busca automática após o envio da NFSE, tem horas que ele retorna a busca do lote sem apresentar qualquer erro e dá o resultado como falso. Eu modifiquei essa função adicionando um loop que ficar até ele trazer um erro ou dar OK. Até o presente momento funcionou certinho, se puderem avaliar a função e verificar se tem como deixar fixo no componente para posteriores atualizações ou então propor uma solução melhor, desde já agradeço. Segue abaixo a copia da rotina de envio alterada : function TWebServices.Envia(ALote: String): Boolean; begin self.Enviar.FNumeroLote := ALote; Result := Self.Enviar.Executar; if not (Result) then begin if Assigned(TACBrNFSe( FACBrNFSe ).OnGerarLog) then TACBrNFSe( FACBrNFSe ).OnGerarLog(Self.Enviar.Msg); if Self.Enviar.Msg <> '' then raise Exception.Create(Self.Enviar.Msg) else raise Exception.Create('Erro Desconhecido!') end; if (TACBrNFSe( FACBrNFSe ).Configuracoes.WebServices.ConsultaLoteAposEnvio) and (Result) then begin Self.ConsSitLote.Cnpj := TACBrNFSe( FACBrNFSe ).NotasFiscais.Items[0].NFSe.Prestador.Cnpj; Self.ConsSitLote.InscricaoMunicipal := TACBrNFSe( FACBrNFSe ).NotasFiscais.Items[0].NFSe.Prestador.InscricaoMunicipal; Self.ConsSitLote.Protocolo := Self.Enviar.Protocolo; Self.ConsLote.Protocolo := Self.Enviar.Protocolo; if not (TACBrNFSe( FACBrNFSe ).Configuracoes.WebServices.Provedor in [profintelISS, proSaatri, proISSDigital, proFiorilli]) then begin Result := Self.ConsSitLote.Executar; while (not Result) and (Self.ConsSitLote.Msg = '') do begin Sleep(1000); Result := Self.ConsSitLote.Executar; end; if not (Result) then begin if Assigned(TACBrNFSe( FACBrNFSe ).OnGerarLog) then TACBrNFSe( FACBrNFSe ).OnGerarLog(Self.ConsSitLote.Msg); raise Exception.Create(Self.ConsSitLote.Msg); end; end; Result := Self.ConsLote.Executar; while (not Result) and (Self.ConsLote.Msg = '') do begin Sleep(1000); Result := Self.ConsLote.Executar; end; if not (Result) then begin if Assigned(TACBrNFSe( FACBrNFSe ).OnGerarLog) then TACBrNFSe( FACBrNFSe ).OnGerarLog(Self.ConsLote.Msg); raise Exception.Create(Self.ConsLote.Msg); end; end; end;
×
×
  • 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.