Árvore de páginas

Versões comparadas

Chave

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

...

aVar
Portuguese

Pagetitle
QDODVLDOC - Data de Validade do documento na distribuição
QDODVLDOC - Data de Validade do documento na distribuição

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 Array com 4 elementos lógicos .T. ou .F. ) --> Return aPermiss{L,L,L,L}


ParâmetrosParâmetro:aParamIXB
PARAMIXB:


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

Retorno:

Return NIL
(nulo)ouOU
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 aVar    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(aVaraParamIXB[1])+ " - "+cValtoChar(aPermiss[1]) +CHR(13)+CHR(10)+;
        "Dt.Implantação: "+  DTOC(aVaraParamIXB[2])+ " - "+cValtoChar(aPermiss[2]) +CHR(13)+CHR(10)+;
        "Qtde.Dias: "+Alltrim(str(aVaraParamIXB[3]))+" - "+cValtoChar(aPermiss[3]) +CHR(13)+CHR(10)+;
        "Dt.Limite: "+       DTOC(aVaraParamIXB[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


Global
NomeTipoEscopoDefaultDescrição
aPermiss[L, L, L, L]Array of RecordNIL
aPermissArray of Record[1]Lógico.T.Permite /Bloqueia editar o (.T.) ou Bloqueia (.F.) a edição do campo dDataVig
aPermissArray of Record[2]Lógico.T.Permite /Bloqueia editar o (.T.) ou Bloqueia (.F.) a edição do campo dDataImp
aPermissArray of Record[3]Lógico.T.Permite /Bloqueia editar o (.T.) ou Bloqueia (.F.) a edição do campo nQdtDias
aPermissArray of Record[4]Lógico.TF.Permite /Bloqueia a edição  (.T.) ou Bloqueia (.F.) a edição do campo dDataLim