CONTEÚDO
- Visão Geral
- Exemplo de utilização
- Tela XXX
- Outras Ações / Ações relacionadas
- Tela XXX
- Principais Campos e Parâmetros
- Tabelas utilizadas
01. VISÃO GERAL
A rotina de romaneio(OGA250) foi criado usando a arquitetura a arquitetura Model-View-Controller ou MVC, possibilitando o possibilitando o uso da regra de negócio em aplicações automática.
A finalidade deste documento é exemplificar a inclusão, alteração e exclusão de um romaneio via rotina automática MVC.
O romaneio sem pesagem/simbólico(OGA251) também faz uso da rotina de romaneio(OGA250), se diferenciando por não fazer uso da balança, não sendo necessário informar o peso de entrada e saída, mas somente o peso bruto do romaneio.
Nota |
---|
Documentação se aplica ao Protheus a partir da versão 12.1.27. Deve ser adequado conforme a necessidade do cliente. |
02. EXEMPLO DE UTILIZAÇÃO
...
Totvs custom tabs box |
---|
tabs | Inclusão Com Pesagem, Inclusão Sem Pesagem, Alteração, Exclusão, Atualização, Confirmação |
---|
ids | passo1,passo2,passo3,passo4,passo5,passo6 |
---|
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | passo1 |
---|
| Bloco de código |
---|
title | Exemplo de código - Inclusão Romaneio com Pesagem |
---|
linenumbers | true |
---|
| User Function zIncRomP()
Local lRet := .F.
Local oModel := Nil
oModel := FWLoadModel('OGA250')
oModel:SetOperation(MODEL_OPERATION_INSERT) //INCLUSÃO
oModel:Activate()
//### Modelos de dados: NJJUNICO, NJKUNICO, NK4UNICO, NJMUNICO ###
//Setando valores nos campos
oModel:GetModel('NJJUNICO'):SetValue('NJJ_TIPENT', '0') //COM PESAGEM
oModel:GetModel('NJJUNICO'):SetValue('NJJ_TIPO', '4') //SAIDA POR VENDA
oModel:GetModel('NJJUNICO'):SetValue('NJJ_CODCTR', '000116') //NUMERO DO CONTRATO
oModel:GetModel('NJJUNICO'):SetValue('NJJ_TPFORM', '1')
oModel:GetModel('NJJUNICO'):SetValue('NJJ_LOCAL', '01')
oModel:GetModel('NJJUNICO'):SetValue('NJJ_TABELA', '000001')
oModel:GetModel('NJJUNICO'):SetValue('NJJ_PESO1', 1000)
oModel:GetModel('NJJUNICO'):SetValue('NJJ_PESO2', 2000)
oModel:GetModel('NJJUNICO'):SetValue('NJJ_PSSUBT', 1000)
//modelo de dados da aba Classificação(Grid)
oModel:GetModel('NJKUNICO'):GoLine( 1 ) //posicionando na linha
oModel:GetModel('NJKUNICO'):SetValue('NJK_PERDES', 1)
oModel:GetModel('NJKUNICO'):GoLine( 2 ) //posicionando na linha
oModel:GetModel('NJKUNICO'):SetValue('NJK_PERDES', 0.8)
//modelo de dados da aba Comercialização(Grid)
oModel:GetModel( "NJMUNICO" ):GoLine( 1 ) //posicionando na linha
oModel:GetModel('NJMUNICO'):SetValue('NJM_ITEROM', '01')
If oModel:VldData() //valida os dados
oModel:CommitData() //realiza a gravação do registro
MsgInfo("Registro incluído com sucesso")
lRet := .T.
Else
VarInfo("",oModel:GetErrorMessage())
MsgAlert("Erro ao incluir o registro")
EndIf
return lRet |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo2 |
---|
| Bloco de código |
---|
title | Exemplo de código - Inclusão Romaneio sem Pesagem(simbólico) |
---|
linenumbers | true |
---|
| User Function zIncRomS()
Local lRet := .F.
Local oModel := Nil
SetFunName("OGA251") //para definir que deve ser considerado a chamada pelo OGA251(Romaneio sem pesagem)
//chamada da função acima necessário para algumas validações, importante seu uso somente nos romaneio com o campo NJJ_TIPENT='2'
oModel := FWLoadModel('OGA250')
oModel:SetOperation(MODEL_OPERATION_INSERT)
oModel:Activate()
oModel:GetModel('NJJUNICO'):SetValue('NJJ_TIPENT', '2') //SEM PESAGEM
oModel:GetModel('NJJUNICO'):SetValue('NJJ_TIPO', '4') //SAIDA POR VENDA
oModel:GetModel('NJJUNICO'):SetValue('NJJ_CODCTR', '000116') //NUMERO DO CONTRATO
oModel:GetModel('NJJUNICO'):SetValue('NJJ_TPFORM', '1')
oModel:GetModel('NJJUNICO'):SetValue('NJJ_LOCAL', '01')
oModel:GetModel('NJJUNICO'):SetValue('NJJ_TABELA', '000001')
oModel:GetModel('NJJUNICO'):SetValue('NJJ_PSSUBT', 1000)
//modelo de dados da aba Classificação(Grid)
oModel:GetModel('NJKUNICO'):GoLine( 1 ) //posicionando na linha
oModel:GetModel('NJKUNICO'):SetValue('NJK_PERDES', 1)
oModel:GetModel('NJKUNICO'):GoLine( 2 ) //posicionando na linha
oModel:GetModel('NJKUNICO'):SetValue('NJK_PERDES', 0.8)
//modelo de dados da aba Comercialização(Grid)
oModel:GetModel( "NJMUNICO" ):GoLine( 1 ) //posicionando na linha
oModel:GetModel('NJMUNICO'):SetValue('NJM_ITEROM', '01')
If oModel:VldData() //valida os dados
oModel:CommitData() //realiza a gravação do registro
MsgInfo("Registro incluído com sucesso")
lRet := .T.
Else
VarInfo("",oModel:GetErrorMessage())
MsgAlert("Erro ao incluir o registro")
EndIf
return lRet |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo3 |
---|
| Bloco de código |
---|
title | Exemplo de código - Alteração do Romaneio |
---|
linenumbers | true |
---|
| User Function zEditRom()
Local lRet := .F.
Local oModel := Nil
dbSelectArea("NJJ")
NJJ->(DbSetOrder(1))
If NJJ->(DbSeek(xFilial("NJJ") + '0000000447'))
//SetFunName("OGA251") //importante definir para o romaneio sem pesagem, campo NJJ_TIPENT='2', para executar as validações corretas
oModel := FWLoadModel('OGA250')
oModel:SetOperation(MODEL_OPERATION_UPDATE) //Alteração
oModel:Activate()
//### Modelos de dados: NJJUNICO, NJKUNICO, NK4UNICO, NJMUNICO ###
//Setando valores nos campos
oModel:GetModel('NJJUNICO'):SetValue('NJJ_LOCAL', '02')
//modelo de dados da aba Classificação(Grid)
oModel:GetModel( "NJKUNICO" ):GoLine( 1 )
oModel:GetModel('NJKUNICO'):SetValue('NJK_PERDES', 1.1)
//modelo de dados da aba Comercialização(Grid)
oModel:GetModel( "NJMUNICO" ):GoLine( 1 )
oModel:GetModel('NJMUNICO'):SetValue('NJM_TES', '501')
If oModel:VldData()
oModel:CommitData()
MsgInfo("Registro alterado com sucesso")
lRet := .T.
Else
VarInfo("",oModel:GetErrorMessage())
MsgAlert("Erro ao alterar o registro")
EndIf
Else
MsgAlert("Registro não localizado!")
EndIf
return lRet |
|
Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo4 |
---|
| Bloco de código |
---|
title | Exemplo de código - Exclusão do Romaneio |
---|
linenumbers | true |
---|
| User Function zDeletRom()
Local lRet := .F.
Local oModel := Nil
dbSelectArea("NJJ")
NJJ->(DbSetOrder(1))
If NJJ->(DbSeek(xFilial("NJJ") + '0000000449'))
oModel := FWLoadModel('OGA250')
oModel:SetOperation(MODEL_OPERATION_DELETE) //Exclusão
oModel:Activate()
If oModel:VldData()
oModel:CommitData()
MsgInfo("Registro excluido com sucesso")
lRet := .T.
Else
VarInfo("",oModel:GetErrorMessage())
MsgAlert("Erro ao excluir o registro")
EndIf
Else
MsgAlert("Registro não localizado!")
EndIf
return lRet |
| Totvs custom tabs box items |
---|
default | no |
---|
referencia | passo5 |
---|
| Bloco de código |
---|
title | Exemplo de código - Atualização do Romaneio |
---|
linenumbers | true |
---|
| User Function zAtuRom( )
Local lRet := .F.
dbSelectArea("NJJ")
NJJ->(DbSetOrder(1))
If NJJ->(DbSeek(xFilial("NJJ") + '0000000450'))
If OGA250ATUC( Alias(), Recno(), 4, .t. )
MsgInfo("Romaneio Atualizado com sucesso.")
lRet := .T.
Else
MsgInfo("Ocorreu um erro na atualização do romaneio.")
EndIf
Else
MsgInfo("Registro não localizado!")
EndIf
return lRet |
|
|
03.
...
Outras Ações / Ações relacionadas
...
ASSUNTOS RELACIONADOS
04. TELA XXXXX
Principais Campos e Parâmetros
...
Card documentos |
---|
Informacao | Use esse box para destacar informações relevantes e/ou de destaque. |
---|
Titulo | IMPORTANTE! |
---|
|
...