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: |
| ||||
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: |
|
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 ()