Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

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

...

.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

Bloco de código
languagevb
themeMidnight
firstline1
titleTESTLOT
linenumberstrue
#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  

...