Ir para conteúdo
  • Cadastre-se

gilspider

Membros
  • Total de ítens

    33
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

gilspider's Achievements

  1. Boa noite Italo, Atualizei os fontes e a leitura do xml funcionou perfeitamente, colocar o tratamento na função ParseDataHora , ficou bem melhor. Muito obrigado pela atenção, vocês são nota 10!
  2. Bom dia, Segue unit ACBrUtil.DateTime.pas ACBrUtil.DateTime.pas
  3. ACBr revision 25950 (27/06/2022 10:42:53) Retorno do Log na consulta do NFSe/Lote: Método Executado: ConsultarNFSe Parâmetros de Envio Num. Ini. NFSe: Num. Fin. NFSe: Data Inicial : 27/06/2022 Data Final : 27/06/2022 Parâmetros de Retorno Sucesso : True Erro(s): Código : X999 Mensagem: Erro de Conexão: '27/03:00' is not a valid integer value Correção: --------- NFS-e Numero....: 666 Cod. Verificacao: 746212305 Prestador.......: Tomador.........: --------------------------------------------------------------------------------- Trecho do XML de retorno da prefeitura de Fortaleza: <DataEmissaoRps>2022-06-27-03:00</DataEmissaoRps> <NaturezaOperacao>1</NaturezaOperacao> <OptanteSimplesNacional>2</OptanteSimplesNacional> <IncentivadorCultural>2</IncentivadorCultural> <Competencia>2022-06-27-03:00</Competencia> O problema esta na unidade ACBrUtil.DateTime, na função AjustarData. A função ParseDataHora da mesma unit, faz a chamada substituindo "-" por "/" xData := AjustarData(StringReplace(xData, '-', '/', [rfReplaceAll])); Trecho da função AjustarData function AjustarData(const DataStr: string): string; var Ano, Mes, Dia, i: Integer; xData: string; begin xData := DataStr; i := Pos('/', xData); if i = 0 then begin Result := xData; end else begin if i = 5 then begin xData := copy(xData, 1, 10); //alterado para utilizar os 10 primeiros digitos Ano := StrToInt(Copy(xData, 1, 4)); xData := Copy(xData, 6, Length(xData)); i := Pos('/', xData); Mes := StrToInt(Copy(xData, 1, i-1)); Dia := StrToInt(Copy(xData, i+1, Length(xData))); Result := FormatFloat('0000', Ano) + '/' + FormatFloat('00', Mes) + '/' + FormatFloat('00', Dia); end Como a posição da "/" = 5, o código pega o Ano = 2022, o mês = 06, porém o Dia ele retornava "27/03:00", retornando a exceção na primeira NFSe lida no arquivo. Ao acrescentar a linha: xData := copy(xData, 1, 10); //utilizar os 10 primeiros digitos A leitura voltou ao normal, na consulta por NFSe e Lote.
  4. ACBr revision 25950 (27/06/2022 10:42:53) Retorno do Log na consulta do NFSe/Lote:
  5. Bom dia, Ao emitir RPS nos provedores Recife e Fortaleza retorna o erro: <MensagemRetorno> <Codigo>E547</Codigo> <Mensagem>Alíquota incorreta</Mensagem> <Correcao>Informar a alíquota correta ou verificar Regime Especial de Tributação.</Correcao> </MensagemRetorno> Ambos os provedores exigem que a Alíquota seja enviada na forma decimal (dividida por 100) O componente atualiza o valor da alíquota com função AjustarAliquota(const Aliquota: Double; DivPor100: Boolean = False): Double;, onde o parâmetro booleano DivAliq100 informa se será dividido ou não por 100 (padrão FALSE) Esta função é chamada nas unidades ACBrNFSeXGravarXml_ABRASFv1 e ACBrNFSeXGravarXml_ABRASFv2, variando o valor de DivPor100 de acordo com o provedor utilizado. Com isso faz-se necessário incluir "DivAliq100 := true", no procedimento "Configurar", das unidades ISSFortaleza.GravarXml.pas e Recife.GravarXml.pas Após a inclusão da linha no procedimento Configurar, a emissão foi aprovada sem erros em ambos os provedores. Segue anexo unidades modificadas. Recife.GravarXml.pas ISSFortaleza.GravarXml.pas
  6. ACBrNFSeXProviderABRASFv1.pas Esta é a unidade alterada, comentei o código original antes de alterar, a partir da linha 761
  7. Boa noite, ao realizar teste de consulta no ACBrNFSeX na prefeitura de Fortaleza retornava o erro abaixo: Modo de Envio : ConsultarNFSe Sucesso : False Erro(s): Código : X999 Mensagem: 1871 - Element '{http://www.ginfes.com.br/tipos_v03.xsd}DataInicial': This element is not expected. Expected is ( {http://www.ginfes.com.br/servico_consultar_nfse_envio_v03.xsd}DataInicial ). ------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------- Alterei a unidade: ACBrNFSeXProviderABRASFv1.pas na linha: 761, troquei o PrefixoTS por Prefixo como segue abaixo, e resolveu o problema, alguém mais teve o mesmo problema? ----------------------------------------------------------------------------------------------------- if (Response.InfConsultaNFSe.DataInicial > 0) and (Response.InfConsultaNFSe.DataFinal > 0) then XmlConsulta := XmlConsulta + '<' + Prefixo + 'PeriodoEmissao>' + //'<' + PrefixoTS + 'DataInicial>' + '<' + Prefixo + 'DataInicial>' + FormatDateTime('yyyy-mm-dd', Response.InfConsultaNFSe.DataInicial) + //'</' + PrefixoTS + 'DataInicial>' + '</' + Prefixo + 'DataInicial>' + //'<' + PrefixoTS + 'DataFinal>' + '<' + Prefixo + 'DataFinal>' + FormatDateTime('yyyy-mm-dd', Response.InfConsultaNFSe.DataFinal) + //'</' + PrefixoTS + 'DataFinal>' + '</' + Prefixo + 'DataFinal>' + '</' + Prefixo + 'PeriodoEmissao>'; -----------------------------------------------------------------------------------------------------
  8. Este link pode te ajudar: http://docwiki.embarcadero.com/CodeExamples/Tokyo/en/UsingGUIDs_(Delphi)
  9. A chave de Acesso é o código de identificação do estabelecimento junto a SEFAZ CE, porém até o momento eles disponibilizaram uma única chave para todas as ativações do ambiente de produção : 25CFE38D-3B92-46C0-91CA-CFF751A82D3D A Chave de Requisição é para cada equipamento TEF ou POS que tenha no cliente, no cadastro dos equipamentos TEF/POS eu tenho o campo CHAVE_REQ, como eu uso o Firebird estou utilizando uma "trigger befere insert" que preenche o campo com o comando uuid_to_char(gen_uuid()), ele gera a chave no cadastro e a chave nunca se repete, ela irá funcionar como um ID que identifica o equipamento no estabelecimento. Mas fica aberto pra vc gerar sua própria GUID porém ela tem que ser única para identificar o equipamento na interface ENVIARPAGAMENTO. A Assinatura do AC vc pode ver o exemplo na pasta \ACBr-Trunk2\Projetos\ACBrSatSign\Delphi
  10. Bom dia, creio que vc já deve ter concluído seu cadastro, porém fica a resposta para registro: http://automaserv.com.br/admin_download/view/img/arquivos/70/manual_portalcfe_v04.pdf No manual acima orienta o desenvolvedor a se cadastrar no sistem VIPRO e aguardar o contato da SEFAZ-CE com os dados para acessar o Portal CFe. Porém eu fiz o cadastro e não recebi nenhum retorno, meu processo só andou, depois de enviar um e-mail com os dados da softhouse direto para: [email protected] No mesmo dia recebi um email com as informações sobre a homologação, fiz o agendamento, tiraram minhas dúvidas durante todo o processo. E após a homologação liberaram meu acesso ao portal pelo link: http://cfe.sefaz.ce.gov.br/mfe/portal#/login?type=SOFTWARE_HOUSE Neste portal você faz o vinculo do seu AC ao cliente, informando o CNPJ e o código de vinculação AC gerado com o seu certificado digital + CNPJ SofHouse + CNPJ Cliente. Após o vínculo é só instalar o driver MFE e o Integrador na máquina do cliente, preencher o cadastro do Integrador e pronto, sistema liberado para uso.
  11. Na verdade houve uma alteração no componente, e as propriedades que vc esta utilizando foram realocadas segundo imgem.
  12. Testei com o Edge e o Chrome e funcionou, o problema estava mesmo no Firefox (v65.0) 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.

The popup will be closed in 10 segundos...