Page 2 sur 3

MessagePublié: 28 Mars 2011 à 16:35
par cyril08
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

MessagePublié: 28 Mars 2011 à 20:16
par cyril08
J'ai fait le test sans et cela ne me change rien je ne vois pas l'erreur

MessagePublié: 28 Mars 2011 à 22:54
par Michael DELIQUE
désolé, mais je ne peut pas débeugé a ta place. il va falloir chercher dasn ton code ce qui coince

MessagePublié: 29 Mars 2011 à 07:41
par cyril08
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

MessagePublié: 29 Mars 2011 à 07:47
par cyril08
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)

MessagePublié: 29 Mars 2011 à 08:28
par cyril08
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.

MessagePublié: 29 Mars 2011 à 08:29
par Michael DELIQUE
re,

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

MessagePublié: 29 Mars 2011 à 09:31
par cyril08
oui jme doute bien mais je n'ai pas les acquis pour.

MessagePublié: 29 Mars 2011 à 09:33
par Michael DELIQUE
va bien falloir qu'un un momment ou a un autre tu t'y mette !

Re: Remise à zéro d'un compteur

MessagePublié: 22 Fév 2012 à 09:14
par cyril08
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"

Re: Remise à zéro d'un compteur

MessagePublié: 22 Fév 2012 à 13:52
par roubech
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

Re: Remise à zéro d'un compteur

MessagePublié: 22 Fév 2012 à 15:10
par cyril08
j'ai essayer le dblookup sans succès

Re: Remise à zéro d'un compteur

MessagePublié: 22 Fév 2012 à 15:41
par cyril08
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

Re: Remise à zéro d'un compteur

MessagePublié: 22 Fév 2012 à 15:46
par cyril08
le @year() autour du Tma n'est pas à prendre en compte, c'est un erreur de ma part

Re: Remise à zéro d'un compteur

MessagePublié: 22 Fév 2012 à 18:07
par Scualito
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.

++