Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Greșeli
  • 1c 8.3 raport extern pentru document. Adăugarea unui raport extern la baza de date

1c 8.3 raport extern pentru document. Adăugarea unui raport extern la baza de date

Luați în considerare crearea unui raport extern în 1s 8 fără a utiliza un sistem de compunere a datelor. Pentru a crea un raport extern, vom folosi configurația Contabilitate 2.0, datele inițiale: „Scrieți un raport pe 62 de conturi contabile în care cifra de afaceri pentru perioada specificată va fi afișată în Contrapartideși Contractele contrapartidelor.

1. Creați un raport

În primul rând, vom crea un fișier de raport extern, pentru aceasta vom merge la 1s 8 în modul Configurator, mergi la meniu Fișier -> Nou sau faceți clic pe pictogramă document nou.

Selectați un articol din listă Raport extern. După crearea unui raport extern, dați-i un Nume (de exemplu Cel mai simplu Raport) și salvați-l pe disc. Vom adăuga, de asemenea, două elemente de recuzită: Începutul perioadeiși EndPeriod tip data, vom avea nevoie de ele pentru a limita intervalul de timp pentru eșantionarea datelor atunci când generăm un raport.

2. Creați un aspect de raport extern

Pentru a genera un raport în 1s 8, aveți nevoie de un aspect, acesta este un șablon pentru ieșirea datelor în care sunt setați toți parametrii necesari, sunt desenate tabele etc. Să adăugăm un nou aspect, pentru aceasta, în arborele de metadate ale raportului, selectați elementul Aspecteși apăsați butonul Adăuga, la creare, selectați tipul pentru aspect document foaie de calcul.

Aspectul nostru va avea 4 zone:

  • Antet - în această zonă vom afișa numele raportului, perioada pentru care a fost generat și antetul tabelului;
  • Date contrapartidei - in aceasta zona vom afisa in tabel datele contrapartidei;
  • Date despre acordul contrapartidei - in aceasta zona vom afisa in tabel datele privind contractul contrapartida;
  • Subsol - în această zonă vom afișa valorile totale pentru întregul raport pentru câmpurile Venituri și Cheltuieli.

Să începem să creăm zone de aspect. Pentru a crea o zonă în aspect, selectați numărul necesar de linii și faceți clic Tabel de meniu -> Nume -> Atribuire nume(Sau Ctrl+Shift+N). În zonă Un capac scrieți numele raportului: Cifra de afaceri 62 de conturi, desenați cu instrumentul Frontiere antetul raportului, precum și setați parametrii Începutul perioadeiși EndPeriod. Cu ajutorul parametrilor, puteți afișa datele necesare în raport, de asta ne vom ocupa în următoarea etapă de dezvoltare și anume la scrierea codului de program al raportului. Pentru a crea un parametru în aspect, selectați celula dorită, scrieți numele parametrului în ea (fără spații), faceți clic dreapta pe el, selectați elementul din meniul care se deschide Proprietăți. În proprietățile celulei din filă Aspect selectați umplutura Parametru.

După aceea, în celulă, numele parametrului va fi cuprins între paranteze unghiulare (”<>„). Drept urmare, zona Un capac ar trebui sa arate asa:

În zonă DataContractor vom crea parametri pentru afișarea numelui contrapărții, precum și pentru venituri și cheltuieli pentru contul 62, folosind instrumentul Frontiere Să proiectăm zona sub forma unui rând de tabel.

În zonă DataAgreementContractor vom crea parametri pentru afișarea numelui contractului, precum și pentru venituri și cheltuieli pentru contul 62, folosind instrumentul Borders, vom aranja zona sub forma unui rând de tabel. Să facem o mică liniuță înaintea parametrului Acord de contrapartidă(acest lucru se poate face prin divizarea și îmbinarea celulelor. Faceți clic dreapta pe celulă -> Combina sau Rupe celula), este necesar pentru a se arăta în raport că linia de contract este mai jos în ierarhie decât linia de contrapartidă.

În zonă subsol Să creăm parametri pentru totalurile pentru încasări și cheltuieli.

Ca rezultat, ar trebui să obținem un aspect ca acesta:

3. Creați un formular de raport

Pentru a afișa datele, setați perioada de formare și butoanele Formă raportul nostru va avea nevoie de un formular. Pentru a crea un formular, găsiți elementul în arborele de metadate al raportului extern Formeși apăsați butonul Adăuga. Pe prima pagină a generatorului de formulare, nu trebuie să faceți nicio modificare, doar faceți clic pe butonul Mai departe.

Pe pagina următoare a constructorului, selectați ambele elemente de recuzită disponibile( Începutul perioadei, EndPeriod) pentru plasarea pe formular.

Ca rezultat, obținem această formă:

Dar în această formă nu ni se potrivește, îi vom face câteva modificări:

  • Trageți butonul Formă din panoul de jos al raportului până în cel de sus (acest lucru va fi mai convenabil pentru utilizator);
  • Întindeți forma vertical și orizontal;
  • Aranjați câmpurile Începutul perioadeiși EndPeriod orizontal;
  • Adăugați un control Câmp document foaie de calcul în formular (raportul nostru va fi afișat în el), dați-i un nume TabDoc;
  • Să creăm un buton de selecție a perioadei (când este apăsat, va fi afișat un dialog cu o selecție convenabilă a perioadei dorite). Nu vom scrie încă codul programului pentru acesta, așa că pur și simplu vom plasa butonul lângă câmpurile perioadei.

Ca rezultat, formularul nostru va arăta astfel:

4. Programare

După crearea formularului de raport, să începem programarea. Pentru început, să creăm o procedură pentru afișarea unui dialog de selecție a perioadei (am creat deja un buton pentru aceasta în etapa anterioară). Faceți clic dreapta pe buton și selectați elementul de meniu Proprietăți, în proprietățile butonului accesați fila Evenimente, unde folosind butonul cu pictograma lupă vom crea o procedură Buton1 Apăsațiîn modulul formular.

Puteți comuta între formular și modulul său folosind filele din partea de jos a formularului

Pentru a apela formularul de selecție a perioadei, folosim procedura standard Contabilitate 2.0 din modulul general Lucrul cu dialoguri - HandlerPeriodSettingPressing, trebuie să îi transmiteți detaliile raportului ca parametri Începutul perioadeiși EndPeriod.

Procedură Buton1Apăsați (Articol) Lucrul cu Dialogs.HandlerSettingPeriodPress(StartPeriod,EndPeriod); EndProcedure

Acum să trecem la scrierea codului care va genera și afișa raportul nostru. Există deja o procedură în modulul formular ButtonFormPressing care se va executa la apasarea butonului Formă, apoi ne vom scrie codul acolo. Să începem prin a inițializa variabilele necesare. Mai întâi, să creăm o variabilă pentru câmpurile foilor de calcul la care vom scoate date, acest lucru nu este necesar, doar înregistrarea apelurilor către acesta va deveni mai scurtă, ceea ce înseamnă că codul programului va fi mai ușor de înțeles pentru citire.

TabDoc = FormElements.TabDoc;

Obțineți aspectul raportului extern folosind funcția GetLayout(<ИмяМакета>) , vom trece numele layout-ului parametrului, iar dacă un astfel de layout există, atunci funcția îl va găsi.

Layout = GetLayout("Layout");

După primirea aspectului, vom crea variabile pentru fiecare dintre zonele sale, vom folosi metoda de layout pentru aceasta GetRegion(<ИмяОбласти>) .

AreaHat = Layout.GetArea(„Pălărie”); AreaDataAccount = Layout.GetArea( „DataContractor”); AreaDataAgreement = Layout.GetArea("DataAgreement" ); AreaFooter = Layout.GetArea("Susol" );

Ștergeți câmpul foii de calcul. Acest lucru este necesar pentru ca, cu fiecare nouă generare de raport, datele vechi să fie șterse.

TabDoc.Clear();

Acum că inițializarea variabilelor este completă, să trecem la completarea și afișarea zonelor de aspect una câte una. Să începem cu pălăria. Dacă vă amintiți, am creat doi parametri în acest domeniu Începutul perioadeiși EndPeriod, vom trece acolo valorile perioadei de generare a raportului, pentru aceasta vom folosi proprietatea Opțiuni zona de amenajare.

Header.Parameters.PeriodStart = PeriodStart; AreaHeader.Parameters.EndPeriod = EndPeriod;

Fără acțiune în domeniul de aplicare Un capac producătorul nu este necesar, așa că vom afișa câmpul său într-un document de foaie de calcul.

TabDoc.Output(RegionHeader);

În continuare, să scriem o interogare în baza de date, cu ajutorul căreia vom prelua cifra de afaceri pe cont 62 din registrul contabil autoportante. Să definim o variabilă în care va fi localizată cererea noastră.

Solicitare = cerere nouă;

Înainte de a începe să scriem textul de solicitare, îi vom transmite parametrii necesari. Deoarece scriem o cerere de factură 62 contabilitate, apoi în primul rând vom crea un parametru pentru acesta

Query.SetParameter("Account62" ,Planuri de conturi.Self-supporting.FindByCode("62" ));

De asemenea, este necesară trecerea perioadei de generare a raportului la cerere. Nu uitați că avem detalii speciale de raport pentru perioada de generare și le transmitem ca parametri.

Query.SetParameter("StartPeriod",StartPeriod); Query.SetParameter("EndPeriod",EndPeriod);

