REM{ Numero de dias para atender};
nDiasAtendimento := @DbLookup("";"";"viewBuscaProdt";@Text(mnfstProduto+"#"+mnfstCorrente) ;12);
REM{contador recebe o número de dias para atender};
cont := @TextToNumber(nDiasAtendimento);
REM{dataPrevista recebe a data selecionada no sistema para iniciar o atendimento};
dataPrevista := mnfstDataManifest;
@While(cont > 0;
REM{Adiciona + 1 dia se o dia for diferente de domingo ou sabado};
dataPrevista := @Adjust(dataPrevista;0;0;1;0;0;0);
diaSemana := @Weekday(dataPrevista);
@If(diaSemana = 1 | diaSemana = 7 ; cont := cont ; cont := cont - 1)
);
dataPrevista
Mostrando postagens com marcador Formula. Mostrar todas as postagens
Mostrando postagens com marcador Formula. Mostrar todas as postagens
terça-feira, 31 de janeiro de 2012
sexta-feira, 22 de julho de 2011
Calcular o número de dias úteis entre duas datas
The following formula counts the number of weekdays (but not weekend days):
diffDays := (EndDate - StartDate) / 86400 + 1;
strtDay := @Modulo(@Weekday(StartDate); 7);
endDay := @Modulo(@c(EndDate); 7);
result := (diffDays - endDay + strtDay - 8) * 5 / 7 - @Max(-2; -strtDay) - @Min(1; endDay) + 5 - strtDay + endDay
diffDays := (EndDate - StartDate) / 86400 + 1;
strtDay := @Modulo(@Weekday(StartDate); 7);
endDay := @Modulo(@c(EndDate); 7);
result := (diffDays - endDay + strtDay - 8) * 5 / 7 - @Max(-2; -strtDay) - @Min(1; endDay) + 5 - strtDay + endDay
quinta-feira, 26 de agosto de 2010
Redirecionando com $$Return
Ex.1: Redirecionar para formulário específico: ex. frmPrincipal
Criar o campo $$Return do tipo 'computed for display' e insira no valor default
"[" + @webdbname + "/frmPrincipal?OpenForm]"
Ou para Notes 5:
DBName:=@ReplaceSubstring( @Subset( @DbName ; -1 ) ; "\\" ; "/" );
"[" + DbName + "/frmPrincipal?OpenForm]"
Ex.2: Redirecionar para o documento corrente
Criar o campo $$Return do tipo 'computed for display' e insira no valor default
"[/" + @webdbname + "/0/" + @Text(@DocumentUniqueID) + "?OpenDocument]"
Ou para Notes 5:
db := @Replacesubstring(@Subset(@Dbname; -1); " ":"\\"; "+":"/");
"[/" + db + "/0/" + @Text(@DocumentUniqueID) + "?OpenDocument]"
Ex.3: Redirecionar para uma visão
Criar o campo $$Return do tipo 'computed for display' e insira no valor default
"[/" + @webdbname + "/" + ViewName + "?OpenView]"
Ou para Notes 5:
db := @Replacesubstring(@Subset(@Dbname; -1); " ":"\\"; "+":"/");
"[/" + db + "/" + ViewName + "?OpenView]"
Ex.4: Utilizar o $$Return com condições diferentes:
Criar o campo $$Return do tipo 'computed for display' e insira no valor default
DB := @Replacesubstring(@Subset(@Dbname; -1); " ":"\\"; "+":"/");
unid:=@Text(@DocumentUniqueID);
c:="";
a:="[/" + DB + "/FrmConfirmation?ReadForm]";
b:="[/" + DB + "?OpenDatabase]";
d:=@If(@UserName="Anonymous";a ; c);
e:="[/" + DB +"/0/"+ unid+"?OpenDocument]";
@If(@IsDocBeingEdited & @ViewTitle="Gerencia" ;e;d)
Criar o campo $$Return do tipo 'computed for display' e insira no valor default
"[" + @webdbname + "/frmPrincipal?OpenForm]"
Ou para Notes 5:
DBName:=@ReplaceSubstring( @Subset( @DbName ; -1 ) ; "\\" ; "/" );
"[" + DbName + "/frmPrincipal?OpenForm]"
Ex.2: Redirecionar para o documento corrente
Criar o campo $$Return do tipo 'computed for display' e insira no valor default
"[/" + @webdbname + "/0/" + @Text(@DocumentUniqueID) + "?OpenDocument]"
Ou para Notes 5:
db := @Replacesubstring(@Subset(@Dbname; -1); " ":"\\"; "+":"/");
"[/" + db + "/0/" + @Text(@DocumentUniqueID) + "?OpenDocument]"
Ex.3: Redirecionar para uma visão
Criar o campo $$Return do tipo 'computed for display' e insira no valor default
"[/" + @webdbname + "/" + ViewName + "?OpenView]"
Ou para Notes 5:
db := @Replacesubstring(@Subset(@Dbname; -1); " ":"\\"; "+":"/");
"[/" + db + "/" + ViewName + "?OpenView]"
Ex.4: Utilizar o $$Return com condições diferentes:
Criar o campo $$Return do tipo 'computed for display' e insira no valor default
DB := @Replacesubstring(@Subset(@Dbname; -1); " ":"\\"; "+":"/");
unid:=@Text(@DocumentUniqueID);
c:="";
a:="[/" + DB + "/FrmConfirmation?ReadForm]";
b:="[/" + DB + "?OpenDatabase]";
d:=@If(@UserName="Anonymous";a ; c);
e:="[/" + DB +"/0/"+ unid+"?OpenDocument]";
@If(@IsDocBeingEdited & @ViewTitle="Gerencia" ;e;d)
Ler parametros passados via URL
Exemplo da URL:
http://servidor/base.nsf/formulario?Openform&par1=exemplopar1&par2=exemplopar2
Ex 1: Em Formula
NOTES RELEASE 6 EM DIANTE:
parametro1:=@urlQueryString("par1");
parametro2:=@urlQueryString("par2");
valor do parametro1: "exemplopar1"
valor do parametro2: "exemplopar2"
NOTES RELEASE ANTERIOR A 6:
_ArgsNames:=@Left(@Explode(@Right(Query_String_Decoded;"&");"&");"=");
_ArgValues:=@Right(@Explode(@Right(Query_String_Decoded;"&");"&");"=");
parametro1:= @If( _ArgsNames !="";@Do(@If(@Member("par1";_ArgsNames)>0;@GetMembers(_ArgValues;@Member("par1";_ArgsNames); 1); "")); "Sem VALOR")
parametro2:= @If( _ArgsNames !="";@Do(@If(@Member("par2";_ArgsNames)>0;@GetMembers(_ArgValues;@Member("par2";_ArgsNames); 1); "")); "Sem VALOR")
Ex 2: JavaScript
Utilizando a fução getURLParam.
parametro1=getURLParam('par1');
parametro2=getURLParam('par2');
valor do parametro1: "exemplopar1"
valor do parametro2: "exemplopar2"
function getURLParam(strParamName){
var strReturn = "";
var strHref = window.location.href;
if ( strHref.indexOf("?") > -1 ){
var strQueryString = "&" + strHref.substr(strHref.indexOf("?") + 1); //.toLowerCase();
var aQueryString = strQueryString.split("&");
for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){ if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
var aParam = aQueryString[iParam].split("=");
strReturn = aParam[1];
break;
}
}
}
return strReturn;
},
Ex 3: Lotus Script
Utilizando a fução getURLParam.
'<-- Aqui eu pego o parametro passado pela URL -->
parametro1 = f_retornaParametroURL (Ucase(doccontext.Query_String(0)),"par1")
'<-- Aqui eu pego o parametro passado pela URL -->
parametro2 = f_retornaParametroURL (Ucase(doccontext.Query_String(0)),"par2")
Function f_retornaParametroURL ( qry As String, param As String ) As String
On Error Goto erro
Dim i,j As Integer
Dim result As String
i = Instr(1, qry, param)
result= ""
If i > 0 Then
j = Instr(i, qry, "&")
If j > 0 Then
result$ = Mid(qry, i + Len(param) + 1, (j - 1) - (i + Len(param)))
Else
result$ = Mid(qry, i + Len(param) + 1)
End If
End If
f_retornaParametroURL = result
sai:
Exit Function
erro:
Msgbox "Erro na função f_retornaParametroURL na linha " + Str$(Erl) + " do tipo " + Str$(Err) + ": " + Error$
Resume sai
End Function
function queryString(parameter) {
var loc = location.search.substring(1, location.search.length);
var param_value = false;
var params = loc.split("&");
for (i=0; i
param_name = params[i].substring(0,params[i].indexOf('='));
if (param_name == parameter) {
param_value = params[i].substring(params[i].indexOf('=')+1)
}
}
if (param_value) {
return param_value;
}
else {
return false;
}
}
http://servidor/base.nsf/formulario?Openform&par1=exemplopar1&par2=exemplopar2
Ex 1: Em Formula
NOTES RELEASE 6 EM DIANTE:
parametro1:=@urlQueryString("par1");
parametro2:=@urlQueryString("par2");
valor do parametro1: "exemplopar1"
valor do parametro2: "exemplopar2"
NOTES RELEASE ANTERIOR A 6:
_ArgsNames:=@Left(@Explode(@Right(Query_String_Decoded;"&");"&");"=");
_ArgValues:=@Right(@Explode(@Right(Query_String_Decoded;"&");"&");"=");
parametro1:= @If( _ArgsNames !="";@Do(@If(@Member("par1";_ArgsNames)>0;@GetMembers(_ArgValues;@Member("par1";_ArgsNames); 1); "")); "Sem VALOR")
parametro2:= @If( _ArgsNames !="";@Do(@If(@Member("par2";_ArgsNames)>0;@GetMembers(_ArgValues;@Member("par2";_ArgsNames); 1); "")); "Sem VALOR")
Ex 2: JavaScript
Utilizando a fução getURLParam.
parametro1=getURLParam('par1');
parametro2=getURLParam('par2');
valor do parametro1: "exemplopar1"
valor do parametro2: "exemplopar2"
function getURLParam(strParamName){
var strReturn = "";
var strHref = window.location.href;
if ( strHref.indexOf("?") > -1 ){
var strQueryString = "&" + strHref.substr(strHref.indexOf("?") + 1); //.toLowerCase();
var aQueryString = strQueryString.split("&");
for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){ if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
var aParam = aQueryString[iParam].split("=");
strReturn = aParam[1];
break;
}
}
}
return strReturn;
},
Ex 3: Lotus Script
Utilizando a fução getURLParam.
'<-- Aqui eu pego o parametro passado pela URL -->
parametro1 = f_retornaParametroURL (Ucase(doccontext.Query_String(0)),"par1")
'<-- Aqui eu pego o parametro passado pela URL -->
parametro2 = f_retornaParametroURL (Ucase(doccontext.Query_String(0)),"par2")
Function f_retornaParametroURL ( qry As String, param As String ) As String
On Error Goto erro
Dim i,j As Integer
Dim result As String
i = Instr(1, qry, param)
result= ""
If i > 0 Then
j = Instr(i, qry, "&")
If j > 0 Then
result$ = Mid(qry, i + Len(param) + 1, (j - 1) - (i + Len(param)))
Else
result$ = Mid(qry, i + Len(param) + 1)
End If
End If
f_retornaParametroURL = result
sai:
Exit Function
erro:
Msgbox "Erro na função f_retornaParametroURL na linha " + Str$(Erl) + " do tipo " + Str$(Err) + ": " + Error$
Resume sai
End Function
function queryString(parameter) {
var loc = location.search.substring(1, location.search.length);
var param_value = false;
var params = loc.split("&");
for (i=0; i
param_name = params[i].substring(0,params[i].indexOf('='));
if (param_name == parameter) {
param_value = params[i].substring(params[i].indexOf('=')+1)
}
}
if (param_value) {
return param_value;
}
else {
return false;
}
}
sexta-feira, 6 de agosto de 2010
Formatar data e hora
Formato da data: dd/mm/aaaa
data:
@If(@Day(@now)>9;"";"0")+@Text(@Day(@now))+"/"+@If(@Month(@now)>9;"";"0")+@Text(@Month(@now))+"/"+@Text(@Year(@now))
Formato da hora: hh:mm
hora:
@Text(@Hour(@now)) + ":" + @If(@Minute(@now)>9;"";"0") + @Text(@Minute(@now))
data:
@If(@Day(@now)>9;"";"0")+@Text(@Day(@now))+"/"+@If(@Month(@now)>9;"";"0")+@Text(@Month(@now))+"/"+@Text(@Year(@now))
Formato da hora: hh:mm
hora:
@Text(@Hour(@now)) + ":" + @If(@Minute(@now)>9;"";"0") + @Text(@Minute(@now))
Assinar:
Postagens (Atom)