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

...

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  

...