internetul Windows. Android

1C 8 Setări personalizate CCD. Selectează în rapoarte

Ne-am uitat la setările rapoartelor implementate pe baza SCD. Acum vom analiza mai multe setări mai subtile și detaliate pentru opțiunile de raportare. Fereastra "Advanced" a setărilor opțiunilor de raportare este numită de comanda "Mai" - "Altele" - opțiunea de schimbare "Modificare".

Fereastra de schimbare a opțiunii de raport este împărțită în două părți:

1. Structura raportului.

2. Setări raportați.


Secțiunea structurii versiunii raportului este similară cu fila Structură a setărilor standard de raportare. Alocarea și configurarea grupurilor este considerată în detaliu în partea 1 a articolelor.

Tabelul statutului unei opțiuni de raportare, cu excepția coloanelor directe cu grupuri, conține mai multe coloane suplimentare:

Secțiunea Setări opțiuni de raportare oferă utilizatorilor oportunități largi de configurare a raportului la nevoile lor. Aproape complet coincide cu setările de raport standard discutate în parte. 1. Luați în considerare toate filele secțiunii și menționați diferențele.

Secțiunea Setări constă din următoarele file:

1. Parametrii. Conține parametrii CCD accesibili utilizatorului.

Parametrul CCC este o ușoară valoare utilizată pentru a obține date de raport. Poate fi o valoare a stării de selectare sau de verificare a datelor, precum și o valoare auxiliară.


Tabelul de parametri este prezentat în formatul "parametru" - "valoare". Dacă este necesar, puteți schimba valorile parametrilor. Apăsând butonul "Proprietăți de setări personalizate" deschide setările elementului utilizator.


În această fereastră, puteți alege dacă elementul va fi activat în setările utilizatorului (adică, utilizatorul este vizibil la configurarea unui raport), setați reprezentarea elementului și modul de editare ( acces rapid În antetul raportului, raportul obișnuit și setările inaccesibile).

Proprietățile elementului de setări de utilizator au, de asemenea, câmpuri grupate, câmpuri, selecții și elemente de design condiționat.

2. Câmpurile personalizate. Conține câmpurile pe care utilizatorul în sine se formează pe baza datelor selectate de raport.


Utilizatorul poate adăuga două tipuri de câmpuri:

  • Alegerea de câmp nou ...
  • Expresie de câmp nou ...

Câmpurile de selecție vă permit să calculați valoarea într-o anumită condiție. Fereastra de editare a câmpului de selecție conține un câmp de antet și o masă în care sunt specificate selecția, valoarea și reprezentarea câmpului. Selecția este o condiție, în funcție de care valoarea dorită va fi înlocuită.


De exemplu, calculează evaluarea numărului de vânzări. Vom presupune că, dacă mai puțin de 10 unități de bunuri vândute, au vândut puțin, iar dacă mai mult de 10 unități sunt multe. Pentru a face acest lucru, setați 2 valorile câmpului calculat: Primul va fi cu selecția "Cantitatea de bunuri este mai mică sau egală cu" 10 ", a doua cu selecția" Cantitatea de bunuri este mai mare decât "10".

Câmpurile de expresie permit calcularea valorii utilizând algoritmi arbitrari. Ele pot folosi funcțiile limbii de interogare și limbajul de programare încorporat 1c. Fereastra de editare a câmpului de expresie conține două câmpuri pentru expresii de intrări detaliate și finale. Intrările finale sunt grupe configurate în zona "Structura raportului", trebuie să utilizeze funcții agregate ("suma", "minim", "maxim", "cantitate").

De exemplu, calculează procentajul mediu al reducerii. Procentajul mediu al reducerii se calculează cu formula: [suma vânzărilor fără reducere] - [suma vânzărilor cu o reducere] / [suma vânzărilor fără reducere]. Trebuie să vă amintiți că suma vânzărilor fără o reducere poate fi zero, astfel încât să folosim operatorul de selecție pentru a verifica. Obținem următoarele expresii:

· Pentru înregistrări detaliate:

Alegere

Când [suma vânzărilor fără reducere] \u003d 0

Apoi 0.

În caz contrar [suma vânzărilor fără reducere] - [suma vânzărilor cu reducere] / [suma vânzărilor fără reducere]

sfarsit

· Pentru intrările finale:

Alegere

Când suma ([suma vânzărilor fără o reducere]) \u003d 0

Apoi 0.

În caz contrar, suma ([suma vânzărilor fără reducere]) - suma ([suma vânzărilor cu o reducere]) / suma ([Suma vânzărilor fără reducere])

sfarsit

Așa cum am menționat mai devreme, în expresia intrărilor finale, folosim funcția agregată "suma".

3. Câmpurile măcinate. Conține câmpurile prin care rezultatul opțiunii de raport va fi cultivat. Câmpurile de șlefuire sunt configurate separat pentru fiecare dintre grupuri, dar puteți seta câmpuri de grupare comune pentru opțiunea de raport, dacă selectați rădăcina "Raportului" din structură. Puteți adăuga un câmp din rezultatul raportului, un câmp de utilizator sau puteți selecta câmpul Auto, apoi sistemul va selecta automat câmpul. De asemenea, această filă vă permite să modificați procedura pentru gruparea câmpurilor.


4. câmpuri. Conține câmpuri care vor fi afișate în rezultatul opțiunii de raportare. Câmpurile sunt configurate separat pentru fiecare dintre grupuri, dar puteți seta câmpuri comune pentru opțiunea de raport dacă selectați structura rădăcină "Raport" din structură. Puteți adăuga un câmp din rezultatul raportului, un câmp de utilizator sau puteți selecta câmpul Auto, apoi sistemul va selecta automat câmpul. De asemenea, această filă vă permite să modificați ordinea câmpurilor.

Câmpurile pot fi grupate pentru a selecta logic orice parte a raportului sau a seta un aranjament special al coloanelor. La adăugarea unui grup, coloana "Locație" devine activă și vă permite să selectați una dintre opțiunile de locație:

  • AUTO - Sistemul are automat câmpuri;
  • Câmpurile orizontale sunt orizontale;
  • Câmpurile pe verticală sunt amplasate vertical;
  • Într-o coloană separată - câmpurile se află în diferite coloane;
  • Împreună - câmpurile sunt situate într-o singură coloană.


