Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: Previsão de Horas para Customizações em ERP TOTVS

_Créditos da imagem: Gerada com auxílio do ChatGPT_ --- # **Previsão de Horas para Customizações em ERP TOTVS: Uma Abordagem Baseada em Fatores de Complexidade** No universo de customizações para o ERP da TOTVS, uma das etapas mais desafiadoras é a estimativa precisa do esforço necessário para o desenvolvimento. Muitas vezes, projetos aparentemente simples podem se tornar complexos devido a fatores como dificuldade de acesso ao ambiente ou falta de conhecimento da regra de negócio. Por isso, criamos uma metodologia de cálculo baseada em fatores de ajuste para tornar as estimativas mais precisas e confiáveis. ## **Por que uma boa estimativa é essencial?** Um orçamento mal calculado pode impactar diretamente o cronograma, os custos e até a qualidade da entrega. No caso de projetos relacionados ao ERP TOTVS, onde cada customização está ligada a regras de negócios específicas e a um ambiente muitas vezes complexo, subestimar ou superestimar o tempo necessário pode gerar problemas sign

Protheus :: Advpl :: Duelo de Titãs :: Harbour x ADVPL (Making-of :: operador de Hash)

  1. Protheus :: Advpl :: Duelo de Titãs :: Harbour x ADVPL ;

  2. Protheus :: Advpl :: Duelo de Titãs :: Harbour x ADVPL (Round 2, Figth!) ; e

  3. Protheus :: Advpl :: Duelo de Titãs :: Harbour x ADVPL (You Win!)

Os “Bastidores da série: Protheus :: Advpl :: Duelo de Titãs :: Harbour x ADVPL”, irão revelar o poder por trás do pré-processador ADVPL. Nosso astro Principal: “ptxlsxml.ch”.

O Operador de Hash (ao som de Ice T “Colors”).

Antes de mais nada, para que tudo fosse possível, foi necessária uma “pequena” adaptação no código original do Harbour pois o operador de Hash => não é suportado pela linguagem ADVPL. O operador de Hash do Harbour, a exemplo do operador de Array {} (ADVPL/Harbour) tem uma função equivalente.

Para o operador {} temos a função Array() e, para =>, do Harbour, teremos hb_hash(). Sem isso seria impossível a utilização do código Harbour em ADVPL.

As alterações em relação ao operador => foram:

Para o Programa: xlsxml.prg

image

image

Para o programa: xlsxml_s.prg

image

 image

image

image

e, Para o Programa: xlsxml_y.prg

image

image

image 

image

Mas afinal, o que é Hash?

Segundo a WikPédia podemos definir  Hash ou “Vetor associativo” como:

Um vetor associativo é uma estrutura de dados composta de um conjunto não-ordenado de itens formados por um par chave e valor, no qual cada chave possui um valor associado. Essas chaves são definidas pelo usuário e devem ser armazenadas na estrutura. O relacionamento existente entre as chaves e seus respectivos valores é chamado de mapeamento, pois para buscar um valor utiliza-se a chave como índice de busca. Na implementação de um vetor associativo, os elementos são armazenados e recuperados com funções de dispersão. Pode-se buscar o valor de um elemento pela chave e também verificar se existe algum elemento relacionado àquela chave.

A principal vantagem existente na utilização de vetores associativos está na facilidade de realização de buscas por valores. Porém, não é tão eficiente quanto um vetor comum quando todos os elementos do vetor devem ser processados.

A relação entre uma chave e seu valor as vezes é chamada de mapeamento ou ligação. Por exemplo, se o valor associado à chave "bob" é 7, dizemos que nosso vetor mapeia "bob" para 7. Vetores associativos estão intimamente relacionados ao conceito matemático de função bijetora um domínio finito. Como conseqüência, um uso comum e importante de vetores associativos é em memorização.

Onde encontramos essa estrutura/formação:

Em arquivos INI, XML, HTML, etc.

Bem, o maior trabalho na compatibilização do código Harbour com ADVPL, foi, de fato, Hash. Tive que simulá-lo e, com certeza, não o fiz de forma otimizada. Reaproveitei, por suas características, a classe TFINI; que evoluiu a séria candidata ao controle de Hash e passou a denominar-se THash donde TINI passou a derivar. É mister afirmar que, com um pouquinho de estudo, poderemos implementar Hash de forma intuitiva, nativa e, por que não dizer, descente. Mas, isso é uma outra história.

Que venha o Pré-Processador.

[]s

иαldσ dj

Comentários

  1. Fala ae Grande Mestre Lee!!!! Hehehe.. é impressao ou realmente vc esta fodao nos ultimos posts??? Caraca... esse com certeza esta no top10, pena q nem todos que acompanham o blog ou trabalham com Microsiga/Advpl no dia a dia entenderam todo processo e a grande obra de arte por tras de tudo isso... Mas de toda forma que sirva antes de tudo como grande exemplo para que o conhecimento nunca fica engessado como muitos acabam fazendo no decorrer de tempo! Parabens e mais uma vez sem palavras Mestrao!!! Grande abraço!

    ResponderExcluir

Postar um comentário

Postagens mais visitadas