Adăugați și modificați elementele de formular gestionate în mod programatic. Adăugarea și modificarea programatică a elementelor de formular gestionate Configurarea formularului gestionat 1c

Platforma 1C: Enterprise vă permite să adăugați și să schimbați elemente în mod programatic formă gestionată... Să ne dăm seama pentru ce ar putea fi necesar.

Modificarea programului a formularului poate fi necesară în mai multe cazuri:

  • Când este revizuită configurații tipice pentru a facilita procedura de actualizare ulterioară. În acest caz, doar modulul formular va fi modificat. Modulele sunt mult mai ușor de actualizat decât un formular.
  • La implementarea unor algoritmi generali. De exemplu, în subsistemul „Interzicerea editării atributelor obiectului” pentru toate obiectele conectate la subsistem, este prevăzută o creare programatică a unui buton pentru a permite posibilitatea de a edita atribute.
  • La implementarea unor algoritmi specifici. De exemplu, în directorul Nomenclatură, sunt create câmpuri pentru editarea detaliilor suplimentare.

Într-o formă gestionată, puteți adăuga, modifica și elimina în mod programatic:

  • rechizite;
  • comenzi locale;
  • elemente.

Toate aceste operațiuni sunt posibile doar pe server.

Schimbarea formei în mod programatic are limitări:

  • Puteți șterge numai atributele/comenzile/elementele adăugate programatic. Nu puteți șterge programatic obiectele create în configurator.
  • Nu puteți atribui atributul principal.

Schimbarea comenzilor de formular

Să gestioneze componența echipelor din unitate ManagedForm există o colecție Comenzi

    Adăuga (< ИмяКоманды >)

    Cantitate ()

    Găsi (< ИмяКоманды >)

    Șterge (< Команда >)

Colecția de comenzi este disponibilă atât pe client, cât și pe server. Modificarea colecției (metodele Add () și Delete ()) se poate face numai pe server. Puteți căuta și obține numărul de elemente (metodele Find () și Count ()) atât pe client, cât și pe server.

Ca exemplu de lucru cu comenzi de formular, să creăm o nouă comandă ChangeHistory cu titlul „Change History...”, care va apela handler-ul Arată istoric(). Crearea se realizează la deschiderea formularului.

&Pe server
Procedură OnCreateAtServer (Eșec, Procesare standard)
Comanda = Comenzi. Adăuga( „Istoricul modificărilor”);
Comanda ... Acțiune =;
Comanda ... Titlu = „Schimbați istoricul...”;
Sfârșitul procedurii
& OnClient
Procedură Connectable_DisplayHistory (Comandă)
// acțiuni de comandă
Sfârșitul procedurii

Managerul de comandă trebuie să fie localizat în formular și să aibă directiva de compilare & OnClient.

Modificarea detaliilor formularului

Citirea compoziției atributelor formularului este realizată de funcție Obțineți detalii(< Путь >), care returnează o matrice de tip Form Attribute. Parametrul funcției specifică calea către elementele de recuzită părinte (sub formă de șir). Dacă parametrul este omis sau este specificat un șir gol, elementele de recuzită de nivel superior sunt returnate.

Modificarea detaliilor se realizează prin metoda Modificați detaliile(<Detalii adăugate>, <Detalii detașabile>) obiect ManagedForm... În parametri Detalii adăugateși Detalii detașabile sunt transferate matrice cu elemente de tip Atribut Form.

Atenţie!

Procesul de modificare a compoziției detaliilor necesită destul de mult resurse. De fapt, forma este re-creată. În acest sens, lucrul cu atributele formularului se efectuează în modul lot.

Să creăm un nou atribut de formular numit Cumpărător:


AddedAttributes = New Array;
Atribute de adăugat. Adăugați (Propoziții de formulare noi("Cumparator", Noua Descriere a Tipurilor ("DirectoryLink.Contractors"), "Client"));

// Modificări în compoziția detaliilor
);

Modificarea elementelor de formular

Pentru a controla compoziția elementelor unui obiect ManagedForm există o colecție Elementele... Colecția are mai multe metode:

    Introduce (< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    Adăuga (< Имя>, < ТипЭлемента>, < Родитель >)

    Cantitate ()

    Găsi (< Имя >)

    Mutare (< Элемент>, < Родитель>, < МестоРасположения >)

    Șterge (< Элемент >)

Colecția Elements este disponibilă atât pe client, cât și pe server. Modificați colecția (metode Insert () , Adăugare (), Mutare () și Ștergere ()) se pot face numai pe server. Puteți căuta și obține numărul de elemente (metodele Find () și Count ()) atât pe client, cât și pe server. Elementele de colectare pot fi:

  • Grup de formulare;
  • Tabel de formulare;
  • Câmp formular;
  • Butonul Formular.

Puteți aloca în mod programatic handlere de evenimente elementelor de formular. În aceste scopuri, metoda este destinată SetAction (< ИмяСобытия>, < Действие >) .

Să ne uităm la câteva dintre cele mai comune exemple de lucru cu comenzi, elemente de recuzită și elemente de formular.

Adăugarea unei comenzi și a butonului asociat:

// Creați o comandă
Comanda = Comenzi. Adăuga( „Istoricul modificărilor”);
Comanda ... Acțiune = „Connectable_DisplayHistory”; // Formularul trebuie să aibă o procedură cu numele specificat
Comanda ... Titlu = „Schimbați istoricul...”;
// Creați un buton și asociați-l cu o comandă
Element = Articole. Adăuga( „Istoricul modificărilor”, Tip („Butonul Formular”));
Element.CommandName = „Istoricul modificărilor”;

Adăugarea unei elemente de recuzită și a unui câmp de intrare asociat:

// Descrierea detaliilor adăugate
AddedAttributes = New Array;
Atribute de adăugat. Adăuga(Propoziții de formulare noi ("Cumpărător", Descriere nouă a tipurilor ( „DirectoryLink. Contractori”), „Client” ));
// Schimbați compoziția detaliilor
Modificați atribute (Atribute adăugate);
// Creați un câmp de introducere și link la elemente de recuzită
Element = Articole. Adăugați ("Cumparator", Tip ("FormField"));
Element ... Vizualizare = FormFieldKind. Câmp de intrare;
Element ... Calea datelor= „Cumpărător”;

Atribuirea unui handler de evenimente unui element de formular:

Cumpărător de articol. Setați acțiunea("Când se schimbă", „Plugin_CustomerOnChange”);

& OnClient
Procedură Plugin_BuyerOnChange(Articol)
// Acțiuni de eveniment
Sfârșitul procedurii

Atenţie!

Proceduri care sunt setate ca handler de evenimente din cod folosind metoda SetAction (), este recomandat să setați prefixul Connect_.

Atenţie!

Puteți descărca procesarea cu exemple de căutare programatică și modificarea atributelor, comenzilor și elementelor unui formular gestionat.

Scopul obiectului de configurare „Stocare setări” este clar din nume - pentru a stoca diferite setări ale utilizatorului. Domeniul de aplicare al acestui obiect este larg - în orice, cel puțin o configurație serioasă, este necesar să stocați orice setări ale utilizatorului.

Pentru comoditatea programatorilor, există mai multe magazine de setări standard în fiecare configurație, în plus, este posibil să creați cât mai multe magazine de setări suplimentare cât este necesar.

Mai întâi, să ne dăm seama care sunt depozitele de setări standard care sunt prezente în orice configurație 1C începând cu versiunea 8.2.

Magazine de configurare standard

Deci, implicit, configurația are următoarele depozite de setări:

  • ReportOptions Store - pentru a accesa setările opțiunilor de raport.
  • UserReportSettingsStorage - pentru accesare setari personalizate rapoarte.
  • FormDataSettingsStore - pentru accesarea preferințelor utilizatorului privind datele din formular.
  • Magazin de setări generale - pentru accesare setari generale.
  • SystemSettings Store - pentru accesare setarile sistemului.
  • DynamicListsUserSettingsStore - pentru accesarea setărilor personalizate pentru liste dinamice.

Fiecare dintre aceste depozite poate fi accesat ca o proprietate a contextului global.

Programatorul poate folosi stocarea standard pentru nevoile sale, păstrând diverse setariîn contextul utilizatorului, al obiectului și al decorului în sine.

Următoarele metode sunt folosite pentru a lucra cu depozitele de setări (atât cu cele standard, cât și cu cele adăugate de programator).

Setări de înregistrare și recepție:

General Settings Storage.Save (ObjectName, SettingsName, SettingsValue, SettingsDescription, UserName); SettingsValue = GeneralSettings Storage.Load (ObjectName, SettingsName, SettingsDescription, UserName);

Eliminarea setărilor inutile / inutile:

Setări generale Storage.Remove (ObjectName, SettingsName, UserName);

Obținerea unei liste de setări:

ListValuesSettings = StorageGeneralSettings.GetList (ObjectName, UserName);

Parametrii „ObjectName”, „SettingsName” și „UserName” trebuie să fie de tip șir.

În baza de date, toate setările sunt stocate într-un tabel separat.

Arhivele de setări create de programator

Acum să vorbim despre acele magazine de setări care sunt create de programator. În general, programatorul nu este limitat de nimic în dorința sa de a crea un nou magazin de setări, dar, de obicei, magazine de setări separate sunt create din următoarele motive:

  • trebuie să mutați setările între baze de date;
  • controlul de referință este necesar la stocarea setărilor;
  • este necesară o structură specială de setări 1C.

Magazinele de setări sunt adăugate în secțiunea corespunzătoare a configurației.

O caracteristică cheie a depozitelor de setări create de programator este necesitatea de a implementa manual metodele de înregistrare și preluare a valorilor (Salvare () și Încărcare ()). În aceste metode, programatorul trebuie să descrie salvarea (în registre de informații, fișiere, cărți de referință etc.) și setările de încărcare folosind limbajul încorporat.

În rest, principiile de lucru cu depozitul creat practic nu diferă de lucrul cu depozitele standard de setări.

Depozitul creat poate fi accesat astfel:

RepositoriesSettings.RepositoryName.Load ();

În plus, depozitele create le pot înlocui pe cele standard în diverse obiecte de configurare și în configurația propriu-zisă.

Formularele gestionate au două proprietăți:

  • Salvare automata date - dacă este selectată valoarea „Utilizați”, datele vor fi salvate automat în stocarea standard a setărilor de date din formular;
  • Salvarea datelor în setări - dacă este selectată valoarea „Utilizați listă”, atunci în fereastra cu detalii formular va apărea coloana „Salvare”, cu ajutorul căreia puteți specifica ce detalii formular trebuie salvate și, de asemenea, va fi posibil să selectați stocarea setărilor pentru aceste date.

Asta e tot, sper că acest articol te-a ajutat.

Articolul continuă ciclul „Primii pași în dezvoltare pe 1C”.

În configurația pe platforma 1C: Enterprise, la afișarea informațiilor se folosesc cel mai des tabelele care afișează diverse liste de informații. Lucrarea cu astfel de liste se poate desfășura atât sub formă de listă, cât și sub formă de element (procesare).

În acest articol, vom arunca o privire asupra acestor opțiuni de personalizare a listei, precum și asupra altor aspecte ale personalizării formularelor din partea utilizatorului.

Aplicabilitate

Articolul discută interfața Gestionată în versiunea „Versiunea 8.2” a configurației dezvoltate pe platforma 1C 8.3.4.482.

Dacă lucrați cu configurații care acceptă această interfață, atunci informațiile sunt relevante pentru dvs. pentru versiunile curente ale platformei.

Dacă lucrați în noua interfață Taxi, numele unor comenzi de configurare, precum și secvența generală a acțiunilor, pot diferi ușor.

În plus, în versiunea actuală a platformei, au fost adăugate noi capabilități de căutare în liste.

Personalizarea formularelor și capacitatea de a lucra cu liste

Pentru elementele formularelor gestionate, este posibilă modificarea vizibilității și a altor proprietăți. În aceste scopuri, într-o formă controlată în meniu Toate acțiunile servește ca element Schimbați forma.

După apăsarea acestei comenzi, va apărea fereastra „Setări formular”.

În fereastra care apare, folosind casetele de selectare, puteți modifica vizibilitatea unor detalii. În acest caz, formularul este scalat automat.

Puteți modifica ordinea detaliilor. Adăuga grup nouși puneți câteva detalii (elemente) în el, definind opțiunea de grupare a acestora (orizontală, verticală).

Cerințele care fac parte din grup vor fi plasate corespunzător. În plus, pentru elemente, puteți personaliza proprietăți precum lățimea, înălțimea, datele antetului.

Puteți defini un atribut care va fi activat la deschiderea formularului.

O proprietate importantă este capacitatea de a adăuga noi câmpuri în formular. Acest lucru este posibil prin suporturi de tip referință.

De exemplu, având un atribut tip referință pe formular Contrapartidă, poate adauga Persoana de contact, dacă această variabilă este prezentă în directorul „Contractanti”.

Câmpurile suplimentare pot fi eliminate dacă este necesar. Câmpurile create în configurator nu pot fi șterse. Toate setările făcute de utilizator sunt salvate.

Pentru a reveni la setările implicite în fereastra „Setări forme” din meniu Toate acțiunile ar trebui să selecteze elementul Setați setările implicite.

Pe lângă personalizarea formularelor din interfața gestionată, este posibilă personalizarea listelor (elementele directoarelor, documentelor).

Sub forma unei liste în meniu Toate acțiunile conţine o comandă specială Personalizați lista.

Se deschide fereastra „Personalizare listă”. În această fereastră, puteți selecta, sorta, defini design condiționat și grupare.

Figura prezintă un formular pentru editarea selecției.

Selectia poate fi efectuata pe mai multe campuri. În acest caz, în mod implicit, selecția va funcționa în funcție de condiția AND.Puteți folosi și condițiile SAU și NU.

Pentru a utiliza condiția SAU (NU), trebuie să adăugați grupul corespunzător (Grup SAU, Grup NU) utilizând comanda Condiții Grup.

Figura prezintă un formular pentru definirea câmpurilor de sortare.

Setarea grupării este posibilă. În figură, câmpul pentru grupare este selectat Contrapartidă.

Figura următoare arată cum va fi efectuată gruparea.

Puteți colora lista într-un mod arbitrar sau puteți aplica alte elemente de design condiționat (evidențierea cu fonturi, anumite formatări) în funcție de o condiție specificată și, de asemenea, selectați lista de câmpuri de formatat.

Figura arată rezultatul fundalului condiționat al câmpului Sumă.
Când suma este > 100.000.

Trebuie remarcat faptul că este posibil să vizualizați directoare în modul ierarhic.

Vizualizarea ierarhică a directoarelor poate fi configurată prin intermediul articolului Modul de vizualizareîn meniu Toate acțiunile... Puteți alege una dintre opțiuni: Lista ierarhică, Listă, Lemn.

De asemenea, este posibil să vă configurați propria grupare a elementelor de director după unele detalii.

De exemplu, puteți grupa un articol după furnizor. Un exemplu este similar cu cel în care am avut în vedere gruparea documentelor „Vânzarea de bunuri și servicii” pe contrapărți.

O caracteristică convenabilă este selecția multiplă în liste cu execuția ulterioară a acțiunilor de grup (menținere, anulare, demarcare ștergere).

Selectarea obiectelor din listă se realizează ținând apăsată tasta Schimb sau Ctrl.

Căutarea unei anumite valori într-o listă are propriile sale particularități. Căutarea funcționează în modul de selecție. Rămân doar acele șiruri care satisfac condiția de căutare.

Pentru a căuta după valoare în coloana curentă, trebuie doar să poziționați cursorul pe coloana dorită și să faceți clic pe butonul Găsiîn panoul de comandă. Va apărea o fereastră în care ar trebui să faceți și clic pe butonul Găsi.

Puteți utiliza caseta de selectare pentru a face căutarea mai precisă. Caută în găsit.

Când căutați după un șir de date de un tip de referință (de exemplu, unități de măsură), ar trebui să selectați opțiunea de căutare adecvată ... (pe linie).

Aceasta se încheie cu listele și modalitățile de personalizare a acestora. În următorul articol, vom continua să ne familiarizăm cu interfața și să luăm în considerare un instrument convenabil pentru informarea utilizatorului, despre care nu am vorbit înainte. Ce este acest instrument? :)