5. Selectarea. Conține selecțiile utilizate în versiunea de raport. Înființarea selecțiilor a fost luată în considerare în detaliu în partea 1 a prezentului articol. Selectează sunt configurate separat pentru fiecare grup, dar puteți seta selecția generală pentru opțiunea de raport, dacă selectați structura rădăcină "Raport" din structură.


6. Sortați. Conține câmpurile de sortare utilizate în versiunea de raport. Înființarea câmpurilor de sortare a fost luată în considerare în detaliu în ceea ce privește prezentul articol. Sortarea este configurată separat pentru fiecare dintre grupuri, dar puteți seta câmpuri comune de sortare pentru opțiunea de raport, dacă selectați structura rădăcină "Raport" din structură.


7. Design condiționat. Conține elementele de design condiționate utilizate în versiunea de raport. Înregistrarea condiționată a fost luată în considerare în detaliu în ceea ce privește prezentul articol. Designul condițional este configurat separat pentru fiecare grup, dar puteți specifica elemente comune de design condiționat pentru opțiunea de raport, dacă selectați rădăcina "Raportului" din structură.


8. Setări avansate. Conține setari aditionale Decorarea raportului. Vă permit să alegeți comune aspect Raport, locație de câmpuri, grupuri, detalii, resurse, rezultate, setați setările diagramei, controlați ieșirea antetului, a parametrilor și a selecției, determinați poziția resurselor și fixați antetul și coloanele de grupare ale versiunii raportului.


În concluzie, aș dori să rețineți că setările de raport nu pot fi salvate numai ca versiune de raport, ci și încărcarea în fișier ("Mai mult" - "Salvați setările"). Pentru a descărca, selectați "Încărcare setări" și selectați fișierul salvat. Astfel, putem transmite setările opțiunii de raport între diferite baze care au aceeași configurație.


Pe baza acestui fapt, putem rezuma că utilizatorul nu numai că poate configura raportul la nevoile sale, ci și salvează setările și le folosește mai târziu, dacă este necesar.

Presupun că nu este nevoie să spuneți ce este CCD, linkerul de setări și, în general, întregul set de obiecte concepute pentru a lucra cu CCD. Principalele direcții de utilizare, fără a număra acțiunile de cidru în cod, acestea sunt liste și rapoarte dinamice, iar în ambele cazuri "în spatele scenei" rămâne o funcționalitate foarte importantă. Deseori nu ne gândim nici măcar la ce logica comportamentului și relația tuturor participanților la acest proces, pentru că De obicei, rezolvăm suficiente sarcini simple sau ne bazăm pe platformele implicite. Dar, în cazul în care există implicite, există o logică internă, un "serviciu bearish" 1c, pentru a depăși fructele care este uneori dificil de a obține efectul dorit și este neclar și este suficient doar să folosească setul de instrumente.

Cei care doresc să poată sări peste partea 1-4 și să meargă imediat la exemple.

Voi încerca să rămân la lucru ușor în detaliu. sCD selectate Pentru aplicațiile lor în rapoarte. Cred, comportamentul în listele dinamice, pentru o serie de rezerve, va fi aproape. Deci, selecție în rapoarte, un pic de teorie și apoi exemple specifice.

SP 8.3.6 și mai sus, secțiuni ale acesteia (punctul 10.3.7.5 etc.), cartea "Dezvoltarea profesională în sistemul 1C-Enterprise 8" (Kazan, 2012, al doilea volum). În carte, E.Hrustalava, nu era nimic inteligibil pe această temă.

Partea 1

Configurarea setărilor, așa cum este cunoscută, există colecții "Setări", "Setări fixe" (denumite în continuare "FN") și "Setări personalizate" (denumite în continuare "Mon"). Raportul poate avea mai multe opțiuni, în timp ce relația dintre opțiune, n, mon și fn este foarte ciudată. De asemenea, nu vom uita de sursa setărilor disponibile și de "progenitor", pe care schema în sine are de obicei propriile setări implicite.

* Setări - Setări create în modul Configurator și Schimbabile în modul de editare a versiunii raportului;

* Custom-intensificat - Setări care modifică utilizatorul în modul "1c: întreprindere" este pur interfață;

* Secțiunea fixă \u200b\u200b- acele setări care sunt setate din limba încorporată, inclusiv. implicit stabilit de sistem. Această proprietate include valori de selecție care sunt transmise formularului cu parametrii săi (structura "selecția").

Setările și FN sunt similare cu dispozitivul și au o colecție de tip "Selecție" tip "Selecție de layout de date", disponibil pentru schimbarea compoziției în orice moment al existenței raportului. În același timp, setările sunt disponibile pentru o schimbare de interfață prin editarea opțiunii, iar Fn nu este disponibilă deloc. MON, la rândul său, acesta este un "terci", în care elementele egale pot fi atât "selecție", cât și obiecte individuale ale "elementului de layout de date" (așa-numitul obiect imbricat). În ciuda prezenței metodelor adecvate, este imposibil să se schimbe compoziția colectării elementelor PN, dacă acesta este numele raportului și nu este făcut "de la zero" de către designer - 1c va raporta că "colecția de Setările personalizate nu pot schimba compoziția, deoarece este legată de datele setărilor de aspect. " Se spune: "Proprietatea nu este disponibilă pentru înregistrarea utilizând limba încorporată.", Dar, după cum vom vedea mai târziu, puteți influența Mona. Obiectele "Porridge" au conexiuni interne - Se verifică pentru coerența condițiilor în formarea unui raport și la schimbarea compoziției. Noi citim la: "Elementele pe care le-au fost observate ca obiceiuri vor fi adăugate. De exemplu, elementul de selecție nu va fi plasat în selecția de utilizator, care este marcat ca utilizator. Elementele care conțin elemente personalizate nu vor fi adăugate. De exemplu, un grup de condiții nu vor fi adăugate dacă elementele marcate ca personalizate sunt prezente în acest grup. Pentru elementele imbricate, proprietatea de modelare nu este analizată. Acestea sunt adăugate sau nu adăugate împreună cu elemente materne. " Astfel, "vechimea" obiectelor este inexplicabilă. În același timp, este posibil să se obțină un efect atunci când interfața vă va permite să specificați selecțiile contradictorii pentru opțiune și la MON, precum și în interiorul PN.

