Árvore de páginas

Produto:

Protheus.

Ocorrência:

A100SEGCPO: Permitir que os campos sejam ignorados.

Passo a passo:

Permitir que o sistema ignore os campos criados pelo usuário no momento em que estiver processando o cálculo das unidades de medida.

Esse ponto de entrada foi criado para evitar que o sistema processe os campos criados por usuários durante o cálculo das unidades de medida.

Por exemplo: na tabela SD1 (rotina Documento de Entrada) não existe o campo D1_PRODUTO, mas caso o usuário crie um campo com esse nome ocorrerá um problema no momento em que as unidades de medida estiverem sendo calculadas. Isso ocorre porque o sufixo do nome do campo _PRODUTO é utilizado em outras tabelas e o tratamento das unidades de medida não funcionará corretamente. Para evitar este conflito o sistema poderá, através do ponto de entrada, ignorar os campos que o usuário determinar.

Será enviado como parâmetro para o ponto de entrada o nome de cada um dos campos da tabela que deverão ser processados durante o cálculo das unidades de medida.

O valor de retorno deste ponto de entrada deverá ser do tipo lógico: Verdadeiro (.T.) ou Falso (.F.).

Se o retorno for verdadeiro (.T.) o campo será processado normalmente. Se o retorno for falso (.F.) o campo será ignorado.

Caso o valor de retorno não seja do tipo lógico, o sistema assumirá automaticamente o valor falso (.F.) e o campo não será processado.

Localização: Em rotinas onde existe o tratamento da primeira e segunda unidade de medida de produtos, como por exemplo, Documento de Entrada, Solicitação de Compras e Pedidos de Compras. Na rotina Pedido de Vendas embora exista o mesmo tipo de tratamento esse ponto de entrada não será utilizado pois não haverá conflito de nomes de campos.

Em que ponto: Ao informar um produto que possua as duas unidades de medida devidamente cadastradas.

Programa fonte: SIGACUSA.PRW

SintaxeA100SEGCPO - Permitir que os campos sejam ignorados ( < @PARAMIXB> ) --> lRet

Parâmetro:

NomeTipoDescriçãoDefaultObrigatórioReferência
PARAMIXBCaracterNome do campo que será processado
XX

Retorno:

lRet(logico)

  • Processa (.T.) ou não (.F.) o campo.

Exemplo:

User Function A100SEGCPO()Local lRet := .T.If ParamIxb $ 'D1_PRODUTO|D1_NOMEPRO|D1_DESCPRO' // <- Ignora qualquer um destes campos    lRet := .F.EndIfReturn(lRet)

Observações: