Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: Como Criar Relatórios de Cotações com Dados Agrupados Usando SQL

img: DALL·E 2024-08-09 07.00.00 - A high-quality image showcasing a detailed SQL query being written in a code editor, such as VS Code, on a dark theme background. ... ## Como Criar Relatórios de Cotações com Dados Agrupados Usando SQL Quando trabalhamos com sistemas ERP e precisamos gerar relatórios de cotações que apresentam dados de múltiplos fornecedores, é comum encontrarmos a necessidade de pivotar registros que, originalmente, são apresentados de forma vertical. Isso é especialmente útil quando o objetivo é comparar preços ou condições de diferentes fornecedores para um mesmo produto em uma única linha do relatório. Neste artigo, vamos explorar uma abordagem para transformar registros verticais em colunas, facilitando a impressão de relatórios que consolidam informações de vários fornecedores em uma única linha. Vamos utilizar SQL com técnicas de pivotagem, e ao final, mostraremos como estender essa técnica para um número variável de fornecedores. ### Estrutura do Relatór

Protheus :: Advpl :: Usando GetCellRect para edição de célula em um ListBox

Dia desses precisei alterar uma “customização” em um cliente e uma das novas implementações seria a substituição de alguns campos por um “ComboBox” editável. Esses campos estavam em um “ListBox” que, normalmente, não permite a edição das Células nas colunas de seu “Browse”. Após algumas tentativas, e, baseando-me na forma em que uma Célula da GetDados é Editada, cheguei à função (não documentada) GetCellRect( oBrowse , @aDim ).

GetCellRect retorna, por referência em aDim, as Dimensões da Célula a qual queremos editar. O Segredo dela é o fragmento do Código abaixo:

image

Considerando que a Edição era apenas para o “ComboBox” não me preocupei em generalizar a função, tornando-a específica: Permitir a Edição de uma Célula do “ListBox” através de um “ComboBox”.

O exemplo poderá ser ampliado e generalizado de acordo com as suas necessidades.

Usando a tabela CTT (Centros de Custo ) obteremos o seguinte resultado:

image

image

image

image

Observem que, na tela inicial do “Client”, usei U_dbgLBoxE. U_dbgLBoxE é compilada condicionalmente. Sendo assim, para poder executá-la, far-se-a necessária a definição da seguinte constante:

Parâmetros: /D___DEBUG

image

Caso contrário, a execução do código será através da U_EdtLBoxCol() via Menu ou Fórmula.

O Código poderá ser obtido aqui.

[]s

иαldσ dj

Comentários

  1. Naldo,
    Estou a procura de como colocar cores nas linhas do objeto LISTBOX, mas quero deixar de cor diferente linhas de acordo com a situação do vetor, eu consegui fazer no getdados mas no listbox nao. Voce ja viu algum listbox que modifica as cores, ou tem a classe do listbox para que eu possa descobrir, pois no original ele deixa azul e branco intermitente, entao significa que de alguma forma ele faz. Valeu.

    ResponderExcluir
  2. Blz Naldo, cara to com um problema, preciso ou colorir um celula conforme uma condição ou colocar uma imagem juntamente com texto, ou legenda sei lá ? Já viu alguma coisa mano, pode ser listbox, twbrowse sei lá qualquer coisa, é possível ? preciso montar tipo um calendário e células com imagem, legenda, ou cor diferenciada.

    Abraços

    ResponderExcluir

Postar um comentário

Postagens mais visitadas