Se pare că "mai în vârstă" este o opțiune. Dar făcând clic pe "Mai mult" / "opțiune de schimbare" și confirmarea modificărilor în formularul care se potrivește cu handicerul evenimentului formular , în timp ce selecția apare în panoul "Basic" de pe formularul numit din "Setări ..." și apare pe forma unui raport, dar nu este afișat pe fila "Selecție"; Mai mult decât atât, fie apare imediat și pe forma principală a unui raport și pe forma de "setări ..." (dacă există o "rândul său, pe setările personalizate") sau nu există acolo. Dar, în orice caz, pe fila "Selecție" a formularului "Setări ..." nu va fi. Diferența dintre fila "principală" a "Setări ..." și forma principală a raportului este determinată de câmpul "Editare mod" (normal - numai în "Setări", rapid - și pe forma raportului în sine), dar asta, cred că toată lumea știe totul. Apropo, valorile "selecției" și "rapide" nu sunt sincronizate și se pot contrazice reciproc, dar "rapid" pe forma unui raport și pe forma de setări este rigid sincron. Deci, atunci când editați opțiunea, ea însăși se schimbă (dar ID-ul și numele nu se schimbă), dar PN nu rămâne modificat (adică, chiar dacă vorbim despre ele, adică despre steagul incluziunii unui anumit element în mon).

Făcând clic pe "Selectați opțiunea ..." și confirmarea modificărilor formularului care apare în următoarea ordine de evenimente:

Prialozhvyadaniandicanserver.

Echipamente bazate pe utilizatorul privat

În același timp, nici varianta, nici PN nu se mai schimbă. De aici este clar că opțiunea și setările sunt legate, atunci în nici un caz direct.

