Słužba SFDocuments.FormDocument

Słužba FormDocument přistup k formularowym dokumentam zmóžnja, kotrež su w dokumentach LibreOffice Base składowane.

W dokumenće Base dadźa so eksistowace formularowe dokumenty wobhladać, hdyž Napohlad – Formulary we wužiwarskim powjerchu wuběraće. Kóždy formularowy dokument móže z jednoho formulara abo z wjacorych formularow wobstać, inkluziwnje hłowny formular a druhe podformulary.

Tuta słužba metody a kajkosće wot słužby Document namrěwa a wužiwa so husto hromadźe ze słužbomaj Base a Database.

Symbol Pokiw

Čitajće Słužba Document, zo byšće wjace wo metodach a kajkosćach zhonił, kotrež dadźa so za rjadowanje dokumentow LibreOffice wužiwać.


Słužbowe wuwołanje

Před wužiwanjom słužby FormDocument dyrbi so biblioteka ScriptForge začitać abo importować:

Symbol za Notica

• Makra Basic sej wužaduja, zo so biblioteka ScriptForge z pomocu slědowaceho přikaza začituje:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Skripty Python sej import z modula scriptforge wužaduja:
from scriptforge import CreateScriptService


W Basic

Słužbowa instanca FormDocument da so wutworić, hdyž metodu OpenFormDocument wuwołujeće, kotraž w słužbje Base kaž tež w słužbje Database eksistuje.

Slědowacy přikład słužbu UI wužiwa, zo by dokument Base wočinił a potom formularowy dokument wotwołał. Dźiwajće na to, zo so w tutym přikładźe dokument Base kaž tež formularowy dokument wočinjatej a na wobrazowce pokazujetej.


    Dim ui As Object, oBase As Object, oFormDoc As Object
    ui = CreateScriptService("UI")
    oBase = ui.OpenBaseDocument("C:\Documents\MyDatabase.odb")
    oFormDoc = oBase.OpenFormDocument("MyFormDocument")
    ' ...
    oFormDoc.CloseDocument()
  

Slědowacy přikład słužbu Database, zo byšće formularowy dokument wočinił. W tutym padźe so dataja Base njewočinja a so jenož formularowy dokument pokazuje.


    Dim oDatabase As Object, oFormDoc As Object
    oDatabase = CreateScriptService("Database", "C:\Documents\MyDatabase.odb")
    oFormDoc = oDatabase.OpenFormDocument("MyFormDocument")
  
Symbol za Notica

Hdyž OpenFormDocument za formularowy dokument wuwołujeće, kotryž je hižo wočinjeny, so dokumentowe wokno aktiwizuje a do fokusa suwa.


W Python

Přikłady horjeka dadźa so takle do Python přełožić:


    ui = CreateScriptService("UI")
    baseDoc = ui.OpenBaseDocument("C:\Documents\MyDatabase.odb")
    formDoc = baseDoc.OpenFormDocument("MyFormDocument")
    # ...
    formDoc.CloseDocument()
  

    database = CreateScriptService("Database", "C:\Documents\MyDatabase.odb")
    formDoc = database.OpenFormDocument("MyFormDocument")
  

Lisćina metodow w słužbje FormDocument

CloseDocument
Forms

GetDatabase

PrintOut


CloseDocument

Začinja formularowy dokument, na kotryž so instanca FormDocument wotkazuje. Wróći True, jeli formularowy dokument je so wuspěšnje začinił.

Syntaksa:

svc.CloseDocument(): bool

Přikład:

W Basic

    oFormDoc.CloseDocument()
  
W Python

    formDoc.CloseDocument()
  

Forms

Wróći pak matriks z mjenami hłownych formularow, kotrež so we formularowym dokumenće wobsahowane pak słužbowu instancu Form, kotraž na wěsty formular wotkazuje.

Wuwołajće tutu metodu bjez argumentow, zo byšće na nuli bazowacu matriks znamješkowych rjećazkow wšěch formow wobstarał, kotrež su we formularowym dokumenće wobsahowane.

Zapodajće formularowe mjeno abo indeks jako argument, zo byšće słužbowu instancu Form dóstał, kotraž podatemu formularej wotpowěduje.

Symbol za Notica

