leandroksc
Membros-
Total de ítens
49 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Tudo que leandroksc postou
-
Perdão, realmente esqueci de postar um arquivo, segue em anexo! ACBrPAF.pas
-
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!
-
Precisei fazer algumas alterações ao salvar os registros Z, segue arquivo em anexo. ACBrPAF_Z_Class.pas
-
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
-
Simular falha de comunicação com a ECF usando um Emulador
leandroksc replied to leandroksc's tópico in ACBrSerial
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. -
Simular falha de comunicação com a ECF usando um Emulador
um tópico no fórum postou leandroksc ACBrSerial
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á! -
Tópico exclusivo para troca de provedor e novas cidades
leandroksc replied to Italo Giurizzato Junior's tópico in ACBrNFSe
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! -
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!
-
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!
-
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.
-
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
-
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
-
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!!
-
Delphi 10.2 Tokyo
-
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!
-
Perfeito Daniel, vou ficar no aguardo de uma correção definitiva então. Obrigado!
-
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
-
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!!!
-
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!
-
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!
-
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!
-
Estou fazendo com base no WSDL. Vou ver se consigo deixar funcionando assim, acabaram de colocar o servidor no ar. Parece que teve uma alteração interessante, com base no WSDL parece que o XML agora deve ser enviado compactado em Zip no formato Base64. Estou analisando ainda e tentando implementar as alterações... Qualquer ajuda será bem vinda!
-
Pessoal, o WebService mudou, algumas rotinas foram alteradas. Vou fazer os ajustes no ACBr e em breve coloco aqui os fontes alterados.
-
valdesc, também estou tento o mesmo problema. Esse é um erro interno do Oracle, é uma falha no SQL utilizado no servidor. Eles devem estar fazendo alterações no servidor e ficou instável. Nos resta aguardar a correção...