Ir para conteúdo
  • Cadastre-se

leandroksc

Membros
  • Total de ítens

    49
  • Registro em

  • Última visita

Últimos Visitantes

929 visualizações

leandroksc's Achievements

Contributor

Contributor (5/14)

  • First Post
  • Collaborator Rare
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

5

Reputação

  1. Perdão, realmente esqueci de postar um arquivo, segue em anexo! ACBrPAF.pas
  2. Opa Juliomar, eu verifiquei sim, está na revisão 21275. A única coisa que alterei foi a utilização do Layout na geração do registro Z3, pois este não possui o campo "Laudo" quando é NFC-e. Ficou algo estranho aí na comparação dos fontes? Agradeço o retorno!
  3. Precisei fazer algumas alterações ao salvar os registros Z, segue arquivo em anexo. ACBrPAF_Z_Class.pas
  4. Ao salvar os Registros do PAF, os registros E não estão sendo salvos no arquivo. Fiz uma pequena alteração, segue em anexo. Espero ter colaborado! ACBrPAF.pas
  5. Sim, este tipo de erro eu já consegui simular, mas ainda não reflete o que ocorre no cliente. Queria ver se tem algo como falha de cabo, sinal ruim, dados corrompidos na comunicação, timeout, etc... Acho que o melhor cenário seria ter a impressora física com um cabo USB de 5m de marca bem duvidosa. Este não é o cenário ideal pra um PDV funcionar, mas o sistema tem que estar preparado para lidar com isso... Meu problema real hoje seria o valor do GT que dá divergência quando ocorre falha de comunicação com a ECF, mas ainda não consegui reproduzir. Em todos os testes que fiz derrubando a ECF no meio da operação não deu problema.
  6. Olá pessoal. É possível simular falhas de comunicação aleatórias com a ECF usando um emulador? Estou tratando todos os erros do sistema em relação a comunicação com a ECF, mas pra isso preciso simular as falhas de comunicação que podem ocorrer no cliente. Em ambiente de desenvolvimento é difícil simular, por isso queria ver se via emulador tem como fazer isso. Estou utilizando o emulador Logger II da Elgin, mas pode ser qualquer outro emulador que permita fazer isso. Agradeço desde já!
  7. Boa tarde mestres! Segue ajuste no link do ambiente de homologação para Belem/PA [1501402] Nome=Belem UF=PA Provedor=Siat NomeURL_H=http://siat.notahomologa.belem.pa.gov.br:8180 NomeURL_P=http://siat.belem.pa.gov.br:8180 Obrigado!
  8. Obrigado por responder Ítalo! Mas neste caso, o interessante não seria os dados serem tratados na fonte em vez da impressão? Desta forma o componente ainda gera um XML com erro se der um Load e depois um Save. Penso que a informação já deva estar correta no componente e apenas ser passada para a impressão, e não ser tratada na impressão. Isso procede? Muito obrigado!
  9. Boa tarde Ítalo, Você fez as alterações mas manteve comentado na função LerNFSe_ABRASF_V1. Nos meus testes, estes deveriam estar descomentados para que funcione corretamente. Encontrou algum problema para deixar comentado? Obrigado!
  10. Pelo que vi, esta modificação também se aplica aos demais provedores que usam a divisão por 100. A rotina acima é a LerRPS_ABRASF_V1, mas também tive que alterar a LerNFSe_ABRASF_V1.
  11. Boa tarde amigos! Na emissão de NFSe para o provedor Thema, o componente identifica que o valor informado na Alíquota do serviço deve ser dividido por 100 ao ser gravado no XML. Porém ao carregar o XML, esta alíquota deveria ser multiplicada por 100 para ter o valor original, e isso não está ocorrendo. Ao carregar um XML e em seguida gerá-lo novamente, o problema já aparece. Eu fiz uma pequena alteração no arquivo pnfsNFSeR.pas da seguinte forma: if (Leitor.rExtrai(4, 'Valores') <> '') or (Leitor.rExtrai(3, 'Valores') <> '') then begin NFSe.Servico.Valores.ValorServicos := Leitor.rCampo(tcDe2, 'ValorServicos'); NFSe.Servico.Valores.ValorDeducoes := Leitor.rCampo(tcDe2, 'ValorDeducoes'); NFSe.Servico.Valores.ValorTotalRecebido := Leitor.rCampo(tcDe2, 'ValorTotalRecebido'); NFSe.Servico.Valores.ValorPis := Leitor.rCampo(tcDe2, 'ValorPis'); NFSe.Servico.Valores.ValorCofins := Leitor.rCampo(tcDe2, 'ValorCofins'); NFSe.Servico.Valores.ValorInss := Leitor.rCampo(tcDe2, 'ValorInss'); NFSe.Servico.Valores.ValorIr := Leitor.rCampo(tcDe2, 'ValorIr'); NFSe.Servico.Valores.ValorCsll := Leitor.rCampo(tcDe2, 'ValorCsll'); NFSe.Servico.Valores.IssRetido := StrToSituacaoTributaria(ok, Leitor.rCampo(tcStr, 'IssRetido')); NFSe.Servico.Valores.ValorIss := Leitor.rCampo(tcDe2, 'ValorIss'); NFSe.Servico.Valores.OutrasRetencoes := Leitor.rCampo(tcDe2, 'OutrasRetencoes'); NFSe.Servico.Valores.BaseCalculo := Leitor.rCampo(tcDe2, 'BaseCalculo'); NFSe.Servico.Valores.Aliquota := Leitor.rCampo(tcDe3, 'Aliquota'); //Adicionado aqui if (FProvedor in [proThema]) then NFSe.Servico.Valores.Aliquota := (NFSe.Servico.Valores.Aliquota * 100); //-- NFSe.Servico.Valores.ValorLiquidoNfse := Leitor.rCampo(tcDe2, 'ValorLiquidoNfse'); NFSe.Servico.Valores.ValorIssRetido := Leitor.rCampo(tcDe2, 'ValorIssRetido'); NFSe.Servico.Valores.DescontoCondicionado := Leitor.rCampo(tcDe2, 'DescontoCondicionado'); NFSe.Servico.Valores.DescontoIncondicionado := Leitor.rCampo(tcDe2, 'DescontoIncondicionado'); end; Peguei por base o mesmo padrão usado em outros arquivos do fonte. Segue em anexo o arquivo alterado para análise. Obrigado! pnfsNFSeR.pas
  12. leandroksc

    Quebra de Linha

    Boa tarde! Amigos, após a alteração que foi feita no tópico abaixo, a geração do XML ficou sem quebra de linha em um dos nossos clientes. Ele utiliza o provedor BHISS. Pelo que pude verificar no código, parece que a propriedade QuebraLinha do Gerador não está sendo sincronizada com a QuebraDeLinha definida nas configurações do componente. Eu fiz uma pequena alteração aqui que resolveu a questão. Na função TNFSeW_ABRASFv1.GerarXml do aquivo pnfsNFSeW_ABRASFv1.pas estava assim: unction TNFSeW_ABRASFv1.GerarXml: Boolean; begin Gerador.ListaDeAlertas.Clear; Gerador.ArquivoFormatoXML := ''; Gerador.Prefixo := FPrefixo4; if (FProvedor in [proBHISS, proNatal, proProdemge, proPronim, proTinus, proNFSEBrasil]) then FDefTipos := FServicoEnviar; ............. end; Apenas adicionei uma linha como a seguir: unction TNFSeW_ABRASFv1.GerarXml: Boolean; begin Gerador.ListaDeAlertas.Clear; Gerador.ArquivoFormatoXML := ''; Gerador.Prefixo := FPrefixo4; Gerador.Opcoes.QuebraLinha := FQuebradeLinha; //<--Inserido aqui if (FProvedor in [proBHISS, proNatal, proProdemge, proPronim, proTinus, proNFSEBrasil]) then FDefTipos := FServicoEnviar; ............. end; Segue o arquivo em anexo para análise. pnfsNFSeW_ABRASFv1.pas
  13. O problema estava no arquivo de cache mesmo, apagando resolveu! Eu achei que o arquivo era substituído ao salvar novamente a lista de cidades... Muito Obrigado!!
  14. Bom dia Daniel, fiz o teste com esta unit, porém o problema persiste. Ele está encontrando a cidade, mas encontra por ser o nome mais próximo do pesquisado. No meu exemplo, a cidade pesquisada é "Tubarão" (SC), e ao debugar, na rotina "fListaCidades.Find" na linha 938, dentro da subrotina "CompCidadeMunicipioAsc" onde ele compara o "MunicipioIdx", o nome da cidade aparece como "Tubarão". Estes nomes também ficam desta forma no arquivo de cache ACBrIBGE.txt. Obrigado pela atençã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...