Să începem să scriem textul interogării, vom face acest lucru folosind generatorul de interogări. Multe tutoriale spun că trebuie să poți scrie o interogare atât manual, cât și folosind constructorul, dar în practică nu este cazul. În sarcinile cu care se confruntă în mod constant un programator 1C, prioritatea este scrierea rapidă și de înaltă calitate a codului, iar atunci când compilați manual o interogare în baza de date, acest lucru este aproape imposibil de realizat, veți petrece mult timp prețios pentru a corecta reproduce toate construcțiile de interogări, găsește greșelile de scriere pe care le-ai făcut când ai scris etc. Așa că nu-ți pierde timpul încercând să scrii interogări manual, ci folosește constructorul de interogări. Vă va economisi timp și vă va permite să scrieți interogări complexe fără prea mult efort. Pentru a începe să scrieți textul cererii, să scriem în codul:

Solicitare.Text = "" ;

După aceea, puneți cursorul între ghilimele, apăsați butonul dreapta al mouse-ului și selectați elementul Constructor cerere. Se va deschide fereastra de proiectare de interogări.

Acum trebuie să selectăm tabelul de bază de date 1C 8 de care avem nevoie. Avem nevoie de un tabel virtual Cifra de afaceri registrul contabil autoportante. Găsiți-l în partea stângă a ferestrei designerului

Să-l mutăm în zonă Meseși să completăm parametrii. Pentru toate tabelele virtuale ale interogării, există un set special de parametri care vă permit să selectați datele necesare din tabelul principal (în cazul nostru, tabelul principal Registrul contabil autoportante). Să deschidem fereastra parametrilor tabelului virtual.

Să completăm parametrii, perioada pe care am trecut-o la cerere. Pentru a utiliza un parametru în textul cererii, trebuie să scrieți un simbol înaintea numelui acestuia ampersand(&)

Rămâne de completat condiția de pe cont. contabilitate. Pentru a face acest lucru, găsiți linia în parametrii tabelului virtual CondițieConturi si scrie acolo

Scor ÎN IERARHIE (&Score62)

De asemenea, puteți utiliza generatorul de condiții făcând clic pe butonul cu trei puncte.

Nu mai trebuie impuse condiții pentru masa virtuală, așa că apăsați butonul Bineîn fereastra de opțiuni pentru tabelul virtual. Apoi, trebuie să selectăm câmpurile de care avem nevoie din tabel Autoportante.Roturi de afaceri(și anume: Contraparte, Contract de contraparte, Venituri și Cheltuieli). Pentru a vedea lista de câmpuri disponibile în tabelul pe care l-am selectat, apăsați simbolul „+” de lângă numele acestuia. După aceea, trageți câmpurile necesare în zona din dreapta a generatorului de interogări, care se numește: Câmpuri. Dacă deschidem planul de conturi de contabilitate, vom vedea asta pentru cont 62 analitice de către Către contraparte - acesta este Subconto1, și prin Contract de antreprenor — Subconto2.

Prin urmare, din câmpurile tabelului virtual, selectați Subconto1și Subconto2. Deoarece avem nevoie de venituri și cheltuieli după sumă, selectăm și câmpurile SumaTurnoverDtși Suma Cifra de afaceriKt

Să completăm aliasurile câmpurilor pe care le-am ales, pentru aceasta vom merge la fila Sindicate/Alias-uriși setați numele câmpurilor dorite.

Deoarece în raportul nostru datele vor fi afișate ierarhic (Contrapartea este la primul nivel, iar toate contractele sale sunt la al doilea), vom configura datele de ieșire în ierarhie folosind Rezultatele. Să mergem la fila din constructor Rezultate. Trageți și plasați secvențial în câmpurile de grupare contraparteși Acord de contrapartidă, iar în finală Venireși Consum.

Acest lucru finalizează munca în constructorul de interogări, faceți clic pe butonul Bineși vedem că textul solicitării noastre a apărut în codul programului.

Query.Text = „SELECT | Cifra de afaceri autonomă. Subconto1 AS Contraparte, | Cifra de afaceri autonomă Subconto2 AS Acordul contractantului, | Cifra de afaceri auto-suportată. | Autoportant Cifra de afaceri.Suma Cifra de afaceriKt AS Cheltuieli| DE LA | Înregistrare Contabilitate.Auto-susținere.Citre de afaceri(&Începutul perioadei, &Sfârșitul perioadei, Cont ÎN IERARHIE (&Contul62),) AS Auto-susținere Cifra de afaceri| REZULTATE | SUMA(Venit), | SUMA(Cheltuieli) | ON | contraparte, | Acord de contrapartidă”;

După ce am terminat de scris cererea, vom începe să completăm zonele DataContractor, DataAgreementContractorși subsol. Vom completa toate aceste zone cu datele primite la executarea cererii. Deoarece interogarea noastră conține grupări( contraparteși Acord de contrapartidă) selectați datele din acesta după cum urmează:

SelectionContractor = Query.Execute().Select(BypassingQueryResult.By Groupings);

Astfel, vom primi înregistrări cu totaluri pentru toate contrapărțile.

Înainte de a ocoli datele eșantionului folosind o buclă, inițializam variabilele destinate calculării totalurilor pentru raport:

