Suivez et participez au développement du nouvel OpenCellar : PLOC.co
Home Page
 
Français  English  
Open Cellar Home Edition - 1.2 - Windows 98, Me, 2000, XP and Vista. The free Windows wine cellar management software. Open Cellar Mobile Edition - Beta 2 (French version) - Pocket PC. The free Pocket PC wine cellar management software. Open Cellar Cross Platform - Beta 1 (French version) - Mac OSX and Linux. The free MacOS/Linux wine cellar management software. My Open Cellar Open Cellar Forums Place des vins
Search: Welcome (connect - create an account )
Page settings

Nuage de tags
Livre de cave compacté (variante 1)
Le script suivant vous permet d'imprimer le livre de cave compacté avec les colonnes Région, Appellation, Nom, Classement, Couleur, Année, Bouteilles, Format, A boire de et la référence
Pour l'éxécuter allez dans le menu "Préférences" -> "Editeurs de scripts"

App.Animate(AnimationType.Work, true); 
App.SetCursor(true); 


// 
// Modifiez ici le titre du report 
// 
string reportName = "Liste des vins WA"; 

// 
// Creation entete report 
// 
ReportTable rt = new ReportTable(reportName); 

// 
// Région 
// 
ReportColumn rcArea = rt.NewColumn("Région"); 
rcArea.Size = 80; 

// 
// Appellation 
// 
ReportColumn rcApp = rt.NewColumn("Appellation"); 
rcApp.Size = 100; 

// 
// Nom 
// 
ReportColumn rcName = rt.NewColumn("Nom"); 
rcName.Size = 180; 

// 
// Classement 
// 
ReportColumn rcCl = rt.NewColumn("Classement"); 
rcCl.Size = 100; 

// 
// Couleur 
// 
ReportColumn rcColor = rt.NewColumn("Couleur"); 
rcColor.Size = 75; 

// 
// Année 
// 
ReportColumn rcYear = rt.NewColumn("Année"); 
rcYear.Size = 40; 
rcYear.ContentAlignment = ReportContentAlignment.Right; 
rcYear.DataType = ReportColumnType.Numeric; 

// 
// Nombre bouteilles 
// 
ReportColumn rcBottles = rt.NewColumn("Btles"); 
rcBottles.Size = 20; 
rcBottles.ContentAlignment = ReportContentAlignment.Right; 
rcBottles.DataType = ReportColumnType.Numeric; 

// 
// Format 
// 
ReportColumn rcFormat = rt.NewColumn("Format"); 
rcFormat.Size = 50; 

// 
// A boire de 
// 
ReportColumn rcConsumeMin = rt.NewColumn("A boire de"); 
rcConsumeMin.Size = 40; 

// 
// A boire à 
// 
ReportColumn rcConsumeMax = rt.NewColumn("à"); 
rcConsumeMax.Size = 40; 

// 
// Référence 
// 
ReportColumn rcRef = rt.NewColumn("Référence"); 
rcRef.Size = 70; 

// 
// 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]; 
ReportRow row = rt.NewRow(); 

row[0] = wine.Area.Name; 
row[1] = wine.Appellation.Name; 
row[2] = wine.Name; 
row[3] = wine.Classification.Name; 
row[4] = "Champagne"; 

if(wine.WineColor == ColorType.Red) 
{ 
row[4] = "Rouge"; 
} 
else if(wine.WineColor == ColorType.White) 
{ 
row[4] = "Blanc"; 
} 
else if(wine.WineColor == ColorType.Rosy) 
{ 
row[4] = "Rosé"; 
} 
else if(wine.WineColor == ColorType.Yellow) 
{ 
row[4] = "Champagne"; 
} 
else if(wine.WineColor == ColorType.LiqueurLike) 
{ 
row[4] = "Liquoreux"; 
} 
else if(wine.WineColor == ColorType.Misc) 
{ 
row[4] = "Autre"; 
} 

if(wine.Year != 0) 
{ 
row[5] = wine.Year.ToString(); 
} 

// 
// Gestion manuelle 
// 
if(wine.ManualManagement) 
{ 
row[6] = wine.Bottles.ToString(); 
} 
else 
{ 
row[6] = wine.RackItems.Count.ToString(); 
} 
row[7] = wine.BottleType.Name; 


row[8] = wine.ConsumeMin.ToString();
row[9] = wine.ConsumeMax.ToString(); 
row[10] = wine.Reference; 
}

// 
// Tri des elements 
// 
rt.Sort("0-0;1-0;4-0;5-1"); 

// 
// 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\\UserWinesGrid.pdf"; 
bool success = false; 
try 
{ 
report.Create(list, destFileName); 
success = true; 
} 
catch(Exception ex) 
{ 
MessageBox.Show("Erreur (1)"); 
} 

// 
// Affichage du report 
// 
if(success) 
{ 
IShellWindow shellWindow = (IShellWindow)App.GetWindow(WindowType.Shell, null); 
if(shellWindow != null) 
{ 
shellWindow.Start(destFileName); 
} 
} 

App.SetCursor(false); 
App.StopAnimate();

© 2006-2014 Matthieu DUCROCQ  Open Cellar official blog - All rights reserved - Last update: january 2014 | twitter