Formularowy dokument ma znajmjeńša jedyn hłowny formular. Dalše kompleksne formularowe dokumenty móža z wjacorych formularow a podformularow wobstać.


Syntaksa:

svc.Forms(): str[0..*]

svc.Forms(form: str): svc

svc.Forms(form: int): svc

Parametry:

form: Tutón argument móže pak znamješkowy rjećazk z mjenom formulara być, kotryž we formularowym dokumenće eksistuje, abo na nuli bazowacy indeks formulara, kotryž so ma wróćić. Jeli tutón argument specifiski njeje, so matriks z mjenom wšěch formularow wróći, kotrež su k dispoziciji.

Přikład:

W Basic

Slědowacy přikład přepruwuje, hač formularowy dokument formular z mjenom "MainForm" wobsahuje:


    arrForms = oFormDoc.Forms()
    If SF_Array.Contains(arrForms, "MainForm") Then
        ' ...
    End If
  

Slědowacy přikład formular z mjenom "MainForm" wotwołuje a přesuwa jón do poslednjeje datoweje sadźby:


    Dim oForm As Object
    oForm = oFormDoc.Forms("MainForm")
    oForm.MoveLast()
  
W Python

    arrForms = formDoc.Forms()
    if "MainForm" in arrForms:
        # ...
  

    form = formDoc.Forms("MainForm")
    form.MoveLast()
  
Symbol Pokiw

Zo byšće wjace wo formularowych metodach a kajkosćach zhonił, hlejće stronu pomocy słužby Form.


GetDatabase

Wróći instancu SFDatabases.Database, kotraž přistup k wuwjedźenju přikazow SQL w datowej bance dawa, z kotrejž aktualny formular je zwjazany a/abo kotraž je w aktualnym dokumenće Base składowana.

Kóždy formular ma swójski zwisk datoweje banki, nimo dokumenty w Base, hdźež wšě samsny zwisk dźěla.

Syntaksa:

svc.GetDatabase(opt user: str, opt password: str): svc

Parametry:

user, password: Opcionalne přizjewjenske parametry (standard = "").

Přikład:


      Dim myDb As Object ' SFDatabases.Database
      Set myDb = oForm.GetDatabase()
   
W Python

      db = form.GetDatabase()  # SFDatabases.Database
   

PrintOut

tuta metoda wobsah formularoweho dokumenta na standardny ćišćak abo na ćišćak, kotryž přez metodu SetPrinter() definowany, sćele.

Wróći True, jeli dokument je so wuspěšnje na ćišćak pósłał.

Syntaksa:

svc.PrintOut(pages: str = "", copies: int = 1, printbackground: bool = true, printblankpages: bool = false, printevenpages: bool = true, printoddpages: bool = true, printimages: bool = true): bool

Parametry:

pages: Strony, kotrež so maja ćišćeć, jako znamješkowy rjećazk. Tutón argument měł so na samsne wašnje kaž we wužiwarskim powjerchu podać (hlejće dialog Dataja – Ćišćeć). Přikład: "1-4;10;15-18". Standardna hódnota je prózdny znamješkowy rjećazk "", kotryž wuskutkuje, zo so wšě strony ćišća.

copies: Ličba kopijow, kotrež so maja ćišćeć (standard = 1).

printbackground: Podawa, hač so ma pozadkowy wobraz ćišćeć (standard = True).

printblankpages: Podawa, hač so maja prózdne strony ćišćeć (standard = False).

printevenpages: Podawa, hač so maja rune strony ćišćeć (standard = True).

printoddpages: Podawa, hač so maja njerune strony ćišćeć (standard = True).

printimages: Podawa, hač so maja wobrazy ćišćeć (standard = True).

Přikład:

W Basic

    oFormDoc.PrintOut("1-4", Copies := 2, PrintBackground := False)
  
W Python

    formDoc.PrintOut("1-4", copies = 2, printbackground = False)
  
Warnowanski symbol

Wšě rutiny Basic ScriptForge abo identifikatory, kotrež so z podsmužku „_“ započinaja, su za interne wužiwanje wuměnjene. Njejsu za to myslene, so w makrach Basic abo skriptach Python wužiwać.


Prošu podpěrajće nas!

Prošu podpěrajće nas!