Apăsând "Setări ..." și confirmarea modificărilor formularului care deschide doar un eveniment Echipamente bazate pe utilizatorul privat (În același timp, PN se schimbă, dar reprezentările și cheia (dacă nu au existat) nu sunt primite; dacă "rapid" este inclus pentru elementele obiectului "selecție", apoi pe lângă "selecția" Este de fapt elementele sale ca un câmp, adică se comportă similar cu elementele imbricate. Aceste setări sunt salvate atunci când sunt închise și restaurate la următoarea intrare la formular. Opțiunea pe care o atinge și nu se schimbă.

Apăsând "Mai mult" / "Instalați setările standard" în formularul de setări (precum și elementul " Setări standard"În editarea opțiunii) numește doar un eveniment Echipamente bazate pe utilizatorul privat. În acest caz, opțiunea se schimbă, dar PN se schimbă. Dacă opțiunea a fost modificată înainte de aceasta, rămâne modificată (nici resetarea steagului de schimbare, nici resetarea setărilor efective efectuate).

Apăsând "Proprietățile elementului personalizat" în arborele de structură pe forma versiunii, adăugați un obiect "selecție" și se pare goale și nu este sincronizat cu selecția opțiunilor existente și elementele de selecție existente. Opțiunea nu se modifică oricum.

De aici recomandare: Dacă trebuie să setați câteva selecții în modul Configurator, pentru a nu vă deranja cu codul și astfel încât, în acest caz, nu a fost în versiune, dar ar fi în interfața de raport - ar trebui să manipulezi non- Elemente ale selecției opțiunii, schimbarea proprietăților și selecția în sine, butoanele "Proprietățile elementului ..." și "Setări personalizate".

Adăugarea a ceva care apare în setările la PN, necesită acțiuni în cod sau interfață, dar eliminarea și curățarea setărilor sunt afectate imediat de MONA și fără actualizări, de exemplu:

Raport. Sprijiniți lucrătorii. Crește. Opțiuni. Elemente. Operați ();

Înainte de a închide formularul de raport, sistemul solicită numai dacă au existat modificări în opțiune. Dacă au existat schimbări în PN, acestea vor continua automat fără întrebări și vor încerca automat să se aplice în următoarea sesiune a raportului.

NOTE:

Sub o serie de erori, utilizarea setărilor este afișată pentru prima dată un mesaj despre problemă și apoi se produce layout, apelul evenimentului și construirea unui raport. În același timp, FN, dacă ar fi, sunt încă ignorate și numai setările joacă rolul.

Atunci când adăugați o selecție pe formularul "Schimbați opțiunea", se face imediat cu pavilionul "Porniți în Mon", dar repet, din punctul de vedere al limbii PN încorporate rămân neschimbate.

Setarea valorii variantei și setarea schimbării PN nu sunt legate direct, acestea sunt două direcții diferite de schimbare.

Mon, printre altele, există "setări avansate". Nu am putut înțelege cum și în ce moment sunt umplute. Deși raportul este setările, "marcate în selecția și designul condițional" ca personalizat (în funcție de joint venture), dar setările suplimentare în toate cazurile s-au dovedit a fi goale. La nimic despre asta.

În ciuda aprobării în joint-venture, PN este perfect serializat în XML.

Dacă sunteți inclus în elementele de selecție și selecția independentă, iar selecția în sine, componenta de raport este corectă, dar când afișați informațiile despre selecția instalată în aspectul final.

Formularul implicit de editare a raportului conține multe lucruri interesante, dar nicăieri nu funcționează cu FN și PN, iar cu setările principale funcționează mai mult pentru citire (cu excepția celor care curăță alegerea, ordinea, poziția de somn).

Partea 2

Lucrul cu setările și FN prin colecția lor este aproape întotdeauna permis, dar este important să ne amintim că esența "celui de-al treilea nivel" se schimbă. La primul nivel, există întotdeauna setări pentru CCD implicit în sine, ele par, de asemenea, implicit în sursa setărilor disponibile; La al doilea nivel, setările opțiunii utilizate. Dar, aici, logica permite fie instructiuni subiacente, fie ignorarea lor. Dar lucrarea cu monobii nu mai oferă și manipulările subtile trebuie făcute cu ajutorul unor metode speciale și uneori obiecte intermediare auxiliare temporare, de exemplu:

Computer \u003d Complex nou de foldere; // puteți încă pentru începători // comp.Initializa (SomeComposkrikstroika. Surse de alimentare către accesorii ()); Comp.rodajdavodstunctori (cerucomposchclorosser. Instrumente); SomeCommosferkarkkinas. Zapjectscompanicenoxew (Comp. Userskitenkiy);

Amenajarea setărilor are o metodă (), Care încarcă valorile setărilor personalizate transmise ca parametru metoda. Metodă Ofițeri() Vă permite să obțineți o copie a setărilor curente (luând în considerare setările personalizate). Metodă Descarca() Încarcă setările ajustate la aspectul setărilor (setările utilizatorului sunt, de asemenea, redeschise pe baza datelor transmise, luând în considerare prezența cheilor, a se vedea exemplul de mai jos).

Aplicarea setărilor personalizate la setările de bază se efectuează în metodă Ofițeri() Setări linker. În același timp, se efectuează următoarele acțiuni:

* Pentru tipurile de elemente elementare, conținutul elementelor este copiat în setările personalizate corespunzătoare.

* Pentru tipurile de elemente imprimate selectate care se află în setările principale și marcate ca inaccesibile, rămân neschimbate. Elementele de la PN sunt transferate în principal. Acestea sunt adăugate la sfârșitul colecției pentru selecție.

* Pentru tipurile de colectori de televiziune de grup, se stabilește utilizarea proprietății de utilizare în elementul corespunzător a setărilor principale (pe baza semnului utilizării elementului PN).

Partea 3.

Când formați configurarea finală, dacă citiți-o, setările diferite sunt combinate după cum urmează:

* Dacă orice tip de setări este marcat în întregime ca utilizator, setările rezultate includ Mon. În același timp, dacă setările sunt marcate ca inaccesibile, atunci aceste setări vor fi plasate în setările rezultate din proprietățile setărilor folderului. Involuturi.

* Dacă se observă un fel de setări ca utilizator care nu este în întregime, dar elementele, atunci elementele marcate ca personalizate vor cădea în setările rezultate din proprietățile setărilor folderului. Utilizați ca legea și elementele marcate ca Inaccesibil va fi dus la setările rezultate din proprietățile setărilor folderului..

* Setările fixe sunt adăugate la setările rezultate "așa cum este". În același timp, situația este inacceptabilă atunci când setările de același nume din FN și PN sunt, de exemplu, selecția cu aceeași valoare stângă în condiție. Observ că chiar și coincidența totală a tuturor proprietăților acestor condiții este interzisă. Sincer, oarecum ilogic.

Observ că, dacă orice fragment de setări cade sub opțiunea funcțională și ar trebui să fie limitat, sistemul funcționează "Twich" - elimină acest fragment de pretutindeni, nu raportează nimic și cu manipulări software referitoare la un astfel de fragment, să lucreze " "- Erori nu oferă, dar nici un efect din cod. Cu toate acestea, probabil că eliberatele diferite se comportă diferit.

Partea 4.

Extinderea formularului de raport ne oferă parametrii "Fn" și "PN", dar nicăieri nu este recomandat să le umpleți direct, transmiterea la formular. Deoarece experimentele au arătat, fără dansuri suplimentare cu o tamburină, umplerea acestor parametri este ignorată - este menținută atunci când linkerul este inițializat în timpul procesului de deschidere și la primirea PN conservată anterior. Se recomandă să lucrați cu cheile PN, conform căruia să le primească din depozitul de setări și apoi să se deschidă și să utilizeze și se face automat pe partea laterală a formularului de raport, mai degrabă decât formularul de apel.

Parametrul "Supliment Supliment" este difuzat automat la informațiile de legătură deja atunci când creați un formular pe server și nu poate fi suprascrie. Mai degrabă, poate, dar efectul va da doar după redefinire completă a întregului lanț de obiecte conexe. În care Echipamente auto-suficiente() Până la sfârșitul dezvoltării tuturor evenimentelor, forma se va întoarce pe o perioadă nedeterminată.

Rețineți că parametrii formularului nu sunt esențiali, "întindeți" acțiunea lor în mai multe evenimente dacă steagul de formare este setat la deschidere. Deci, în cadrul evenimentului PROCESARE PERVERVERCauzată de deschiderea și formarea, parametrul "Selecție" va fi disponibil și cu acesta, dar prin simpla apăsare a utilizatorului pe butonul "Formă" - nu mai este. Acest lucru se datorează faptului că toate aceste evenimente sunt elaborate pentru o "vizită" a serverului dacă formarea este inclusă în deschidere și numai în timpul lor, controlul este transmis clientului și este numit Deschidere. În același timp, parametrii non-selecție, în mod natural, sunt pierduți.

Procedura globală de efectuare a evenimentelor la deschiderea unui formular cu pavilionul formării raportului la deschidere (oarecum mai mare decât este descris în "Prof. Dezvoltare"):

Savoritor

Speriat de server

Prialozhvyadaniandicanserver.

Înclinat de utilizator-to-keysserver

Echipamente Prialo-Propuser

Echipamente bazate pe utilizatorul privat

PROCESARE PERVERVER

Deschidere

În același timp, nici o opțiune, nici PN nu este modificată dacă nu s-au făcut eforturi speciale.

Partea 5.

Acum, să ne oprim mai detaliat cu privire la sarcina de a deschide forma unui raport cu construcția și selecția pre-specificată. Informatie scurta Există o el și în recomandări metodiceDar există numai principiul în sine și nu este dezvăluit cu subtilități. Deci, pentru apelul contextual al raportului, este necesar să se transfere la forma "pentru a forma o chitanță", egală cu adevărul; și parametrul "selecție" care conține structura. Cheile structurii sunt numele câmpurilor CCD sau ale parametrilor CCD, iar valorile sunt valorile lor. Citând asociația în comun dacă există parametrul SCD. Cu numele corespunzător denumirii cheie al structurii, valoarea va fi setată la acesta. Dacă nu există niciun parametru, dar există un câmp, selecția va fi adăugată în acest câmp. În același timp, dacă există un parametru și un câmp de același nume, atunci sistemul este pur și simplu ignorat în liniște și nu instalează nimic.

În "Prof. Dezvoltare", este dat un exemplu de schimbare (adică interceptarea și reconfigurarea) luni "în zbor" în cadrul evenimentului Înclinat de utilizator-to-keysserverunde este transmis argumentul care conține actualul Montego. De fapt, acest lucru nu este întotdeauna așa - de exemplu, există cazuri în care eroarea de stocare PN în sesiunea anterioară sau o contradicție între setări, FN și PN va conduce la faptul că argumentul "Setări" va fi gol . Și care este cea mai interesantă, complet reconfigurarea acestuia în acest eveniment nu va fi capabilă, ea poate fi făcută numai "la sfârșitul" secvenței de evenimente, și anume, în cadrul evenimentului PROCESARE PERVERVER.

Să vedem ce avem înainte de a descărca Mon pe server.

Pentru un caz simplu, atunci când niciun element nu sunt incluse în SCD, niciun element nu sunt incluse în PN, situația este după cum urmează: Setările sunt goale; FN - conține selecția potrivită; PN conține o selecție goală. Formarea funcționează corect, dar din punctul de vedere al utilizatorului, interfața este contrară stagiilor și descurajării - lucrările de selecție, dar nu sunt vizibile. În mod similar, dacă în setările setărilor de realizare, activați selecția la PN, raportul este, de asemenea, construit ținând cont de selecție, dar utilizatorul nu vede nici o selecție.

Specificați în setările CCD în configuratorul de prevenire (egal cu valorile goale) și activați-le în MON. În teorie, FN trebuie să completeze setările și aceștia - MON, dar de fapt avem: În setări - selecția cu elementul dorit, dar valoarea corectă goală, Fn conține selecția corectă și MON - Do nu conține nimic. În plus, în acest caz, raportul nu va fi construit, deoarece Valoarea potrivită de selecție este goală, în ciuda valorii transmise în parametru.

Încercarea de a lucra cu elemente PN, de asemenea, nu rezultă. Pentru elementul PN, este posibil să se schimbe pavilionul "Utilizați" și participarea la "Fast". Valoarea de selecție a interfeței va fi goală, sistemul nu va afișa erori. În mod similar, o încercare de a lucra cu selecția de PN va funcționa, de asemenea, în debugger, valoarea corectă va fi vizibilă ca fiind completă corect, dar nu veți vedea nimic pe interfață. Și compoziția lui Pn, nu vă pot reaminti. Astfel, sunt necesare trucuri suplimentare. De exemplu:

& Procedura de Nasserver Instalate Persoane de prezentare (jumătate de oraș) dacă nu parametrii. Viteza ("selecție"), apoi rambursarea următoare; Dacă parametrii. Parametrii. Numărul () \u003d 0 Apoi reveniți la capăt; RTIPEO \u003d tip ("elementotor-free"); Pentru fiecare Kiz de la parametri. Colectarea ciclului de ripol \u003d Nou jumătate de sânge (Kiz. Bine ați venit); . În caz contrar, rvidsravnias \u003d victimăManComponovkydny. Încheiat; // ranomotbor \u003d nedefinit; // arătăm dacă există o selecție în beneficiile. Rețelele de rnuboooeo \u003d nedefinite; // Aflăm, dacă există un element metalubombombombombombombilk separat. În uz. Pentru fiecare Elnastra de la gazdă. // s-ar putea face în afara ciclului, dar este necesar să sorți utilizarea. Este necesar de dragul elementelor ... Incredite Tinch (elnaist) \u003d RTPEO atunci // Acesta este un element al selecției, S-ar putea să existe o mulțime de ele, dar nu suntem interesați să nu inițializați sau cu câmpul dorit în cazul în care elnastrul Încheiat; Încheiat; Endcycle; // Dacă Ranumbertebor.<>Este pe termen nelimitat atunci // merge ca o rentabilitate prioritară \u003d nedefinită; Pentru fiecare ellb de ranumbertebor.elemente ciclul în cazul în care ellb.lope \u003d rpole este apoi revumină / ECLB; Întreruperea întreruperii; Endcycle; Dacă revumină mellotabre \u003d este incert, atunci revigorare metru \u003d revoluționar. Elemente. ADDLY (RTPEO); Ranumbereoisotor. Rulanțe \u003d Ripol; Încheiat; Revumling EUAZOTOR .Vidservații \u003d rvidsravnaya; Revin eeryzotor. Definiție \u003d kiz. revumină. Utilizare. Utilizați \u003d adevăr; // rnukueo. Utilizați \u003d false; Invinged Ranumbertolare \u003d Undefined și Ranumbereo<>Este pe termen nelimitat atunci // pus pe elementul rnubeo. Scăderea \u003d rpol; Runumbereo .vidservații \u003d rvidsration; Ranumbereo. Menținerea \u003d Kiz. Numirea; Ranumbereo. Folosind \u003d Adevărul; Încheiat; Rotund \u003d nedefinit; Pentru fiecare ellb din raport. Sprijiniți lucrătorii. Implicează. Colecția. Elementele ciclului // este într-un mod bun, trebuie să fie o căutare recursivă! Dacă tipcoon (Ellb) \u003d RTPEO și Ellb.loos) \u003d rpol apoi Rant \u003d Ellb; Întreruperea întreruperii; Endcycle; Dacă rnumber \u003d incert, apoi dublat \u003d raport. Suport lucrători. Inspectoratul. Luând CLIPERER.ELEMENTS. Adauga (RTPEO); Rnub. Rulanțe \u003d Ripol; Încheiat; RNUB. Lățime \u003d RVIDSRAVNIAS; Rnub. Definiția \u003d Kiz. Ranumber. Folosind \u003d Adevărul; // endcycle; Raport. Spații de sprijin. Echipament. Pottinguri. Dulapuri. Operați (); // altfel se va spune că elementele se intersectează / contrazice detaliile

Sunați-l cel mai corect ca acesta:

& Naster Procedura Procedura de procesareProwed server (refuz, echipamente de verificare) Persoane instalate (raport. Suporter. Extradreses.

Apoi, apelul contextual, de exemplu, de la forma unei cărți de referință, va arăta astfel:

& Procedura de plângere Deschideți raportul (comandă) dacă este optimizat (obiect. Link), apoi OTB \u003d noua structură ("link", obiect. Link); // astfel câmpul este apelat în raportul CCD al parametrilor \u003d o nouă structură ("selecție, recipient de formare", OTB, adevărul); Open Form ("Raport. Raport1.form. Formator", parametri, formare); Încheiat; Extradreses.

Partea 6.

Dacă este necesar, modificați setările de raport în procesul de lucru cu acesta, inclusiv. și la pornire și după deschidere, majoritatea imediat Se pare că schimbarea "de la început", adică. din setările CCD. Schimbarea schemei CCC se efectuează numai cu raportul de obiect (sau schimbul valutar) și nu cu datele formularului, iar în sine nu schimbă nimic - același lucru rămâne în PN, iar FN poate rămâne gol. Prin urmare, în funcție de sarcinile noastre:

După executare

Raport. Spații de sprijin. Clipputs (skd.nastpoumolec)

numai opțiunea variază, și nimic mai mult;

După efectuarea recepției prezentate la punctul 2 (utilizând "intermediarul" și metoda Încărcarea utilizatorilor de utilizatori()

acesta declanșează numai dacă resetați interfața curentă de interfață. Prin ei înșiși, aceștia, atunci când se schimbă opțiunea, nu se vor schimba. În acest caz, se schimbă selecția, dar nu se adaugă o nouă colecție de elemente.

După executare

Formarea. Creați echipament de formulare a elementelor (modelsproductsCompon.

platforma este doar liniștită. Testate pe mai multe versiuni diferite. Iar apelul la modul de afișare al setărilor numai pentru Rapid nu are sens - nu le-am afectat compoziția, astfel încât nimic nu se va schimba oricum.

Și din moment ce încă mai trebuie să schimbăm complet nu numai selecțiile interne, ci și afișajul pe forma unui raport și în formele asociate, este necesar să se modifice numai selecția sau să acționez după cum urmează:

& Procedura Nasserver modificată () Rail \u003d ReqisitFadificație ("Raport"); OTB \u003d Railway.Shemacomponovkydny. Ravidnastresskes. Turnarea (0). Opțiuni. Opțiuni; Eo \u003d osb.elemente. ADDLY (tip ("elementborator")); EO. Rulanțe \u003d New Polonia ("Linksphanage.Power1"); Eo .vidservații \u003d victimăManComponovydny. EO. Menținerea \u003d adevărul; Eo. Utilizați \u003d adevăr; RecentRevisitforms (Reli, "raport"); Raport. Sprijinirea lucrătorilor. Dispozitive vamale (feroviar.Shemacomponkyday. Raport. Sprijiniți lucrătorii. Restaurare (); // Preferabil, deși Fn nu le afectează oricum. // De fapt, tocmai aceasta poate fi numită o schimbare a compoziției PN pentru fiecare e-mail din raport. Supercrowers. Opțiuni. Opțiuni Dacă o ciupercă (utilizatorul de e-mail "), atunci // poate fi utilizată pentru a utiliza metoda de e-mail pentru a utiliza metoda Estraentankier, a se vedea un certificat în joint-venture, acolo totul este în mod clar e-mail la SID123; // Identificator important poate fi orice, nu uuid și nu GUID! El.Relastic utilizator-Tooling \u003d "eșantion"; Încheiat; Endcycle; Computer \u003d Complex nou de foldere; Comp. Instrumente de instruire (Rod.Semomponovkydny. Raport. Spații de sprijin. Sugestii de utilizare (Comp. Utilizator în secțiune); Pentru fiecare e-mail din raport. Sprijiniți lucrătorii. Folosiți utilizatorul. Elementele ciclului de el.rezhimografhenizare \u003d modularea electroenterkomykomponului. // tăierea raportului raportului la raport; // Acum va da un efect: forma. Creați formule de elemente (, modelstracksproduse. Extradreses.

De fapt, puteți studia această mecanică pentru o lungă perioadă de timp. Această publicație a crescut din studiile metodelor de rezolvare a unuia problemă specificăși, prin urmare, destul de unilaterală; Dar voi fi confirmă faptul că logica internă a setărilor, în special personalizată, în general, puteți scrie o carte separată care nu este mai subțire decât Krustalevskaya. Din păcate, nu există nici o putere și timp. Cine va folosi evoluții specifice - deja bine.

Ceva clarificat experimental și, prin urmare, controverse. Știind mai mult - invitați să critice și să comenteze.

Pentru un raport, pot fi specificate mai multe opțiuni pentru reprezentarea sa vizuală - adică satul și aceleași informații pot fi dezvoltate diferit, grupate, etc. Variantele predefinite sunt specificate în designerul CC din fila Setări (Fig.); De asemenea, opțiunea poate fi creată în modul întreprinderii.

O opțiune situată mai presus de toate, va fi considerată opțiunea implicită.

Pentru configurarea opțiunilor predefinite, puteți specifica ce setări vor fi disponibile utilizatorului. De exemplu, puteți interzice făcând gruparea unui element. Acest lucru este specificat în proprietățile elementului Setări utilizator:

Specificați opțiunea de acces utilizator la setare:

Depinde de faptul că utilizatorul va vedea în configurația raportului în întreprindere:

Întrebarea 11.32 Examen 1C: Profesionist pe platformă. Ce versiune a raportului în schema de aspect de date va fi considerată implicită?
  1. Unul care stă în lista de opțiuni mai întâi
  2. Cel care are o caracteristică de proprietate implicită
  3. Unul care a fost determinat mai întâi în procesul de creare a opțiunilor
Răspunsul corect este prima, descriere în text.
Întrebarea 11.35 Examen 1C: Profesionist pe platformă. Cum se adaugă setări în lista de setări personalizate?
  1. În forma setării elementului utilizator, puteți specifica un semn că elementul este utilizator
  2. sub formă de configurare a elementului de utilizator, activați accesul rapid în modul de editare
  3. adăugarea se face prin instalarea casetei de selectare din proprietatea "Utilizare"
Răspunsul corect este primul.
Întrebarea 11.40 Examen 1C: Profesionist pe platformă. În setările sistemului de aspect de date trebuie specificat
  1. Structura setărilor
  2. Parametri
  3. Câmpurile selectate
  4. Grupuri grupate
  5. Triere
  6. Toate cele de mai sus
Răspunsul corect este primul. Structura este obligatorie, toate LCD-urile rămase pot adăuga automat sau nu este necesar, în principiu.
Întrebarea 11.41 Examen 1C: Profesionist pe platformă. Cum va arăta formularul de raportare după aplicarea următoarelor setări?
  1. Sub forma unui tabel de patru coloane: "produs", "depozit", "numărul de reziduuri", "cantitatea de reziduu"
  2. Sub forma unui tabel de trei coloane: "produs", "depozit", "număr de reziduuri"
  3. Sub forma unei mese, numărul de coloane de care depinde de numărul de depozite pe care există reziduuri non-zero
  4. Raportul nu va fi format
Răspunsul corect este al patrulea - în elementul rădăcină al structurii de setări, nu este în valoare de un marcaj de verificare, prin urmare, datele de ieșire nu sunt definite.
Întrebarea 11.42 Examen 1C: Profesionist pe platformă. Ce se întâmplă la generarea unui raport, dacă în modul utilizator nu există setări de aspect de date?
  1. Se vor utiliza setările implicite specificate de dezvoltator în schema de aspect de date.
  2. Din lista de opțiuni pentru setări se va utiliza opțiunea de lângă curent
  3. Setările personalizate vor fi utilizate.
  4. Raportul nu va fi format
Răspunsul corect este a patra - prioritatea este că utilizatorul a indicat. Setările personalizate sunt goale, prin urmare, raportul nu va fi format.
Întrebarea 11.43 Examen 1C: Profesional pe platformă.
  1. Pe partea stângă a primei a doua date specificată în parametrul "Perioadă"
  2. Reziduurile reale vor fi obținute dacă o altă valoare nu este specificată în parametrul sistemului de layout de date creat pe baza numelui parametrului extern specificat în textul interogării pentru parametrul "Perioadă" al tabelului virtual
Răspunsul corect este al patrulea. Bifați "perioada" nu merită, adică selecția utilă nu este specificată. În general, acest lucru înseamnă reziduuri reale, dar poate că parametrul perioadei este definit în setarea altfel CC.
Întrebarea 11.44 Examen 1C: Profesional pe platformă. Ce punct de pe axa de timp vor fi obținute resturi atunci când formează un raport?
  1. Pe partea stângă a primei a doua date specificată în parametrul "Perioadă"
  2. La frontiera dreaptă a ultimei secunde a datei specificate în parametrul "Perioadă"
  3. Resturile reale vor fi primite.
  4. Reziduurile reale vor fi obținute dacă o altă valoare nu este specificată în parametrul sistemului de layout de date creat pe baza numelui parametrului extern specificat în textul interogării pentru parametrul "Perioadă" al tabelului virtual
Răspunsul corect este primul - aici este în mod clar selecția.

Întrebarea 11.45 Examen 1C: Profesionist pe platformă. Figura arată formularul de raportare creat de sistemul implicit. Un element al tipului de setări este înconjurat de cadru?

  1. Setari personalizate
  2. Setări fixe
  3. Setări opționale.
  4. Elementul se poate referi la orice tip de setări, în funcție de valoarea proprietății "calea către date"
Răspunsul corect este primul.
Întrebarea 11.46 Examen 1C: Professional pe platformă. Raportul de selecție privind câmpul "Warehouse" este specificat simultan în toate tipurile de setări. Ce se întâmplă când încercați să formați un raport?
  1. Raportul nu va fi format
  2. Raportul va fi format utilizând selecția din setările personalizate.
  3. Raportul va fi format cu utilizarea selecției din setările fixe.
  4. Raportul va fi format utilizând selecția din opțiunea Setări curente.
Ce fel de "toate tipurile de setări" nu este clar, dar opțiunea corectă este opțiunea corectă.
Întrebarea 11.47 Examen 1C: Profesionist pe platformă. Raportul de selecție din câmpul depozit este setat în același timp în setările utilizatorului și în versiunea curentă a setărilor. Ce se întâmplă când încercați să formați un raport?
  1. Raportul va fi format utilizând selecția de la setările utilizatorului dacă este semnul "Utilizare". Dacă steagul "Utilizare" nu este instalat, atunci selecția nu va fi
  2. Raportul va fi format utilizând selecția de la setările utilizatorului dacă este semnul "Utilizare". Dacă steagul "Utilizare" nu este instalat, se va utiliza setarea de selectare din opțiunea de setări.
  3. Raportul va fi format utilizând selecția din opțiunea Setări dacă este "Utilizare". Dacă steagul "Utilizare" nu este instalat, atunci selecția nu va fi
  4. Raportul va fi format utilizând selecția din opțiunea Setări dacă este "Utilizare". Dacă steagul "Utilizare" nu este instalat, se va utiliza setarea de selecție din setări personalizate.
Opțiunea corectă este prima.
Întrebarea 11.49 1c Examen: Profesional pe platformă. Când lucrați cu setările, utilizatorul poate seta câmpul de grupare
  1. Într-o fereastră separată "Grouping"
  2. Într-o fereastră separată "Editarea câmpurilor câmpului"
  3. Pe fila "Câmpurile șlefuite"
  4. Într-o fereastră separată de "grupare" și pe fila "Câmpurile de măcinat"
  5. Într-o fereastră separată de "grupare", într-o fereastră separată "Editarea câmpurilor de câmp și pe fila" Câmpuri de măturat "
Răspunsul corect este al cincilea. Gruparea ferestrei:

Opțiuni Editare câmpuri câmp și câmpuri grupate:

Întrebarea 11.50 Examen 1C: Profesionist pe platformă. Utilizatorul a creat setările opțiunii "de la zero". Ce setări trebuie să editeze? Alegeți răspunsul cel mai complet și corect.
  1. Câmpuri de raport selectate, selecție de raport, selecție prin depozit, setări suplimentare ale tabelului, nomenclatorul de sortare, parametrii, design condiționat Nomenclatură
  2. Câmpuri de raport selectate, selecție de raport, setări suplimentare de tabel, design condiționat al nomenclaturii, câmpuri de depozitare selectate, parametri, sortarea rapoartelor
  3. Câmpuri de raport selectate, selecție de raport, selecție prin depozit, setări suplimentare de tabel, design condițional de nomenclatură, parametri, structură de raport
  4. Câmpuri de raport selectate, selecție de raport, selecție prin depozit, Setări avansate de rapoarte, parametri, design condițional al nomenclaturii, structura de raport
Răspunsul corect este al treilea, trebuie să vă uitați cu atenție la screenshot.

Atenţie! Înainte de tine, versiunea introductivă a lecției, din care materialele pot fi incomplete.

Conectați-vă ca student

Conectați-vă ca student pentru a obține acces la materialele școlii.

Sistemul de aspect al datelor 1C 8.3 Pentru începători: Efectuarea seturilor de date

  • Scrieți un raport care afișează clienții și produsele preferate. Fiecare client are o culoare preferată, iar fiecare produs are o culoare proprie pe baza acestor culori și este necesar să se determine "dragostea" produsului. De exemplu, dacă culoarea preferată a lui Andrei este roșie, atunci unul dintre produsele sale preferate va fi roșii (ele sunt roșii).
  • Aplicați două seturi de date în raport. Primul set este datele din tabelul "Clienții". Al doilea este datele din directorul "Alimente".
  • Implementat comunicarea acestor două seturiDeci, numai produsele dvs. preferate pentru fiecare dintre clienți rămân în raport.

Creați un nou raport

Deschideți baza de date "Deli" în configurator și prin meniul principal Creați un nou raport:

Tipul documentului - "Raport extern":

În forma unui nou raport, specificați numele "Lecția" și faceți clic pe butonul "Schema Deschidere Data Layout":

Lăsați numele schemei implicite:

Adăugați primul set de date

În schema deschisă, accesați fila "Seturi de date" și alegeți "Adăugați set de date - solicitare" prin Green Plus:

Sunați la un designer de interogare:

Specificați tabelul "Clienți" și câmpurile pe care doriți să obțineți de la solicitare:

Adăugați un al doilea set de date

Adăugați un al doilea set de date:

Urmărim IT (set2) și apelam din nou constructorul de interogare:

Specificăm directorul și câmpurile pe care doriți să le obțineți de la interogare:

Sa dovedit un astfel de text de interogare:

Rețineți că acum avem două seturi de date în raport: Set1 și Sets2. Fiecare are propriul text de interogare și datele sale.

Facem nume mai vizuale

Pentru claritate, să redenumim seturile1 către clienți și set2 în alimente.

Faceți-o să faceți dublu clic pe fiecare dintre seturi:

Vom putea folosi fiecare set de seturi din raportul nostru. La aceste date vom gestiona prin câmpuri.

În prezent, setul "Clienți" următoarele câmpuri: "Nume" și "Titlu favorit" și setul "Alimente": "Nume" și "Culoare".

Vedem că numele se intersectează și suntem ușor de confundat. Prin urmare, să schimbăm numele câmpului pentru a vorbi mai mult.

Evidențiam setul de "clienți" și schimbăm numele câmpurilor ca acesta:

Apoi evidențiam setul de "alimente" și schimbăm numele câmpurilor ca acesta:

Sunați setările de designer

În cele din urmă, accesați fila Setări și apăsați pe Magic Wand pentru a apela constructorul de setări:

Tip raport - "Lista ...":

Selectați câmpurile pentru raport din ambele seturi:

Vedeți de ce a fost atât de important să schimbați numele câmpurilor? În stadiul setărilor de aspect, nu vedem care seturi de aceste domenii. Vedem doar numele lor.

Verificați raportul.

Salvați raportul și formularul în modul utilizator:

Da. Ei bine, dar nu destul. A fost o așa-numită conexiune încrucișată de două seturi (ar trebui să fie bine familiarizată prin conexiuni în interogările pe care le-am studiat în modulele anterioare). Fiecare înregistrare din tabelul "Clienți" este cartografiată la masa "Alimente".

Dar avem nevoie de toate aceste înregistrări pentru a lăsa numai pe cei a căror câmp de "suflare preferat" este egal cu câmpul "colorat":

Comunicăm două seturi de date

Pentru a face acest lucru, faceți conexiunea a două seturi de date (clienți și alimente) în câmpurile detectatului și al infloretelor preferate.

Accesați fila "Seturi de date de comunicare" și faceți clic pe butonul Plus pentru a adăuga un nou link:

Personalizați parametrii ca în figura de mai jos:

Voi face explicații.

Sursa și comunicarea receptorului. Ei bine, totul este clar aici. Indicați primul set (clienți) și al doilea set (alimente) al datelor. Vreau să acorde o atenție deosebită că legătura va fi efectuată pe principiul conectare la stânga externă (Am trecut-o pe subiectul cererilor din modulele anterioare). Pe baza acestui lucru și trebuie să alegeți care set va fi sursa și ce receptor.

Sursă de expresie. Indicați aici o expresie sau doar un câmp dintr-un set de date sursă (am indicat aici un câmp de favorit refuzat de la setul de clienți).

Receptor de expresie. Indicați aici o expresie sau un câmp pur și simplu de la setul de date al receptorului (am indicat câmpul de flăcări din setul de alimente).

În acest fel această comunicare Frunze din lista trecută numai acele linii care au un câmp de declitient preferat egal cu câmpul de culoare.

Salvați raportul și lansarea în modul utilizator:

Excelent!

Voi face o explicație despre domeniu " Condiția de comunicare", Pe care programatorii începători sunt atât de des bătut.

Condiția de comunicare este un câmp auxiliar. Acolo puteți scrie expresii odată cu participarea câmpurilor numai din setul de date specificat în sursa de comunicare.

În acest caz, pentru toate liniile din sursa de comunicare, această expresie va fi verificată (condiție de comunicare). Și dacă această expresie este adevărul, atunci se va face o încercare de a stabili relația acestei linii cu rânduri de la receptorul de comunicare. Dacă expresia este egală cu falsul, atunci nu vor exista astfel de încercări.