Platforma contine un numar mare de mecanisme care facilitează procesul de implementare și oferă mai mult oportunități ample la stabilirea unei soluții aplicate. Ceea ce în alte sisteme trebuie făcut prin adăugarea sau rescrierea codului programului în 1C: Enterprise 8 se poate face cu câteva clicuri de mouse. Uneori chiar direct în modul utilizator. Fără a modifica soluția aplicată în sine, fără a-i modifica codul programului.

De regulă, soluția de aplicație conține toate rolurile necesare pentru o muncă cu drepturi depline. Cu toate acestea, o implementare specifică poate avea cerințe speciale. Implementatorul poate crea noi roluri pentru a le satisface. Cel mai convenabil mod de a face acest lucru este prin copierea și modificarea rolurilor deja disponibile în soluția aplicației.

Personalizarea panoului de partiții

Puteți modifica compoziția panoului de secțiuni în Configurator în 1C: modul Enterprise.

Configurarea paginii de pornire

Compunerea formelor situate pe pagina principala, poate fi schimbat în Configurator cu o defalcare pe roluri, sau individual pentru unul sau mai mulți utilizatori în 1C: modul Enterprise.

Configurarea interfeței de comandă a secțiunii principale

Puteți modifica compoziția comenzilor afișate în secțiunea principală din Configurator cu o defalcare pe roluri.

