Árvore de páginas

M010B5CP - Ponto de entrada para manipulação dos campos de Complementos de Produtos(SB5)

Produto:

Protheus

Versões:

12.1.17 (outubro/2017 e) e posteriores

Rotina:MATA010 - Cadastro de Produtos

Ocorrência:

Ponto de Entrada que permite limpar o conteúdo dos campos de complemento de produto(SB5) quando executada a função de cópia de produto para o cadastro de produtos que atualiza o complemento.
Ex.: Possibilita limpar os dados de comprimento, largura e altura do produto original, que por padrão seriam carregados na cópia do produto, para que os novos valores sejam informados.
Localização:

Cadastro de Produto sem a implementação MVC
Function A010IncPeC() - Função Responsável pela inclusão do produto juntamente com seu complemento.

Cadastro de Produto após implementação MVC
Evento MATA010EVPE ( FWModelEvent ), Método Activate().


Parâmetros:ParamIXB → Versão com implementação MVC.

Passo a passo:

O Ponto de Entrada pode ser executado como nas versões anteriores, como também ser realizado através do MVC, conforme exemplos abaixo.

Observações:

A configuração do parâmetro MV_CADPROD deverá ser observado, de forma a garantir que a rotina automática respeitará a parametrização via Configurador.


O exemplo demostra a inclusão, alteração e exclusão de um produto através da utilização da rotina automática.

Documentação também se aplica a Protheus 11 e 12, porém, deve-se atentar que a versão com MVC está disponível a partir da versão 12.1.17 de outubro de 2017 do Protheus.


Observação

Os exemplos abaixo devem ser adequados conforme a necessidade do cliente
Sem MVC ( Protheus 10, 11 e anteriores a 12.1.17 Outubro/2017)
#Include 'Protheus.ch'

User Function M010B5CP()
Local lRet      := .T.

	M->B5_CEME   := CriaVar( 'B5_CEME', .F. )
	M->B5_ENDENT := CriaVar( 'B5_ENDENT', .F. )
	M->B5_ENDREQ := CriaVar( 'B5_ENDREQ', .F. )
	M->B5_ENDDEV := CriaVar( 'B5_ENDDEV', .F. )

Return lRet



Com MVC (Versão 12.1.17 outubro/17 e posteriores)
#Include 'Protheus.ch'
#include 'FWMVCDef.ch'

User Function M010B5CP()
Local lRet      := .T.
Local oModel    := Nil
Local nOpcx     := 0 
Local lCopy     := .F.
Local lIsMvc    := ( Type( 'ParamIXB' ) == 'A' )

If lIsMvc
    oModel  := ParamIXB[ 1 ]
    nOpcx   := ParamIXB[ 2 ]
    lCopy   := ParamIXB[ 3 ]
	
   	oModel:LoadValue( 'B5_CEME', CriaVar( 'B5_CEME', .F. ) )
   	oModel:LoadValue( 'B5_ENDENT', CriaVar( 'B5_ENDENT', .F. ) )
   	oModel:LoadValue( 'B5_ENDREQ', CriaVar( 'B5_ENDREQ', .F. ) )
   	oModel:LoadValue( 'B5_ENDDEV', CriaVar( 'B5_ENDDEV', .F. ) )

EndIf

Return lRet


Parâmetros:

Observação

O parâmetro abaixo se aplica a versão com implementação MVC.
NomeTipoDescriçãoDefaultObrigatórioReferência
ParamIXB
Array

Array contendo:

1- Model da tabela SB5;

2- Opção Escolhida;

3- Se a Operação executada é uma Cópia;


X