Pavel este curat

Rețineți că aceasta este prima mea publicație. Deci, să începem ...

Un document formatat este pentru formatarea textului. Se poate distinge cu îndrăzneală. pentru a sublinia. Creșteți / micșorați fontul, centrul, etc. De asemenea, puteți adăuga o imagine. Ie în 1C puteți acum să formatați textul, aproximativ, ca și în programele similare din MS Word etc. Acest lucru poate fi convenabil atunci când faceți diverse contracte sau, de exemplu, când editați un e-mail. Astfel, avem ocazia să aducem un document text în forma pe care o dorim.







Asistentul de sintaxă are o descriere.
Obiectul FormattedDocument are același tip de date care acceptă funcționarea acestui obiect și are următoarele metode:

Inserare (Insert)
Adăugați (Adăugați)
Scrieți (scrieți)
GetHTML (GetHTML)
Obțineți capacul final (GetEndBookmark)
Obțineți fila Start (GetBeginBookmark)
Obțineți PostPositionBook (GetPositionBookmark)
Obțineți PozițiiPackage (GetBookmarkPosition)
GetText (GetText)
Eliminare (Ștergere)
Instalați HTML (SetHTML)

Disponibil în toate tipurile de aplicații: Client subțire, client web, server, client gros, conexiune externă. Nu puteți specifica un nou tip de date ca tip de recuzită.

Există o caracteristică importantă de acest tip. Nu puteți specifica tipul de "document formatat" pentru proprietățile obiectului (director, document etc.). Dar există o oportunitate de ao specifica pentru rechizite de formă.

Se pune întrebarea, cum salvăm aceste modificări la formatarea textului pe care la făcut utilizatorul? Pentru a face acest lucru, este folosit un obiect special "Value Storage", care poate conține orice tip de date, inclusiv un "document formatat". Astfel, obiectul de bază de date în sine este stocat ca un „valori de depozitare“, atunci când deschide formularul va trebui să eliminați obiectul din magazin, afișați-l pe formular folosind un tip de „FormatirovannyyDokument“. Dacă utilizatorul decide să salveze modificările, atunci când scrieți obiectul, trebuie să readuceți din nou obiectul "document formatat" și să îl scrieți în depozit.

Luați configurația cadrului ca bază, creați directoarele "Contractori" și "Contracte". Vom stabili directorul "Contracte" în directorul subordonat "Contrapărți" și vom crea "Textul" necesar cu tipul de valoare de stocare.







Vom crea forma elementului din directorul "Contracte" și vom adăuga o recuzită nouă, pe care o vom numi "Text of Agreement", vom indica tipul de date "Document Formatat". Rețineți că atributul "Text" cu tipul "Valoare de stocare" nu poate fi plasat pe formular.
Vom crea, de asemenea, un panou de comandă (meniu) care conține butoanele necesare pentru gestionarea documentului formatat. Pentru a face acest lucru, adăugați la formularul "Grup - Panou de comandă" și specificați în proprietatea "Comandă sursă" elemente de recuzită ale formularului "Conversație text" cu tipul de document formatat.

Executați depanatorul, verificați dacă am reușit ...

Totul ar fi bine, dar există unele probleme:

În primul rând, dacă tastați textul și îl formați corespunzător, nu apare modificatorul pentru formular. Astfel, apăsând accidental butonul de închidere a formularului, sistemul fără a pune întrebări îl închide fără nici o economie.
Pentru a preveni astfel de probleme, trebuie să setați proprietatea "Salvați date" din formularul "Text Context" în pavilion. Ca rezultat, cu orice schimbare a datelor din recuzele "TextTerms", va fi setată o caracteristică de modificare a formularului și când este închisă, sistemul va întreba: "Doriți să salvați modificările?".

În al doilea rând. Vom încerca să închidem formularul și să salvăm datele introduse. Redeschiderea contractului salvat, vedem că textul introdus sub forma contractului este absent. De ce se întâmplă acest lucru?

Lucrul este că noi facem schimbări la posturile de formă, care nu avem nimic de-a face cu recuzele obiectului. Să modificăm legătura dintre forma formularului "Contract text" cu tipul de date "Document formatat" și cerința obiectului "Text" cu tipul "Valoare de stocare".

Să scriem această conexiune programabil în modulul de formă. Descriim algoritmul.

1. Când deschideți formularul, va trebui să consultați obiectul obiectului "Text" pentru a citi datele din acesta și scrie-l în documentul formatat "Text contract".
2. Când scriem un obiect, luăm conținutul documentului formatat și îl plasăm în cerința obiectului "Text" cu tipul "ValueVault".

Astfel, vom avea efectul că toate modificările efectuate de utilizator vor fi stocate în baza de date.

Avem nevoie de următorii agenți de procesare a evenimentelor:

- CLOSE eveniment pe server (CurrentObject)

este convenabil ca în cazul în care modificați în mod eronat datele din formular, puteți să faceți clic pe butonul "Re-citiți" și să reveniți la datele originale.

Pe server
Procedura de accesare a serverului (CurrentObject)
Textul acordului = CurrentObject. Text. Primiți ();
Sfârșitul procedurii

- eveniment Înainte de înregistrarea pe server (refuzând CurrentObject.Record Parameters)

Pe server
Procedură înainte de înregistrarea pe server (Refuse CurrentObject.Record Parameters)
TekuschiyObekt. Text = Stocare de valoare nouă (textul acordului);
Sfârșitul procedurii


pentru că elemente de recuzită de text avem este de tip „HranilischeZnacheny“ trebuie să ia în considerare nuanțele de lucru cu el ... În cazul unei metode de citire unui obiect folosind get (), iar în cazul înregistrării folosind constructorul nou HranilischeZnacheniya (,).

Asta e tot pentru moment. Data viitoare vom încerca să vorbim despre utilizarea șabloanelor pentru a insera parametrii în textul unui document formatat, de exemplu, în loc de% Counterparty, introduceți numele contrapărții.

Vă mulțumesc pentru atenție!

Referințele utile sunt indicate de tovarășul Evg-Lylyk







Articole similare

Trimiteți-le prietenilor: