Árvore de páginas

Ponto de Entrada para manipular dados dos Romaneios sem Pesagem

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Agroindústria

Módulo:

SIGAAGR

Rotina:

Rotina

Nome Técnico

OGA450B

Transferência Simples

País(es):

Todos

Ponto de Entrada

Localização:

Após gerar/gravar os romaneios sem pesagem de origem e destino da transferência simples.

Programa Fonte:

OGA450B

Função:

Permitir manipular os dados dos romaneios sem pesagem que foram gerados.

Retorno:

Nome

Tipo

Descrição

Obrigatório

OG450BGR

Nenhum

Envia como parâmetro o nr. do romaneio de origem e destino

NÃO

Exemplo:

 

#include 'protheus.ch'
#include 'parmtype.ch'
#Include 'fwmvcdef.ch'

User function OG450BGR()
Local nRecromOrg := PARAMIXB[1]
Local nRecromDst := PARAMIXB[2]

Local oStructNJJ
Local afieldsNJJ
LocaL lRet := .f.
Local aErro := {}

Local oMdNJJ
Local oMdNJM


// Ajustando romaneio de origem
NJJ->( dBgoTo( nRecromOrg ) )
dbSelectArea( 'NJJ' )
NJJ->( dbSetOrder( 1 ) )

SetFunName('OGA251') // Para o sistema Entender que é um romaneio sem Pesagem
oModel := FWLoadModel( 'OGA250' )
oModel:SetOperation( 4 ) // Alteração
oModel:Activate()
oMdNJJ := oModel:GetModel( 'NJJUNICO' ) // Capturando o Modelo de DAdos do Romaneio ( NJJ )
oMdNJM := oModel:GetModel( 'NJMUNICO' ) // Capturando o Modelo de DAdos dos itens do Romaneio ( NJM )

// Obtemos a estrutura de dados do cabeçalho
oStructNJJ := oMdNJJ:GetStruct()
aFieldsNJJ := oStructNJJ:GetFields()

IF aScan(aFieldsNJJ,{|X|x[MVC_MODEL_IDFIELD] == "MEUCAMPO"}) > 0 // Indica q meu cpo stá no modelo
oMdNJJ:SetValue('MEUCAMPO', 'TESTE DE PE OG460BGR')
EndIF

IF ( lRet := oModel:VldData() )
// Se o dados foram validados faz-se a gravação efetiva dos commit
oModel:CommitData()
EndIf
If !lRet
// Se os dados não foram validados obtemos a descrição do erro para gerar
// LOG ou mensagem de aviso
aErro := oModel:GetErrorMessage()
// A estrutura do vetor com erro é:
// [1] identificador (ID) do formulário de origemadmin

// [2] identificador (ID) do campo de origem
// [3] identificador (ID) do formulário de erro
// [4] identificador (ID) do campo de erro
// [5] identificador (ID) do erro
// [6] mensagem do erro
// [7] mensagem da solução
// [8] Valor atribuído
// [9] Valor anterior
AutoGrLog( "Id do formulário de origem:" + ' [' + AllToChar( aErro[1] ) + ']' )
AutoGrLog( "Id do campo de origem: " + ' [' + AllToChar( aErro[2] ) + ']' )
AutoGrLog( "Id do formulário de erro: " + ' [' + AllToChar( aErro[3] ) + ']' )
AutoGrLog( "Id do campo de erro: " + ' [' + AllToChar( aErro[4] ) + ']' )
AutoGrLog( "Id do erro: " + ' [' + AllToChar( aErro[5] ) + ']' )
AutoGrLog( "Mensagem do erro: " + ' [' + AllToChar( aErro[6] ) + ']' )
AutoGrLog( "Mensagem da solução: " + ' [' + AllToChar( aErro[7] ) + ']' )
AutoGrLog( "Valor atribuído: " + ' [' + AllToChar( aErro[8] ) + ']' )
AutoGrLog( "Valor anterior: " + ' [' + AllToChar( aErro[9] ) + ']' )
MostraErro()
EndIf
// Desativamos o Model
oModel:DeActivate()
Return ()