Generowanie JPK z podanego okresu czasu
Programista definiuje projekt dla użytkownika aplikacji za pomocą API. Nie może jednak wszystkiego zdefiniować w kodzie C# projektu, gdyż pewne elementy będą zmienne. Do takich zmiennych parametrów zaliczamy datę początkową i datę końcową obliczeń.
W celu zautomatyzowania tej podstawowej czynności możemy zastosować jedną z poniższych metod.
Definiowanie własnego okna dialogowego.
Jest to standardowy tryb domyślnego skryptu API, w którym okno otwierane jest w metodzie Main() za pomocą polecenia: this.ShowDialog();
Do formy dodajemy niezbędne kontrolki, a następnie definiujemy zdarzenie wykonywane po wciśnięciu przycisku [OK].
Poniżej pełny kod programu oraz materiał video dla własnego okna dialogowego.
namespace Szark
{
using System;
using System.Drawing;
using System.Windows.Forms;
public partial class Form1 : DevExpress.XtraEditors.XtraForm
{
public Form1(object sender)
{
this.InitializeComponent();
simpleButton1.Click += simpleButton1_click;
}
public void Main()
{
this.ShowDialog();
}
private void simpleButton1_click(object sender, EventArgs e)
{
var jpk = new TGSoft.JPK.VAT.Ver1.Xml();
jpk.DataOd = dateTimePicker1.Value;
jpk.DataDo = dateTimePicker2.Value;
jpk.NaglowekFirmy();
jpk.ShowXmlDialog();
}
}
}
Druga metoda wykorzystuje gotowe okno wyboru zakresu dat zdefiniowane w aplikacji. W metodzie Main() kasujemy otwieranie standardowej formy i całość będzie wykonywana przez własny kod C#.
Definicja okna do obsługi zakresu dat: TGSoft.Forms.DatesDlg()
namespace Szark
{
using System;
using System.Windows.Forms;
public partial class Form1 : DevExpress.XtraEditors.XtraForm
{
public Form1(object sender)
{
this.InitializeComponent();
}
public void Main()
{
TGSoft.JPK.VAT.Ver1.Xml jpk;
using (var dlg = new TGSoft.Forms.DatesDlg())
{
if (dlg.ShowDialog() != System.Windows.Forms.DialogResult.OK)
return;
jpk = new TGSoft.JPK.VAT.Ver1.Xml();
jpk.DataOd = dlg.Date1;
jpk.DataDo = dlg.Date2;
}
jpk.NaglowekFirmy();
jpk.ShowXmlDialog();
}
}
}
Zapoznaj się z następnym dokumentem Przykłady dostępu do różnych baz danych SQL za pomocą API.