Árvore de páginas

Ponto-de-Entrada: QDODVLDOC - Manipula Datas de Validade, Vigência, Implantação e a Qtde. de Dias do documento na distribuição


Abrangências:Microsiga Protheus 10 , Microsiga Protheus 11
Versões:Microsiga Protheus 10 , Microsiga Protheus 11
Compatível Países:Todos
Sistemas Operacionais:Todos
Compatível às Bases de Dados:Todos
Idiomas:Português (Brasil) , Espanhol , Inglês


Descrição:
 Permite que a data de validade seja informada no formato Data e não apenas calculada pelo número de dias.
Caso o retorno seja NIL, a Data de Validade é permitida que seja manipulada.

Além disso ainda, permite manipular os outros campos, permitindo (.T.) ou bloqueando (.F.) as datas de Vigência, implantação e a quantidade de dias que irá calcular a data de validade, e também a própria data de validade.

Programa Fonte
QDOA110.PRW

Sintaxe

QDODVLDOC - Permite 2 tipos de retorno:

Data de Validade do documento na distribuição ( NIL ) --> Return NIL

Data de Vigência, Data de Implantação, Quantidade de Dias, Data de Validade ( Array com 4 elementos lógicos .T. ou .F. ) --> Return aPermiss{L,L,L,L}


Parâmetro: aParamIXB


NomeTipoEscopo
aParamIXB[1]DatadDtVig
aParamIXB[2]DatadDtImpl
aParamIXB[3]NumériconQtdDias
aParamIXB[4]DatadDtLimi

Retorno:

Return NIL
OU
Return aPermiss

Exemplos:
1. 
USER FUNCTION QDODVLDOC() RETURN Nil

2.
USER FUNCTION QDODVLDOC()

#INCLUDE "TOTVS.CH"
#INCLUDE "PROTHEUS.CH"

User Function QDODVLDOC()
/*
Manipula se permite ou não a edição dos campos: ( PARAMIXB )
dDtVig  
dDtImpl
nQtdDias
dDtLimi
*/
// Retorno do array .T. Permite editar o campo
// Retorno do array .F. Bloqueia a edição do campo

Local aParamIXB := PARAMIXB
Local aPermiss := {.F. /*Bloqueia edição Dt.Vigência   */,;
                 .F. /*Bloqueia edição Dt.Implantação*/,;
                 .T. /*Permite a edição Qtde.Dias     */,;
                 .F. /*Bloqueia edição Dt.Limite     */}

// Regras de negócios                  
MsgInfo("Dt.Vigência: "+     DTOC(aParamIXB[1])+ " - "+cValtoChar(aPermiss[1]) +CHR(13)+CHR(10)+;
        "Dt.Implantação: "+  DTOC(aParamIXB[2])+ " - "+cValtoChar(aPermiss[2]) +CHR(13)+CHR(10)+;
        "Qtde.Dias: "+Alltrim(str(aParamIXB[3]))+" - "+cValtoChar(aPermiss[3]) +CHR(13)+CHR(10)+;
        "Dt.Limite: "+       DTOC(aParamIXB[4])+ " - "+cValtoChar(aPermiss[4]),;
        "TOTVS - TESTE PE - QDODVLDOC")

Return aPermiss
// Retorno: Array com 4 elementos lógicos,
// bloqueando ou permitindo a edição de cada campo do aVar


NomeTipoDefaultDescrição
aPermiss[L, L, L, L]Array of RecordNIL
→ aPermiss[1]Lógico.T.Permite (.T.) ou Bloqueia (.F.) a edição do campo dDataVig
→ aPermiss[2]Lógico.T.Permite (.T.) ou Bloqueia (.F.) a edição do campo dDataImp
→ aPermiss[3]Lógico.T.Permite (.T.) ou Bloqueia (.F.) a edição do campo nQdtDias
→ aPermiss[4]Lógico.F.Permite (.T.) ou Bloqueia (.F.) a edição do campo dDataLim