Árvore de páginas

P144ITM - Manipulação dos dados das grids de resultados e documentos

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):
NomeTipoDescriçãoDefaultObrigatórioReferencia
PARAMIXB[1]Caractere

Grid na qual será adicionado os dados.

"AtuResulta" - Grid de resultados

"AtuDocs" - Grid de documentos



PARAMIXB[2]CaractereTicket que está sendo consultado os documentos


PARAMIXB[3]CaractereProduto que está carregando os dados


PARAMIXB[4]ArrayArray com os dados que serão adicionados na grid


PARAMIXB[5]NuméricoPosição do item que está sendo alterado no momento da chamada


PARAMIXB[6]NuméricoPosição do item que está sendo atualizado no momento da chamada (Usar no lugar do parâmetro PARAMIXB[5] quando for maior que 0)0

PARAMIXB[7]LógicoIndica se usa multi empresa ou não


Idiomas:

Todos

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:O ponto de entrada P144ITM permite o usuário manipular os dados que serão carregados na grid de resultados e documentos.
Localização:

Funções AtuResulta e AtuDocs do fonte PCPA144.prw

Eventos:

Permite manipular os dados da grid, inserido em valores em colunas personalizadas.

Programa Fonte:PCPA144.prw

Sintaxe:

P144ITM( ) → aResults

Retorno:

Deve retornar um array com os valores que serão inseridos na grid.

Observações:

O array que será retornado para exibir no grid deve seguir a estrutura apresentada a seguir:,


Grid Resultados (Sem Multi Empresa)Grid Resultados (Com Multi Empresa)Grid Documentos (Sem Multi Empresa)Grid Documentos (Com Multi Empresa)
PosiçãoCampo
1Período
2Estoque
3Entradas
4Saídas
5Saída Estrut.
6Saldo Final
7Necessidade
8 → n-1Campos Personalizados
nCor da Linha na Grid

Considerar n o tamanho do array

PosiçãoCampo
1Período
2Estoque
3Entradas
4Saídas
5Saída Estrut.
6Transf. Entrada
7Transf. Saída
8Saldo Final
9Necessidade
10 → n-1Campos Personalizados
nCor da Linha na Grid

Considerar n o tamanho do array


PosiçãoCampo
1Número
2Necessidade Original
3Estoque
4Baixa
5Empenho
6Substituição
7Quantidade
8Armazém
9Entrega
10Início
11Tipo Pai
12Documento Pai
13Produto Pai

14

TRT
15Revisão
16Roteiro
17Operação
18Tp. Doc. ERP
19Documento ERP
20Versão da Produção
21 → n-5Campos Personalizados
n-4Chave
n-3Chave Subst.
n-2Seq. Quebra
n-1Cor da Linha na Grid
nNil

Considerar n o tamanho do array


PosiçãoCampo
1Filial
2Número
3Necessidade Original
4Estoque
5Baixa
6Empenho
7Substituição
8Transf. Entrada
9Transf. Saída
10Quantidade
11Armazém
12Entrega
13Início
14Tipo Pai
15Documento Pai
16Produto Pai
17TRT
18Revisão
19Roteiro
20Operação
21Tp. Doc. ERP
22Documento ERP
23Versão da Produção
24 → n-5Campos Personalizados
n-4Chave
n-3Chave Subst.
n-2Seq. Quebra
n-1Cor da Linha na Grid
nNil

Considerar n o tamanho do array

Para acessar a posição do registro sendo manipulado no momento da chamada deve ser utilizado o parâmetro PARAMIXB[5] ou o parâmetro PARAMIXB[6] caso maior que 0.

O parâmetro PARAMIXB[6] será maior que 0 quando houver múltiplos registros para o mesmo período na tabela de resultados, assim irá atualizar os valores daquele período ao invés de adicionar uma nova linha na grid.

Para a manipulação de dados em colunas personalizadas, deve primeiro ser adicionada a coluna via ponto de entrada P144COL.

Este ponto de entrada não está disponível na tela de resultados PO UI (resultadomrp)

Exemplo
#INCLUDE "PROTHEUS.CH"  

User Function P144ITM()
    Local cGridSel:= PARAMIXB[1]
    Local cTicket := PARAMIXB[2]
    Local cProdut := PARAMIXB[3]
    Local aResults:= PARAMIXB[4]
    Local nIndRes := PARAMIXB[5]
    Local nPos    := PARAMIXB[6]
    Local lME     := PARAMIXB[7]
    Local nIndex  := Iif(nPos > 0, nPos, nIndRes)
    
    If cGridSel == "AtuResulta"
        aResults[nIndex][len(aResults[nIndex])-1] := aResults[nIndex][3] * 2
    ElseIf cGridSel == "AtuDocs"
        aResults[nIndex][len(aResults[nIndex])-5] := aResults[nIndex][Iif(lME, 4, 3)] - aResults[nIndex][Iif(lME, 3, 2)]
    EndIf

Return aResults