Árvore de páginas


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 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

TESTLOT
#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  


04. ASSUNTOS RELACIONADOS

  • Não se aplica