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

Cálculo de dias úteis

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

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

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)

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;
 }

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))