Configurarea interfețelor de comandă pentru partiții

Compoziția comenzilor afișate într-o anumită secțiune a soluției aplicate poate fi modificată în Configurator cu o defalcare pe roluri. În acest caz, este posibil să configurați atât toate secțiunile simultan (editor „Toate subsistemele”), cât și fiecare secțiune separat (editor al interfeței de comandă).

Personalizarea formularelor

Formularele care există în 1C: Enterprise sunt concepute pentru lucrul interactiv al utilizatorilor cu datele din baza de date. Pentru a oferi această oportunitate, formularul este „umplut” cu funcționalitatea necesară.


Funcționalitatea formularului este determinată de compoziția cerințelor și comenzilor sale. Detaliile formularului sunt datele cu care funcționează formularul. Comenzile de formular sunt acțiuni pe care un formular le poate efectua asupra datelor. Cu toate acestea, a avea o comandă într-o formă nu face încă posibilă utilizarea funcționalității acesteia. În mod similar, cerințele în sine nu oferă posibilitatea de a afișa și edita date.
Pentru a utiliza comenzi, pentru a afișa și edita datele stocate în atribute, sunt utilizate elemente de formular asociate comenzilor și atributelor corespunzătoare.
Fără a intra în detalii, relația dintre comenzi, elemente de recuzită și elemente de formular poate fi reprezentată printr-o diagramă.

