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 4)
Le script suivant vous permet d'imprimer le livre de cave compacté avec les colonnes Région, Appellation, Nom, Classement, Couleur, Année, Bouteilles et Prix
Pour l'éxécuter allez dans le menu "Préférences" -> "Editeurs de scripts"

// Juillet 2007

if(App.ActiveCellar == null)
{
   MessageBox.Show("Aucune cave ouverte"); 
   return;
}

App.SetCursor(true);

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

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

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

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

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

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

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


//
// 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 = 40;
rcBottles.ContentAlignment = ReportContentAlignment.Right;
rcBottles.DataType = ReportColumnType.Numeric;


//
// Prix
//
ReportColumn rcPrice = rt.NewColumn("Prix");
rcPrice.Size = 55;
rcPrice.ContentAlignment = ReportContentAlignment.Right;
rcPrice.DataType = ReportColumnType.Numeric;


IWineListWindow listWindow = (IWineListWindow)App.GetWindow(WindowType.WineList);
if(listWindow != null)
{
	listWindow.Show();

        BindingList list = listWindow.Wines;
        for (int i = 0; i < list.Count; i++)
	{
                Wine wine = list[i];
  		ReportRow row = rt.NewRow();
  		int colorIndex = 4;
  		row[0] = wine.Area.Name;
  		row[1] = wine.Appellation.Name;
  		row[2] = wine.Classification.Name;
  		row[3] = wine.Name;

		row[colorIndex] = "Champ";
  
  		if(wine.WineColor == ColorType.Red)
  		{
    			row[colorIndex] = "Rouge";     
  		}
  		else if(wine.WineColor == ColorType.White)
  		{
    			row[colorIndex] = "Blanc";     
  		}
  		else if(wine.WineColor == ColorType.Rosy)
  		{
    			row[colorIndex] = "Rosé";     
  		}
  		else if(wine.WineColor == ColorType.Yellow)
  		{
    			row[colorIndex] = "Champ";     
  		}
  		else if(wine.WineColor == ColorType.LiqueurLike)
  		{
    			row[colorIndex] = "Liq";     
  		}
  		else if(wine.WineColor == ColorType.Misc)
  		{
    			row[colorIndex] = "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.BuyPrice.ToString("f");		
        }
}

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

//
// Génération
//
System.Collections.ArrayList list2 = new System.Collections.ArrayList();
list2.Add(rt);

IReport report = App.ReportEngine.GetSystemReport(PredefinedReport.Grid);

string destFileName = App.Path + "Cache\\UserReport2.pdf";
bool success = false;
try
{
   report.Create(list2, 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);

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