Suivez et participez au développement du nouvel OpenCellar : PLOC.co
> Open Cellar pour Windows
> Centre d'aide et de support
> Questions fréquentes
> Centre de téléchargement
> Accéder à la communauté
> Historique des versions
> Ressources pour les développeurs
> Open Cellar pour Windows Mobile
> Open Cellar pour iPhone
> Centre d'aide et de support
> Questions fréquentes
> Centre de téléchargement
> Accéder à la communauté
> Historique des versions
> Open Cellar pour Mac/Linux
> Centre d'aide et de support
> Questions fréquentes
> Centre de téléchargement
> Accéder à la communauté
> Historique des versions
> Ressources pour les développeurs
> Mon compte
> Mes services live
> Mes pages
> Ma bibliothèque
> Mes vins publiés
> Mes étiquettes
> Mes messages sur la communauté
> Ecrire une page
> Accéder à la liste des forums
> Communauté Windows
> Communauté Mac/Linux
> Communauté Mobile
> Rechercher et importer des vins
> Rechercher des étiquettes
> Comparer les prix (Sniffer)
Rechercher :
> Rechercher dans tous les moteurs
> Rechercher dans la communauté
> Rechercher dans les pages persos
> Rechercher sur le site open-cellar.com
> Rechercher dans les fiches vins
> Rechercher dans les étiquettes
> Rechercher sur le comparateur de prix (Sniffer)
Bienvenue (
se connecter
-
créer un compte
)
Accueil
»
La communauté
»
Open Cellar Home Edition (Windows)
Facebook
Nuage de tags
Open Cellar
Scripts
Etiquette
PPP
iPhone
Livre de cave
Mac
Vista
Synchronisation
Export Excel
vinoXml
usb
sniffer
sauvegarde
importation
impression
chardonnet
palm
statistiques
Linux
conversion pour note sur 100
06/01/2009
Répondre
conversion pour note sur 100
reneleperfo
54 posts
Bonjour,
je viens d'installer la version 1.2
je suis passé par l'option pour activer la notation sur 100,
un message d'erreur s'est alors affiche
Impossible d'executer le script
System.InvalidOperationException: La collection a ete modifiee; l'operation d'enumeration ne peut pas s'executer.
at System.Collections.ArrayListEnumeratorSimple.Movenext()
at opencellar.framework.manager.spymanager.Notify(baseobject source, Actiontype Action)
at opencellar.framework.core.cellar.save(Uint16 code, baseobject item)
at opencellar.framework.core.baseobject.save()
at opencellar.framework.core.wine.save()
at opencellar.application.userscript.run(IApplication App)
at opencellar.application.scripthost.run()
06/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
a la suite de ce message, le logiciel est resté ouvert, et la notation est passée sur 100 dans les fiches vin.
L application du script pour repasser en etoiles s'est parfaitement executé
06/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
par ailleurs plusieurs observations :
rapports systemes : generation du rapport entree sortie : sur l'année actuelle pas de probleme. sur le rapport complet entree/sortie : le fichier generé contient toutes les entrées de la cave par ordre alphabetique mais ce rapport affiche meme les fiches qui n'ont pas eu de mouvement : faire en sorte d'afficher uniquement les vins ayant fait l'objet d'un mouvement. (possibilité d'editer un rapport par année de son choix?)
Cave en mode plan : j'ai créé un plan de cave, tous les emplacements ont donc été mis cote a cote selon l'ergonomie de ma cave, mais dans un souci de lisibilité il serait bien de faire figurer dans ce mode, en dessous ou a coté de chaque emplacement, son nom. J'apprecierai aussi de pouvoir faire une rotation des emplacements (ma cave est carrée, les emplacements disposés le long des murs : pouvoir representer fidelement le plan de la cave avec les emplacements positionnés tels qu'ils sont rellement en rapport avec leur mur).
06/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
egalement bug mineur lors de la creation d'un plan de cave : lorsqu'on arrive en bout de fenetre (a droite), lorsquon accole des emplacement la fenetre ne suit pas le déplacement de l'emplacement. Mais surtout si l'on redimentionne l'emplacement le plus a droite, celui ci disparait a moins de repousser vers la droite en aveugle les dimensions de l'emplacement.
Ce qui oblige a le dimentionner au centre de la fenetre, et le déplacer par la suite faute de quoi c'est vite agacant.
Y a t'il une possibilité d'avoir un moteur graphique qui inclue toutes les options (magnum+caisses+rendu arrondi avec alerte ou magnum+rendu arrondi avec alerte) ou y aurait il une possibilité de choisir dans un menu les options que l'on souhaite activer pour la visualisation
Y aurait il la possibilité de faire des legendes : "Apogée dépassée" en fonction de critères : si "apogée max" >= 2009 ... (en fait integrer un tri en fonction de la valeur basse ou la valeur haute des "apogées", des "boire de" et "boire à"
06/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
ET UN GRAND MERCI POUR CETTE NOUVELLE VERSION QUE J ATTENDAIS AVEC IMPATIENCE
TRES BONNE ANNEE ET TOUS MES MEILLEUR VOEUX
06/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
après installation : le raccourci du menu démarer vers OC 1.1 ne disparait pas et n'est pas remplacé par 1.2, le raccourci 1.2 se crée en plus. Ne devrait il pas y a voir une mise a jour du lien au lieu d'un doublon?
Précision quand aux légendes : lorsque je pense au tri en fonction des vlaeurs hautes et basses des apogées, j'aimerai aussi si cela est possible une legende lorsque la date d'apogée maximale s'approche (genre : attention date de fin d'apogée proche, date de fin de consomation optimale proche : filtre à 1 an de la valeur limite?)
bon promis j'arrete ensuite ;-)
07/01/2009
Répondre
Re : conversion pour note sur 100
Administrateur
3099 posts
Bonjour et merci
Ci apres mes réponses à vos interrogations et suggestions :
"Activer la notation sur 100"
Je n'ai pas reproduis le probleme, quelles étaient les fenêtres d'ouvertures lors de l'exécution du script ?
"Plan de cave"
Le nom sera affiché dans la prochaine build (prévue fin janvier)
Pour ce qui est du designer, je vous rejoins completement il y a quelques modifications à apporter
"J'apprecierai aussi de pouvoir faire une rotation des emplacements (ma cave est carrée, les emplacements disposés le long des murs)"
Je n'ai pas saisi ? Pouvez vous m'envoyer un schéma (à l'adresse qui vous notifie une réponse sur le forum)
"Y aurait il la possibilité de faire des legendes : "Apogée dépassée"
Oui mettez 9999 dans la zone de valeur, celle ci est automatiquement remplacée par l'année actuelle.
"j'aimerai aussi si cela est possible une legende lorsque la date d'apogée maximale s'approche (genre : attention date de fin d'apogée proche, date de fin de consomation optimale proche : filtre à 1 an de la valeur limite?) "
C'est exactement le rôle que rempli le centre de surveillance (menu Préférences) celui vous permet d'ajouter des indicateurs de suivi sur vos vins, ils peuvent être soit des indicateurs sur le stock, sur les périodes de consommations et d'apogée ainsi que sur une date fixe.
"rapports systemes : generation du rapport entree sortie "
Je vous envoi le script dans la foulée.
"Y a t'il une possibilité d'avoir un moteur graphique qui inclue toutes les options"
Oui je vous développe ca courant de semaine (probablement ce weekend)
"le raccourci du menu démarer vers OC 1.1 ne disparait pas et n'est pas remplacé par 1.2, le raccourci 1.2 se crée en plus. Ne devrait il pas y a voir une mise a jour du lien au lieu d'un doublon"
Pour les versions précédentes c'était pris en charge pour le setup de la 1.2 j'ai perdu l'id du package d'installation, le msi n'a pas pu supprimer le raccourci de la 1.1 car pour lui c'est un autre logiciel.
Matthieu
07/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
les fenetres etaient : representation graphique d'un emplacement de la cave. et liste en mode texte.
pour le schema, je prepare ca et je l'envoie dans l'apres midi.
Merci beaucoup pour toutes vos réponses et les developpements et scripts
07/01/2009
Répondre
Re : conversion pour note sur 100
Administrateur
3099 posts
Voici le script pour l'impression des fiches achats
La date est paramétrable à la ligne 14
App.Animate(AnimationType.Work, true); App.SetCursor(true); // // Modifiez ici le titre du report // string reportName = "Liste des achats consos"; // // Modifiez ici la date à partir de laquelle // (année, mois, jour) DateTime startDate = new DateTime(2008, 1, 1); // // Creation entete report // ReportTable rt = new ReportTable(reportName); // // Région // ReportColumn rcArea = rt.NewColumn("Région"); rcArea.Size = 170; // // Nom // ReportColumn rcName = rt.NewColumn("Nom"); rcName.Size = 330; // // Année // ReportColumn rcYear = rt.NewColumn("Année"); rcYear.Size = 50; rcYear.ContentAlignment = ReportContentAlignment.Right; rcYear.DataType = ReportColumnType.Numeric; // // Date // ReportColumn rcDate = rt.NewColumn("Date"); rcDate.Size = 70; // // Entrées // ReportColumn rcIn = rt.NewColumn("Entrées"); rcIn.Size = 60; rcIn.ContentAlignment = ReportContentAlignment.Right; rcIn.DataType = ReportColumnType.Numeric; // // Sorties // ReportColumn rcOut = rt.NewColumn("Sorties"); rcOut.Size = 60; rcOut.ContentAlignment = ReportContentAlignment.Right; rcOut.DataType = ReportColumnType.Numeric; // // Alimentation de la source // ObjectCollection wines = App.ActiveCellar.GetCollection((ushort)ObjectType.Wine); for (int i = 0; i < wines.Count; i++) { Wine wine = (Wine)wines[i]; bool canContinue = false; for (int j = 0; j < wine.Purchases.Count; j++) { PurchaseSales psales = (PurchaseSales)wine.Purchases[j]; if(psales.Date >= startDate) // Ok { canContinue = true; break; } } /* if(!canContinue) { for (int j = 0; j < wine.Notes.Count; j++) { Note note = (Note)wine.Notes[j]; if(note.CreationTime >= startDate) // Ok { canContinue = true; break; } } } */ if(!canContinue) { continue; } ReportRow row = rt.NewRow(); row[0] = wine.Area.Name.Trim(); row[1] = wine.Name.Trim(); if(wine.Year != 0) { row[2] = wine.Year.ToString(); } // // Fiche achats // for (int j = 0; j < wine.Purchases.Count; j++) { PurchaseSales psales = (PurchaseSales)wine.Purchases[j]; if(psales.Date >= startDate) // Ok { ReportRow rowEx = rt.NewRow(); rowEx[3] = psales.Date.ToString("dd/MM/yy"); rowEx[5] = psales.ConsumeBottles.ToString(); rowEx[4] = psales.PurchaseBottles.ToString(); } } // // Note de dégustations // /* for (int j = 0; j < wine.Notes.Count; j++) { Note note = (Note)wine.Notes[j]; if(note.CreationTime >= startDate) // Ok { ReportRow rowEx = rt.NewRow(); rowEx[2] = "Note"; rowEx[3] = note.CreationTime.ToString("dd/MM/yy"); rowEx[4] = "1"; rowEx[5] = "0"; } } */ } // // Génération // System.Collections.ArrayList list = new System.Collections.ArrayList(); list.Add(rt); IReport report = App.ReportEngine.GetSystemReport(PredefinedReport.Grid); string destFileName = App.Path + "Cache\\InOut.pdf"; bool success = false; try { report.Create(list, destFileName); success = true; } catch(Exception ex) { MessageBox.Show("Erreur (1)" + ex.ToString()); } // // Affichage du report // if(success) { IShellWindow shellWindow = (IShellWindow)App.GetWindow(WindowType.Shell, null); if(shellWindow != null) { shellWindow.Start(destFileName); } } App.SetCursor(false); App.StopAnimate();
Pour retrouver ce script dans les menus d'OC, enregistrez le au format .ocs et placez le dans le répertoire Reports de l'appli, au démarrage d'OC il sera disponible sous le menu Centre de rapports -> Rapports supplémentaires -> Nom de fichier
Matthieu
08/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
Merci beaucoup pour le script. Y a t'il un endroit ou ajouter une ligne de parametrage de date de fin.
de facon a faire un rapport pour une periode (du 1/1/2008 au 31/12/2008 par exemple) et non pas uniquement a partir d'une date.
10/01/2009
Répondre
Re : conversion pour note sur 100
Administrateur
3099 posts
Et hop voici le script modifié :
App.Animate(AnimationType.Work, true); App.SetCursor(true); // // Modifiez ici le titre du report // string reportName = "Liste des achats consos"; // // Modifiez ici la date à partir de laquelle // (année, mois, jour) // Année, mois, jour DateTime startDate = new DateTime(2008, 1, 1); DateTime endDate = new DateTime(2009, 1, 1); // // Creation entete report // ReportTable rt = new ReportTable(reportName); // // Région // ReportColumn rcArea = rt.NewColumn("Région"); rcArea.Size = 170; // // Nom // ReportColumn rcName = rt.NewColumn("Nom"); rcName.Size = 330; // // Année // ReportColumn rcYear = rt.NewColumn("Année"); rcYear.Size = 50; rcYear.ContentAlignment = ReportContentAlignment.Right; rcYear.DataType = ReportColumnType.Numeric; // // Date // ReportColumn rcDate = rt.NewColumn("Date"); rcDate.Size = 70; // // Entrées // ReportColumn rcIn = rt.NewColumn("Entrées"); rcIn.Size = 60; rcIn.ContentAlignment = ReportContentAlignment.Right; rcIn.DataType = ReportColumnType.Numeric; // // Sorties // ReportColumn rcOut = rt.NewColumn("Sorties"); rcOut.Size = 60; rcOut.ContentAlignment = ReportContentAlignment.Right; rcOut.DataType = ReportColumnType.Numeric; // // Alimentation de la source // ObjectCollection wines = App.ActiveCellar.GetCollection((ushort)ObjectType.Wine); for (int i = 0; i < wines.Count; i++) { Wine wine = (Wine)wines[i]; bool canContinue = false; for (int j = 0; j < wine.Purchases.Count; j++) { PurchaseSales psales = (PurchaseSales)wine.Purchases[j]; if((psales.Date >= startDate) && (psales.Date <= endDate)) { canContinue = true; break; } } /* if(!canContinue) { for (int j = 0; j < wine.Notes.Count; j++) { Note note = (Note)wine.Notes[j]; if(note.CreationTime >= startDate) // Ok { canContinue = true; break; } } } */ if(!canContinue) { continue; } ReportRow row = rt.NewRow(); row[0] = wine.Area.Name.Trim(); row[1] = wine.Name.Trim(); if(wine.Year != 0) { row[2] = wine.Year.ToString(); } // // Fiche achats // for (int j = 0; j < wine.Purchases.Count; j++) { PurchaseSales psales = (PurchaseSales)wine.Purchases[j]; if((psales.Date >= startDate) && (psales.Date <= endDate)) { ReportRow rowEx = rt.NewRow(); rowEx[3] = psales.Date.ToString("dd/MM/yy"); rowEx[5] = psales.ConsumeBottles.ToString(); rowEx[4] = psales.PurchaseBottles.ToString(); } } // // Note de dégustations // /* for (int j = 0; j < wine.Notes.Count; j++) { Note note = (Note)wine.Notes[j]; if(note.CreationTime >= startDate) // Ok { ReportRow rowEx = rt.NewRow(); rowEx[2] = "Note"; rowEx[3] = note.CreationTime.ToString("dd/MM/yy"); rowEx[4] = "1"; rowEx[5] = "0"; } } */ } // // Génération // System.Collections.ArrayList list = new System.Collections.ArrayList(); list.Add(rt); IReport report = App.ReportEngine.GetSystemReport(PredefinedReport.Grid); string destFileName = App.Path + "Cache\\InOut.pdf"; bool success = false; try { report.Create(list, destFileName); success = true; } catch(Exception ex) { MessageBox.Show("Erreur (1)" + ex.ToString()); } // // Affichage du report // if(success) { IShellWindow shellWindow = (IShellWindow)App.GetWindow(WindowType.Shell, null); if(shellWindow != null) { shellWindow.Start(destFileName); } } App.SetCursor(false); App.StopAnimate();
10/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
Merci beaucoup!!
17/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
Bonjour,
si le moteur graphique n'est pas encore prêt : en fait suite a un aménagement de la cave, le moteur complet dont j'aurai besoin est :
rendu climadiff alterné OoOoOo, arrondi avec alerte (!), magnum, caisse.
car j'ai des emplacements casier simple, mais j'ai construit un emplacement casier double, et en utilisant climadiff, je perd le rendu avec alterte, et mon agencement OoOoOo, ne me permet pas non plus d'utiliser l'option deja existante caisse, magnum
merci beaucoup
17/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
pardon correction
le décalage de mon emplacement est oOoOoO, reste donc il me semble, uniquement a ajouter le rendu alerte au moteur climadiff complet
désolé
17/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
houla, heuresement que c'est le WE (désolé mais je range en même temps que j'écris (et que je modifie les places dans OC) et je me rend compte au fur et a mesure de mes besoins
il faudrait que je n'ai pas de décallage entre deux lignes
oOoOoOoO
oOoOoOoO
oOoOoOoO
+ magnum, + caisse + alerte
cette fois ca doit être bon
19/01/2009
Répondre
Re : conversion pour note sur 100
Administrateur
3099 posts
Bonsoir,
Ca tombe bien je n'ai pas encore commencé le développement (oui oui je suis en retard !)
J'essai de vous faire ceci cette semaine.
Matthieu
20/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
Merci beaucoup.
Petite precision : il faudrait que la representation caisse sous forme de carrés (visu climadiff) soit active de la même facon pour tous mes emplacements (simple ou doubles), et non seulement pour celui noté climadiff (l'emplacement casier double)
Merci beaucoup
20/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
Je reviens également sur ma question concernant les dates limites : J'aimerai afficher d'une autre couleur certains vins , mais les légendes personnalisées ne permettent pas de faire ce que je veux. Le centre de surveillance lui remplit mieux son role, mais sans la possibilité de changer visuellement la representation du vin concerné.
Les legendes ne permettent pas de filtrer sous la forme "a boire si : apogée est inferieur a 2009" car tous les vins dont la date d'apogée comprend 2009 ( ex : apogée 2005- 2010) y figurent et non uniquement, comme je le souhaiterai, ceux dont la date limite d'apogée s'arretait en 2008. Idem lorsque je cherche a afficher tous les vins dont la date limite d'apogée est 2009 : je ne peux pas trier par date de fin d'apogée et changer la couleur de mes vins en consequence.
bref, j'aimerai pouvoir tout filtrer d'un coup et modifier l'apparence dans la representation graphique (donc les legendes sont les plus appropriées), pour les vins dont on dépasse la date limite d'apogée renseignée sur la fiche (et de la meme facon la date limite "a boire").
20/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
J'ai trouvé deux filtres de legende qui marchent comme je veux, A boire vite : si apogée est plus petit ou egal à 9999 et si apogée n'est pas égal à 9999 (ici ca affiche tous les vins dont la date d'apogée est strictement dépassée.
et Apogée limite : si apogée est égal à 9999 et si apogée est plus grand que -9999 (ici avec l'utilisation du moins, j'arrive a afficher tous les vins dont l'apogée max renseignée s'arrete a l'année en cours)
ouf, c'est bon j'ai trouvé comment faire, mais ce n'est pas evident ;-) , donc ca marche je peux filtrer toutes les valeurs limite que je souhaitais (du coup y compris date de debut d'apogée toujours avec le systeme de -9999).
Mais comme je suis tétu (juste ce qu'il faut)
, je persiste : pouvoir trier direct par date limite (mini ou maxi) dans le menu déroulant, ce serait un plus. Pour la version 1.3 ?
21/01/2009
Répondre
Re : conversion pour note sur 100
Zeste
32 posts
Bonjour,
Je suis aussi intéressé par ce critère de tri pour visualiser par légende.
mais je ne comprend pas ton histoire de 9999 ! C'est en vrai ou un exemple?
21/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
c'est en vrai. Comme l'as dit matthieu un peu plus haut : 9999 indique l'année en cours.
ce que j'ai posté, ce sont les légendes telles que je les ai rentrées dans OC (attention au - devant le 9999 pour une des legendes)
24/01/2009
Répondre
Re : conversion pour note sur 100
Administrateur
3099 posts
Bon j'attaque votre complément !
Quel est le moteur climadiff utilisé ?
Matthieu
24/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
Rendu climadiff magnum et caisse
24/01/2009
Répondre
Re : conversion pour note sur 100
Administrateur
3099 posts
J'ai bien compris que c'était le climadiff mais quel est l'intitulé exact du moteur (il y en a 7)
24/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
L'intitulé, c'est celui que je vous ai donné :
Rendu Climadiff, magnums et caisses
24/01/2009
Répondre
Re : conversion pour note sur 100
Administrateur
3099 posts
Mais c'est qu'il existe ce moteur ! Désolé je me rappelé pas l'avoir développé...
Je m'en occupe demain.
Matthieu
25/01/2009
Répondre
Re : conversion pour note sur 100
Administrateur
3099 posts
Bonjour,
Voici un premier essai :
/downloads/rlp.zip
Pour l'installation, décompressez la dll dans le répertoire Renderers puis au redémarrage d'OC, menu Préférences -> Moteur graphique -> Rendu Climadiff, magnums, caisses et alerte
Matthieu
25/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
impec pour les alertes, et le rendu caisses pour tous les emplacements.
Par contre j'aimerai conserver le rendu climadiff uniquement pour l'emplacement comportant dans son intitulé "climadiff", le reste doit continuer a s'afficher normalement. de fait, j'aimerai avoir l'alignement climadiff, modifié comme après, uniquement pour l'emplacement comportant climadiff dans son titre
oOoOoOoO
oOoOoOoO
oOoOoOoO
merci beaucoup
25/01/2009
Répondre
Re : conversion pour note sur 100
Jean-Pierre VARNIER
189 posts
Bonsoir,
En utilisant "Moteur graphique / Rendu Climadiff, magnums et caisses" je n'ai le rendu Climadiff que sur les semplacements qui comportent Climadiff dans leur nom.
Jean-Pierre
25/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
c'est le cas pour moi aussi, mais ce n'est plus le cas avec le moteur d'essai que viens de me developper Matthieu
26/01/2009
Répondre
Re : conversion pour note sur 100
Administrateur
3099 posts
Bonsoir,
Et hop la mise à jour :
/downloads/rlp2.zip
Matthieu
27/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
Parfait, merci beaucoup.
Plus qu'une chose a modifier
l'apparence du casier climadiff pour obtenir un schema comme au dessus
27/01/2009
Répondre
Re : conversion pour note sur 100
Administrateur
3099 posts
En executant le script suivant ca devrait être tout bon
App.AppSettings["ActiveRenderer"]["Alternate"] = "no";
Matthieu
27/01/2009
Répondre
Re : conversion pour note sur 100
reneleperfo
54 posts
Parfait, ca marche comme je le souhaitais.
Merci beaucoup!!
Une précaution toutefois pour ceux qui utiliseraient le même moteur que moi et voudraient appliquer le script.
Si les bouteilles sont déja placées (comme moi) dans le casier climadiff (avec alternance), lorsque l'on applique le script, cela modifie le rendu visuel (il n'y a plus d'alternance), mais de fait pour un rang sur deux, les bouteilles placées au fond initialement se retrouvent devant et vice versa. Il est donc necessaire de repositionner les bouteilles dans OC.
© 2006-2014
Matthieu DUCROCQ
- Tous droits réservés - Dernière mise à jour : janvier 2014 |
|
|
Soutenir Open Cellar
|
Contact
|
Crédits