Relația dintre echipe, recuzită și elemente de formă

Următoarele caracteristici cheie forme.
La început, formă nouă nu este desenat în detaliu de către dezvoltator, ci este construit de sistem automat. Dezvoltatorul este în modul de configurare:

  • definește compoziția formei sub forma unui arbore de elemente
  • descrie comportamentul unui formular prin setarea de valori pentru proprietățile sale și/sau implementarea procedurilor într-un limbaj încorporat.

Când construiește o interfață pentru un anumit utilizator, sistemul folosește această descriere declarativă pentru a crea un formular și a plasa elementele acestuia.
În al doilea rând, la crearea unui formular, se folosește un nou model pentru a controla accesibilitatea și vizibilitatea elementelor de formular. Aceasta ia în considerare:

  • setările drepturilor în contextul rolurilor de utilizator
  • dependența elementelor de formular de opțiunile funcționale
  • personalizarea formularului efectuată de dezvoltator în etapa de configurare a soluției aplicației
  • personalizarea formularului realizată de utilizator în etapa de operare a soluției aplicației.

Funcționalitate implicită

În 1C: Enterprise, nu trebuie să creați formulare pentru prezentarea și prelucrarea obiectelor de date. În acest caz, la executarea comenzilor pentru deschiderea formularelor, sistemul va crea automat formularul necesar din mers. Formularul creat va avea funcționalitate și prezentare implicite. Ce determină prezentarea și funcționalitatea unui formular?
Prezentarea standard și funcționalitatea unui formular definesc obiectul de interfață Formular gestionat (de exemplu, capacitatea formularului de a se închide) și extinderea formularului (de exemplu, capacitatea de a scrie datele formularului în baza de informații).
O extensie de formular este proprietăți suplimentare, metode, parametri și comenzi care apar pe obiectul Form atunci când i se atribuie atributul principal.

