Wobsah

# Słužba SFDocuments.FormDocument

Słužba FormDocument přistup k formularowym dokumentam zmóžnja, kotrež su w dokumentach LibreOfficeDev 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.

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

## Słužbowe wuwołanje

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

• 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")

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.

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()

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)

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ć.

Podobne temy

Słužba SFDocuments.Base

Słužba SFDatabases.Database

Słužba SFDocuments.Document

Słužba SFDocuments.Form

ScriptForge.UI service

Prošu podpěrajće nas!