Ir para conteúdo
  • Cadastre-se

Sérgio Caldeira Silva

Membros
  • Total de ítens

    59
  • Registro em

  • Última visita

Últimos Visitantes

482 visualizações

Sérgio Caldeira Silva's Achievements

  1. Boa tarde Ítalo! Desculpe a demora, não tinha visto o e-mail. Mas conseguimos resolver, trocamos o certificado A3 para o A1.
  2. Boa tarde Ítalo! O cliente alega que não consegue emitir a NFS-e, por isto fiz a pergunta; mas vou acessar o computador deles para entender melhor, já que a versão do ACBr está atualizada.
  3. Senhores, seguindo o tópico "Inclusão de novas cidades ou alteração de provedor", vi que o arquivo ACBrNFSeXServicos.Ini está com o endereço correto. Há alguma outra alteração a ser feita?
  4. Bom dia Senhores! Não encontrei nenhum post sobre esta alteração, https://prefeitura.pbh.gov.br/fazenda/bhiss, sabem me dizer quando vai ser liberada, ou onde posso alterar? Na versão da semana passada não estava alterada a url. Segundo informações de meus clientes, Vila Velha - ES, também parou de funcionar; porém, não verifiquei o motivo ainda. Data: 01/02/2024 Assunto: ** ÚLTIMO AVISO ** As URLs de acesso ao Web Service da NFS-e foram alteradas e as atuais serão desativadas a partir de 19/02/2024 Prezado usuário do BHISS, A Subsecretaria da Receita Municipal - SUREM, da Secretaria Municipal de Fazenda - SMFA, da Prefeitura Municipal de Belo Horizonte - PBH, por meio das Diretorias de Fiscalização e Auditoria Tributária – DFAT, de Tecnologia da Informação e Apoio Técnico - DTAT e da Empresa de Informática e Informação do Município de Belo Horizonte S/A - Prodabel, informa que está reforçando a segurança em todos os sistemas de TI, incluindo o BHISS. Como parte desse esforço, uma nova camada de segurança foi incluída no sistema de emissão da Nota Fiscal de Serviços Eletrônica - NFS-e de Belo Horizonte para a emissão deste documento fiscal por meio de Web Service. Em razão disso, foram disponibilizados e já estão disponíveis para utilização novos endereços (URLs) para acesso aos Web Service
  5. Boa tarde André! BH tem algumas características que podem dificultar a configuração do componente, por exemplo, o lote sempre será 1. Se não conseguiu concluir ainda, encaminhe um e-mail para mim que tento ajudar: [email protected]. Boa sorte!
  6. Maravilha, grato por compartilhar. Vou estudar o exemplo, vai ajudar bastante.
  7. Não tenho ideia de como funcionaria, porque o sistema php vai ficar em um servidor cloud, então, teríamos que usar uma api... ou não?! Vou pesquisar sobre o ACBrMonitor. Grato pela sugestão.
  8. Bom dia Senhores! Grato pelo retorno, vou estudar esta solução também. Quanto a assinatura, já passei para a diretoria, assim que liberarem a gente assina. Grande abraço a todos.
  9. Boa tarde Senhores! Hoje trabalhamos com o ACBr em um sistema feito em Delphi e funciona perfeitamente... top. Porém, estamos com uma demanda de um sistema web que está sendo desenvolvido em ScriptCase e que precisará emitir NFS-e. Nossa dúvida é qual forma de integração é melhor e mais simples: desenvolver uma API Horse, usando os recursos que já possuimos, ou criar novos métodos em PHP que utilizem o ACBrLib? Há algum case de sucesso que seja possível contatar o TI para podermos trocar experiências? No mais, gratidão a toda equipe ACBr pelo trabalho que tem desenvolvido. Sucesso sempre.
  10. Bom dia Victor! Sim preenchi os campos corretamente, não funcionou, por isto debuguei o código para entender como funciona. Segue a referência do meu código, às vezes está faltando algo que não percebi. {Sérgio 30/04/2020: configura o título.} Titulo := ACBrBoleto.CriarTituloNaLista; with Titulo do begin {Dados do título.} LocalPagamento := copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('DenBbaPagLoc').AsString), true), 01, 15); case dsDenPqs.DataSet.FieldByName('DenBcrCesCod').AsInteger of 00: OcorrenciaOriginal.Tipo := toRemessaRegistrar; 04: OcorrenciaOriginal.Tipo := toRemessaBaixar; 05: OcorrenciaOriginal.Tipo := toRemessaProtestar; 08: OcorrenciaOriginal.Tipo := toRemessaCancelarInstrucaoProtesto; 14: OcorrenciaOriginal.Tipo := toRemessaAlterarVencimento; 16: OcorrenciaOriginal.Tipo := toRemessaNegativacaoSerasa; 18: OcorrenciaOriginal.Tipo := toRemessaExcluirNegativacaoSerasa; end; NumeroDocumento := copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('DenCreNum').AsString), true), 1, 10); NossoNumero := RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('DenBcrPagDoc').AsString), true); SeuNumero := copy(RemoverCaracteresInvalidos(RemoveEnterDaString('D' + dsDenPqs.DataSet.FieldByName('DenCreDocNum').AsString + 'S' + dsDenPqs.DataSet.FieldByName('DenCreDocSer').asString + 'P' + dsDenPqs.DataSet.FieldByName('DenCreDocPar').AsString), true), 1, 25); EspecieDoc := 'DM'; DataDocumento := dsDenPqs.DataSet.FieldByName('DenCreEmiDat').AsDateTime; Vencimento := dsDenPqs.DataSet.FieldByName('DenBcrPreDat').AsDateTime; DataProcessamento := Now; Aceite := atNao; Carteira := RemoverCaracteresInvalidos(RemoveEnterDaString(edDenBanCarNum.Text), true); ValorDocumento := dsDenPqs.DataSet.FieldByName('DenBcrPreVal').AsFloat; {28/12/2020. Sérgio: tratamento de desconto condicionado.} if dsDenPqs.DataSet.FieldByName('DenBcrBaiDes').AsFloat > 0 then begin TipoDesconto := tdValorFixoAteDataInformada; {Código do Desconto - valor fixo até a data informada.} DataDesconto := dsDenPqs.DataSet.FieldByName('DenBcrPreDat').AsDateTime; {Data do Desconto.} ValorDesconto := dsDenPqs.DataSet.FieldByName('DenBcrBaiDes').AsFloat; {Valor do Desconto.} end else begin TipoDesconto := tdNaoConcederDesconto; {Código do desconto - não há desconto.} DataDesconto := 0; {Data do Desconto.} ValorDesconto := 0; {Valor do Desconto.} end; DataAbatimento := 0; ValorAbatimento := 0; {28/12/2020. Sérgio: Tratamento de juros e multa.} case cbFinLanJurCod.ItemIndex of 0: begin CodigoMoraJuros := cjValorDia; ValorMoraJuros := GeRound(dsDenPqs.DataSet.FieldByName('DenBcrPreVal').AsFloat * DenPrmJurPer / 100 / 30, 2); CodigoMulta := cmPercentual; PercentualMulta := 2; // GeRound(DenPrmMulPer, 2); DataMulta := dsDenPqs.DataSet.FieldByName('DenBcrPreDat').AsDateTime + 1; end; 1: begin CodigoMoraJuros := cjTaxaMensal; ValorMoraJuros := GeRound(DenPrmJurPer, 2); CodigoMulta := cmPercentual; PercentualMulta := 2; // GeRound(DenPrmMulPer, 2); DataMulta := dsDenPqs.DataSet.FieldByName('DenBcrPreDat').AsDateTime + 1; end; 2: begin CodigoMoraJuros := cjIsento; ValorMoraJuros := 0; end; end; {Para instituição de educação, inclui o nome do curso.} Instrucao1 := copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('DenBcrBbaMen').AsString), true), 01, 40); Instrucao2 := Se((StrToInt(LogAtiCod) = 7), copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('IedCurNom').AsString), true), 01, 40), ''); {Dados do cliente.} Sacado.NomeSacado := copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('SysEntRazSoc').AsString), true), 01, 30); Sacado.CNPJCPF := copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('SysEntCnp').AsString), true), 01, 14); Sacado.Logradouro := copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('SysEntEndLog').AsString), true), 01, 30); Sacado.Numero := copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('SysEntEndNum').AsString), true), 01, 05); Sacado.Bairro := copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('SysEntEndBai').AsString), true), 01, 12); Sacado.Cidade := copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('SysCidNom').AsString), true), 01, 15); Sacado.UF := copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('SysUfeSig').AsString), true), 01, 02); Sacado.CEP := copy(RemoverCaracteresInvalidos(RemoveEnterDaString(dsDenPqs.DataSet.FieldByName('SysEntEndCep').AsString), true), 01, 08); {Mensagens que devem sair no corpo do título.} ACBrBoleto.AdicionarMensagensPadroes(Titulo, Mensagem);
  11. Senhores, me esqueci de dizer que analisei o banco Sicredi, e também está com a mesma situação; portanto, reafirmo que não sei se o problema foi na iniciação do campo ou na sobreposição dos objetos.
  12. Boa tarde Senhores! Parametrizamos o desconto condicional no boleto Itaú e a impressão do boleto saiu com os dados perfeitamente corretos; contudo, ao gerar a remessa, os dados do desconto condicional (data e valor) não eram registrados na linha. Analisando os fontes da unit ACBrBancoItau, percebi que o atributo ValorDesconto estava zerado, apesar de termos preenchido o campo conforme o exemplo. Debugando os fontes, percebi que no obj ACBrTitulo, este campo estava preenchido corretamente. Verifiquei então que no método TACBrBancoItau.GerarRegistroTransacao400, havia uma sobreposição do Obj ACBrBoleto em relação ao obj ACBrTitulo, conforme abaixo: with ACBrTitulo do begin, .... with ACBrBoleto do .... Porém, o objeto que é preenchido é o ACBrTitulo, daí troquei a ordem da referência e o desconto condicional, assim como a data e os juros, passaram a ser gravados no arquivo remessa. Visto que não conheço aACBrBancoItau.pas fundo do código ACBr não sei informar se minha dedução está correta, ou se simplesmente o atributo ValorDesconto não foi preenchido no obj ACBrBoleto. Na verdade, fiz um outro teste e vi que é possível compilar os fontes sem a referência ao ACBrBoleto. Por este motivo, abri o tópico e anexo os ajustes que fiz, que pode ser identificados pelo meu nome e pela data de hoje - 15/02/2022.
  13. Boa tarde Srs.! Depois que migramos a emissão da NFS-e para o componente ACBrNFSX, o tempo de processamento (envio e retorno) aumentou consideravelmente. Não conseguimos identificar o motivo, seria possível orientar-nos quanto a uma parametrização ou alguma forma de otimizar este procedimento? considerando que o WS da prefeitura não deve ter mudado. Hoje usamos o código abaixo para gerar o xml, enviar o RPS e buscar o protocolo e xml da NFS-e: Emitir(NotasFiscais.NumeroLote, meAutomatico, false); Desde já, agradecemos a atenção de sempre.
  14. Boa tarde Ítalo! Pode encerrar este tópico. Conversão para o novo componente está funcionando para BH - MG e para Vila Velha - ES. No caso de BH, o erro aleatório que ninguém conseguiu identificar, nem a equipe de TI da prefeitura, está relacionado SSLType. Ao informar LT_TLSv1_2, dá erro na prefeitura de BH, ela somente funciona com LT_All. Para todas as outras prefeituras, o SSLType = LT_TLSv1_2, é a melhor opção. O novo componente ficou muito bom. Meus parabéns! Se me permite, aos leitores deste post, sugiro que usem o programa exemplo que o Ítalo fez para nortear o processo de emissão da NFS-e, visto que todos os erros que encontramos, referiam-se a campos não preenchidos (não eram usados no componente anterior) ou parâmetros - preencham todos os campos primeiro, depois "quebrem a cabeça" com a parametrização que pode variam de provedor para provedor. Gratidão!
×
×
  • 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.

The popup will be closed in 10 segundos...