ATENŢIE!
Numai o singură recuzită poate fi selectată ca principală
din compunerea detaliilor formularului.

Este important să înțelegeți că:

  • în plus, funcționalitatea furnizată este inclusă în obiectul Formular gestionat, adică devine parte integrantă a acestuia
  • compoziţie oportunități suplimentare este determinată de tipul atributului principal al formularului, adică de tipul datelor pentru care formularul se dorește a fi editat.

Extensiile pot fi prezente și pe elementele de formular. În ceea ce privește forma în sine, compoziția extensiei, adică proprietăți suplimentare, metode etc., ale elementului de formă este determinată de tipul de atribut cu care este asociat elementul.
Dacă este necesar să se implementeze o prezentare a datelor non-standard sau o funcționalitate non-standard, dezvoltatorul poate crea în mod independent un formular în configurator. Un editor de formulare este folosit pentru a crea formulare. Cu ajutorul acestui editor, dezvoltatorul creează setul necesar de atribute și comenzi pentru formular, precum și elementele de formular cu care sunt afișate.

Formular comenzi

Pentru a ne familiariza cu comenzile formularului, vom crea un alt formular pentru documentul Consum de bunuri. Din meniul contextual al nodului Formulare al acestui document, selectați elementul Adăugați.

Adăugarea unui subformular


Aceasta va deschide fereastra de proiectare a formularelor. În fereastra de proiectare, selectați tipul de formular - Document Form, bifați Atribuiți formularul celui principal și setați numele MainForm. Faceți clic pe butonul Terminare.

Fereastra de proiectare formular

1C8: Fereastra de proiectare formular

Ca urmare a muncii designerului, a fost creat un formular de document, acest formular este atribuit ca principal, adică este utilizat în mod implicit pentru lucrul cu un document. După finalizarea lucrării designerului pentru formularul creat, se va deschide fereastra editorului de formulare.

Editor de formulare cu formular de document generat automat


NOTĂ
În editorul de formulare, principalele atribute ale formularului sunt evidențiate cu caractere aldine.

Dacă deschideți documentul Consumul de mărfuri în 1C: modul Enterprise, noi vom vedea că formularul creat de noi este folosit pentru a lucra cu documentul.

Formular de editare a documentului „Consum de bunuri”