TotalIncome = 0; Cheltuieli totale = 0;

Pentru ca datele raportului să fie afișate într-o ierarhie (și împrăștiate prin „+”), setați începutul grupării automate a rândurilor documentelor din foaia de calcul:

TabDoc.StartAutogroupRows();

Toate pregătirile s-au terminat, acum să începem să ocolim rezultatele interogării. Bypass-ul va fi efectuat folosind bucla Până

În timp ce SelectionContractor.Next() Cycle EndCycle ;

La începutul buclei, resetați parametrii Venireși Consum zone DataContractor. Pentru ce este? Imaginați-vă o situație în care contrapartea unchiul Vasia, venitul 10 și cheltuiala 5, iar pentru următoarea contraparte unchiul Petya nu există venituri sau cheltuieli, în acest caz, dacă nu resetăm parametrii Venireși Consum, apoi în linie după contraparte unchiul Petya va fi un venit de 5 și o cheltuială de 10.

AreaDataAccount.Parameters.Incoming = 0; AreaDataAccount.Parameters.Expense = 0;

După aceea, completați zona DataContractor eșantion de date despre articol

CompletațiPropertyValues(AreaDataAccount.Parameters, SelectionAccount);

După completarea cu date, puteți afișa zona în document foaie de calcul, Deoarece folosim gruparea automată a liniilor, trebuie să specificăm nivelul liniei în grupare (în raportul nostru vor fi două niveluri, pentru contrapărți primul pentru contracte, al doilea).

TabDoc.Output(AreaDataAccount,1);

Acum pentru această contraparte vom face o selecție conform contractelor sale.

SelectAgentContract = SelectContractor.Select(BypassingQueryResult.By Groupings);

Bypass-ul va fi efectuat folosind bucla Până.

While SelectionAgreementContractor.Next() Cycle EndCycle ;

În ciclul pentru contractele contrapărților, vom reseta parametrii Venireși Consum, umpleți zona DataContract din selecție și afișați-l într-un document foaie de calcul la al doilea nivel de înregistrări.

AreaDataAgreement.Parameters.Income = 0; AreaDataAgreement.Parameters.Expense = 0; CompletațiPropertyValues(AreaDataContract.Parameters, SelectionContractorContract); TabDoc.Output(AreaDataContract,2);

Tot în acest ciclu, vom adăuga valorile curente la variabilele pentru calcularea valorilor totale pentru venituri și cheltuieli.

TotalIncome = TotalIncome + SelectionAgreementContractor.Income; TotalExpense = TotalExpense + SelectionContractor's Agreement.Cheltuieli;

Aceasta încheie datele de ieșire în zonă DataContractor, DataAgreementContractor finalizat, rămâne să finalizați gruparea automată a rândurilor documentelor din foaia de calcul.

TabDoc.EndAutoGroupRows();

Cicluri complete responsabile pentru transmiterea datelor în zonă DataContractorși DataAgreementContractor arata asa:

TabDoc.StartAutogroupRows(); While SelectionContractor.Next() Loop AreaDataContractor.Parameters.Incoming = 0 ; AreaDataAccount.Parameters.Expense = 0 ; CompletațiPropertyValues(AreaDataAccount.Parameters, SelectionAccount); TabDoc.Output(AreaDataAccount,1); SelectAgentContract = SelectContractor.Select(BypassingQueryResult.By Groupings); While SelectionAgreementContractor.Next() Loop AreaDataAgreement.Parameters.Incoming = 0 ; AreaDataAgreement.Parameters.Expense = 0 ; CompletațiPropertyValues(AreaDataContract.Parameters, SelectionContractorContract); TabDoc.Output(AreaDataAgreement,2); TotalIncome = TotalIncome + SelectionAgreementContractor.Income; TotalExpense = TotalExpense + SelectionContractor's Agreement.Cheltuieli; EndCycle ; EndCycle ; TabDoc.EndAutoGroupRows();

Rămâne de afișat datele totale din zonă subsolși afișați zona în sine document foaie de calcul.

AreaBasement.Parameters.TotalIncome = TotalIncome; AreaBasement.Parameters.TotalExpense = TotalExpense; TabDoc.Output(RegionFooter);

Acest lucru completează procesul de scriere a unui raport extern pentru 1C 8 fără a utiliza ACS. Acum poate fi generat în modul 1C:Enterprise 8 și adăugat în director Procesare externă Puteți descărca fișierul raport discutat în articol de către .

Urmărește videoclipul despre crearea unui imprimabil extern pentru o aplicație gestionată:

Rapoarte 1C 8.3 este un obiect special de metadate conceput pentru a forma o prezentare ușor de utilizat a datelor din tabelele bazei de date 1C.

Să ne dăm seama cum să configurați rapoartele, pentru ce sunt acestea, cum diferă rapoartele externe de cele încorporate și cum diferă rapoartele de procesare.

