• A Confluence está sendo executada atualmente com todos os plugins que não são do sistema desabilitados. Pode haver perda de algumas funcionalidades

Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 12 Próxima »



Descrição:

Este Ponto de Entrada permite a manipulação das colunas do browse de Pedidos/Itens dos Pedidos de Venda apresentados na tela de Montagem de Cargas.

Exemplo:
Remover, reordenar ou alterar características dos campos a serem apresentados.

Localização:

Localizado na função OsA200Mont da rotina OMSA200, logo após a criação do array que contém as colunas padrão do browse em questão.

Parâmetros:

O Ponto de Entrada recebe como parâmetro o array aCpoBrw, contendo informações sobre as colunas que serão apresentadas no browse:

CódigoCompatibilidade¹TítuloPicture
PED_MARCA


PED_ROTA
Rota
PED_SEQROT
Entrega
PED_PEDIDO
Pedido
PED_ITEM
Item
PED_SEQLIB
Seq. Liberação
PED_CODPRO
Código²
PED_DESPRO
Produto²
PED_FILORI
Filial³
PED_CODCLI
Cliente
PED_LOJA
Loja
PED_NOME
Nome
PED_VALOR
Valor@E 99999999.99
PED_VOLUM
Volume@E 99999999.999
PED_PESO
Peso@E 99999999.999
PED_CARGA
Carga
PED_QTDLIB
Quantidade
PED_EST
Estado
PED_MUN
Município
PED_BAIRRO
Bairro
PED_CEP
CEP
PED_ENDCLI
Endereço

¹ Campo exigido pela função MsSelect() apenas para compatibilidade.
² Somente se a montagem de carga estiver sendo efetuada a partir dos itens do Pedido (pergunta "Aglutina Por?" igual a "2 - Itens")
³ Somente se o Template de Operador Logístico estiver ativo

Retorno:

Este Ponto de Entrada deve retornar um array nos mesmos moldes que o recebido por parâmetro.

IMPORTANTE!

Caso tenham sido incluídos novos itens no array, eles devem passar a ser considerados também nos Pontos de Entrada DL200TRB e OM200GRV.


Versões:10 ou superiores

NOTA!

Todos os parâmetros são recebidos na User Function via PARAMIXB, conforme consta em Execblock / Customização.

Exemplo
#INCLUDE "PROTHEUS.CH"

User Function DL200BRW()
Local aCpoBrw := PARAMIXB
Local nI      := 1

	// ----------- Exemplo de reordenção das colunas do browse ----------- //
	// Esta regra tem por objetivo posicionar o código do cliente/loja e nome,
	// em frente ao número do pedido logo após a rota e sequência de entrega
	// -------------------------------------------------------------------- //

	For nI := 1 To Len(aCpoBrw)
		// Aumenta o tamanho de cada vetor com objetivo de criar o elemento base da ordenação
		ASize(aCpoBrw[nI],5)
		// Atribui um valor para o novo elemento conforme a ordem que se deseja alcançar
		If aCpoBrw[nI,1] $ "PED_MARCA|PED_ROTA|PED_SEQROT"
			aCpoBrw[nI,5] := 100 + nI
		ElseIf aCpoBrw[nI,1] $ "PED_CODCLI|PED_LOJA|PED_NOME"
			aCpoBrw[nI,5] := 200 + nI
		Else
			aCpoBrw[nI,5] := 300 + nI
		EndIf
	Next nI

	// Realiza a reordenação, efetivamente
	ASort(aCpoBrw,,,{|x,y| x[5] < y[5]})

	For nI := 1 To Len(aCpoBrw)
		// Retorna o tamanho dos vetores para o padrão
		ASize(aCpoBrw[nI],4)
	Next nI

Return aCpoBrw



  • Sem rótulos