Suivez et participez au développement du nouvel OpenCellar : PLOC.co
> Open Cellar for Windows
> Help Center
> FAQ
> Download Center
> Enter the Forum
> Version history
> Developers resources
> Open Cellar for Mobile
> Help Center
> FAQ
> Download Center
> Enter the Forum
> Version history
> Open Cellar for Mac/Linux
> Help Center
> FAQ
> Download Center
> Enter the Forum
> Version history
> Developers resources
> My Account
> My Live services
> My pages
> My library
> My published wines
> My labels
> My posted messages
> Write a page
> Open Cellar Forum Index
> Windows Forum
> Mac/Linux Forum
> Mobile Forum
> Search for and import wines
> Search for labels
> Compare prices (Sniffer)
Search:
> Search with all engines
> Search in forums
> Search in personal pages
> Search on open-cellar.com
> Search in wine cards
> Search in labels
> Search in price comparison tool (Sniffer)
Welcome (
connect
-
create an account
)
Home
»
The forum
»
Open Cellar Home Edition (Windows)
Nuage de tags
Open Cellar
Scripts
Etiquette
PPP
Cellar book
Mac
Vista
Synchronisation
Excel export
vinoXml
usb
sniffer
backup
import
printing
chardonnet
palm
statistics
Linux
Injection de données
17/08/2009
Reply
Injection de données
raynauph
65 posts
Bonjour,
j'ai créé une cave vide et aujourd'hui j'aurais souhaité rajouter les appellations qui sont présentes dans les bases par défaut quand on ne les crée pas à vide.
Y a-t'il un moyen d'injecter ces informations dans une base existante ?
17/08/2009
Reply
Re : Injection de données
Administrateur
3099 posts
Bonjour bonjour,
Oui c'est possible en passant par le script suivant (menu Préférences -> Editeur de scripts)
if(App.ActiveCellar == null) { MessageBox.Show("Aucune cave n'est ouverte"); return; } // Emplacement de la cave cible string target = @"c:\template.oc"; OpenCellar.Framework.Core.Application tapp = new OpenCellar.Framework.Core.Application(); tapp.Open(target); if(tapp.ActiveCellar == null) { MessageBox.Show("Cave cible invalide..."); return; } ObjectCollection names = App.ActiveCellar.GetCollection((ushort)ObjectType.Name); ObjectCollection names2 = tapp.ActiveCellar.GetCollection((ushort)ObjectType.Name); for (int i = 0; i < names.Count; i++) { bool find = false; Name o = (Name) names[i]; for (int j = 0; j < names2.Count; j++) { Name p = (Name)names2[j]; if(o.Name.Trim() == p.Name.Trim()) { find = true; break; } } if(!find) { // Creation de l'élément Name newItem = (Name)tapp.ActiveCellar.CreateItem(ObjectType.Name); newItem.Name = o.Name; // Enregistrement newItem.Save(); } } MessageBox.Show("Traitement terminé
");
Avant de l'exécuter, ouvrez le répertoire d'Open Cellar (c:\program files\matthieu ducrocq\open cellar ou c:\program files\open cellar) et copiez le fichier template.oc à la racine de votre disque c:\
Matthieu
17/08/2009
Reply
Re : Injection de données
raynauph
65 posts
Matthieu,
le script a du mal à s'exécuter, en modifiant la dernière ligne pour supprimer l'affichage de l'icone, cela passe. Mais, les données ne se retrouvent pas ma base, même après avoir relancé OC.
17/08/2009
Reply
Re : Injection de données
Administrateur
3099 posts
Et bien j'ai du mal le lundi, voici la version corrigée :
if(App.ActiveCellar == null) { MessageBox.Show("Aucune cave n'est ouverte"); return; } // Emplacement de la cave cible string target = @"c:\Template.oc"; OpenCellar.Framework.Core.Application tapp = new OpenCellar.Framework.Core.Application(); tapp.Open(target); if(tapp.ActiveCellar == null) { MessageBox.Show("Cave cible invalide..."); return; } ObjectCollection names = tapp.ActiveCellar.GetCollection((ushort)ObjectType.Name); ObjectCollection names2 = App.ActiveCellar.GetCollection((ushort)ObjectType.Name); for (int i = 0; i < names.Count; i++) { bool find = false; Name o = (Name) names[i]; for (int j = 0; j < names2.Count; j++) { Name p = (Name)names2[j]; if(o.Name.Trim() == p.Name.Trim()) { find = true; break; } } if(!find) { // Creation de l'élément Name newItem = (Name)App.ActiveCellar.CreateItem(ObjectType.Name); newItem.Name = o.Name; // Enregistrement newItem.Save(); } } MessageBox.Show("Traitement terminé");
18/08/2009
Reply
Re : Injection de données
raynauph
65 posts
Merci beaucoup, cela fonctionne parfaitement.
Pour le lundi, je pense que tout le monde a du mal ...
Philippe
© 2006-2014
Matthieu DUCROCQ
- All rights reserved - Last update: january 2014 |
|
Support Open Cellar
|
Contact
|
About