Elementele care oferă acces la comenzi sunt situate în panourile de comandă. În cazul nostru, sistemul a format panoul de comandă al formularului și panoul de comandă al tabelului de mărfuri. Oricare dintre comenzile disponibile poate fi selectată din meniul Toate acțiunile din panoul de comandă corespunzător. Pentru a accelera accesul la comenzi, unele dintre ele (cele mai importante sau utilizate frecvent) sunt reprezentate prin butoane direct în panourile de comandă.
Care este „ghidul” de către sistem atunci când se formează componența echipelor de formă? Ce echipe ar trebui să fie în formă? Pentru a răspunde la aceste întrebări, trebuie să vă amintiți scopul principal al formularului - prelucrarea interactivă a datelor. Prin urmare, formularul trebuie să conțină comenzi care să ofere utilizatorului posibilitatea de a procesa datele din formular și posibilitatea de a accesa datele asociate procesului.

Pentru prelucrarea datelor de formular - comenzi de formular standard NS

Formularul trebuie să conțină comenzi pentru prelucrarea datelor și pentru manipularea formularului. Aceste capabilități sunt furnizate de comenzile standard de formulare locale. În editorul de formulare, acestea sunt prezentate pe filă Comenzi standard editor de comenzi.

Comenzi de formular standard în editor și interfață

1C8: comenzi de formular standard în editor și interfață

Aceste comenzi sunt furnizate de formular și extensie de formular. Compoziția comenzilor furnizate de formular este standard și nu depinde de datele formularului - acestea sunt comenzile:

  • referinţă
  • Schimba forma...
  • Închide
  • Salvați parametrii...
  • Restabiliți parametrii...

Compoziția comenzilor furnizate de extensie depinde de tipul atributului principal al formularului. În cazul nostru, atributul principal al formularului este atributul Object cu tipul de date DocumentObject.Goods Consumption (vezi figura de mai sus) Extensia corespunzătoare acestui tip de date a furnizat comenzile:

  • Glisați și închideți
  • Scrie
  • Recitiți
  • Copie
  • Marcați pentru ștergere
  • Anulați marcarea ștergerii
  • Șterge
  • Conduce
  • Anularea evenimentului.

ATENŢIE!
Trebuie să distingeți între comenzile standard pentru obiecte de configurare și comenzile standard pentru formulare. Primele sunt utilizate în interfața globală de comandă și sunt furnizate de un obiect de configurare. Acestea din urmă sunt utilizate în formular și sunt furnizate de formularul însuși, extensiile sale și extensiile elementelor de formular de tip Tabel.

Pentru a facilita dezvoltarea algoritmilor de control al formularelor, comenzile standard ale formularelor includ următoarele comenzi:

  • Nu,
  • Anulare,
  • Avorta,
  • Ocolire,
  • Repeta.

Dacă o astfel de comandă este adăugată în formular, atunci când utilizatorul o selectează, sunt efectuate următoarele acțiuni:

  • pentru un formular deschis în modul modal, formularul este închis, iar valoarea corespunzătoare pentru comanda selectată este returnată ca DialogReturnCode
  • pentru un formular deschis în modul fără model, doar formularul este închis.

Dacă elementele de formular conțin tabele, atunci comenzile care procesează datele afișate în aceste elemente sunt adăugate la comenzile de formular locale standard. Document Consumul de bunuri există parte tabulară, care este reprezentat de atributul Bunuri în datele formularului. Pentru a afișa o listă de produse în formular, se folosește elementul Produse de tipul Tabel. Comenzile standard de formulare locale includ comenzi pentru procesarea datelor tabulare - nodul Produse din editorul de comenzi.

Comenzi standard de tabel în editor și interfață


Pentru lucrul cu date legate - comenzi parametrizate globale

