Aktualna wersja: 17.09.18


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.