Remise à zéro d'un compteur

Forum destiné aux questions sur le développement : Formules, LotusScript, Java ...

Messagepar cyril08 » 28 Mars 2011 à 16:35

Michael DELIQUE a écrit:re,

retire le @iserror et teste chaque partie de ta formule séparement


ok je vais essayer et je fais un retour
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar cyril08 » 28 Mars 2011 à 20:16

J'ai fait le test sans et cela ne me change rien je ne vois pas l'erreur
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar Michael DELIQUE » 28 Mars 2011 à 22:54

désolé, mais je ne peut pas débeugé a ta place. il va falloir chercher dasn ton code ce qui coince
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar cyril08 » 29 Mars 2011 à 07:41

Michael DELIQUE a écrit:désolé, mais je ne peut pas débeugé a ta place. il va falloir chercher dasn ton code ce qui coince


oui je c c'est ce que j'essaie
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar cyril08 » 29 Mars 2011 à 07:47

c'est bon je pense avoir trouvé. il me reste plus qu'à ajouter une colonne année pour que ma numérotation des années antérieures tourne bien

Code : Tout sélectionner
Tmp := @DbColumn("" : "NoCache"; ""; "(Numfichcom)"; 1);
Numero := @If(Tmp = "" | @IsError(Tmp) ; "001";
@TextToNumber(@Right(@Subset(Tmp; 1); 3)) < 9; "00" + @Text(@TextToNumber(@Right(@Subset(Tmp; 1); 3)) + 1);
@TextToNumber(@Right(@Subset(Tmp; 1); 3)) < 99; "0" + @Text(@TextToNumber(@Right(@Subset(Tmp; 1); 3)) + 1);
@Text(@TextToNumber(@Right(@Subset(Tmp; 1); 3)) + 1));

REM {Le champ est calculé avec calcul après validation et non calculé à la création, ainsi il est réévalué au moment de l'enregistrement. Ceci permet d'éviter des doublons si création simultanée par 2 personnes. Par contre, il faut le calculer seulement lors de la création du document. @IsNewDoc n'est pas utilisable (agent de création)};
@If(Num= "" & @IsDocBeingSaved;Numero;Num)
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar cyril08 » 29 Mars 2011 à 08:28

jai ajouté un colonne catégorisée décroissant sur mon champ Annee. Ce champ est de type "Date/heure" modifiable de formule @Created.

A la création c'est automatiquement l'année en cours qui s'affiche, cependant pour des raisons techniques j'ai besoin que ce champ soit modifiable pour lorsque je vais réinserer des docs d'années antérieurs.

Mon soucis est ma numérotation ne redemarre pas de 001 si par exemple j'ai deja 3 docs de 2011 et que j'insére un de 2010 la numérotation se poursuit.
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar Michael DELIQUE » 29 Mars 2011 à 08:29

re,

tu sais ton compteur je le ferais pas en @formules mais en LS.
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Messagepar cyril08 » 29 Mars 2011 à 09:31

oui jme doute bien mais je n'ai pas les acquis pour.
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Messagepar Michael DELIQUE » 29 Mars 2011 à 09:33

va bien falloir qu'un un momment ou a un autre tu t'y mette !
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Re: Remise à zéro d'un compteur

Messagepar cyril08 » 22 Fév 2012 à 09:14

je reviens sur ce sujet que je n'avais pas oublié et qui me chagrine

j'ai déja une première question sur la fonction @dbcolumn, si j'ai "Tmp := @Text(@DbColumn("" : "NoCache"; ""; "(Numfichcom)"; 2))", est ce que c'est le texte de toute la colonne qui est déroulé ou uniquement le texte du doc en tete de vue enregistré?

J'ai mis un bouton de RAZ du compteur qui apparait que le mois de janvier, cependant mon test dans le @if ne fonctionne pas surement du à une mauvaise interpretation du @dbcolumn

Code
Tmp := @Text(@DbColumn("" : "NoCache"; ""; "(Numfichcom)"; 2)); >>> la colonne 2 est le numéro
Tma := @Text(@DbColumn("" : "NoCache"; ""; "(Numfichcom)"; 1)); >>> la colonne 1 est l'année

res:= @Prompt([YesNo];"RAZ";"Souhaitez vous faire un RAZ du compteur ? ");

@If(res = 1 & @Text(@Year(tma))!=@Text(@Year(Annee)) & Tmp !="001" ; @Do(@SetField("Num";"001");@Command([ViewRefreshFields]));res = 0;"";"")

dans ce test je souhaite que :
1) si l'année "tma" est différente de l'année affiché par mon champ "Annee" (@created lorsque je crée un nouveau document)
2) si le numéro "tmp" différent de 001 (pour éviter des RAZ excéssive)
alors le bouton RAZ est visible et je peux remettre à zéro

le problème est sur mon test, le RAZ fonctionne, mais lorsque le dernier doc enregistré a pour numéro "001", je peux toujours remettre à zero alors que dans mon test j'impose que Tmp !="001"
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Re: Remise à zéro d'un compteur

Messagepar roubech » 22 Fév 2012 à 13:52

salut

j'ai pas pris le temps de relire l'historique ...
Mais pour répondre à ta queston sur le @DbColumn, il retroune une liste avec l'ensemble des valeurs de la colonne
regarde @DbLookup
@Subset
Avatar de l’utilisateur
roubech
Modérateur
Modérateur
 
Message(s) : 4976
Inscrit(e) le : 01 Fév 2007 à 20:22
Localisation : Lille

Re: Remise à zéro d'un compteur

Messagepar cyril08 » 22 Fév 2012 à 15:10

j'ai essayer le dblookup sans succès
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Re: Remise à zéro d'un compteur

Messagepar cyril08 » 22 Fév 2012 à 15:41

Tmp := @Subset(@Text(@DbColumn("":"NoCache";"":"";"(Numfichcom)";2));1);
Tma := @Subset(@Text(@DbColumn("":"NoCache";"":"";"(Numfichcom)";1));1);
@If( @Text(@Year(Tma)) != @Text(@Year(Annee)) & @Text(Tmp) != "001" ; @Do(@SetField("Num";"001");@Command([ViewRefreshFields]));"")

voici mon code
j'ai crée deux champs tma et tmp afin de verifier que le test du if fonctionne bien. Cependant que je soi dans n'importe quel cas ma RAZ ne fonctionne pas
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Re: Remise à zéro d'un compteur

Messagepar cyril08 » 22 Fév 2012 à 15:46

le @year() autour du Tma n'est pas à prendre en compte, c'est un erreur de ma part
cyril08
Posteur expérimenté
Posteur expérimenté
 
Message(s) : 349
Inscrit(e) le : 22 Nov 2010 à 17:11

Re: Remise à zéro d'un compteur

Messagepar Scualito » 22 Fév 2012 à 18:07

Salut

Et en modifiant la vue "(Numfichcom)" pour qu'elle n'affiche que les documents de l'année courante... Comme ça, au début de chaque année, elle sera vide et hop, ca repart à 0.

++
Avatar de l’utilisateur
Scualito
Posteur habitué
Posteur habitué
 
Message(s) : 230
Inscrit(e) le : 31 Déc 2004 à 15:47
Localisation : Savoie

PrécédentSuivant

Retour vers Développement

cron