Page tree

Produto:

Protheus.

Ocorrência:

A200BOK: Valida Alterações na Estrutura do Produto

Passo a passo:

Localização: Function Btn200Ok() - Responsável por acionar o botão de confirmação da estrutura.

Em que ponto: Este Ponto de Entrada valida TODAS as alterações efetuadas na estrutura do produto. Executado no botão Ok, presente na mesma dialog da árvore da estrutura,deve ser retornado um valor lógico validando ou não as alterações.

Programa fonte: MATA200.PRW

SintaxeA200BOK - Valida Alterações na Estrutura do Produto ( [ aRegs ], [ cCod ] ) --> lRet

Parâmetro:

NomeTipoDescriçãoDefaultObrigatórioReferência
aRegsArray of RecordArray bidimensional contendo os números dos registros que foram incluídos ou excluídos. Este array tem utilidade apenas informativa e o Ponto de Entrada não deve deletar ou efetuar alteração nos registros deste array.Isto será feito automaticamente, de acordo com o retorno do PE:.T. Assume as alterações, mantendo as alterações no SG1;.F. Desfaz todas as alterações efetuadas no SG1 (semelhante ao teclar botão cancela, presente na mesma tela);Qualquer retorno não-lógico, será ignorado pelo programa.PS: Cada registro do array pode estar deletado ou não. Se estiver deletado, foi deletado durante a alteração atual, se não estiver deletado foi incluído.O Array poderá também estar vazio (Len(aRegs)=0), o que significa que nenhuma inclusão ou alteração foi realizada no SG1 na estrutura do produto.


cCodArray of RecordCódigo do produto que está tendo a estrutura incluída ou alterada.


nOpcXArray of RecordEm ParamIXB[3], corresponde ao número da operação realizada, sendo 2 = visualização, 3 = inclusão e 4 = alteração.


Retorno:

lRet(logico)

  • .T. ou .F., validando ou não as alterações na estrutura. Note que durante a manipulação na estrutura, os registros no SG1 sempre serão deletados ou incluídos. Podendo inclusive ser checado o SG1 pelo PE.Retorno .T.: Grava normalmente os dados no SG1Retorno .F.: Nada será feito, aguardando nova ação do usuário, ja que a janela da estrutura não será fechada, dando a chance de fazer novas alterações e acionar novamente o botao ok, quando o PE realiza nova verificação.

Exemplo:

User Function A200BOK
aRegs := PARAMIXB[1]
cCod := PARAMIXB[2]
nOpcX := PARAMIXB[3]
Alert("Produto sendo alterado: " + cCod)
For x := 1 to Len(aRegs)
Alert("Foi alterado o registro " + AllTrim(Str(aRegs[x][1])) + " no SG1")
Next
Return(.T.) // aceito as alteracoes.

Para nao aceitar, retornar .F.


Observações: