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 )
Nuage de tags
rapport sorties
14/02/2007
Reply
rapport sorties
yvb
36 posts
il serait utile de faire un rapport en mode texte des sorties...permettrait de ne pas reservir le même vin à un convive en saisissant son nom dans le champ commentaire de la fiche consommation
cordialement
 

14/02/2007
Reply
Re : rapport sorties
AdministrateurView your blog
3099 posts
Ca tombe bien c'est aussi réalisable via un script :-)
Dans ce genre ca vous va :

{nom du vin} {année du vin} - {date} - {nombre entrée} - {nombre / sorties} - {commentaire de la fiche achat consos}

Matthieu
 

14/02/2007
Reply
Re : rapport sorties
yvb
36 posts
oui, mais pour chaque fiche achat conso
 

15/02/2007
Reply
Re : rapport sorties
AdministrateurView your blog
3099 posts
Voili voilo :

// Début du script

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


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

//
// Modifiez ici la date à partir de laquelle
// (année, mois, jour)

DateTime startDate = new DateTime(2005, 12, 1);

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

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

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

//
// Date
//
ReportColumn rcDate = rt.NewColumn("Date");
rcDate.Size = 60;

//
// Sorties
//
ReportColumn rcOut = rt.NewColumn("Sorties");
rcOut.Size = 50;
rcOut.ContentAlignment = ReportContentAlignment.Right;
rcOut.DataType = ReportColumnType.Numeric;

//
// Convive
//
ReportColumn rcWho = rt.NewColumn("Convives");
rcWho.Size = 400;


//
// 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.ConsumeBottles > 0)
&& (psales.Date >= startDate)) // Ok c'est une sortie.
{
canContinue = true;
}
}

if(!canContinue)
{
continue;
}

ReportRow row = rt.NewRow();

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

for (int j = 0; j < wine.Purchases.Count; j++)
{
PurchaseSales psales = (PurchaseSales)wine.Purchases[j];
if((psales.ConsumeBottles > 0)
&& (psales.Date >= startDate)) // Ok c'est une sortie.
{
ReportRow rowEx = rt.NewRow();
rowEx[2] = psales.Date.ToString("dd/MM/yy");
rowEx[3] = psales.ConsumeBottles.ToString();
rowEx[4] = psales.Comment.Replace("\\n", " ");
}
}
}


//
// 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\\Out.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();

// Fin du script

Matthieu
 

16/02/2007
Reply
Re : rapport sorties
yvb
36 posts
thanks a lot ;)))))
félicitation, travail de professionnel !!!
cordialement
 

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