01. DADOS GERAIS
| Produto: |
TOTVS Backoffice
|
|---|---|
| Linha de Produto: | Linha Protheus |
| Segmento: | Backoffice |
| Módulo: | TOTVS Backoffice (Linha Protheus) - Estoque e Custos (SIGAEST)
|
| Função: | SIGACUSA.PRX Generica do estoque |
| País: | Todos |
02. DESCRIÇÃO
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.
03. DEMAIS INFORMAÇÕES
O Ponto de entrada envia o parametro ParamIXB[01] = 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.
Caso o cTipo estiver com 'N' ou vazio significa que veio de um simples IF RASTRO(PROD) retornando .T. se tiver lote (L) ou sublote (S).
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)
O cadastro de produtos esta posicionado na execução do ponto de entrada.
EXEMPLO DE UTILIZAÇÃO ADVPL
#INCLUDE 'PROTHEUS.CH'
#Include "RwMake.CH"
#include "tbiconn.ch"
User Function TestLot()
Local cTipo := ParamIXB[01] // Parametro cTipo preenchido é quando em algum trecho logico
// esta sendo feito uma chamada de comparação
Local lRet:= .F.
// 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
ElseIf cTipo == "S"
If SB1->B1_RASTRO = 'S'
ALERT ('O produto '+SB1->B1_COD+' usa sublote para processamento de sublote')
lRet:= .T.
EndIF
If SB1->B1_RASTRO = 'L'
ALERT ('O produto '+SB1->B1_COD+' usa lote não pode efetuar processamento de sublote')
lRet:= .T.
EndIF
EndIf
Return lRet
04. ASSUNTOS RELACIONADOS
- Não se aplica