Ir para conteúdo
  • Cadastre-se

Lfm_

Membros
  • Total de ítens

    100
  • Registro em

  • Última visita

Tudo que Lfm_ postou

  1. Então, fiz isso, mudei no ini, porém ele emite este erro: X999 Erro de Conexão: Erro Interno: 0 Erro HTTP: 415 URL: https://wsblumenau1.simplissweb.com.br/nfseservice.svc/nfse WebService retornou um XML vazio. Preciso fazer algo a mais além de mexer no ini?
  2. Eu voltei o ini antigo e pra mim está dando erro que não encontra a URL. Alguém está conseguindo emitir? Apenas voltaram o ini?
  3. Era isto mesmo!!! Obrigado!
  4. Boa tarde, estamos tentando emitir nota fiscal para o Rio de janeiro, onde já realizamos as trocas para o padrão nacional, porém retorna a mensagem abaixo: Está acontecendo com mais alguém? O que fizeram para ajustar? Desde já agradeço a atenção, Luiz
  5. Sim, estou com este mesmo problema agora, alguém sabe se será implementado? É no layput da Abrasf 2.0 correto?
  6. Boa tarde pessoal, foi adicionado o código abaixo no provedor Infisc: if NFSe.Prestador.Endereco.CodigoMunicipio <> '' then Result.AppendChild(AddNode(tcStr, '#1', 'cLocPrestacao', 1, 15, 1, NFSe.Prestador.Endereco.CodigoMunicipio, '')); Result.AppendChild(AddNode(tcInt, '#1', 'cPaisPrestacao', 1, 4, 1, NFSe.Prestador.Endereco.CodigoPais, '')); Porém estes dois campos não são esperados na cidade de Caxias do Sul/RS e ocorre erro. Após comentar esta parte a emissão da nota fiscal foi possível novamente. Att, Luiz
  7. @Italo Giurizzato Junior Perdão, não tinha visto, deu certo!!! Muito obrigado
  8. @Italo Giurizzato Junior Boa tarde, se eu alterar o ini e instalar os componentes de novo é insuficiente? Será necessário ainda alterações no código é isso? Obrigado, Luiz
  9. Bom dia pessoal, Surgiu uma necessidade em um cliente de emitir uma nota fiscal de serviços dentro do município, onde é necessário informar qual o anexo do simples nacional a empresa está enquadrada, pois dependendo do anexo a alíquota do ISS é diferente. A Elotech utiliza o padrão 2.03 da Abrasf, não encontrei nenhum campo relacionado ao anexo no manual, não existe mesmo ou a nomenclatura e a forma de enviar são diferentes? Desde já agradeço a atenção, Luiz
  10. A sequência, sai de sequência, se na remessa tiver boletos variados, um com multa e outro não, o certo era iniciar o ISequencia com a sequencia gerada no registro anterior. ISequencia := (ACBrBoleto.ListadeBoletos.IndexOf(ACBrTitulo) * fpQtdRegsLote) + 1; //AQUI TERIA QUE INICIAR COM A SEQUENCIA ANTERIOR Terei que ver como resolver agora..
  11. Eu tbm não uso santander, é um cliente que passou a usar, e não conheço a lógica ou não-lógica do banco... A forma como alimento o componente funciona bem gostoso pra todos os bancos, só pra essa coisa fofa ai que não... Já busquei uma solução pra não ter que ficar depurando e perdendo tempo buscando... como vc disse o fórum é gratuito e aberto, ou seja, esperamos que alguém que conheça o banco ou as maluquices dele responda, se não responder, ai terei que correr atrás.. que pelo visto é o que vou ter que fazer
  12. Tá certo, pela educação não estão afim de resolver.
  13. Então, eu vi que ele faz isso aqui embaixo, mas não entendi pq faz, qual a regra disso: ACBrBancoSantander.pas Linhas 641 à 816 fpQtdRegsLote := 1; if sCodMovimento = '01' then begin if (PercentualMulta = 0) then fpQtdRegsLote := 3 else fpQtdRegsLote := 4; if (ACBrTitulo.ACBrBoleto.Cedente.PIX.TipoChavePIX <> tchNenhuma) then fpQtdRegsLote := fpQtdRegsLote + 1; end; ISequencia := (ACBrBoleto.ListadeBoletos.IndexOf(ACBrTitulo) * fpQtdRegsLote) + 1; ...
  14. Opa, removi aqui e a geração dos arquivos ficou idêntica. Fiz um antes e depois, pq de fato não compreendi o que poderia mudar removendo ele, vejo apenas para o debug uma melhoria. Mas esse sequencial do arquivo, em algum lugar preciso informar?
  15. Todo esse código é dividido em rotinas, juntei tudo em só pra mostrar aqui, antes dele eu faço isso: Titulo := VACBrBoleto.CriarTituloNaLista;
  16. Bom dia, segue: VACBrBoleto.Banco.TipoCobranca := cobSantander; with VACBrBoleto.Cedente do begin Nome := VQueryTitulo.FieldByName('NM_CEDENTE').AsString; CodigoCedente := VQueryTitulo.FieldByName('CD_CEDENTE').AsString; CodigoTransmissao := VQueryTitulo.FieldByName('CD_TRANSMISSAO_BOLETO').AsString; Agencia := VQueryTitulo.FieldByName('NR_BANCO_AGENCIA').AsString; AgenciaDigito := Geral.Decode((VACBrBoleto.Banco.TipoCobranca = cobBancoDoBrasil) and (VQueryTitulo.FieldByName('NR_DIGITO_AGENCIA').AsString = '0'), 'X', VQueryTitulo.FieldByName('NR_DIGITO_AGENCIA').AsString); DigitoVerificadorAgenciaConta := Geral.Decode(VACBrBoleto.Banco.Numero = 756, '0', ''); Conta := VQueryTitulo.FieldByName('NR_CONTA_BANCO').AsString; ContaDigito := VQueryTitulo.FieldByName('NR_DIGITO').AsString; Modalidade := VQueryTitulo.FieldByName('TP_VARIACAO_CARTEIRA').AsString; Convenio := Geral.Decode(VACBrBoleto.Banco.Numero = 756, ' ', VQueryTitulo.FieldByName('CD_CONVENIO').AsString); TipoCarteira := tctRegistrada; TipoInscricao := pJuridica; CNPJCPF := VQueryTitulo.FieldByName('NR_CNPJ_CEDENTE').AsString; Nome := VQueryTitulo.FieldByName('NM_CEDENTE').AsString; Logradouro := VQueryTitulo.FieldByName('DS_ENDERECO_CEDENTE').AsString; NumeroRes := VQueryTitulo.FieldByName('NR_ENDERECO_CEDENTE').AsString; Bairro := VQueryTitulo.FieldByName('DS_BAIRRO_CEDENTE').AsString; UF := VQueryTitulo.FieldByName('CD_UF_CEDENTE').AsString; Cidade := VQueryTitulo.FieldByName('DS_MUNICIPIO_CEDENTE').AsString; Complemento := VQueryTitulo.FieldByName('DS_COMPLEMENTO_CEDENTE').AsString; end; with Titulo.Sacado do begin Pessoa := Geral.Decode(VQueryTitulo.FieldByName('TP_SACADO').AsString = 'F', pFisica, pJuridica); NomeSacado := VQueryTitulo.FieldByName('NM_SACADO').AsString; CNPJCPF := VQueryTitulo.FieldByName('NR_DOCUMENTO_SACADO').AsString; Logradouro := VQueryTitulo.FieldByName('DS_ENDERECO_SACADO').AsString; Numero := VQueryTitulo.FieldByName('NR_ENDERECO_SACADO').AsString; Complemento := VQueryTitulo.FieldByName('DS_COMPLEMENTO_SACADO').AsString; Bairro := VQueryTitulo.FieldByName('DS_BAIRRO_SACADO').AsString; Cidade := VQueryTitulo.FieldByName('DS_MUNICIPIO_SACADO').AsString; UF := VQueryTitulo.FieldByName('CD_UF_SACADO').AsString; CEP := VQueryTitulo.FieldByName('CD_CEP_SACADO').AsString; end; with Titulo do begin SeuNumero := VQueryTitulo.FieldByName('CD_CONTA_RECEBER').AsString; Vencimento := VQueryTitulo.FieldByName('DT_VENCIMENTO').AsDateTime; DataDocumento := VQueryTitulo.FieldByName('DT_EMISSAO').AsDateTime; NumeroDocumento := VQueryTitulo.FieldByName('NR_DOCUMENTO').AsString; EspecieDoc := VQueryTitulo.FieldByName('DS_ESPECIE').AsString; EspecieMod := VQueryTitulo.FieldByName('TP_MOEDA').AsString; Aceite := Geral.Decode(VQueryTitulo.FieldByName('TP_ACEITE').AsString = 'S', atSim, atNao); DataProcessamento := VQueryTitulo.FieldByName('DT_PROCESSAMENTO').AsDateTime; Carteira := VQueryTitulo.FieldByName('TP_CARTEIRA').AsString; CarteiraEnvio := tceCedente; CaracTitulo := ObterCaracTitulo(Titulo.Carteira); NossoNumero := VQueryTitulo.FieldByName('NR_NOSSO_NUMERO').AsString; ValorDocumento := VQueryTitulo.FieldByName('VL_DOCUMENTO').AsFloat; ValorMoraJuros := VQueryTitulo.FieldByName('VL_JUROS').AsFloat; ValorDesconto := 0; PercentualMulta := VQueryTitulo.FieldByName('VL_MULTA_ATRASO').AsFloat; OcorrenciaOriginal.Tipo := TACBrTipoOcorrencia(VQueryTitulo.FieldByName('TP_OCORRENCIA_BOLETO').AsInteger); QtdePagamentoParcial := 1; TipoPagamento := tpNao_Aceita_Valor_Divergente; PercentualMinPagamento := 0; PercentualMaxPagamento := 0; ValorMinPagamento := 0; ValorMaxPagamento := 0; Instrucao1 := VQueryTitulo.FieldByName('CD_INSTRUCAO_1').AsString; Instrucao2 := VQueryTitulo.FieldByName('CD_INSTRUCAO_2').AsString; Mensagem.Add(VQueryTitulo.FieldByName('DS_MENSAGEM').AsString); if (VQueryTitulo.FieldByName('TP_CLIENTE_GERA_PROTESTO').AsString = 'S') and (VQueryTitulo.FieldByName('QT_DIAS_PROTESTO').AsInteger > 0) then begin DataProtesto := IncDay(Vencimento, VQueryTitulo.FieldByName('QT_DIAS_PROTESTO').AsInteger); TipoDiasProtesto := diCorridos; CodigoNegativacao := cnProtestarCorrido; Mensagem.Add('PROTESTAR EM ' + VQueryTitulo.FieldByName('QT_DIAS_PROTESTO').AsString + ' DIAS CORRIDOS APOS O VENCIMENTO'); end; if (ValorMoraJuros > 0) then begin //CodigoMora := '1'; if (VQueryTitulo.FieldByName('TP_VALOR_JUROS').AsString = 'P') then CodigoMoraJuros := Geral.Decode(VQueryTitulo.FieldByName('TP_JUROS').AsString = 'D', TACBrCodigoJuros.cjTaxaDiaria, TACBrCodigoJuros.cjTaxaMensal) else CodigoMoraJuros := Geral.Decode(VQueryTitulo.FieldByName('TP_JUROS').AsString = 'D', TACBrCodigoJuros.cjValorDia, TACBrCodigoJuros.cjValorMensal); if (VQueryTitulo.FieldByName('QT_TOLERANCIA_PAGAMENTO').AsInteger > 0) then DataMoraJuros := IncDay(Vencimento, VQueryTitulo.FieldByName('QT_TOLERANCIA_PAGAMENTO').AsInteger) else DataMoraJuros := IncDay(Vencimento, 1); if (VACBrBoleto.Banco.TipoCobranca = cobCaixaEconomica) then Mensagem.Add('COBRAR JUROS DE ' + FormatCurr('#,##0.00', ValorMoraJuros) + ' POR CENTO, POR ' + Geral.Decode(VQueryTitulo.FieldByName('TP_JUROS').AsString = 'D', 'DIA', 'MES') + ' DE ATRASO PARA PAGAMENTO ' + Geral.Decode(Vencimento = DataMoraJuros, 'APOS O VENCIMENTO', 'A PARTIR DE ' + FormatDateTime('dd/mm/yyyy', DataMoraJuros))) else Mensagem.Add('COBRAR JUROS DE ' + FormatCurr('#,##0.00 %', ValorMoraJuros) + ' POR ' + Geral.Decode(VQueryTitulo.FieldByName('TP_JUROS').AsString = 'D', 'DIA', 'MES') + ' DE ATRASO PARA PAGAMENTO ' + Geral.Decode(Vencimento = DataMoraJuros, 'APOS O VENCIMENTO', 'A PARTIR DE ' + FormatDateTime('dd/mm/yyyy', DataMoraJuros))) end; if (PercentualMulta > 0) then begin CodigoMulta := cmPercentual; if (VQueryTitulo.FieldByName('QT_TOLERANCIA_PAGAMENTO').AsInteger > 0) then DataMulta := IncDay(Vencimento, VQueryTitulo.FieldByName('QT_TOLERANCIA_PAGAMENTO').AsInteger) else DataMulta := IncDay(Vencimento, 1); if (VACBrBoleto.Banco.TipoCobranca = cobCaixaEconomica) then Mensagem.Add('COBRAR MULTA DE ' + FormatCurr('#,##0.00', PercentualMulta) + ' POR CENTO,' + Geral.Decode(Vencimento = DataMoraJuros, ' APOS O VENCIMENTO', ' A PARTIR DE ' + FormatDateTime('dd/mm/yyyy', DataMoraJuros))) else Mensagem.Add('COBRAR MULTA DE ' + FormatCurr('#,##0.00 %', PercentualMulta) + Geral.Decode(Vencimento = DataMoraJuros, ' APOS O VENCIMENTO', ' A PARTIR DE ' + FormatDateTime('dd/mm/yyyy', DataMoraJuros))); end; if (VACBrBoleto.Banco.TipoCobranca = cobCaixaEconomica) then LocalPagamento := 'EM TODA A REDE BANCÁRIA E SEUS CORRESPONDENTES ATÉ O VALOR LIMITE' else LocalPagamento := VACBrBoleto.Banco.LocalPagamento; end;
  17. Lfm_

    Sequência lote Santander

    Bom dia Pessoal, estou gerando remessa CNAB240 para o Santander e o banco me retorna o seguinte: Segue exemplo em anexo. Porém no componente eu envio Lote 01 apenas, este sequencial devo informar tbm? É o único banco que tenho problemas. Desde já agradeço a atenção, Luiz
  18. Inacreditável esses provedores hein?!
  19. Consegui esse link do provedor EL e ali consegui abrir um chamado de Ajuda no item Ouvidoria, agora estou aguardando resposta. https://gpi.el.com.br/ServerExec/acessoBase/?idPortal=233b25d5-f5de-43bf-a292-bc598d617cad
  20. Lfm_

    Cancelamento provedor EL

    Boa tarde, estou tentando cancelar uma nota fiscal pelo provedor EL e ocorre a mensagem abaixo: EL55 Arquivo Inválido - Verifique a extrutura do arquivo se esta nos padrões solicitados!. Porém, o preenchimento do componente segue os padrões do exemplo, será que pode ser algo no próprio provedor? Segue os arquivos gerados no processo de cancelamento. 475-nfse.xml000000000000475000000000000475000001-lista-nfse-fai.xml000000000000475000000000000475000001-lista-nfse-fai-soap.xml000000000000475000000000000475000001-con-nfse-fai-soap.xml000000000000475000000000000475000001-con-nfse-fai.xml475-can.xml475-can-soap.xml475-ped-can-soap.xml475-ped-can.xml
  21. Boa tarde @Italo Giurizzato Junior, pode deixar, muito obrigado Abraço, Luiz
  22. Oi @Italo Giurizzato Junior, em modo debug, adiciono um breakpoint até chegar na procedure TACBrNFSeProviderABRASFv2.GerarMsgDadosCancelaNFSe, adicionei um comentário: procedure TACBrNFSeProviderABRASFv2.GerarMsgDadosCancelaNFSe( Response: TNFSeCancelaNFSeResponse; Params: TNFSeParamsResponse); var Emitente: TEmitenteConfNFSe; InfoCanc: TInfCancelamento; begin Emitente := TACBrNFSeX(FAOwner).Configuracoes.Geral.Emitente; InfoCanc := Response.InfCancelamento; with Params do begin Response.ArquivoEnvio := '<' + Prefixo + 'CancelarNfseEnvio' + NameSpace + '>' + '<' + Prefixo2 + 'Pedido>' + '<' + Prefixo2 + 'InfPedidoCancelamento' + IdAttr + NameSpace2 + '>' + '<' + Prefixo2 + 'IdentificacaoNfse>' + '<' + Prefixo2 + 'Numero>' + InfoCanc.NumeroNFSe + '</' + Prefixo2 + 'Numero>' + Serie + '<' + Prefixo2 + 'CpfCnpj>' + GetCpfCnpj(Emitente.CNPJ, Prefixo2) + '</' + Prefixo2 + 'CpfCnpj>' + GetInscMunic(Emitente.InscMun, Prefixo2) + '<' + Prefixo2 + 'CodigoMunicipio>' + IntToStr(InfoCanc.CodMunicipio) + //NESTE PONTO, EM MODO DEBUG, ALTERO A VARIÁVEL EM TEMPO DE EXECUÇÃO // IntToStr(TACBrNFSeX(FAOwner).Configuracoes.Geral.CodigoMunicipio) + '</' + Prefixo2 + 'CodigoMunicipio>' + CodigoVerificacao + '</' + Prefixo2 + 'IdentificacaoNfse>' + '<' + Prefixo2 + 'CodigoCancelamento>' + InfoCanc.CodCancelamento + '</' + Prefixo2 + 'CodigoCancelamento>' + Motivo + '</' + Prefixo2 + 'InfPedidoCancelamento>' + '</' + Prefixo2 + 'Pedido>' + '</' + Prefixo + 'CancelarNfseEnvio>'; end; end;
  23. @Italo Giurizzato Junior Segue os arquivos de exemplo que encontrei no site da prefeitura de Erechim, onde consta a informação do CodigoMunicipio no xml de substituição. Exemplos_WebService.zip
  24. Bom dia Italo, tudo bem? Então, até novembro isso não ocorria, porém meus clientes de lá agora começaram a relatar o erro abaixo ao tentarem substituir uma nota fiscal: L8: Município inválido: Código do município do cancelamento não é o mesmo do Município gerador. Então ao informar o município manualmente no componente, a substituição é realizada com sucesso. Att, Luiz
  25. Boa tarde Pessoal, O município de Erechim\RS solicita a inclusão do código do município ao substituir uma nota fiscal. Verifiquei no código fonte da ACBrNFSeX e não consta estes dados, para incluí-lo como posso proceder? Solicito a vocês ou tenho a liberdade de fazer? No aguardo, Luiz
×
×
  • 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.