Pentru a crea sau a personaliza un raport, trebuie să cunoașteți funcțiile încorporate și . Orice s-ar putea spune, crearea aproape oricărui raport se bazează pe solicitarea inițială care primește datele. Prelucrăm și afișăm aceste date într-o formă ușor de utilizat.

Rapoartele sunt principalul lucru în orice sistem informațional, așa că 1C a acordat o atenție deosebită dezvoltării rapoartelor și a creat un număr mare de designeri și mecanisme pentru crearea acestora.

Luați în considerare metodele de bază de creare a rapoartelor

Cum să faci un raport în 1C folosind un aspect

Crearea cu un aspect este modalitatea cea mai rutină. Cu toate acestea, se recurge adesea la el din deznădejde, deoarece. în această metodă, dezvoltatorul prescrie complet fiecare acțiune cu cod, ceea ce înseamnă că putem face orice. Alte mecanisme nu se pot lăuda cu asta.

Dar, în acest caz, toate modurile, meniurile și alte „arcuri” vor trebui scrise manual, ceea ce necesită foarte mult timp.

Obțineți 267 de lecții video 1C gratuit:

Creați un raport utilizând designerul de formulare de ieșire

Constructorul formularului de ieșire este un mecanism încorporat în platformă care facilitează dezvoltarea unui raport. Constructorul este disponibil numai pentru formularele obișnuite.

Constructorului i se oferă o solicitare și toți parametrii necesari ai viitorului raport și, la rândul său, generează module și formulare de raport. Mecanismul se bazează pe obiectul limbajului încorporat 1C 8.2 - Generator de rapoarte.

Crearea unui raport folosind un raport generic

Raportul universal are o funcționalitate excelentă, o interfață de setări convenabilă, familiară utilizatorului:

Rapoarte bazate pe sistemul de compunere a datelor

Aceasta este metoda cea mai progresivă de a crea rapoarte în 1C, recomandată chiar de 1C. a apărut în platforma 1C în versiunea 8.1.

SKD vă permite să creați rapoarte simple fără o linie de programare deloc, deoarece are un constructor foarte flexibil și funcțional pentru crearea unei scheme de compunere a datelor:

În toate configurațiile recente, toate rapoartele sunt scrise folosind sistemul de compunere a datelor.

Care este diferența dintre rapoartele externe și rapoartele încorporate

După cum este scris în documentație - nimic. Motorul de raportare extern a fost creat pentru a depana rapoartele în timpul dezvoltării.

Singura diferență atunci când dezvoltați o soluție este că nu vă puteți referi la un raport extern „pe nume”, spre deosebire de un raport încorporat.

Cum este diferit un raport de procesare?

De fapt, practic nimic. Principala diferență este scopul utilizării obiectului: rapoartele sunt necesare pentru a afișa informații și - pentru a schimba informații.

Principalele diferențe de proprietăți: în rapoarte, puteți specifica Schema de compoziție a datelor de bază (SKD) și puteți specifica setări pentru salvarea parametrilor raportului.

Obiectele aplicației concepute pentru a obține tot felul de tabele pivot, pentru a organiza datele într-o formă convenabilă pentru analiză și vizualizare în configurații 1C sunt de obicei numite rapoarte. Cum să adăugați un raport în 1C, diverse opțiuni de adăugare, vom încerca să acoperim aceste întrebări și alte câteva întrebări în acest articol.

Rapoarte și procesare: diferențe

În același timp, se disting de alte obiecte similare - prelucrări:

  1. Posibilitate de utilizare ACS (sistem de conectare a datelor);
  2. Cu ajutorul procesării, puteți introduce informații, raportul este folosit pentru afișarea și organizarea datelor;
  3. Diferența este în formatul fișierului: extensia epf indică faptul că avem de-a face cu procesare, erf este tipic pentru rapoartele externe.

Din punctul de vedere al programatorului, utilizarea acestor obiecte este foarte convenabilă, deoarece nu necesită modificări ale metadatelor de configurare și, prin urmare, nu este nevoie să scoți utilizatorii din baza de date pentru a o actualiza.

Modalități de a adăuga un raport la baza de date

Cu ajutorul unui ghid special

În majoritatea configurațiilor oferite de 1C, există un director „Procesare externă” care vă permite să salvați procesarea în baza de date fără a face modificări metadate. Există două moduri de a accesa acest ghid:

  1. Pentru interfețele complete și administrative, accesând: Operații->Referințe->Procesare externă;
  2. Toate celelalte prin: Service->Rapoarte suplimentare și procesare.
  3. Apoi, trebuie să selectați tipul de formular pe care doriți să îl primiți.

Deci, cum să adăugați un aspect la director prin intermediul formularului, a cărui vedere este prezentată în Fig. 1

Fig.1 Raport sau procesare formular de înregistrare

