-
Total de ítens
620 -
Registro em
-
Última visita
-
Days Won
4
Tudo que Waldir Paim postou
-
Remoção de Hints e Warning do ACBr
Waldir Paim replied to Waldir Paim's tópico in Dúvidas Gerais sobre o ACBr
Oi EMBarbosa, Está descrito sim, inclusive colei o código antigo e o novo. Você poderia detalhar como espera que eu proceda nesse caso? Eu preferia mil vezes anexar os patchs mas fui orientado a anexar as units. Na tentativa de ajudar estou fazendo as alterações e mantendo o código o mais original possível. Ainda tento avisar antecipadamente qual ação irei efetuar, inclusive tem algumas alterações que podem quebrar o código e estou evitando mexer, não por incapacidade mas por essa questão de problemas na estrutura mesmo e assim as alterações poderão gerar uma reflexão maior. Conto com sua ajuda para gente definir aqui quais procedimentos devem ser adotados para não gerar nenhum tipo de problema aos usuários. -
Remoção de Hints e Warning do ACBr
Waldir Paim replied to Waldir Paim's tópico in Dúvidas Gerais sobre o ACBr
Segue units para avaliação. As alterações são minimas, foi adicionado a diretiva Windows e removido inicialização de functions desnecessárias. Devo submeter hoje ainda a proposta de remoção dos avisos do tipo W1057 e W1058. ACBrTEFDClass.pas ACBrTEFDCliSiTef.pas ACBrTEFDBanese.pas ACBrTEFDTicketCar.pas Na unit mandei uma correção onde o raise está no lugar errrado. Já havia reportado em outras ocasiones mais não foi corrigido. Mudei de : procedure TACBrTEFDClass.DesInicializar; begin fpInicializado := False ; GravaLog( Name +' DesInicializado' ); end; procedure TACBrTEFDClass.VerificaAtivo; begin try ATV; except on E : EACBrTEFDGPNaoResponde do begin if AutoAtivarGP then begin TACBrTEFD(Owner).DoExibeMsg( opmOK, 'O Gerenciador Padrão não está ativo e será ativado automaticamente!'); AtivarGP; ATV; end; end; else raise ; end; end Para: procedure TACBrTEFDClass.VerificaAtivo; begin try ATV; except on E : EACBrTEFDGPNaoResponde do begin if AutoAtivarGP then begin TACBrTEFD(Owner).DoExibeMsg( opmOK, 'O Gerenciador Padrão não está ativo e será ativado automaticamente!'); AtivarGP; ATV; end else raise; end; end; end; -
Remoção de Hints e Warning do ACBr
Waldir Paim replied to Waldir Paim's tópico in Dúvidas Gerais sobre o ACBr
Segue units da pasta Sped com remoção do mensagens W1057 e W1058. Removi 100% das mensagens descritas acima das units da pasta em questão foram removidas mais de 700 mensagens. Tambem inclui algumas melhorias que havia proposto em outros tópicos e ainda não foram aplicadas. Segue anexo. arquivos da pasta ACBrSPEDFiscal ACBrEFDBloco_0_Class.pas ACBrEFDBloco_1_Class.pas ACBrEFDBloco_C_Class.pas ACBrEFDBloco_D_Class.pas ACBrEFDBloco_E_Class.pas ACBrSpedFiscal.pas ACBrSPEDContabil: ACBrECDBloco_0_Class.pas ACBrSpedContabil.pas ACBrSPEDECF: ACBrSpedECF.pas ACBrSPEDPisCofins: ACBrEPCBloco_0_Class.pas ACBrEPCBloco_1_Class.pas ACBrEPCBloco_A_Class.pas ACBrEPCBloco_C_Class.pas ACBrEPCBloco_D_Class.pas ACBrEPCBloco_F_Class.pas ACBrEPCBloco_M_Class.pas ACBrSpedPisCofins.pas ACBrSPED: ACBrSped.pas ACBrTXT: ACBrTXTClass.pas ACBrTXTUtils.pas ACBrComum: ACBrUtil.pas Nessa units fiz exatamente como tinha descrito nesse trecho ali na pagina 2: Pretendo remover os avisos da units do TEF essa semana que vem. -
Remoção de Hints e Warning do ACBr
Waldir Paim replied to Waldir Paim's tópico in Dúvidas Gerais sobre o ACBr
Segue mais algumas units para verificação. Na grande maioria aqui são functions que result não utilizados e variáveis não utilizadas ou inicializadas. Não vou detalhar pois as alterações são minimas mas já remove uns quantos avisos. Vou anexar por pasta ACBrDFeSSL.pas ACBrDFe.pas ACBrDFeCapicom.pas NFe: ACBrNFeNotasFiscais.pas ACBrNFeWebServices.pas OpenSSL: ACBrEAD.pas Serial: ACBrPosPrinter.pas ACBrECFClass.pas TCP: ACBrMail.pas PCN Comum: pcnLeitor.pas Ainda tem muita coisa para ser feita, mas essa semana acredito que não mexa mais em nada. -
Remoção de Hints e Warning do ACBr
Waldir Paim replied to Waldir Paim's tópico in Dúvidas Gerais sobre o ACBr
Veja se assim da certo: procedure TACBrECFEscECF.SalvaRespostasMemoria(AtualizaVB : Boolean) ; Var ValVB : Double; begin AtualizaVB := not Assigned(RespostasComando.FieldByName('VendaBruta')); if AtualizaVB then begin try ValVB := GetVendaBruta; RespostasComando.AddField( 'VendaBruta', FloatToIntStr(ValVB) ); except end; RespostasComando.AddField( 'EmPagamento', ifthen( fsEmPagamento,'1','0') ); end ; RespostasComando.SaveToFile( fsArqMemoria ); end ; Dessa forma testa e não apresenta a mensagem. Poderia até nem precisar do AtualizaVB Usa: not Assigned(RespostasComando.FieldByName('VendaBruta')) Direto dentro do If -
Remoção de Hints e Warning do ACBr
Waldir Paim replied to Waldir Paim's tópico in Dúvidas Gerais sobre o ACBr
Segue mais alguma unit para utilizar CharInSet no lugar de In. Acredito que essas sejam as ultimas com esse problema. Inicializei algumas variáveis mais comentei onde a mensagem ocorre. ACBrECFEscECF.pas ACBrECFClass.pas ACBrRFD.pas ACBrECF.pas ACBrECFSwedaSTX.pas ACBrECFFiscNET.pas ACBrECFDataRegis.pas ACBrECFDaruma.pas ACBrECFEpson.pas Não sei bem como tratar isso... o importante desse bloco, é a chamada a: RespostasComando.FieldByName('VendaBruta').AsFloat; Se o 'VendaBruta' ainda não existir, será disparado um exception, que é tratado no Bloco... Ainda não tenho uma sugestão mas está anotado aqui para verificar. -
Remoção de Hints e Warning do ACBr
Waldir Paim replied to Waldir Paim's tópico in Dúvidas Gerais sobre o ACBr
Veja: Daniel, Fiz o merge Segue unit com com alteração proposta ACBrNFeWebServices.pas -
Remoção de Hints e Warning do ACBr
Waldir Paim replied to Waldir Paim's tópico in Dúvidas Gerais sobre o ACBr
Esse diretiva aqui quebrou a compilação: DELPHIXE2_UP Estou verificando aqui o motivo. Já encontrei! Só a virgula no lugar errado. Segue units alteradas ACBrECFSweda.pas ACBrECFSchalter.pas -
Remoção de Hints e Warning do ACBr
Waldir Paim replied to Waldir Paim's tópico in Dúvidas Gerais sobre o ACBr
Daniel, Eu sempre procuro alterar o minimo possível o código original, mantendo a logica e o raciocínio anterior para evitar no máximo possível induzir a um erro. Mas acredito que no caso acima a diretiva deveria ser então: {$IFDEF DELPHI16_UP} , System.UITypes {$ENDIF} Ou ainda fica mais legivei ainda: {$IFDEF DELPHIXE2_UP} , System.UITypes {$ENDIF} Fica a seu critério. -
Valeu, agora ficou 100%.
-
Bom dia, Valdir e Luciano. Estou com a documentação enviada pelo cliente do Unicred e aqui usa o Bradesco, ates usavam o Banco do Brasil. Até fiz umas alterações no ACBr para adicionar essa Cooperativa, mas eles são muito indecisos e não sabem o que nem quem usar. Vou anexar aqui a documentação que recebi ela é datada de Janeiro de 2016 e acredito ser a instituição atual deles. Anexei também as units que alterei provisoriamente para gente definir qual rumo tomar em relação a esse caso. Cobexpess - Boleto padrão + Layout 240.pdf Cobexpess - Boleto padrão + Layout CNAB 400.pdf ACBrBancoUnicredBradesco.pas ACBrBoleto.pas A Unit é a mesma do Bradesco só renomeei ela para fazer as alterações necessárias.
-
Isaque, bom dia. Você manteve o hint. Ele é do tipo: H2077 value assigned to never used. function TACBrSpedTabelas.Download(const aId, aVersao, aName: string): boolean; var Dow: TACBrDownload; begin Result := False; //<< ele reclama disso aqui if not fListou then raise EACBrTabelasSpedxception.Create(ACBrStr('Falta listar as tabelas')); Não fiz o cast nas mensagens sem acentuação propositalmente pois a mesma na precisa do mesmo. Mas seguimos. Ou devo tratar no tópico especifico?
-
Remoção de Hints e Warning do ACBr
Waldir Paim replied to Waldir Paim's tópico in Dúvidas Gerais sobre o ACBr
Daniel, Aqui ficou certo essas ultimas 03 units. Tem essas outras do dia 07/03 que vi que ainda não teve tempo de verificar. Seguindo a diante, nessa próxima semana deve sobrar um tempo e preciso que me oriente onde posso mexer, pois ainda tem bastante mensagens a ser tratada e corrigida e muitas das alterações acredito que vamos precisar definir como e por quem será feito. Um exemplo são as mensagens desse tipo: W1035: return value of function might be undefined. W1036: Variable might not have been initialized Estou evitando mexer nessas, no do ACBrBoleto e nas W1057 e W1058. Já identifiquei algumas aqui de vou dar andamento: procedure TBloco_0.WriteRegistro0500(Reg0001: TRegistro0001) ; var intFor: integer; strLinha: AnsiString; begin Como pode ver a variável local foi declarada como AnsiString mas todo seu tratamento dentro do método se faz como string e assim gera os avisos. As próximas que devo fazer são desse grupo do Sped. -
Oi Isaque, Fiz mais uma pequena melhoria na unit. Se poder depois avaliar, foi uma correção ortográfica na mensagem de erro e removi um Hints / Warning apresentada na unit. Segue anexo. ACBrSpedTabelas.pas
-
Precisei utilizar a unit ACBrSpedTabelas.pas e funcionou perfeitamente. Mas encontrei a possibilidade de deixar ela melhor ainda. Quando passa um caminho para salvar as tabelas e esse caminho não existisse a função de downalod não conseguia salvar o arquivo e não me apresentava o motivo. Segue anexo uma proposta para tentar resolver isso. ACBrSpedTabelas.pas
-
Remoção de Hints e Warning do ACBr
Waldir Paim replied to Waldir Paim's tópico in Dúvidas Gerais sobre o ACBr
Segue mais algumas units para verificação. Na unit ACBrDownloadClass ele gera o hint H2443: Inline function, adicionei unit do Windows como a IDE solicitava. Nas outras outras duas ints só fiz o cast para remover os avisos. ACBrFTPDownload.pas ACBrHTTPDownload.pas ACBrDownloadClass.pas -
Consumir Webservice REST em Delphi
Waldir Paim replied to berti's tópico in Object Pascal - Delphi & Lazarus
Que maravilha! Sobre a acentuação é bem provável que Api te retorne em UTF8 e você precisa fazer a conversão para ANSI. Tenta ai que provavelmente vai dar certo. -
Atualização automática do sistema, via Web e Lan
Waldir Paim replied to sismais's tópico in Classificados
Maicon, A solução já está praticamente pronta, falta como já te disse definir a licença e uma parte da documentação. Outra definição que estamos aguardando é o lançamento do delphi para compilar em linux para os testes finais. Em relação a programação Web! Aqui vamos seguir o seguinte caminho: No ERP temos a versão cliente servidor já rodando e no delphi seatle, estamos migrando ela para a consumir api em rest como foi descrito acima e vai rodar tanto local como web pois vai ser uma questão de escolha do cliente onde ele vai instalar o server dele. Mobile optamos nesse momento por Java mas também consumindo Api. Web propriamente dita rodando no browser vamos usar https://angular.io/ para construir nossos apps mas não penso em migrar nesse momento todo ERP para cá. Então veja o cenário acima e são varias frentes, hoje em dia não tem como uma única e exclusiva linguagem atender toda essa demanda. Então faça sua escolha mas olhe o mercado como um todo, use cada uma ferramenta ou linguagem para executar o que ele tem de melhor e não queira adoçar uma xícara de chá com uma pitada de sal que ai não vai dar certo. Agora como você mesmo disse voltando ao tópico: Essa questão do tempo é muito relativo como diria Einstein, mas estamos trabalhando aqui para ver se final de maio ou inicio de junho desse ano já tenhamos alguma coisa pronta e liberada para uso geral. -
Fazendo teste com o Banco do Brasil me deparei com uma situação onde o exemplo reclamava de que o código da carteira deveria ser informado antes do código do nosso número. Então fiz o ajuste na unit do Delphi já que a do Lazarus já informa a carteira conforme a unit do banco solicitava. A alteração é minima mas já ajuda não gerar erros nos testes. Segue unit em anexo. uDemo.pas
- 1 reply
-
- 1
-
-
Atualização automática do sistema, via Web e Lan
Waldir Paim replied to sismais's tópico in Classificados
Maicon, Esclarecendo alguns pontos: - O Delphi com IntraWeb desenvolve para web desde a versão 7, com bastante muito material didático gratuito na internet. - DataSnap oferece suporte para web nas versão mais recentes. Porém, desenvolver em Delphi para web usando RAD e VCL é impraticável, pois o HTML, CSS e JS evoluíram muito, nos oferecendo hoje frameworks extremamente produtivos como Bootstrap e AngularJS. É praticamente impossível o Delphi acompanhar a evolução desses frameworks tentando gerar código web fazendo "wrappers" de componentes VCL para componentes web. Mas há ferramentas RAD para desenvolvimento de front-ends (clients) extremamente produtivas e com preços acessíveis, WebStorm é um bom exemplo disso, usamos ele aqui na empresa. Tendo em mente o quesito acima, nossa proposta não será trabalhar criando front-ends em Delphi, e sim levar todo a regra de negócio para uma infraestrutura robusta que facilitará desenvolver a parte o back-end (server), e pretendemos iniciar dando suporte a Delphi XE8+(32/64) e Free Pascal 3.1.1+(32/64), desenvolvendo uma solução multiplataforma com alta performance, sem depender de frameworks Indy, Synapse, ICS, mORMt etc., e também sem depender de servidores web como Ngnix, Apache, Lighttpd etc., ou protocolos lentos como proxy reverso, CGI, SCGI, FastCGI, módulo Apache etc. A parte client ficará a critério do programador, onde ele poderá escolher qualquer solução do mercado, desde que ela consiga consumir dados em JSON numa estrutura RESTful, e sabemos que hoje em dia isso não é mais problema, pois o próprio Delphi possui componentes para integrar VCL facilmente com qualquer API RESTful. Qualquer duvida, estamos a disposição. -
Maciel, Eu uso a carga de balança de produtos pesáveis e unitários. Pelo que sei não tem essa ferramenta no mercado, me parece que o MGV até foi open no inicio mas não acredito que continue sendo. Mas como te disse acima e com conhecimento de causa te afirmo que existe a chamada carga automática que nesse caso pode até simular o que você precisa, onde você configura dentro do próprio monitor a tempo para buscar os TXT. Você ainda se livra de ter que desenvolver protocolo para cada tipo e modelo de balança, você só gera o TXT e envia para o MGV. Sempre cito MGV da Toledo pois o Smart da Filizola pelo menos aqui na minha região está em extinção. Outras marcas até existem mas são praticamente desconsideradas.
-
Atualização automática do sistema, via Web e Lan
Waldir Paim replied to sismais's tópico in Classificados
Juliomar, Opa, acompanho o trabalho da equipe do ACBr, estou usando desde 2005 e sou muito grato pelo esforço deles, e sempre que posso tento contribuir da melhor forma possível.Quanto ao projeto de atualização automática, ele já existe e está funcionando em nosso ERP, porém o código está em nosso repositório privado, em breve nossa equipe escolherá uma licença para então podermos publicá-lo. -
Atualização automática do sistema, via Web e Lan
Waldir Paim replied to sismais's tópico in Classificados
Maicon, Nossa ferramenta já está pronta! Já usamos em produção e temos nossa própria rotina de atualização. A proposta de open source é para tentar prestigiar e contemplar os usuários delphi e free pascal com uma alternativa de atualização on-line e usando a própria linguagem que tantos disseram que já tinha morrido e ainda se mexe com muita força. Desde 2009 com a chegada dos webservices da nf-e muitos devem ter pesando igual eu, to ferrado como vamos resolver isso, de que forma vamos enviar, assinar os xmls. Então o tempo passo e ninguém morreu como previsto e continuam por ai sorridentes e gordinhos. Hoje temos uma estrutura muito grande com a chegada dessas novas IDEs, delphi e Lazarus e o HTTP e JSON são praticamente nativos nelas. -
Consumir Webservice REST em Delphi
Waldir Paim replied to berti's tópico in Object Pascal - Delphi & Lazarus
Temos alguma experiencia no uso de API e Webservice. Se precisar de alguma ajuda nesse sentido acredito que podemos te ajudar. Para Delphi 7 também recomendo o uso do LkJSON e até uso ele em algumas situações mas nada se compara com o JSON nativo do XE8 e Seatle. -
Freela para protótipo com Rest + API WooCommerce
Waldir Paim replied to GAC Sistemas's tópico in Classificados
GAC Sistemas, Bom dia, Você precisa de ajuda só para fazer a autenticação, ou vai precisar de uma consultoria para consumir a API por completo? Podemos te ajudar em ambos os casos.