Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS OMS

Linha de Produto:

Linha Protheus

Segmento:

Logística

Módulo:SIGAOMS - Gestão de Distribuição
Função:OMSA200 - Montagem de Carga
País:Todos Países
Ticket:11516486
Requisito/Story/Issue (informe o requisito relacionado) :DLOGWMSMSP-12192


02. DESCRIÇÃO

Este Ponto de Entrada permite incluir, alterar e remover os campos do browser de Pedidos.

Sintaxe
DL200BRW - Alterar array ( [ aRet] ) → aRet

03. LOCALIZAÇÃO

Localizado após a definição dos campos que serão utilizados no browser.

04. PARÂMETROS

Nome 

Tipo

Descrição

aRet

Array

Array que contém os campos do browser de Pedidos

05. RETORNO

Nome TipoDescrição
aRetArrayArray que contém os campos do browser de Pedidos

06. VERSÕES

Todas as versões.

07. OBSERVAÇÃO

Para que o campo seja apresentado em tela e com valores serão necessários três Pontos de Entrada:

  1.  DL200BRW, desta documentação, que cria o campo no browser.
  2.  DL200TRB - Grava arquivo temporário da carga, para a criação do campo na tabela temporária.
  3.  OM200GRV - Arquivo temporário da carga, para que sejam gravados os valores nos campos criados na tabela temporária.

08. EXEMPLO

Segue um exemplo para criar dois campos customizados e remover alguns campos de descrição.

Além de alterar a quantidade de campos, é possível alterar a descrição deles via Ponto de Entrada.

Os campos criados serão: PED_TRANSP (código do transportador)PED_TRDESC (Nome do Transportador).

PE DL200BRW

Define as Colunas PED_TRANSP e PED_TRDESC no Browser
#include 'protheus.ch'

User Function DL200BRW()
	Local aRet 	:= PARAMIXB

	aRet := {}

	aAdd(aRet,{"PED_MARCA", ,"Marca X"})
	aAdd(aRet,{"PED_ROTA", ,"Rota X"})
	aAdd(aRet,{"PED_SEQROT", ,"Seq Rota X"})
	aAdd(aRet,{"PED_PEDIDO", ,"Pedido X"})
	aAdd(aRet,{"PED_ITEM", ,"Item X"})
	aAdd(aRet,{"PED_SEQLIB", ,"Seq Lib X"})
	aAdd(aRet,{"PED_CODPRO", ,"Cod Prod X"})
	aAdd(aRet,{"PED_FILORI", ,"Filial Orig X"})
	aAdd(aRet,{"PED_CODCLI", ,"Cod Cliente X"})
	aAdd(aRet,{"PED_LOJA", ,"Loja X"})
	aAdd(aRet,{"PED_VALOR", ,"Valor X"})
	aAdd(aRet,{"PED_VOLUM", ,"Volume X"})
	aAdd(aRet,{"PED_PESO", ,"Peso X"})
	aAdd(aRet,{"PED_CARGA", ,"Carga X"})
	aAdd(aRet,{"PED_QTDLIB", ,"Qtd Lib X"})

	// X PED_DESPRO,PED_NOME,PED_REDESP,PED_REDNOM,PED_EST,PED_MUN,PED_BAIRRO,PED_CEP,PED_ENDCLI

	aAdd(aRet,{"PED_TRANSP", ,"Transportador"})
	aAdd(aRet,{"PED_TRDESC", ,"Nome Transportador"})

Return aRet

PE DL200TRB

Criar Campos PED_TRANSP e PED_TRDESC na Tabela Temporária
#include 'protheus.ch'

User Function DL200TRB()
	Local aRet 	:= PARAMIXB

	aAdd(aRet,{"PED_TRANSP", "C", 6, 0})
	aAdd(aRet,{"PED_TRDESC", "C", 40, 0})

Return aRet

PE OM200GRV

Gravar os Dados dos Campos na Tabela Temporária
#include 'protheus.ch'

User Function OM200GRV()
	Local cTransp := ""
	Local cTrDesc := ""

	TRBPED->(DbGoTop()) 
	Do While TRBPED->(!Eof())
		cTrDesc := ""
		SC5->(DbSetOrder(1))
		If SC5->(DbSeek(FwxFilial("SC5") + TRBPED->PED_PEDIDO))
			cTransp := SC5->C5_TRANSP
			If !Empty(cTransp)
				SA4->(DbSetOrder(1))
				If SA4->(DbSeek(FwxFilial("SA4") + SC5->C5_TRANSP))
					cTrDesc := SA4->A4_NOME
				EndIf
				If RecLock("TRBPED", .F.)
					TRBPED->PED_TRANSP := cTransp
					TRBPED->PED_TRDESC := cTrDesc
					TRBPED->(MsUnlock())
				EndIf
			EndIf
		EndIf
		TRBPED->(DbSkip()) 
	EndDo
Return