În primul rând, este necesar să se vină cu un nume original pentru elementul director, care să reflecte la maximum esența tabelului generat. Al doilea pas este selectarea tipului de formular adăugat. Ar putea fi:

  1. Un imprimabil numit de butonul Imprimare sau un alt buton din acele obiecte care sunt specificate în secțiunea tabelară „Accesoriu formular de imprimare”;
  2. Completarea părților tabulare, pentru părțile tabulare ale documentelor și directoarelor prezentate în partea tabelară „Accesibilitatea procesării pentru completarea părților tabulare”;
  3. Tratament;
  4. Raport.

Orez. 2 Câmp de selecție a tipului de raport

În etapa finală, trebuie să selectați un fișier care conține codul procesat dintre cele care sunt salvate pe disc.

Fig.3 O inscripție care indică necesitatea selectării unui fișier de raport

Când scrieți un element, îl stocați în baza de date. La restaurarea și migrarea bazei de date, elementele salvate în acest mod vor fi și ele migrate.

Adăugarea la configurație

Pașii de mai jos necesită acces exclusiv la baza de date.

După ce ați intrat în configurator și ați deschis configurația, puteți începe să adăugați procesarea.

Dacă configurația este închisă pentru editare, trebuie să mergeți la elementul de meniu Configurare->Asistență->Suport de configurare. Se va deschide o fereastră, ca în Fig.4

Orez. 4 Suportă fereastra de editare

  1. Apăsați butonul „Activați capacitatea de schimbare”;
  2. Răspundeți la întrebare pozitiv.

Astfel, veți putea adăuga propriile elemente la metadatele bazei de date.

Acum, făcând clic dreapta pe linia „Rapoarte” din arborele de configurare, puteți adăuga un compozitor de date extern la configurația Fig.5.

Orez. 5 Submeniu pentru adăugarea unui raport la configurație

Caracteristici de plasare a procesării pe formulare gestionate

O interfață construită pe formulare gestionate își impune propriile restricții cu privire la afișarea handlerelor suplimentare adăugate la bază.

Înainte de a adăuga un raport la un formular gestionat în 1C, trebuie să vă asigurați că acesta a fost creat folosind ACS, altfel formularul nu va fi afișat corect.

După ce ați deschis programul în modul Administrare, trebuie să găsiți elementul „Tipărește formulare, rapoarte și procesare” în panoul de navigare

Orez. 6 Bara de navigare 1C 8.3

Bifând caseta de selectare „Rapoarte și procesare suplimentare” din fereastra care se deschide, veți putea adăuga în baza de date dezvoltările dumneavoastră pentru formularul gestionat.

În formular, faceți clic pe butonul „Creați”. După ignorarea ferestrei de avertizare, puteți continua la selectarea unui fișier.

Foarte des, în cele mai recente versiuni ale programului, suplimentul se blochează cu o eroare care spune că: „Metoda obiect nu a fost găsită”. Faptul este că după crearea unui handler folosind sistemul de compunere a datelor, este necesară înregistrarea funcției ExternalProcessing Details() cu marca Export în modulul său, această funcție trebuie să returneze parametrii de înregistrare:

  1. Obiectul la care va fi conectat handlerul;
  2. Numele cu care va fi înregistrat în baza de date;
  3. Numele echipei.

După aceea, puteți începe să plasați raportul în interfață. Pentru a face acest lucru, faceți clic pe comanda „Place”.

Orez. 7 Cazare

În acest caz, activitatea elementului este reglementată prin selectarea valorii corespunzătoare în câmpul „Publicare”.

Adăugarea fără plasare

Rescrierea elementului de director de fiecare dată când se fac modificări la cod, în special înregistrarea acestui handler în configurație, este o sarcină destul de tristă. Poți să faci fără el. Este suficient să deschideți pur și simplu fișierul care conține procesarea prin meniul File->Open File. Cele mai recent obiecte deschise sunt stocate ca o listă în partea de jos a submeniului Fișier.

Rapoarte reglementate

Pe lângă fișierele și handlerele externe prevăzute de configurație, există un alt tip de raport în 1C - reglementat. Acestea sunt modelele de date, lucru cu care este reglementat de autoritățile fiscale.

Prin natura lucrării, aceste formulare sunt mai mult ca un document. Perioada de valabilitate a unor astfel de operatori rareori depășește un sfert; 1C le lansează în mod regulat actualizări.

Le puteți deschide din meniul Rapoarte->Rapoarte reglementate. După selectarea unei opțiuni de raport, programul o va completa cu date din baza de date. Dacă nu există suficiente date, programul vă va oferi să adăugați manual datele lipsă.

Formularele completate incomplet sunt salvate cu posibilitatea de completare. Un document complet completat și verificat poate fi tipărit pe hârtie sau depus la biroul fiscal pe cale electronică.

