import.css=/download/attachments/327912/newLayout.css

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 ( [ ] ) --> 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âmetros:

PARAMIXB:


Nome
Tipo

Escopo
Default
1aVar
Data

dDtVig


2aVar
Data

dDtImpl


3aVar
Numérico

nQtdDias


4aVar
Data

dDtLimi


Retorno:

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


Nome
Tipo
EscopoDefault
Descrição
aPermiss
Array of Record
Global


aPermiss
Array of Record
[1]

Permite/Bloqueia editar o campo dDataVig
aPermiss
Array of Record
[2]

Permite/Bloqueia editar o campo dDataImp
aPermiss
Array of Record
[3]

Permite/Bloqueia editar o campo nQdtDias
aPermiss
Array of Record
[4].T.
Permite/Bloqueia a edição  do campo dDataLim