Ir para conteúdo
  • Cadastre-se

Waldir Paim

Moderadores
  • Total de ítens

    620
  • Registro em

  • Última visita

  • Days Won

    4

Tudo que Waldir Paim postou

  1. Graça, boa tarde. Você tem os fontes do Fortes ai nessa maquina? Se sim o caminho dessa pasta está no path do seu delphi? Da uma conferida nesses dois pontos que pode ser esse o motivo.
  2. Oi Daniel, Sem problemas, fazemos da forma que você sugeriu. Fazendo uma analise geral já foi removido grande parte dos avisos. A grande maioria agora se concentra nas pastas do Serial, TEF e Boleto e DF-e PCN (esses dois eu já anexei as units) e como te falei nos projetos de terceiros principalmente no Fortes. Como trata-se de a grande maioria de código mantido por ti eu vou tentar te mandar tudo zipado no inicio da semana que vem. Mas grande parte dos usuários poderiam se manifestar e relatar possíveis anomalias decorrente das alterações, mas isso é de cada um e não tenho como julgar. Estamos ai dispostos a limpar todos esses monte de avisos e você ta com o pé no acelerador controla ai.
  3. Eu gostei da iniciativa. Mas minha ideia será utilizar REST mesmo na rede local, estou trabalhando nessa semana para resolver a questão do CEST, mas semana que vem pretendo me dedicar 100% do tempo para terminar o nosso HttpServer para responder as requisições. Depois do server rodando acredito que os clientes não serão tão complicados assim e podemos ir trocando ideias de qual logica é mais aplicada.
  4. Pretendo aproveita o máximo possível da sua logica até para não precisar invetar a roda novamente. Concordo plenamente contigo, preferencialmente as grandes empresas que dominam uma grande parte do mercado.
  5. Que bom, Na semana que vem quando passar o período da inclusão do CEST vou dar uma organizado aqui no que tenho e o que você liberou. Você não respondeu esse trecho: Se puder usar vou converte ele para Postgress para conseguir usar na nossa Api. Trabalho com clientes de supermercado e alguns chegam ter mais de 40 mil itens no mix e uma ferramenta dessa ajuda muito manter as coisas organizadas.
  6. @Intelliware Você está com os fontes atualizados? Estamos aplicado varias alterações no tratamento das strings. Veja se consegue identificar o conteúdo que é perdido, pode haver uma quebra de linha nesse texto ou outro carácter causando isso. Foram aplicadas varias alterações nas funções do ACBrUtil e pode sim ter causado algum resultado diferente do esperado. Se tentar identificar o ponto passa ai pra gente te ajudar a resolver.
  7. Segue anexo arquivos alterados para remoção de avisos nas units do PCN e DF-e. Para resolver a grande maioria das mensagens mudei algumas variáveis locais de AnsiString para String, isso por si só já resolve uma boa parte. Em alguns casos mudei de String para AnsiString para evitar muitos cast. Em alguns casos criei algumas funções internas para fazer o cast o minimo possível. Eu não teste, mas acredito que as alterações não deva causar falhas pois já estamos aplicando elas em outras units. Essa revisão remove 99% dos avisos da IDE. ACBrUtil.pas ACBrDFeOpenSSL.pas ACBrDFe.pas ACBrDFeCapicom.pas ACBrDFeConfiguracoes.pas ACBrDFeSSL.pas ACBrDFeUtil.pas ACBrNFe.pas ACBrNFeNotasFiscais.pas ACBrECFVirtualNFCe.pas ACBrNFeDANFeESCPOS.pas pcnRetConsReciNFe.pas pcnEventoNFe.pas pcnLayoutTXT.pas pcnNFeR.pas pcnNFeW.pas pcnRetCCeNFe.pas pcnRetConsNFeDest.pas pcnRetDistDFeInt.pas pcnRetDownloadNFe.pas pcnRetEnvEventoNFe.pas pcnAuxiliar.pas pcnConversao.pas pcnGerador.pas pcnLeitor.pas pcnValidador.pas
  8. Oi Daniel, Já terminei a revisão nos fontes das pastas que mencionei DF-e/NFe e PCN. Vou resolver essa questão dos anexos para conseguir subir essas outras. Acredita que posso remover os anexos que resolve?
  9. Daniel, Aproveitei e fiz um ajuste na ACBrMail que tinha alguns, nessa para evitar vários casts eu fiz uma função local e apliquei o cast nela. ACBrMail.pas Não consegui subir a unit ACBrUtil. Fiz mais alguns ajustes na ACBrUtil para eliminar de vez o que sobrou de mensagens nela, são dois casts apenas. Adicionei um AnsiString e um String. Segue trecho alterado: procedure WriteLog(const ArqTXT : String; const ABinaryString: AnsiString; const Traduz: Boolean); var Buf: AnsiString; begin if ArqTXT = '' then exit ; if Traduz then Buf := AnsiString( TranslateUnprintable(ABinaryString) ) else Buf := ABinaryString; try WriteToTXT(ArqTXT, Buf, True, True); except end ; end; Esse outro: function TranslateUnprintable(const ABinaryString: AnsiString): String; Var Buf, Ch : String ; I : Integer ; ASC : Byte ; begin Buf := '' ; For I := 1 to Length(ABinaryString) do begin ASC := Ord(ABinaryString[I]) ; case ABinaryString[I] of NUL : Ch := '[NUL]' ; SOH : Ch := '[SOH]' ; STX : Ch := '[STX]' ; ETX : Ch := '[ETX]' ; ENQ : Ch := '[ENQ]' ; ACK : Ch := '[ACK]' ; TAB : Ch := '[TAB]' ; BS : Ch := '[BS]' ; LF : Ch := '[LF]' ; FF : Ch := '[FF]' ; CR : Ch := '[CR]' ; WAK : Ch := '[WAK]' ; NAK : Ch := '[NAK]' ; ESC : Ch := '[ESC]' ; FS : Ch := '[FS]' ; GS : Ch := '[GS]' ; #32..#126 : Ch := string(ABinaryString[I]) ; else ; Ch := '['+IntToStr(ASC)+']' end; Buf := Buf + Ch ; end ; Result := Buf; end; Rodei os testes no Seatle e tudo rodando 100%. Agora sobrou algumas mensagens nas units do PCN e do DFe/NFe. Devo mexer nelas ainda essa semana. Vai se preparando ai para gente aplicar algumas correções no código do Fortes, digo isso que sei que você tem moral lá com eles e agora boa parte dos avisos são decorrente desse projeto.
  10. Propositalmente, deve ser trocado pelo código abaixo: procedure TfrlDANFeRLSimplificado.rlmProdutoDescricaoPrint(sender: TObject; var Value: string); begin inherited; if cdsItens.FieldByName('INFADIPROD').AsString <> '' then Value := Value + #13 + 'InfAd: ' + cdsItens.FieldByName('INFADIPROD').AsString; end; O código acima está totalmente sem uso.
  11. Mais uma contribuição para remover os avisos da IDE. Segue anexo unit com alterações. Essa unit contem as alterações da contribuição anterior nela que ainda não foi analisada. ACBrUtil.pas
  12. Segue units para avaliação. Nessa units em anexo removi as variáveis não utilizadas e inicializei algumas que não estão inicializadas. ACBrNFeDANFeRLRetrato.pas ACBrNFeDANFeRLPaisagem.pas ACBrNFeDANFeRLSimplificado.pas ACBrNFeDAInutRLRetrato.pas
  13. Veja dentro do arquivo ele já tem o zero na frente. Veja: Dentro do seu sistema que deve tratar isso, o arquivo está certo.
  14. @Joabe Anderson da Silva Eu sou do Mato Grosso, atendo clientes do ramo de supermercados e que vendem diariamente esse item, uso a tabela que você está informando aquele trecho que de informei no post anterior. Você provavelmente não está gerando ele com 8 dígitos dentro do XM, edita ele e confere se está informado corretamente. Boa sorte ai.
  15. Faz o commit de suas alterações, eu nessa semana já tenho muita coisa, mas quem sabe consigo um tempinho e já iniciamos esse novo desafio. Vamos se ajudando ai que código com testes é código seguro. .
  16. @Joabe Anderson Seu NCM parece esta com 7 dígitos e ele deve conter 8 dígitos para ser valido. Falta o zero na frente dele e por isso que ele está rejeitando a sua nota.
  17. Oi @hleorj Gostei do Wilson, até me senti amigo do naufrago. Mas deixando a brincadeira de lado, e considerando o prazo que você estimou acredito que nesse ritmo de commits dos últimos tempos vamos conseguir mais voluntários para te ajudar nessa tarefa e tirar esses testes na metade do tempo. Eu mesmo depois de pronto o teste que está preparando já pensei em estender ele para ler o xml, pois pelo que vi ele está sendo elaborado para ler os dados do TXT.
  18. Que bom Daniel, Realmente removeu bastante as mensagens na IDE. Para não perder o costume nem a viagem fiz umas correções na ACBrUtil. Se ainda tiver um tempo para analisar, com essas alterações essa unit ficou livre de avisos. Em alguns casos preferi criar uma variável local aplicar a conversão nela e se preciso fazer o cast de saída. Removi um cast da ACBrBase. Rodei os testes antigos aqui no Seatle e também deu tudo certo, só tem um teste novo que foi incluído esses dias e nele não rodou tudo mas acredito que ele não esteja 100% redondo. ACBrUtil.pas ACBrBase.pas
  19. Oi @Dercide Alvarez, Estamos aplicando varias alterações para remoção de mensagens de alerta no código. Mas todas alterações estão feitas com muito cuidado e gradativamente. Quando relatou esse problema eu voltei ao meu projeto antigo em Delphi 7 para testar e todo ele rodou 100%. Mas se você detalhar melhor seu problema acredito que conseguimos resolver.
  20. Segue unit para avaliação. Nessa unit mudei uma variável local de AnsiString para String e fiz um cast. Segue anexo. ACBrExtenso.pas
  21. Segue mais uma unit para avaliação. Procurei abordar unit não diretamente ligadas a um único mantenedor afim de não sobrecarregar apenas um individuo nessa tarefa de revisão dos fontes. Na unit em questão removi cast desnecessários e fiz casts que foram precisos e criei um função privada para tentar evitar alguns. Segue anexo. ACBrIBPTax.pas
  22. Oi @GRUPOAZUR, Estamos com um projeto bem parecido com o que você disponibilizou. Pretendo construir uma Api em Delphi/Free Pascal para retornar os dados dos itens bem similar ao seu projeto e pretendo também se possível utilizar a sua base de dados. Nossa estrutura será bem enxuta não dependeremos de patrocínio financeiro nesse momento, que me parece ser um dos fatores da descontinuidade o seu projeto. Muito provavelmente será uma ferramenta Open ou no minimo Free para uso geral onde o usuário passa o código EAN e recebe as informações do item tais como CEST, NCM e alguma coisa de PIS e Cofins. Qual foi a dificuldade encontrada nesse projeto? Tem interesse de manter essa base atualizada? Podemos converter boa parte da sua Api para pascal ou prefere um novo projeto?
  23. Oi Daniel, Sem problemas, como disse vou aguardar sua analise para poder continuar e não gerar uma sobre carga para ambos. Se precisar que eu revise algum trecho só me avisar. Não foi minha intenção alterar o comportamento do componente nem gerar qualquer tipo de problemas.
  24. Segue unis para avaliação. Foi removido uns 90% das mensagens de alerta da pasta do TEF, não testei mas acredito que as alterações não afetarão o funcionamento. Para evitar muitos cast criei uma função com a entrada e a saída esperada e fiz a conversão nela. Como que as alterações não foram aplicadas, as units atuais já incluem as anteriores. Vou aguardar a avaliação para continuar, para evitar acumulo muito grande arquivos. ACBrTEFDClass.pas ACBrTEFD.pas ACBrTEFDCliSiTef.pas ACBrTEFDVeSPague.pas ACBrTEFDTicketCar.pas ACBrTEFDBanese.pas ACBrTEFDCliDTEF.pas
  25. Oi EMBarbosa, Concordo contigo, que não devemos misturar as coisas. Vou tentar melhorar mais ainda e redobrar o cuidado com esse monte de units manipuladas. Sempre que faço alguma alteração é decorrente de muito teste e analise, evito enviar código sem teste de produção ou por mera questão de gosto ou ego. Eu fico um pouco cauteloso em fazer alterações mais profundas e mais amplas, já questionei em outras oportunidades a postura a ser adotada e seguida em relação a alguns pontos específicos e não obtive nenhuma resposta concreta. Vou aproveita a lavação de roupa e levantar novamente algumas das questões que até me ajudaria a ajudar no crescimento da ferramenta com uma certeza maior de estar fazendo a coisa da maneira esperada e mais profissional possível sem ferir nem desmerecer ninguém. ACBr Boleto apresenta vários tipos de mensagens, vai ser feito um refatore nele ou posso remover as mensagens a anexar as units aqui. As units do TEF apresentam muitas mensagens do tipo W1057 e W1058 e acredito que essas eu revolvo ajustando as variáveis locais para string e algumas procedures e functions com parâmetro de entra de AnsiString para String. Na pasta do ACBr Serial também tem muitos desses avisos e não definimos qual a melhor atitude para esse grupo de units. Na pasta do DFe e na pasta do PCN também tem muitas mensagens W1057 e W1058. Mas como mostrei são varias das mesmas coisas e se definir como corrigir já padroniza até para os usuários conseguirem adaptar seus códigos sem muitas surpresas. Não adianta eu arrumar agora e não definir como fazer ser mantido pois daqui uns meses volta todas os mesmos avisos. Por isso que peço para os coordenadores se possível definir a postura do projeto se será ANSI ou UTF8 ou ambos.
×
×
  • 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.