Ei spun că numele 1C însemna inițial expresia „o secundă”, adică. programele ar trebui să producă rapoarte rapid, „într-o secundă”. Viteza rapoartelor este foarte importantă, dar este și mai important ca rapoartele să ofere informațiile corecte - ne vom ocupa de asta folosind exemplul creării unui raport simplu în 1C 8.3 pe baza configurației Trade Management 10.3. Pentru a crea rapoarte corecte, este de dorit (chiar foarte recomandat) să poți configura 1C și să poți programa puțin în limbajul intern și limbajul de interogare al 1C, deși, pe de altă parte, crearea de rapoarte este o oportunitate excelentă de a începe să stăpânești aceste abilități.

Această descriere este educativă pentru înțelegerea principiilor de bază ale creării rapoartelor 1C

Cum se creează un raport în 1C 8.3

Pentru a crea un raport, trebuie să deschideți 1C în modul configurator, pentru aceasta, în fereastra de lansare 1C, selectați baza de date dorită din listă și faceți clic pe butonul Configurator:

În configuratorul însuși, accesați meniul Fișier și selectați elementul Nou:


În meniul care apare, selectați elementul Raport extern și apăsați butonul OK:


Aceasta va deschide o nouă fereastră de raport. În câmpul Nume, introduceți numele raportului, acesta trebuie să fie fără spații și caractere speciale:


Cum să faci un raport folosind un aspect

Această metodă necesită mai ales abilități de programare în 1C, dar aici nu vom analiza mecanismele de primire și procesare a datelor, vom face un raport simplu pentru a înțelege mecanismul de lansare a unui raport și de afișare a formularului de raport pe ecran:

În fereastra de raport (care se deschide la crearea unui raport), în lista de jos, plasați cursorul pe elementul Aspecte și, când faceți clic dreapta, faceți clic pe Adăugare în meniul care apare:


În constructorul de aspect care se deschide, puteți specifica numele aspectului, documentul tabelar ar trebui să fie selectat ca tip de aspect, apoi faceți clic pe butonul Terminare din constructor:


Aceasta va deschide o fereastră de aspect care seamănă cu o foaie Excel:


În acest aspect, trebuie să creați zone - grupuri de rânduri sau coloane pe care programul le va folosi ca șabloane, să înlocuiți datele primite din baza de date în ele și să afișați aceste șabloane pe ecran, adunând astfel raportul din aceste părți.

Să facem un raport care să afișeze o listă de nomenclatură. Pentru a face acest lucru, vom crea două zone de aspect: un antet de raport și o linie de articol.

Pentru a crea o zonă de antet, faceți clic stânga pe antetul liniei (unde este indicat numărul liniei) pentru a selecta linia astfel (întreaga linie trebuie selectată cu un singur clic pe antet):


După aceea, accesați meniul Tabel din meniul principal, accesați submeniul Nume și faceți clic pe elementul Atribuire nume:


Programul vă va solicita să specificați Numele zonei, numele nu trebuie să conțină spații și caractere speciale, după care faceți clic pe OK, ar trebui să iasă astfel:


Acum, în zona creată, trebuie să introduceți textul care va fi afișat în raport și să îl formatați. Pentru a face acest lucru, introduceți textul în prima celulă, de exemplu, „Lista de nomenclatură”. Lucrul cu celule este similar cu Excel.

Pentru a formata textul dintr-o celulă, faceți clic dreapta pe celulă și faceți clic pe Proprietăți. Fereastra cu proprietățile celulei se va deschide în partea dreaptă. Derulând în jos conținutul ferestrei, găsiți câmpul Font și faceți clic pe butonul „...”:


În fereastra care se deschide, în secțiunea Stil, bifați caseta de selectare Bold și faceți clic pe butonul OK:


Aspectul ar trebui să arate astfel:


În același mod, creăm zona liniei nomenclaturii, dar nu o evidențiază cu caractere aldine:


În zona de linii, trebuie să indicați că Numele este un parametru, adică. că numele real al nomenclaturii va fi înlocuit acolo când va fi afișat raportul. Pentru a face acest lucru, deschideți proprietățile celulei cu numele și în proprietățile din câmpul Fill selectați valoarea Parametru, aceasta completează configurarea aspectului:


Ne întoarcem la fereastra principală a raportului și facem clic dreapta pe elementul Formulare din lista de jos și facem clic pe Adăugare:


În designerul de formulare de raport care se deschide, faceți clic pe butonul Terminare, se va deschide formularul de raport, faceți dublu clic pe butonul Generare:


Ca urmare, fereastra de proprietăți a butonului se va deschide în partea dreaptă a ecranului, în câmpul Acțiune, faceți clic pe lupă:


După aceea, se va deschide modulul formular, în care trebuie să programați generarea raportului:


Mai întâi, introduceți următorul text al codului programului în loc de textul selectat:

//creați un document de foaie de calcul care va fi completat cu părți ale raportului și afișat pe ecran
TabDocument = New SpreadsheetDocument;
//în continuare, obțineți aspectul care a fost creat la crearea raportului
Layout = GetLayout("Layout");
// acum trebuie să afișați antetul raportului, pentru aceasta obținem zona antetului din aspect și o afișăm într-un document de foaie de calcul
AreaHat = Layout.GetArea(„Pălărie”);
TabDocument.Output(RegionHeader);
//folosind o interogare, obținem o selecție de nume de elemente care trebuie afișate în raport
Solicitare = Solicitare nouă;
Solicitare.Text = "
|ALEGE
| Nume
| DE LA
| Director.Nomenclatură
|";
// obțineți zona de linie a articolului din aspect - ne vom referi la ea într-o buclă pentru a afișa fiecare articol
AreaString = Layout.GetRegion(„String”);
//procesăm fiecare nume din selecția primită într-o buclă
Selecție = Query.Execute().Select();
While Selection.Next() Loop
//pentru a afișa următoarea linie, trebuie să specificați următorul nume în parametrul de zonă (am configurat parametrul în sine la crearea aspectului)
ScopeString.Parameters.Name = Selection.Name;
//Parametrul completat, acum puteți scoate un șir de caractere
TabDocument.Output(AreaString);
EndCycle;
//documentul foaie de calcul este format, acum îl afișăm pe ecran
TabDocument.Show("Lista nomenclaturii");

Când textul este copiat în modulul formular, liniile care încep cu o bară oblică dublă „//” vor fi evidențiate în verde - acestea sunt comentarii, ele descriu ceea ce face fiecare linie de cod:


Să rezumam ce linii de cod de program sunt necesare pentru a genera un raport:

  1. Este necesar să creați un document foaie de calcul care va fi completat cu părți ale raportului și afișat pe ecran, acest lucru se face cu linia „TabDocument = New SpreadsheetDocument;”
  2. Trebuie să obținem aspectul raportului, din care vom obține structura raportului în părți (zone), acest lucru se face prin linia "Layout = GetLayout ("Layout")"
  3. Pentru a afișa fiecare dintre zone, trebuie să o obțineți din aspect și să o scoateți într-un document de foaie de calcul, acest lucru se face cu liniile „AreaHat = Layout.GetArea(“Hat”)” și „TabDocument.Output(AreaHat)”
  4. Dacă trebuie să completați parametri care devin cunoscuți numai atunci când programul este executat, atunci înainte de a afișa zona, trebuie să completați astfel de parametri, acest lucru se face cu linia "AreaString.Parameters.Name = Selection.Name"
  5. Și numai atunci când documentul foaie de calcul este completat cu toate părțile necesare ale raportului, acesta este afișat pe ecran, acest lucru se face cu linia "TabDocument.Show ("Lista de nomenclatură")"

Și acum puteți verifica funcționarea raportului - deschideți 1C în modul întreprindere (butonul 1C: Enterprise în fereastra de lansare 1C). În meniul principal, accesați meniul fișier, faceți clic pe Deschidere:


Găsiți și deschideți fișierul raport salvat. În formularul care se deschide, faceți clic pe butonul Generare:


și obțineți o listă de nomenclatură:


Aceasta este doar una dintre modalitățile de a crea rapoarte în 1C. Vom explora și altele în articolele viitoare.

În meniul de sus accesați Serviciu->->.

După aceea, va apărea formularul de listă de directoare. În meniul de sus, faceți clic Adăuga.

Apare fereastra pentru adăugarea unui nou raport. Apăsăm butonul Deschis.

Selectați fișierul cu raportul dorit și faceți clic Deschis. După adăugarea fișierului, dacă este necesar, schimbați numele raportului (modul în care acesta va fi afișat în listă). Clic Bine.

Ca urmare, noul raport apare în listă.

După aceea, raportul poate fi folosit, adăugarea este finalizată. Pentru a deschide acest raport mai târziu, accesați și la Serviciu->Rapoarte suplimentare și procesare->Rapoarte externe suplimentare.

Pentru BP 3.0, ZUP 3.0, UT 11, ERP 2.0.

Pentru a adăuga un raport extern în configurațiile 1C:Enterprise 8.3 într-o interfață gestionată (de exemplu, Accounting 3.0), vom intra în secțiunea corespunzătoare a programului:


Este necesar ca semnul de utilizare a rapoartelor suplimentare să fie activat, urmați hyperlinkul:

În lista care se deschide, faceți clic pe butonul Crea:


După aceea, se va deschide imediat o casetă de dialog pentru selectarea unui fișier cu un raport, în care trebuie să selectați fișierul dorit (în cazul meu, acesta este un fișier cu o analiză a costurilor plan-fact).

Acum trebuie să configurați cazare(locul din program unde va fi disponibil raportul):


Selectați aleatoriu secțiunea dorită a programului din listă:


Acum trebuie să înregistrați modificările în raportul extern:

Acum deschideți raportul din interfața programului:


Lista este goală, faceți clic aici Personalizați lista:


În formularul de selecție, bifăm raportul nostru:


Acum a apărut în listă:


Prin buton Alerga se deschide formularul de raportare:


Top articole similare