Atunci când procesați datele din formular, poate fi necesar să vizualizați datele asociate cu cele prelucrate. Acesta poate fi, de exemplu, un set de înregistrări în registrul decontărilor reciproce cu contrapărțile, subordonate documentului în curs de procesare, sau o listă de prețuri pentru mărfurile vândute etc. date, de exemplu, introduceți un document de plată pe baza unui document de vânzare sau tipăriți coduri de bare mărfurile vândute etc.

Comenzile de navigare parametrizabile la nivel global oferă acces la datele asociate, iar comenzile de acțiune parametrizabile la nivel global asigură procesarea datelor aferente. În editorul de formulare, acestea sunt prezentate în fila Comenzi globale a editorului de comenzi.

Comenzi parametrizabile globale în editor și interfață


Aceste comenzi sunt furnizate de interfața globală de comandă a soluției aplicației. Compoziția comenzilor disponibile în formular depinde de tipul de parametru al comenzii parametrizate (vezi. „Comenzi gratuite”). În formular, sunt disponibile acele comenzi parametrizate globale pentru care în contextul formularului este posibil să se obțină valorile parametrului de tipul dorit.
În editorul de comenzi, sursa parametrilor pentru comandă este indicată în paranteze după comandă. De exemplu, pentru comanda de deschidere a listei registrului vânzărilor, parametrul este linkul către documentul editat.
Dacă există mai multe surse pentru o comandă într-un formular, atunci comanda este reprezentată ca un nod arborescent, iar lista de surse ca elemente ale acestui nod. În alcătuirea comenzilor de formular, o astfel de comandă poate fi inclusă din oricare dintre surse (sau mai multe instanțe ale aceleiași comenzi cu surse diferite).
Pentru a lucra cu funcționalitatea aplicației - comenzi globale independente Când procesați datele din formular, poate fi necesar să utilizați funcționalitatea aplicației care nu este direct legată de datele procesate.
De exemplu, atunci când procesăm datele din document, trebuie să căutăm datele sau să introducem un nou tip de preț. Echipele globale independente vă vor ajuta să efectuați aceste operațiuni. În editorul de formulare, acestea sunt prezentate în fila Comenzi globale a editorului de comenzi.

Comenzi globale independente în editor și interfață


Comenzile globale independente sunt furnizate de interfața globală de comandă. În editorul de comenzi, comenzile globale independente sunt grupate în secțiuni ale interfeței de comandă globală. Comanda va fi disponibilă din toate secțiunile interfeței de comandă globală în care este inclusă.

Metode de formare a componenței echipelor din formă

După ce ne-am familiarizat cu sursele comenzilor de formular, să vedem ce opțiuni oferă sistemul pentru formarea compoziției comenzilor de formular.

NOTĂ
Există o altă sursă de comenzi pentru formular - dezvoltatorul, care poate crea comenzi de formular locale arbitrare. Despre aceste comenzi vom vorbi puțin mai târziu (vezi „Dacă nu sunt suficiente comenzi standard”).

În cel mai general caz, există trei opțiuni:

  • automat - componența echipelor de formular este determinată de sistem complet automat
  • combinat - compoziția comenzilor de formular este determinată de sistem automat, iar dezvoltatorul, folosind editorul de formulare, o corectează
  • manual - componența echipelor de formular este determinată în întregime de dezvoltator.

Opțiunea automată este cea mai rapidă și mai puțin costisitoare din punctul de vedere al dezvoltării unei soluții aplicate - sistemul face totul de la sine. Opțiunea combinată este probabil cea mai des folosită. Prin această abordare, dezvoltatorul intervine în funcționarea sistemului doar atunci când setul de comenzi generat de sistem nu oferă cele necesare. funcţionalitate pentru prelucrarea datelor din formular. În majoritatea covârșitoare a cazurilor, intervenția se exprimă într-o simplă extindere a componenței echipelor formei. Versiunea manuală oferă oportunități maxime pentru gestionarea componenței echipelor formularului și plasarea acestora. Cu toate acestea, necesită o cantitate semnificativă de muncă minuțioasă din partea dezvoltatorului.