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

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