PrivateSub btn_Exportovat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_Exportovat.Click
'--- Oddeľovač polí v súbore
Const CONST_OddelovacPoli = "|"
'--- Deklarácia objektov
Dim tmp_AppOBERON As Exa.OBERON.Application.API.AppEngine = Nothing
Nothing Dim myEx As Exa.Basic.Exceptions.ExaException = Nothing
'--- Zakázať tlačidlo
btn_Exportovat.Enabled = False
'--- Vymazanie statusu --
txt_Status.Clear()
txt_Status.Text = "Export skladových kariet ..."
'--------------------------------------------
'--- Úvodná inicializácia aplikácie ---
'--------------------------------------------
'--- Vytvorenie objektu aplikácie OBERON
tmp_AppOBERON = New Exa.OBERON.Application.API.AppEngine()
myEx = tmp_AppOBERON.App_Initialize()
If myEx.Result = False Then
'--- Chyba spustenia
txt_Status.Text = myEx.Description
GoTo ExitSub
End If
'--------------------------------------------
'--- Nastavenie firmy ktorá sa má otvoriť ---
'--------------------------------------------
Dim tmp_CompanySettings As New Exa.OBERON.ApplicationEnvironment.CompanyOpenSettings
'--- Mód spustenia - pri tomto nastavení sa napr. neinicializujú pripojené zariadenia ako snímač čiarových kódov
tmp_CompanySettings.Application_Mode = Exa.OBERON.ApplicationEnvironment.CompanyOpenSettings.enum_Application_Mode.OBERON_Center
'--- Prihlasovacie meno do OBERON-u
tmp_CompanySettings.Application_UserName = txt_UzivatelMeno.Text
'--- Prihlasovacie heslo do OBERON-u
tmp_CompanySettings.Application_Password = txt_UzivatelHeslo.Text
'--- Typ databázy MDB, v budúcnosti aj podpora SQL serverov
tmp_CompanySettings._ConnectionSettings.DataSourceType = Exa.Database.enm_DataSourceTypes.MicrosoftAccessOleDB_1997
'--- Databáza MDB ktorá sa má otvoriť
tmp_CompanySettings._ConnectionSettings.ConnectionString.Database = txt_Databaza.Text
'--- Otvorenie firmy
myEx = tmp_AppOBERON.Company_Open(tmp_CompanySettings)
If myEx.Result = False Then
'--- Chyba otvorenia firmy
txt_Status.Text = txt_Status.Text & vbCrLf & myEx.Description
GoTo ExitSub
End If
'-------------------------------------------------------------
'--- Firma bola úspešne otvorená - je možné začať pracovať ---
'-------------------------------------------------------------
'--- Vytvoriť objekt skladu z ktorého chceme exportovať údaje
Dim tmp_Sklad As New Exa.OBERON.Shared.Stock.Stocks.Stock(tmp_AppOBERON._AppConfiguration)
myEx = tmp_Sklad._Load(txt_Sklad.Text)
If myEx.Result = False Then
'--- Chyba otvorenia skladu /pravdepodobne chybný názov skladu/
txt_Status.Text = txt_Status.Text & vbCrLf & myEx.Description
GoTo ExitSub
End If
'--- Načítanie zoznamu skladových kariet ---
Dim tmp_SkladoveKarty_Zoznam As New Exa.OBERON.Stock.StockCards.StockCard_List(tmp_AppOBERON._AppConfiguration,Exa.OBERON.Stock.StockCards.StockCard_List.enm_ListType.BaseList)
myEx = tmp_SkladoveKarty_Zoznam._LoadData(tmp_Sklad, String.Empty)
'--- String.Empty - Bolo možné vložiť aj ďalšiu podmienku, napr. "Skupina = 'nejaká skladová skupina', alebo MnozstvoZostatok <> 0"
If myEx.Result = False Then
'--- Chyba načítania skladových kariet
txt_Status.Text = txt_Status.Text & vbCrLf & myEx.Description
GoTo ExitSub
End If
'--- Skladové karty boli načítané, je možné exportovať ----
'--- Vytvoriť textovú premennú do ktorej sa budú napĺňať údaje so skladových kariet
Dim tmp_ExportovaneUdaje As New System.Text.StringBuilder
Dim tmp_SkladovaKarta As Exa.OBERON.Stock.StockCards.StockCard = Nothing '---- Objekt jednej skladovej karty
For Each e_Karta As DataRow In tmp_SkladoveKarty_Zoznam.Object_Table.DatabaseTable_Data.Rows
tmp_SkladovaKarta = Nothing
tmp_SkladovaKarta = tmp_SkladoveKarty_Zoznam.DataRecord(e_Karta)
If tmp_SkladovaKarta Is Nothing Then
'--- Chyba pri načítaní jednej skladovej karty
txt_Status.Text = txt_Status.Text & vbCrLf & myEx.Description
'--- Pokračovať v cykle - načítavať ďalšiu kartu
Continue For
End If
'------------------------------------
'--- Skladová karta bola načítaná ---
'------------------------------------
'--- Je možné pracovať s údajmi na skladovej karte
'--- Uložiť údaje do textovej premennej, ktorá sa potom zapíše do súboru
Dim tmp_Riadok As New System.Text.StringBuilder
tmp_Riadok.Append(tmp_SkladovaKarta.Number) '--- Číslo karty
tmp_Riadok.Append(CONST_OddelovacPoli)
tmp_Riadok.Append(tmp_SkladovaKarta.BarCode) '--- Čiarový kód
tmp_Riadok.Append(CONST_OddelovacPoli)
tmp_Riadok.Append(tmp_SkladovaKarta.Name) '--- Názov
tmp_Riadok.Append(CONST_OddelovacPoli)
tmp_Riadok.Append(tmp_SkladovaKarta.Description_Additional) '--- Doplňujúci text
tmp_Riadok.Append(CONST_OddelovacPoli)
tmp_Riadok.Append(tmp_SkladovaKarta.Price1_WithoutVAT) '--- predajná cena 1 bez DPH
tmp_Riadok.Append(CONST_OddelovacPoli)
tmp_Riadok.Append(tmp_SkladovaKarta.Price1_WithVAT) '--- predajná cena 1 s DPH
tmp_Riadok.Append(CONST_OddelovacPoli)
tmp_Riadok.Append(tmp_SkladovaKarta.Amount) '--- Množstvo zostatok
tmp_Riadok.Append(CONST_OddelovacPoli)
tmp_Riadok.Append(tmp_SkladovaKarta.Unit) '--- Merná jednotka
tmp_Riadok.Append(CONST_OddelovacPoli)
tmp_Riadok.Append(tmp_SkladovaKarta.IShop_Name) '--- názov pre internetový obchod
tmp_Riadok.Append(CONST_OddelovacPoli)
tmp_Riadok.Append(tmp_SkladovaKarta.IShop_Description) '--- popis
tmp_Riadok.Append(CONST_OddelovacPoli)
tmp_Riadok.Append(tmp_SkladovaKarta.IShop_Picture_Small) '--- názov súboru - malý obrázok
tmp_Riadok.Append(CONST_OddelovacPoli)
tmp_Riadok.Append(tmp_SkladovaKarta.IShop_Picture_Big) '--- názov súboru - veľký obrázok
tmp_Riadok.Append(CONST_OddelovacPoli)
'--- Je možné doplniť ďalšie polia ..........
'...
'--- Jeden riadok polí skladovej karty bol vytvorený, vložiť celý riadok do celkovej textovej premennej ---
tmp_ExportovaneUdaje.AppendLine(tmp_Riadok.ToString)
Next
'--- Všetky údaje boli načítané a vložené do textovej premennej tmp_ExportovaneUdaje
'--- Uloženie hodnôt do súboru
Dim tmp_Subor As IO.FileStream
tmp_Subor = New IO.FileStream(txt_Subor.Text, IO.FileMode.Create)
'--- Objekt pre zápis do súboru - umožňuje nastaviť aj kódovú stránku daných údajov
Dim tmp_SuborZapisovac As New IO.StreamWriter(tmp_Subor, System.Text.Encoding.Default)
'--- Zapísanie do súboru
tmp_SuborZapisovac.WriteLine(tmp_ExportovaneUdaje.ToString)
'--- Zapísanie do súboru
tmp_SuborZapisovac.Close()
tmp_Subor.Close()
ExitSub:
'--- Zatvorenie firmy ---
If tmp_AppOBERON.IsCompanyOpen = True Then
tmp_AppOBERON.Company_Close()
End If
txt_Status.Text = txt_Status.Text & vbCrLf & "Export bol ukončený ..."
'--- Povoliť tlačidlo
btn_Exportovat.Enabled =
True
EndSub