MC050INF - Manipula informações originais
Ponto-de-Entrada: MC050INF - Manipula informações originais
Versões: | Microsiga Protheus 8.11 , Microsiga Protheus 10 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Descrição:
Este ponto de entrada tem como objetivo permitir ao o usuário que manipule as informações originais, montadas pelo sistema de acordo com sua necessidade.Está localizado na função "C040MatScrDisp" da rotina de consulta genérica de produtos. Ela é responsável por montar as informações de totalização do grupo selecionado ao lado esquerdo da janela de consulta.EM QUE PONTO:Será executado antes que os totais sejam exibidos do lado direito da tela. UTILIZAÇÃO: As informações apresentadas do lado direito da tela representam os totais do grupo selecionado, no lado esquerdo da tela.Quando um item interno do grupo é selecionado (no lado esquerdo), as informações pertinentes àquele item serão apresentadas e o ponto de entrada não será executado. Ele somente será executado se o item selecionado for um item "pai".Detalhe: nem todos os itens "pai" possuem totalizadores. Nestes casos o PE não será executado.Os totais apresentados podem variar (em descrição e valor) dependendo do item selecionado, mas a forma como as informações são montadas sempre será através de um vetor bidimensional.A primeira dimensão (externa) representa cada uma das linhas que serão montadas e a segunda dimensão (interna) representa os detalhes da linha (descrição do totalizador e valor).Quando há algum total a ser exibido (mesmo que seja zerado), o vetor possuirá duas dimensões internas em cada dimensão externa. A primeira dimensão interna será a descrição do totalizador e a segunda seu valor.Quando não houver total a ser exibido, cada dimensão externa possuirá apenas uma dimensão interna, representando suadescrição. (na maioria dos casos é informado ao usuário que não existem totais a serem exibidos).PARÂMETROS DE ENVIO:Os parâmetros enviados ao ponto de entrada estão no vetor PARAMIXB, sendo eles:{ PARAMIXB[1] }PARAMIXB[1]: vetor original montado pelo sistema.Para se obter o vetor enviado como parâmetro é possível utilizar a sintaxe:Local aVetor := PARAMIXB[1]PARÂMETROS DE RETORNO:O vetor original pode possuir "N" linhas (dimensões externas) em função do item selecionado. Cada linha pode possuir atédois itens (dimensões internas, descrição e valor). Portanto o valor de retorno deste ponto de entrada deverá ser do tipovetor e possuir a mesma estrutura que o vetor original. Não é obrigatório possuir o mesmo número de dimensões, pois ousuário poderá incluir, alterar, ou até mesmo excluir linhas. O importante é que a estrutura básica seja respeitada.Por exemplo:Estrutura do vetor original:|-{}aInfo <-- vetor original contendo diversas linhas (dimensões externas)
| -{}aInfo[1] <-- primeira linha/dimensão externa
| - aInfo[1][1] <-- primeira dimensão interna: descrição do totalizador
| - aInfo[1][2] <-- segunda dimensão interna: valor
| -{}aInfo[2] <-- segunda linha/dimensão externa
| -{}aInfo[3] <-- terceira linha/dimensão externa
| -{}aInfo[4] <-- quarta linha/dimensão externa
| -{}aInfo[5] <-- quinta linha/dimensão externa
Estruturas válidas para o vetor de retorno:
|-{}aRet <-- vetor de retorno contendo uma linha (dimensão externa)
| -{}aRet[1] <-- primeira linha/dimensão externa
| - aRet[1][1] <-- primeira dimensão interna: descrição do totalizador
| - aRet[1][2] <-- segunda dimensão interna: valor
Ou
|-{}aRet <-- vetor de retorno contendo duas linhas (dimensões externas)
| -{}aRet[1] <-- primeira linha/dimensão externa
| - aRet[1][1] <-- primeira dimensão interna: informação ao usuário
| -{}aRet[2] <-- segunda linha/dimensão externa
| - aRet[2][1] <-- primeira dimensão interna: informação ao usuário
Não poderá ser utilizada, por exemplo, a seguinte estrutura:
|-{}aInfo <-- vetor de retorno contendo duas linhas (dimensão externa)
| - aInfo[1] <-- primeira linha/dimensão externa
| - aInfo[2] <-- segunda linha/dimensão externa
Neste caso as linhas não possuem detalhes. Ocorrerá um ErrorLog se esta for a estrutura do vetor de retorno.
Programa Fonte
MATC050.PRX
Sintaxe
MC050INF - Manipula informações originais ( [ PARAMIXB[1] ] ) --> aRet
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório | Referência | ||||||||||||
PARAMIXB[1] | Array of Record | Vetor contendo as informações originais a serem exibidas. |
Retorno
-
aRet()
- Vetor contendo as novas informações a serem exibidas. Deve respeitar a estrutura do vetor de origem.
Exemplos
User Function MC050INF()Local aOrigem := ParamIXB[1] // Vetor com as informações originaisLocal aRet := {}Local nX := 0If Len(aOrigem) > 0 For nX := 1 to Len(aOrigem) If Len(aOrigem[nX]) > 0 If !("MOEDA" $ Upper(aOrigem[nX][1])) // Não insere no vetor as informações das moedas aAdd(aRet, aOrigem[nX]) EndIf EndIf Next nXEndIfReturn aRet // retorna um vetor contendo as informações a serem exibidas
Variáveis
Nome | Tipo | Escopo | Pode Alterar | descrição | ||||||||||
Array of Record | Global | Não |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas