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 Sintaxe: A100SEGCPO - Permitir que os campos sejam ignorados ( < @PARAMIXB> ) --> lRet Parâmetro:
Retorno: lRet(logico)
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: |