După cum știți, sistemul de compunere a datelor în 1C vă permite să creați diferite versiuni de rapoarte cu setări pregătite în faza de creare.
Este necesar să se ofere utilizatorului posibilitatea de a alege varianta necesară a raportului. Luați în considerare crearea de software în bara de acțiune a formei unui meniu drop-down convențional pentru aplicații care va fi populate automat cu toate versiunile existente ale raportului.
În primul rând, vom pregăti o procedură care va crea un meniu cu opțiuni:
Procedură Setați opțiunile pentru personalizări # 40; # 41;
// Adăugați un buton de submeniu în bara de acțiune a formei. Numele butonului "Variante de rapoarte", utilizatorul. va fi vizibil ca "Opțiuni"
KP = elemente de formular. Formulare de acțiuni;
Butonul nou = KP. Button. insera # 40; 1. "Variantele rapoartelor". Introduceți butoanele barei de comandă. Submeniul. „Opțiuni“. # 41; ;
Noua acțiune = acțiune nouă # 40; "Opțiunea de modificare" # 41; ; // Creați o acțiune, pe care o atribuim apoi butoanelor cu opțiuni
Counter = 1; // numără butoanele, ar trebui să aibă nume diferite
// Adaugă butoane pentru fiecare opțiune
// Afișați butonul din vizualizarea de configurare
// Alocați acțiunea creată mai sus ca acțiune pe buton
Pentru fiecare configurare din schema de dateBase. Variante Setări Ciclu
Butonul nou = KP. Button. Variante ale rapoartelor. Button. adăuga # 40; "Opțiune" + Rând # 40; contor # 41;. Introduceți butoanele barei de comandă. Acțiune. Personalizează. Reprezentarea. Noua acțiune # 41; ;
Counter = Counter + 1;
Apelăm această procedură când se deschide formularul:
Procedura de deschidere # 40; # 41;
Setați Opțiuni pentru personalizări # 40; # 41; ;
Și acum creați un handler de evenimente pentru butoanele adăugate. În codul precedent a existat o linie New Action = New Action ("Modificare opțiune"); atunci manipulatorul trebuie să aibă numele Change Variant.
Procedura de modificare a opțiunii # 40; element # 41;
// Trecem prin toate variantele raportului în buclă și verificăm dacă reprezentarea lor se potrivește cu antetul butonului pe care au făcut clic.
// Dacă coincide, atunci aceasta este setarea dorită
Pentru fiecare opțiune din schema de compunere a datelor. Variante Setări Ciclu
Dacă elementul. Text = Opțiune. Reprezentarea atunci
// Opțiunea de încărcare
Linker Settings. ZagruzitNastroyki # 40; Opțiunea. setări # 41; ;
// Modificați antetul de formular pentru a clarifica ce tip de opțiune funcționează
// Puteți afișa și numele variantei în altă parte
Acest formular. Header = ThisObject. metadate # 40; # 41;. idee # 40; # 41; + ":" + Opțiune. reprezentare;
// La mine în formă, s-au dedus câmpuri suplimentare de selecții de la un linker de ajustări
// Dacă există ceva de genul acesta, scrieți proceduri de genul acesta
// Dacă nu, ștergeți următoarea linie
Completați Customizarea # 40; # 41; ;
// Întrerupeți bucla, deoarece a găsit setarea
avorteze;
Pentru ideea mulțumirilor colegilor de la site-ul programmist1s.ru