| Produto: | |
|---|---|
| Linha de Produto: | |
| Segmento: | |
| Módulo: | |
| Função: | SIGACUSA.PRX Generica do estoque |
| País: | Todos |
LOCALIZAÇÃO: Fonte Sigacusa função Rastro - verificação de utilização de rastro no produto.
EM QUE PONTO: O Ponto de entrada é executado durante a verificação se o produto utiliza o conceito de lote, executado em diversos pontos do sistema.
O Ponto de entrada envia 3 parametros :
ParamIXB[01] = Produto
ParamIXB[02] = cTipo - Como o ponto de entrada pode ser executado em diversos pontos do sistema, existem chamadas de comparação do tipo IF RASTRO(PROD,'S') ou IF RASTRO (PROD,'L') onde o 'S' ou 'L' esta no cTipo e
o retorno logico esta no parametro paramixb[03]. Caso o cTipo estiver com 'N' ou vazio significa que veio de um simples IF RASTRO(PROD) retornando .T. no paramixb[03] se tiver lote (L) ou sublote (S).
ParamIXB[03] = Retorno logico das situações do parametro Paramixb[02].
E recebe o retorno :
.T. vai indicar que o produto tem lote (L ou S)
.F. vai indicar que o produto não tem lote (N)
EXEMPLO DE UTILIZAÇÃO ADVPL
#INCLUDE 'PROTHEUS.CH'
#Include "RwMake.CH"
#include "tbiconn.ch"
User Function TestLot()
Local cProd := ParamIXB[01] // Produto
Local cTipo := ParamIXB[02] // Parametro cTipo preenchido é quando em algum trecho logico
// esta sendo feito uma chamada de comparação
Local lLote := ParamIXB[03] // logico .T. o produto tem lote ou sublote
Local lRet:= lLote
// Validações Específicas
If Empty (cTipo)
If SB1->B1_RASTRO = 'L'
ALERT ('O produto '+SB1->B1_COD+' usa Lote')
lRet:= .T.
EndIF
If SB1->B1_RASTRO = 'S'
ALERT ('O produto '+SB1->B1_COD+' usa sublote')
lRet:= .T.
EndIF
If SB1->B1_RASTRO = 'N'
ALERT ('O produto '+SB1->B1_COD+' não usa lote/sublote')
lRet:= .F.
EndIF
EndIf
Return lRet |