Mga SFDocuments . FormDocument serbisyo

Ang FormDocument nagbibigay-daan ang serbisyo na ma-access ang mga dokumento ng form na nakaimbak sa mga dokumento ng LibreOffice Base.

Sa isang Base na dokumento, ang mga umiiral na dokumento ng form ay maaaring matingnan sa pamamagitan ng pagpili Tingnan - Mga Form sa user interface. Ang bawat dokumento ng form ay maaaring binubuo ng isa o higit pang mga form, kabilang ang pangunahing form at iba pang mga sub-form.

Ang serbisyong ito ay nagmamana ng mga pamamaraan at katangian mula sa Dokumento serbisyo at kadalasang ginagamit kasama ng Base at Database serbisyo.

tip

Sumangguni sa Dokumento serbisyo upang matuto nang higit pa tungkol sa mga pamamaraan at katangian na maaaring magamit upang pamahalaan ang mga dokumento ng LibreOffice.


Panawagan sa serbisyo

Bago gamitin ang FormDocument serbisyo ang ScriptForge kailangang i-load o i-import ang library:

note

• Ang mga pangunahing macro ay kailangang mag-load ScriptForge aklatan gamit ang sumusunod na pahayag:
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")

• Ang mga script ng Python ay nangangailangan ng pag-import mula sa scriptforge module:
mula sa scriptforge import CreateScriptService


Sa Basic

A FormDocument maaaring malikha ang instance ng serbisyo sa pamamagitan ng pagtawag sa pamamaraan OpenFormDocument na umiiral pareho sa Base at Database serbisyo.

Ang halimbawa sa ibaba ay gumagamit ng UI serbisyo upang buksan ang isang Base na dokumento at pagkatapos ay kunin ang isang dokumento ng form. Tandaan na sa halimbawang ito ang parehong Base na dokumento at ang form na dokumento ay bubuksan at ipapakita sa screen.


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

Ang sumusunod na halimbawa ay gumagamit ng Database serbisyo upang buksan ang dokumento ng form. Sa kasong ito, ang Base file ay hindi bubuksan at ang form na dokumento lamang ang ipapakita.


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

Tumatawag OpenFormDocument para sa isang form na dokumento na nakabukas na ay i-activate ang window ng dokumento at dadalhin ito sa focus.


Sa Python

Ang mga halimbawa sa itaas ay maaaring isalin sa Python tulad ng sumusunod:


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

Listahan ng Mga Paraan sa Serbisyo ng FormDocument

CloseDocument
Forms

GetDatabase

PrintOut


CloseDocument

Isinasara ang dokumento ng form na tinutukoy ng FormDocument halimbawa. Nagbabalik totoo kung matagumpay na naisara ang dokumento ng form.

Syntax:

svc.CloseDocument(): bool

Halimbawa:

Sa Basic

    oFormDoc.CloseDocument()
  
Sa Python

    formDoc.CloseDocument()
  

Forms

Ibinabalik ang alinman sa isang array na may mga pangalan ng mga pangunahing form na nakapaloob sa dokumento ng form o a Form halimbawa ng serbisyo na tumutukoy sa isang partikular na form.

Tawagan ang pamamaraang ito nang walang mga argumento upang makakuha ng isang zero-based na string array na may mga pangalan ng lahat ng mga form na nilalaman sa dokumento ng form.

Magbigay ng pangalan ng form o index bilang argumento upang makakuha ng a Form halimbawa ng serbisyo na naaayon sa tinukoy na form.

note

Ang isang form na dokumento ay may hindi bababa sa isang pangunahing form. Ang mas kumplikadong mga dokumento ng form ay maaaring binubuo ng higit sa isang anyo at mga sub-form.


Syntax:

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

svc.Forms(form: str): svc

svc.Forms(form: int): svc

Mga Parameter:

anyo : Ang argument na ito ay maaaring alinman sa isang string na may pangalan ng isang form na umiiral sa dokumento ng form o ang zero-based na index ng form na ibabalik. Kung hindi tiyak ang argumentong ito, ibabalik ang isang array na may pangalan ng lahat ng available na form.

Halimbawa:

Sa Basic

Sinusuri ng sumusunod na halimbawa kung ang dokumento ng form ay naglalaman ng isang form na pinangalanang "MainForm":


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

Kinukuha ng halimbawa sa ibaba ang form na pinangalanang "MainForm" at inililipat ito sa huling tala:


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

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

    form = formDoc.Forms("MainForm")
    form.MoveLast()
  
tip

Upang matuto nang higit pa tungkol sa mga paraan at katangian ng form, sumangguni sa Form pahina ng tulong sa serbisyo .


GetDatabase

Pagbabalik a Mga SFDatabase . Database halimbawang nagbibigay ng access sa pagpapatupad ng mga SQL command sa database kung saan nakakonekta ang kasalukuyang form at/o naka-imbak sa kasalukuyang Base document.

Ang bawat form ay may sariling koneksyon sa database, maliban sa mga dokumento ng Base kung saan lahat sila ay nagbabahagi ng parehong koneksyon.

Syntax:

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

Mga Parameter:

user, password : Ang mga opsyonal na parameter sa pag-login (Default = "").

Halimbawa:


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

      db = form.GetDatabase()  # SFDatabases.Database
   

PrintOut

Ang pamamaraang ito ay nagpapadala ng mga nilalaman ng dokumento ng form sa default na printer o sa printer na tinukoy ng SetPrinter() paraan.

Nagbabalik totoo kung matagumpay na naipadala ang dokumento sa printer.

Syntax:

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

Mga Parameter:

mga pahina : Ang mga pahinang ipi-print bilang isang string. Dapat tukuyin ang argumentong ito sa parehong paraan tulad ng sa user interface (tingnan File - I-print diyalogo). Halimbawa: "1-4;10;15-18". Ang default na halaga ay isang walang laman na string na "" na magiging sanhi ng pag-print ng lahat ng mga pahina.

mga kopya : Ang bilang ng mga kopyang ipi-print (Default = 1).

printbackground : tumutukoy kung ang larawan sa background ay dapat i-print (Default = True).

printblankpages : tumutukoy kung dapat i-print ang mga blangkong pahina (Default = False).

printevenpages : tumutukoy kung ang kahit na mga pahina ay dapat na i-print (Default = True).

printoddpages : tumutukoy kung ang mga kakaibang pahina ay dapat na i-print (Default = True).

printimages : tumutukoy kung dapat i-print ang mga imahe (Default = True).

Halimbawa:

Sa Basic

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

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

Lahat ScriptForge Ang mga pangunahing gawain o identifier na may prefix na may underscore na character na "_" ay nakalaan para sa panloob na paggamit. Ang mga ito ay hindi nilalayong gamitin sa Basic macros o Python script.


Mangyaring suportahan kami!