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.
SintaxeQDODVLDOC - 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âmetro: aParamIXB
Nome | Tipo | Escopo |
aParamIXB[1] | Data | dDtVig |
aParamIXB[2] | Data | dDtImpl |
aParamIXB[3] | Numérico | nQtdDias |
aParamIXB[4] | Data | dDtLimi |
Retorno:
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