Jump to content

logo_acbr_paygo.png

Chegou o TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao_saibamais.png

beneficios.png

Curso Dominando o ACBrMonitor
Novo Módulo Soluções de Varejo
Assine o SAC ACBr em qualquer plano e tenha acesso

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

leandroksc

Membros
  • Content Count

    42
  • Joined

  • Last visited

Community Reputation

2 Neutral

About leandroksc

  • Rank
    Membro

Profile Information

  • Sexo
    Masculino
  • Localização
    Tubarão

Recent Profile Visitors

594 profile views
  1. 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!
  2. 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!
  3. 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.
  4. 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
  5. 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
  6. 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!!
  7. 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!
  8. Perfeito Daniel, vou ficar no aguardo de uma correção definitiva então. Obrigado!
  9. Ao carregar a lista de cidades, este componente não estava convertendo o UTF8. Eu fiz um ajuste no código pra funcionar corretamente a busca por cidades que contenham acentos. Favor verificar se esta modificação procede, aqui pra mim funcionou! Obrigado! Segue arquivo fonte em anexo ACBrIBGE.pas
  10. Amigos, estou com problema paga homologar a remessa para o Banco Amazônia. Segue a resposta do banco em relação ao arquivo de remessa de teste enviado: Encontrado erro no registro da Linha [12]; Campo: [C070]; Posição: [24,29]; Valor: [000000]; Motivo: Código Ocorrência [ 03 = [ArquivoForaDePadrao] - Quantidade de titulos em cobrança simples inválida , 000000 diferente de 000003 ] Encontrado erro no registro da Linha [12]; Campo: [C071]; Posição: [30,46]; Valor: [00000000000000000]; Motivo: Código Ocorrência [ 03 = [ArquivoForaDePadrao] - Valor total divergente do apresentado no arquivo, 00000000000000000 diferente de 00000000000001500 ] Encontrado erro no registro da Linha [13]; Campo: [G056]; Posição: [24,29]; Valor: [000007]; Motivo: Código Ocorrência [ 03 = [ArquivoForaDePadrao] - Total de Segmentos no Arquivo Inválido, 000007 diferente de 000013 ] Todos os erros são referentes ao Trailler da remessa layout 240. No código, vi que os dois primeiros erros estão ocorrendo pois está sendo preenchido com zeros, não sendo feito a contagem exigida pelo campo. Result := IntToStrZero(ACBrBanco.Numero, 3) + // 1 a 3 - Código do banco '0001' + // 4 a 7 - Número do lote '5' + // 8 - Tipo do registro: Registro trailer do lote Space(9) + // 9 a 17 - Uso exclusivo FEBRABAN/CNAB IntToStrZero((3 * (ARemessa.Count - 3)), 6) + // 18 a 23 - Quantidade de Registro da Remessa {-->} PadRight('', 6, '0') + // 24 a 29 - Quantidade títulos em cobrança {-->} PadRight('', 17, '0') + // 30 a 46 - Valor dos títulos em carteiras} PadRight('', 6, '0') + // 47 a 52 - Quantidade títulos em cobrança PadRight('', 17, '0') + // 53 a 69 - Valor dos títulos em carteiras} PadRight('', 6, '0') + // 70 a 75 - Quantidade títulos em cobrança PadRight('', 17, '0') + // 76 a 92 - Valor dos títulos em carteiras} PadRight('', 6, '0') + // 93 a 98 - Quantidade títulos em cobrança PadRight('', 17, '0') + // 99 a 115 - Valor dos títulos em carteiras} Space(8) + // 116 a 123 - Uso exclusivo FEBRABAN/CNAB} PadRight('', 117, ' '); // 124 a 240 - Uso exclusivo FEBRABAN/CNAB} O estranho é que vi esta mesma implementação para o Banco do Brasil e aparentemente lá ninguém reclamou sobre estes campos! Será uma exigência apenas deste banco Amazônia? Já o terceiro erro está nesta linha, o qual faz este cálculo para extrair a quantidade de registros e não sei se está correto. Result := Result + #13#10 + IntToStrZero(ACBrBanco.Numero, 3) + // 1 a 3 - Código do banco '9999' + // 4 a 7 - Lote de serviço '9' + // 8 - Tipo do registro: Registro trailer do arquivo Space(9) + // 9 a 17 - Uso exclusivo FEBRABAN/CNAB} '000001' + // 18 a 23 - Quantidade de lotes do arquivo} {-->} IntToStrZero(((ARemessa.Count - 3) * 3) + 4, 6) + // 24 a 29 - Quantidade de registros do arquivo, inclusive este registro que está sendo criado agora} aFEBRABAN + // 30 a 35 - Uso exclusivo FEBRABAN/CNAB} Space(205); // 36 a 240 - Uso exclusivo FEBRABAN/CNAB} Desde já agradeço!!!
  11. Pessoal, estou com problemas para emitir notas para o provedor DSF de Belém/PA. A nota é emitida corretamente pelo sistema mas no retorno vem uma nota vazia, sem praticamente nenhuma informação preenchida. Em contato com a prefeitura, foi informado que o provedor não retorna a nota. Pelo ACBr, logo após enviar a nota, é exibido o preview com uma nota em branco, mas no site a nota está ok com todos os dados. Os fontes estão atualizados. Alguém tem alguma ideia do que fazer pra resolver? Desde já agradeço!
  12. Segue link: http://webservices.sathomologa.sef.sc.gov.br/wsDfeSiv/Recepcao.asmx?WSDL Mas não recomendo desenvolver agora, eles estão fazendo alterações. Ontem mesmo eu estava ajustando o código e o WS alterou a estrutura dos dados 2 vezes, ou seja, vou esperar eles terminarem!
  13. Estamos com homologação marcada, vou fazer as preliminares aqui pra estar na melhor situação possível até a homologação... Não sei se vão cobrar isso, mas vou fazer até onde for possível. Posto aqui então quando os manuais estiverem ok! Valeu Juliomar!
×
×
  • Create New...