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
Suivi des convives
02/10/2007
Répondre
Suivi des convives
svaissie
14 posts
Si ca peut servir...
Pour le suivi des consos je crée une fiche conso avec en commentaire les personnes avec qui je la bois
Pour vérifier ce que j'ai bu avec une personne G écrit ce script (un filtre est à appliquer en cas de grosse consommation ;o))
if(App.ActiveCellar == null)
{
MessageBox.Show("Aucune cave n'est ouverte");
return;
}
TableManager manager = new TableManager(App);
manager.BeginUpdate();
DataTable table = new DataTable("Price");
table.DefaultView.AllowDelete = false;
table.CaseSensitive = false;
table.DefaultView.AllowEdit = false;
table.DefaultView.AllowNew = false;
// SysId
DataColumn col = new DataColumn("SysId", typeof(string));
col.Caption = "SysId";
table.Columns.Add(col);
// Date
col = new DataColumn("Date", typeof(string));
col.Caption = "Date Consommation";
table.Columns.Add(col);
// Nom
col = new DataColumn("Name", typeof(string));
col.Caption = "Vin";
table.Columns.Add(col);
// Millesime
col = new DataColumn("Mill", typeof(ushort));
col.Caption = "Millesime";
table.Columns.Add(col);
// Commentaire
col = new DataColumn("Comment", typeof(string));
col.Caption = "Commentaire";
table.Columns.Add(col);
table.BeginLoadData();
// Liste des vins
ObjectCollection oc = manager.Application.ActiveCellar.GetCollection((ushort)ObjectType.Wine);
for(int i = 0; i < oc.Count; i++)
{
Wine w = (Wine)oc[i];
// Fiches achats consos
for (int j = 0; j < w.Purchases.Count; j++)
{
PurchaseSales ps = (PurchaseSales)w.Purchases[j];
// Les consos sans les achats
if ((ps.ConsumeBottles!=0) && (ps.PurchaseBottles==0))
{
DataRow r = table.NewRow();
r["SysId"] = w.SystemUID;
r["Date"] = ps.Date.ToShortDateString();
r["Name"] = w.Name.Trim();
r["Mill"] = w.Year;
r["Comment"] = ps.Comment;
table.Rows.Add(r);
}
}
}
table.EndLoadData();
manager.DataSource = table;
manager.EndUpdate();
ITableWindow tableWindow = (ITableWindow)App.GetWindow(WindowType.Table, manager);
if(tableWindow != null)
{
tableWindow.Show();
}
02/10/2007
Répondre
Re : Suivi des convives
Administrateur
3099 posts
Bô
Je l'ajouterai au centre d'aide.
Matthieu
03/10/2007
Répondre
Re : Suivi des convives
svaissie
14 posts
Avec plaisir le fait que les utilisateurs contribuent devrait etre un plus
Tu noteras que j'ai toujours un pb au niveau du tri des colonnes le mieux serait :
Date | Vin | Mill | Comment
Stephane
03/10/2007
Répondre
Re : Suivi des convives
Administrateur
3099 posts
Pour le probleme d'ordre cela vient pas de ton script mais d'OC car celui ci mémorise la taille et la position des colonnes.
Remplace la ligne suivante
DataTable table = new DataTable("Price");
Par
DataTable table = new DataTable("Price2");
Tes colonnes seront bien dans le bonne ordre.
Matthieu
04/10/2007
Répondre
Re : Suivi des convives
Thewolf
99 posts
Bonjour et merci pour ce script.
J'ai 2 questions :
1) Qu'est-ce que SystemUID et à quoi sert-il dans ce script (il ne s'affiche pas dans le rapport) ?
2) Je ne comprends pas bien la condition :
if ((ps.ConsumeBottles!=0) && (ps.PurchaseBottles==0))
il me semble que la 1ère partie est suffisante pour s'assurer qu'il s'agit bien d'une consommation et d'autre part, si on a entré un achat et une conso dans la même fiche, on ne l'aura pas dans le rapport ...
Bonne journée.
Christian
04/10/2007
Répondre
Re : Suivi des convives
svaissie
14 posts
Salut
Pour le SystemUID pour tout te dire je me suis inspiré du calcul du prix, le champ y était sans être utilisé le l'ai laissé.
Pour la double condition
ps.ConsumeBottles!=0 forcement pour les degustations
ps.PurchaseBottles==0 parceque quand je retrouve une vieille facture de 6 bouteilles et qu'il en reste 4 Dans la même fiche je fait l'entrée de 6 plus la conso de 2 (sans que ca corresponde à une degustation donnée)
Stéphane
04/10/2007
Répondre
Re : Suivi des convives
Thewolf
99 posts
Merci Stéphane.
Pour le SystemUID, j'ai essayé de le supprimer du script et cela marche tout aussi bien ...
04/10/2007
Répondre
Re : Suivi des convives
Administrateur
3099 posts
Le SystemId est utilisé par OC sans celui ci lors du double clic sur la fenetre il ne vous ouvrira pas la fiche vin correspondante.
Matthieu
04/10/2007
Répondre
Re : Suivi des convives
Thewolf
99 posts
Merci pour cette précision.
Christian
© 2006-2014
Matthieu DUCROCQ
- Tous droits réservés - Dernière mise à jour : janvier 2014 |
|
|
Soutenir Open Cellar
|
Contact
|
Crédits