Ārējās atskaites pievienošana datu bāzei. Ārējās atskaites pievienošana datu bāzei Kā izveidot ārējo atskaiti 8.3 apmācībā

Viņi saka, ka nosaukums 1C sākotnēji nozīmēja frāzi "viena sekunde", t.i. programmām ātri, “vienā sekundē” ir jāsagatavo ziņojumi. Ļoti svarīgs ir atskaišu ātrums, bet vēl svarīgāk ir tas, lai pārskatos būtu sniegta pareiza informācija – to sapratīsim, izmantojot piemēru par vienkāršas atskaites izveidi 1C 8.3, pamatojoties uz Trade Management 10.3 konfigurāciju. Lai izveidotu pareizus pārskatus, ir vēlams (pat ļoti ieteicams) konfigurēt 1C un prast nedaudz programmēt 1C iekšējā valodā un vaicājumu valodā, lai gan, no otras puses, atskaišu veidošana ir lieliska iespēja lai sāktu apgūt šīs prasmes.

Šis apraksts ir izglītojošs, lai izprastu 1C atskaišu veidošanas pamatprincipus

Kā izveidot pārskatu 1C 8.3

Lai izveidotu pārskatu, jums ir jāatver 1C konfiguratora režīmā; lai to izdarītu, 1C palaišanas logā atlasiet sarakstā vajadzīgo datu bāzi un noklikšķiniet uz pogas Konfigurators:

Pašā konfiguratorā dodieties uz izvēlni Fails un atlasiet Jauns:


Parādītajā izvēlnē atlasiet Ārējais pārskats un noklikšķiniet uz Labi:


Pēc tam tiks atvērts jauns pārskata logs. Laukā Nosaukums ievadiet pārskata nosaukumu; tam jābūt bez atstarpēm vai īpašām rakstzīmēm:


Kā izveidot pārskatu, izmantojot izkārtojumu

Šī metode visvairāk prasa programmēšanas prasmes 1C, taču šeit mēs neanalizēsim datu saņemšanas un apstrādes mehānismus, mēs izveidosim vienkāršu ziņojumu, lai saprastu ziņojuma palaišanas mehānismu un ziņojuma veidlapas parādīšanu ekrānā:

Pārskata logā (kas tiek atvērts, veidojot pārskatu) apakšējā sarakstā novietojiet kursoru uz vienuma Layouts un, noklikšķinot ar peles labo pogu, parādītajā izvēlnē noklikšķiniet uz Pievienot:


Atvērtajā izkārtojuma noformētājā varat norādīt izkārtojuma nosaukumu, kā izkārtojuma veidu jāizvēlas izklājlapas dokuments un pēc tam noformētājā noklikšķiniet uz pogas Pabeigt:


Tiks atvērts izkārtojuma logs, kas atgādina Excel lapu:


Šajā izkārtojumā ir jāizveido apgabali - rindu vai kolonnu grupas, kuras programma izmantos kā veidnes, tajās jāievieto no datu bāzes saņemtie dati un šīs veidnes jāparāda uz ekrāna, tādējādi no šīm daļām saliekot atskaiti.

Izveidosim pārskatu, kurā tiks parādīts vienumu saraksts. Lai to izdarītu, mēs izveidosim divus izkārtojuma apgabalus: pārskata galveni un vienuma rindu.

Lai izveidotu galvenes apgabalu, ar peles kreiso taustiņu noklikšķiniet uz rindas galvenes (kur ir norādīts rindas numurs), lai atlasītu šādu rindu (visa rinda ir jāatlasa ar vienu klikšķi uz galvenes):


Pēc tam dodieties uz galvenās izvēlnes izvēlni Tabula, dodieties uz apakšizvēlni Vārdi un noklikšķiniet uz vienuma Piešķirt nosaukumu:


Programma liks jums norādīt apgabala nosaukumu, nosaukumā nedrīkst būt arī atstarpes vai speciālās rakstzīmes, pēc tam noklikšķiniet uz Labi, tam vajadzētu izskatīties šādi:


Tagad izveidotajā apgabalā jāievada teksts, kas tiks parādīts pārskatā, un jāformatē tas. Lai to izdarītu, ievadiet tekstu pirmajā šūnā, piemēram, “Vienumu saraksts”. Darbs ar šūnām ir līdzīgs programmai Excel.

Lai formatētu tekstu šūnā, ar peles labo pogu noklikšķiniet uz šūnas un noklikšķiniet uz Rekvizīti. Labajā pusē tiks atvērts šūnu rekvizītu logs. Ritinot uz leju loga saturu, atrodiet lauku Fonts un noklikšķiniet uz pogas “...”:


Atvērtajā logā sadaļā Stils atzīmējiet izvēles rūtiņu Treknrakstā un noklikšķiniet uz Labi:


Izkārtojumam vajadzētu izskatīties šādi:


Tādā pašā veidā mēs izveidojam preces rindas apgabalu, bet neizceļam to treknrakstā:


Līnijas apgabalā jānorāda, ka Name ir parametrs, t.i. ka, izvadot atskaiti, tur tiks aizstāts preces īstais nosaukums. Lai to izdarītu, atveriet šūnas rekvizītus ar nosaukumu un rekvizītus laukā Filling atlasiet vērtību Opcija, tas pabeidz izkārtojuma iestatīšanu:


Mēs atgriežamies galvenajā pārskata logā un apakšējā sarakstā ar peles labo pogu noklikšķiniet uz vienuma Veidlapas un noklikšķiniet uz Pievienot:


Atvērtajā atskaites veidlapas noformētājā noklikšķiniet uz pogas Pabeigt, tiks atvērta atskaites forma, veiciet dubultklikšķi uz pogas Ģenerēt:


Rezultātā ekrāna labajā pusē tiks atvērts pogas rekvizītu logs; laukā Darbība noklikšķiniet uz palielināmā stikla:


Pēc tam tiks atvērts veidlapas modulis, kurā jāieprogrammē atskaites ģenerēšana:


Vispirms nomainiet atlasīto tekstu ar šādu programmas kodu:

//izveidojiet izklājlapas dokumentu, kas tiks aizpildīts ar pārskata daļām un parādīts ekrānā
TabDocument = jauns TabularDocument;
//pēc tam mēs iegūstam izkārtojumu, kas tika izveidots, veidojot atskaiti
Izkārtojums = GetLayout("Izkārtojums");
//tagad mums ir jāparāda atskaites galvene, šim nolūkam mēs iegūstam galvenes apgabalu no izkārtojuma un parādām to izklājlapas dokumentā
AreaHeader = Layout.GetArea("Galvene");
TabDocument.Output(AreaHeader);
//izmantojot vaicājumu, mēs iegūstam vienumu nosaukumu atlasi, kas jāparāda pārskatā
Pieprasījums = jauns pieprasījums;
Pieprasījums.Teksts = "
|ATLASES
| Vārds
|NO
| Direktorija.Nomenklatūra
|";
//iegūstiet vienumu rindas apgabalu no izkārtojuma — mēs tai piekļūsim cilpā, lai parādītu katru vienumu
AreaString = Layout.GetArea("Virkne");
//ciklā apstrādā katru nosaukumu no iegūtās atlases
Select = Query.Run().Select();
Kamēr Select.Next() Loop
//lai parādītu nākamo rindiņu, apgabala parametrā jānorāda nākamais nosaukums (pašu parametru konfigurējām, veidojot izkārtojumu)
AreaString.Parameters.Name = Selection.Name;
//parametrs ir aizpildīts, tagad var parādīt virkni
TabDocument.Output(AreaString);
EndCycle;
//izklājlapas dokuments ir ģenerēts, tagad mēs to parādām ekrānā
TabDocument.Show("Preču saraksts");

Kad teksts tiek kopēts veidlapas modulī, rindas, kas sākas ar dubulto slīpsvītru “//”, tiks iezīmētas zaļā krāsā — šie ir komentāri, kas apraksta katras koda rindiņas darbību:


Apkoposim, kādas programmas koda rindas ir nepieciešamas, lai izveidotu pārskatu:

  1. Nepieciešams izveidot izklājlapas dokumentu, kas tiks aizpildīts ar atskaites daļām un parādīts ekrānā; tas tiek darīts ar rindu “TabDocument = New TabularDocument;”
  2. Mums jāiegūst atskaites izkārtojums, no tā mēs iegūsim atskaites struktūru daļās (apgabalos), tas tiek darīts ar rindu “Layout = GetLayout(“Layout”)”
  3. Lai parādītu katru no apgabaliem, jums tas jāiegūst no izkārtojuma un jāizvada izklājlapas dokumentā. Tas tiek darīts ar rindām "Header Area = Layout.GetArea("Header")" un "TabDocument.Output(HeaderArea) "
  4. Ja nepieciešams aizpildīt parametrus, kas kļūst zināmi tikai programmas izpildes laikā, tad pirms apgabala parādīšanas šādi parametri ir jāaizpilda, to veic ar rindu “AreaString.Parameters.Name = Selection.Name”
  5. Un tikai tad, kad izklājlapas dokuments ir aizpildīts ar visām nepieciešamajām atskaites daļām, tas tiek parādīts ekrānā, tas tiek darīts ar rindu “TabDocument.Show(“Vienumu saraksts”)”.

Un tagad varat pārbaudīt pārskata darbību - atvērt 1C uzņēmuma režīmā (poga 1C: Enterprise 1C palaišanas logā). Galvenajā izvēlnē dodieties uz failu izvēlni, noklikšķiniet uz Atvērt:


Atrodiet un atveriet saglabāto atskaites failu. Atvērtajā veidlapā noklikšķiniet uz pogas Ģenerēt:


un mēs iegūstam nomenklatūras sarakstu:


Šis ir tikai viens veids, kā izveidot pārskatus 1C. Nākamajos rakstos mēs apskatīsim citus.

Nepieciešamība pielāgot ārējos pārskatus var rasties, ja tiek veiktas tūlītējas izmaiņas attiecīgajās atskaites veidlapās. Galu galā valsts iestādes, kas apstiprina attiecīgās veidlapas, ne vienmēr ņem vērā faktu, ka uzņēmējdarbības vienībām ir nepieciešams laiks, lai sagatavotu pārskata veidlapu. Autors - S.A. Haritonovs.

Standarta 1C:Enterprise 8 konfigurācijās, ko ražo 1C, regulētās atskaites veidlapas ir iekļautas konfigurācijās un tiek izlaistas kopā ar konfigurācijas laidieniem. Tomēr, kad rodas nepieciešamība - piemēram, stājas spēkā jauns atskaites veidlapas izdevums - uzņēmums 1C izdod šādas atskaites veidlapas ārējo pārskatu veidā "1C: Enterprise 8" (faili ar paplašinājumu *.erf).

Ārējo atskaišu izmantošana ir pagaidu risinājums, kas jāizmanto tikai līdz tiek izlaists konfigurācijas laidiens, kurā tiks iebūvētas nepieciešamās izmaiņas. Tāpēc ārējo atskaišu izmantošanai ir noteikti daži ierobežojumi:

  • izlaižot ārējo atskaiti, tiek norādīts, ar kādu konfigurācijas laidienu to var izmantot;
  • netiek garantēts, ka ārējais ziņojums atbalsta iepriekšējās konfigurācijas laidienus;
  • kad lietotājs strādā ar konfigurāciju, nevar izmantot vairāk nekā vienu ārējā pārskata versiju;
  • atskaites veidlapas atvēršana aizņem ilgāku laiku, salīdzinot ar atskaiti, kas realizēta kā konfigurācijas objekts;
  • atskaišu datu augšupielāde elektroniskā formā notiek daudz lēnāk utt.

Ārējo ziņojumu sarakstu, kas izdoti konkrētai konfigurācijas laidienai, var redzēt 1C:Enterprise 8 lietotāju atbalsta vietnes konfigurācijas lapā www.users.v8.1c.ru (sadaļā Bezmaksas informācija jums jānoklikšķina uz interesējošā numura kolonnā ar versiju numuriem) vai veidlapā Atjaunināt informāciju(izsauc ar pogu Atjaunināt informāciju labākā komandas forma ), ja informācijas bāzē ir iespējots regulētais ziņošanas brīdinājuma pakalpojums.

Tajā pašā formā varat noklikšķināt uz ārējā pārskata nosaukuma, lai lejupielādētu to savā datorā.

Parasti pārskati tiek izplatīti RAR arhīva veidā. Lai strādātu ar ārēju atskaiti, arhīvs ir jāizpako.

Arhīvā kopā ar ārējo atskaites failu ir teksta fails, kurā aprakstīts pārskata mērķis un kā to savienot.

Ja ārējais ziņojums ir paredzēts, lai aizstātu regulēto pārskatu, kas jau pastāv konfigurācijā, to var savienot ar informācijas bāzi, vienkārši atverot atskaiti režīmā 1C:Uzņēmums (izvēlne Fails — atvērt).

Atverot, jums tiks uzdots jautājums Reģistrēt informācijas bāzē ārējo regulēto pārskatu? Pēc atbildes ārējais ziņojums tiks reģistrēts informācijas bāzē un nekavējoties atvērts, lai izveidotu jaunu pārskatu.

Ja tu atbildēsi , pārskats netiks reģistrēts, bet arī tiks atvērts, lai izveidotu jaunu pārskatu. Ar šādu atskaiti būs iespējams veikt visas darbības - izveidošanu, aizpildīšanu, drukāšanu -, taču izveidoto atskaiti nevar saglabāt infobāzē.

Ja ārējais ziņojums ir jauna veida regulēts ziņojums, ziņojumu nevarēs automātiski reģistrēt informācijas bāzē: šis režīms ir jāiespējo manuāli. Savienojuma instrukcijas ir pieejamas arī teksta failā, kas atrodas arhīvā, kas iegūts no 1C vietnes.

Lai izmantotu ārējo atskaiti, lietotājam jānorāda, ka šim regulētajam pārskatam tiks izmantots nevis iekšējais konfigurācijas objekts, bet gan ārēja atskaite.

Reģistrēt direktorijā ārējo pārskatu kā jaunu regulēto pārskatu veidu Regulēti ziņojumi nepieciešams (skat. 1. att.):

1) dodieties uz direktoriju grupu, kurā atradīsies jaunais pārskats;
2) izveidojiet jaunu direktorijas vienumu, noklikšķinot uz pogas Pievienot direktorijas formas augšējā komandu panelī;
3) direktorija elementa veidā aizpildiet nosaukumu, kas tiks izsniegts direktorijā Regulēti ziņojumi un veidlapas atskaites veidu sarakstā Normatīvās un finanšu atskaites. Vēlams arī aizpildīt ziņojuma veida aprakstu;
4) slēdzis Izmantot iestatiet uz failu un norādiet, kurš fails jāizmanto kā ārējais ziņojums. Pēc pogas nospiešanas labi faila atvēršanas dialoglodziņā vārdnīcas elementa formas faila laukā tiks norādīts šīs ārējās atskaites pilns nosaukums.

Rīsi. 1. Reģistrējiet ārējo ziņojumu

Pēc pogas nospiešanas Pierakstītārējā atskaite tiek saglabāta infobāzē, pēc kuras ārējā faila pilns nosaukums tiek aizstāts ar tekstu Pārskats ir augšupielādēts IB.

Tas pats notiek, nospiežot pogu labi, savukārt direktorija elementa forma Regulēti ziņojumi aizveras.

Tiem direktoriju elementiem, kuriem tiek izmantotas ārējās atskaites, aiz atskaites nosaukuma tiek pievienota rinda (ārējā) direktoriju saraksta veidā.

Pēc tam, kad ārējais ziņojums ir ielādēts informācijas bāzē, pats ārējā pārskata fails vairs nav vajadzīgs un to var izdzēst.

Darbs ar regulētu atskaiti, kas izmanto ārēju atskaiti, neatšķiras no darba ar konfigurācijas objektu, izņemot “lēno atbildi”, atverot un lejupielādējot atskaites datus elektroniskā formā.

Kā ārējā ziņojuma zīme augšējā komandu paneļa labajā pusē tiek parādīts sarkans informācijas uzraksts Ārējais ziņojums.

Jebkurā laikā varat atgriezties pie "iekšējā" konfigurācijas objekta izmantošanas. Lai to izdarītu, vajadzīgā regulētā pārskata direktorija elementa veidā ir jāizvēlas slēdzis Izmantot pozicionēt objekts un saglabājiet direktorijas elementu.

Pats ārējais pārskats no infobāzes netiek dzēsts, tāpēc iespējama arī pretēja darbība. Lai dzēstu pārskatu no informācijas bāzes, veiciet tālāk norādītās darbības.

1) direktorijā Regulēti ziņojumi atrast regulētu atskaiti, kurai ir pieslēgts ārējais pārskats - šādam ziņojumam aiz atskaites nosaukuma tiks pievienota rinda (ārējā);
2) atveriet direktorijas elementu rediģēšanai ar pogu Mainīt pašreizējo elementu;
3) ārējās atskaites atlases laukā noklikšķiniet uz pogas X (Notīrīt). Pēc tā nospiešanas teksts Pārskats ir augšupielādēts IB ir notīrīta, tā ir zīme, ka pārskats tiks dzēsts no informācijas bāzes;
4) aizveriet direktorijas vienuma formu, noklikšķinot uz pogas labi.

Saglabājot direktorija vienumu, pārskats tiek dzēsts.

Ja nepieciešams, informācijas bāzē ielādēto atskaiti var saglabāt failā diskā. Lai to izdarītu, direktorija elementa veidā Regulēti ziņojumi jums jānoklikšķina uz saites ar tekstu Augšupielādējiet ārējo pārskatu failā. Tiks atvērts standarta faila saglabāšanas dialoglodziņš. Pēc noklusējuma faila nosaukums ir atbilstošā konfigurācijas objekta nosaukums.

Ir svarīgi atzīmēt, ka vienā lietotāja sesijā ar informācijas bāzi nevar izmantot vairāk kā vienu ārējā pārskata versiju: ​​piemēram, ja lietotājs jau strādā ar regulētu pārskatu, kas ir ārējs ziņojums, un ir to ielādējis direktoriju Regulēti ziņojumi cita šī ārējā pārskata versija (piemēram, ar pievienotu automātisko pabeigšanu), lai izmantotu šo pārskata versiju, viņam jāpabeidz sesija režīmā 1C:Uzņēmums un pēc tam nekavējoties jāsāk jauna sesija.

Mūsu piemērā pārskats parāda produktu un pakalpojumu izlaidi sadalījumā, produktu grupās un pa mēnešiem.

Šeit ir pārskata galvenā lapa:

Šī lapa tiek izsaukta no konfiguratora izvēlnē Fails – Jauns – Ārējais ziņojums.

Vispirms pievienojam datu kopu (DataSet1). Logā “Vaicājums” varat to ierakstīt pats, izveidot, izmantojot vaicājumu veidotāju, vai ielādēt no faila. Ērtākais veids ir izmantot vaicājumu konstruktoru. Lasiet, kā darbojas konstruktors.

Viss nepieciešamais tiek aizpildīts automātiski, taču dažas lietas ir jāpielāgo.

Piemēram, kolonnu virsrakstiem (iepriekš redzamajā attēlā izvēles rūtiņa “Daudzums” ļauj ievadīt jebkuru virsraksta tekstu šim laukam), varat iestatīt datu izvades formātu (sk. Formāts rindā Daudzums). Formātu var rediģēt jebkura veida datiem – virknēm, datumiem, cipariem.

Cilnē Resursi atlasiet pašus resursus un konfigurējiet tiem rezultātu rādīšanu:

Cilnē Parametri ir viss, kas maina pārskata saturu (piemēram, periods, par kuru tiks atlasīti dati). Aizpilda automātiski, pamatojoties uz pieprasījuma parametriem (skat. pirmo lapu). Izmantojot izvēles rūtiņas, varat pielāgot šo parametru redzamību un pieejamību, iestatīt sākotnējo vērtību utt.:

Saņemiet 267 video nodarbības 1C bez maksas:

Un visbeidzot, Iestatījumi. Šeit tiek uzzīmēts pārskata izskats - kolonnas, rindas, to novietojums attiecībā pret otru, grupējumi utt. Poga “Atvērt iestatījumu noformētāju” palīdzēs sakārtot rindas un kolonnas vēlamajā secībā. Poga “Pielāgotu elementu iestatījumi” ļaus jums parādīt parametrus pārskata galvenē:

Pievērsiet uzmanību kolonnai Period.PartsDate.NameMonth. Kā kolonnas galvenē parādīt mēneša nosaukumu? Šeit tas iznāk.

Starp citu, tieši šis iestatījums ļauj blakus pārskata slejās parādīt datus par vairākiem periodiem vienlaikus:

Vēl viena svarīga cilne ir Atlasītie lauki. Ja tas ir tukšs, atskaite netiks ģenerēta. Parasti aizpilda automātiski, noklikšķinot uz pogas Atvērt iestatījumu noformētāju:

Patiesībā tas ir viss, kas jums nepieciešams no minimālā vajadzīgā daudzuma. Rezultātā mums būs ziņojums, kas izskatās šādi:

Apsvērsim ārējas atskaites izveidi 1C 8, neizmantojot datu kompozīcijas sistēmu. Ārējās atskaites izveidošanai izmantosim Grāmatvedība 2.0 konfigurāciju, sākotnējie dati: “Uzrakstiet pārskatu uz grāmatvedības kontu 62, kurā kontekstā tiks attēlots apgrozījums norādītajā periodā Darījuma partneri Un Darījuma partneru līgumi.

1. Izveidojiet pārskatu

Vispirms izveidosim ārēju atskaites failu; lai to izdarītu, režīmā pārejiet uz 1s 8 Konfigurators, ejam uz izvēlni Fails -> Jauns vai noklikšķiniet uz ikonas jauns dokuments.

Sarakstā atlasiet vienumu Ārējais ziņojums. Pēc ārējā pārskata izveides piešķiriet tai nosaukumu (piemēram, Vienkāršākais pārskats) un saglabājiet to diskā. Mēs arī pievienosim divas detaļas: Perioda sākums Un Perioda beigas veids datums, mums tie būs nepieciešami, lai, ģenerējot pārskatu, ierobežotu datu paraugu ņemšanas laika intervālu.

2. Izveidojiet ārējā pārskata izkārtojumu

Lai ģenerētu pārskatu 1C 8, jums ir nepieciešams izkārtojums, šī ir datu parādīšanas veidne, kurā ir iestatīti visi nepieciešamie parametri, tiek uzzīmētas tabulas utt. Pievienosim jaunu izkārtojumu; lai to izdarītu, atlasiet vienumu pārskata metadatu kokā Izkārtojumi un nospiediet pogu Pievienot, veidojot, izvēlieties izkārtojuma veidu izklājlapas dokuments.

Mūsu izkārtojumam būs 4 zonas:

  • Header - šajā apgabalā parādīsim pārskata nosaukumu, periodu, par kuru tas tika ģenerēts, un tabulas galveni;
  • Darījuma partnera dati - šajā apgabalā datus par darījumu partneri parādīsim tabulā;
  • DataCounterparty Agreement - šajā apgabalā mēs attēlosim datus par darījuma partnera līgumu tabulā;
  • Kājene - šajā apgabalā mēs parādīsim kopējās vērtības visam pārskatam laukiem Ieņēmumi un izdevumi.

Sāksim veidot izkārtojuma apgabalus. Lai izkārtojumā izveidotu apgabalu, atlasiet vajadzīgo rindu skaitu un noklikšķiniet uz Izvēlņu tabula -> Vārdi -> Piešķirt nosaukumu(Vai Ctrl+Shift+N). Uz reģionu Cepure Uzrakstīsim ziņojuma nosaukumu: Apgrozījums 62 skaitās, zīmējiet, izmantojot rīku Robežas ziņojuma galveni, kā arī iestatiet parametrus Perioda sākums Un Perioda beigas. Izmantojot parametrus, pārskatā var attēlot nepieciešamos datus, ar to mēs nodarbosimies nākamajā izstrādes posmā, proti, rakstot atskaites kodu. Lai izkārtojumā izveidotu parametru, atlasiet vajadzīgo šūnu, ierakstiet tajā parametra nosaukumu (bez atstarpēm), ar peles labo pogu noklikšķiniet uz tā, atlasiet vienumu atvērtajā izvēlnē Īpašības. Cilnes šūnu rekvizītos Izkārtojums izvēlieties polsterējumu Parametrs.

Pēc tam parametra nosaukums šūnā tiks ievietots leņķa iekavās ("<>"). Rezultātā apgabals Cepure vajadzētu izskatīties šādi:

Teritorijā DataCounterparty izveidosim parametrus darījuma partnera vārda attēlošanai, kā arī ienākumiem un izdevumiem kontam 62, izmantojot rīku Robežas Noformēsim laukumu kā tabulas rindu.

Teritorijā DataCounterparty līgums Izveidosim parametrus līguma nosaukuma attēlošanai, kā arī ienākumiem un izdevumiem kontam 62, izmantojot rīku Borders, noformēsim laukumu kā tabulas rindu. Pirms parametra izveidosim nelielu atkāpi Darījuma partnera līgums(to var izdarīt, sadalot un apvienojot šūnas. Ar peles labo pogu noklikšķiniet uz šūnas -> Apvienot vai Sadalīt šūnu), tas ir nepieciešams, lai pārskatā varētu redzēt, ka līguma rinda ir zemāka hierarhijā nekā rinda, kas paredzēta darījuma partneram.

Teritorijā Pagrabs Izveidosim parametrus ienākumu un izdevumu summām.

Rezultātā mums vajadzētu iegūt šādu izkārtojumu:

3. Izveidojiet atskaites veidlapu

Lai parādītu datus, iestatiet veidošanas periodu un pogu Veidlapa mūsu ziņojumam būs nepieciešama veidlapa. Lai izveidotu veidlapu, atrodiet vienumu ārējā pārskata metadatu kokā Veidlapas un nospiediet pogu Pievienot. Veidlapu noformētāja pirmajā lapā nekādas izmaiņas nav jāveic, vienkārši jānoklikšķina uz pogas Tālāk.

Nākamajā dizainera lapā atlasiet abas pieejamās detaļas ( Perioda sākums, Perioda beigas) ievietošanai veidlapā.

Rezultātā mēs iegūsim šo veidlapu:

Bet mēs neesam apmierināti ar to šādā formā; veiksim tajā dažas izmaiņas:

  • Velkam pogu Veidlapa no pārskata apakšējā paneļa uz augšu (tas būs ērtāk lietotājam);
  • Izstiepiet formu vertikāli un horizontāli;
  • Sakārtosim laukus Perioda sākums Un Perioda beigas horizontāli;
  • Pievienosim formai vadības elementu Izklājlapas dokumenta lauks (tajā tiks parādīts mūsu atskaite), piešķirsim tai nosaukumu TabDoc;
  • Izveidosim perioda izvēles pogu (noklikšķinot, parādīsies dialoglodziņš ar ērtu vēlamā perioda izvēli). Programmas kodu vēl neierakstīsim, tāpēc pogu novietosim blakus perioda laukiem.

Rezultātā mūsu veidlapa izskatīsies šādi:

4. Programmēšana

Pēc atskaites formas izveides sāksim programmēt. Vispirms izveidosim procedūru perioda izvēles dialoga parādīšanai (šī pogu mēs jau izveidojām iepriekšējā posmā). Ar peles labo pogu noklikšķiniet uz pogas un atlasiet izvēlnes vienumu Īpašības, pogas rekvizītos pārejiet uz cilni Pasākumi, kur izmantojot pogu ar lupas ikonu izveidosim procedūru Poga1 Nospiediet veidlapas modulī.

Varat pārslēgties starp veidlapu un tās moduli, izmantojot cilnes veidlapas apakšā

Lai izsauktu perioda atlases veidlapu, mēs izmantosim standarta procedūru Grāmatvedība 2.0 no kopējā moduļa Darbs ar dialoglodziņiem — HandlerPeriodSettingPress, jums ir jānosūta pārskata informācija kā parametri Perioda sākums Un Perioda beigas.

Procedūra 1. pogas nospiešana (elements) Darbs ar Dialogs.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); Procedūras beigas

Tagad pāriesim pie koda rakstīšanas, kas ģenerēs un parādīs mūsu pārskatu. Veidlapas modulim jau ir procedūra ButtonGeneratePress, kas tiks izpildīts, nospiežot pogu Veidlapa, tur mēs ierakstīsim savu kodu. Sāksim ar nepieciešamo mainīgo inicializēšanu. Vispirms izveidosim mainīgo priekš izklājlapu dokumentu lauki kurā mēs izvadīsim datus, tas nav nepieciešams, vienkārši zvanu ierakstīšana uz to kļūs īsāka, kas nozīmē, ka programmas kods būs saprotamāks lasīšanai.

TabDoc = FormElements.TabDoc;

Iegūsim ārējā pārskata izkārtojumu, izmantojot funkciju GetLayout(<ИмяМакета>) , mēs nodosim izkārtojuma nosaukumu kā parametru, un, ja šāds izkārtojums pastāv, funkcija to atradīs.

Izkārtojums = GetLayout("Izkārtojums" );

Pēc izkārtojuma saņemšanas izveidosim mainīgos katram tā apgabalam, šim izmantosim izkārtojuma metodi GetArea(<ИмяОбласти>) .

AreaHeader = Layout.GetArea("Galvene"); AreaDataAccount = Layout.GetArea( "Līgumslēdzēja dati"); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Kājene" );

Notīrīsim izklājlapas dokumenta lauku. Tas ir nepieciešams, lai ikreiz, kad tiek ģenerēts jauns pārskats, vecie dati tiktu dzēsti.

TabDoc.Clear();

Tagad, kad mainīgo inicializācija ir pabeigta, pāriesim pie izkārtojuma apgabalu aizpildīšanas un parādīšanas pa vienam. Sāksim ar galveni. Ja atceraties, mēs šajā jomā izveidojām divus parametrus Perioda sākums Un Perioda beigas, mēs tur nodosim pārskata ģenerēšanas perioda vērtības, šim nolūkam izmantosim īpašumu Iespējas izkārtojuma zonas.

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

Vairs nekādas darbības ar apgabalu Cepure Ražotājs nav vajadzīgs, tāpēc mēs parādīsim tā lauku izklājlapas dokumentā.

TabDoc.Output(AreaHead);

Tālāk datu bāzē rakstīsim vaicājumu, ar kuru ņemsim konta apgrozījumu 62 no grāmatvedības reģistra Pašpietiekams. Definēsim mainīgo, kurā atradīsies mūsu pieprasījums.

Pieprasījums = jauns pieprasījums;

Pirms sākam rakstīt pieprasījuma tekstu, nodosim tam nepieciešamos parametrus. Tā kā mēs rakstām pieprasījumu pēc rēķina 62 grāmatvedību, tad vispirms izveidosim tam parametru

Request.SetParameter("Account62", kontu diagrammas. Pašpietiekams. Atrast pēc koda("62" ));

Pieprasījumā ir jāievada arī atskaites ģenerēšanas periods. Neaizmirstiet, ka mums ir īpaša pārskata informācija par ģenerēšanas periodu, un mēs tos nododam kā parametrus.

Request.SetParameter("Perioda sākums", Perioda sākums); Request.SetParameter("Perioda beigas", Perioda beigas);

Sāksim rakstīt vaicājuma tekstu, mēs to darīsim, izmantojot vaicājuma noformētāju. Daudzās apmācībās viņi raksta, ka vaicājums ir jāspēj rakstīt gan manuāli, gan izmantojot konstruktoru, taču praksē tas tā nav. Uzdevumos, ar kuriem pastāvīgi saskaras 1C programmētājs, prioritāte ir ātra un efektīva koda rakstīšana, un, rakstot vaicājumu datu bāzē manuāli, to gandrīz nav iespējams sasniegt; jūs pavadīsit daudz dārgā laika, pareizi reproducējot visas vaicājuma struktūras. un drukas kļūdu atrašana, ko izdarījāt rakstot utt. Tāpēc netērējiet savu laiku, mēģinot rakstīt vaicājumus manuāli, bet izmantojiet vaicājumu konstruktoru. Tas ietaupīs jūsu laiku un ļaus bez lielām pūlēm uzrakstīt sarežģītus vaicājumus. Lai sāktu rakstīt pieprasījuma tekstu, ierakstīsim kodu:

Request.Text = "" ;

Pēc tam novietojiet kursoru starp pēdiņām, ar peles labo pogu noklikšķiniet un atlasiet Konstruktors pieprasījumu. Tiks atvērts vaicājuma noformētāja logs.

Tagad mums ir jāizvēlas vajadzīgā datu bāzes tabula 1C 8. Mums ir nepieciešama virtuālā tabula Revolūcijas grāmatvedības reģistrs Pašpietiekams. Atradīsim to dizainera loga kreisajā pusē

Pārcelsim to uz apgabalu Tabulas un sāksim aizpildīt parametrus. Visām virtuālajām vaicājumu tabulām ir īpašs parametru kopums, kas ļauj atlasīt nepieciešamos datus no galvenās tabulas (mūsu gadījumā galvenās tabulas Grāmatvedības reģistrs Pašpietiekams). Atvērsim virtuālās tabulas parametru logu.

Aizpildīsim parametrus periodam, kuru nodevām pieprasījumam. Lai pieprasījuma tekstā izmantotu parametru, pirms tā nosaukuma ir jāraksta simbols & (&)

Atliek aizpildīt grāmatvedības konta nosacījumu. grāmatvedība. Lai to izdarītu, atrodiet rindu virtuālās tabulas parametros Konta stāvoklis un mēs tur rakstīsim

Konts HIERARHJĀ (&Account62)

Varat arī izmantot nosacījumu konstruktoru, noklikšķinot uz pogas ar trim punktiem.

Virtuālajam galdam vairs nav jāuzliek nekādi nosacījumi, tāpēc noklikšķināsim uz pogas labi virtuālās tabulas parametru logā. Tālāk tabulā ir jāatlasa nepieciešamie lauki Pašpietiekams.Apgrozījums(proti: Darījuma partneris, darījuma partnera līgums, ienākumi un izdevumi). Lai skatītu mūsu atlasītajā tabulā pieejamo lauku sarakstu, noklikšķiniet uz simbola “+” blakus tā nosaukumam. Pēc tam velciet nepieciešamos laukus uz vaicājuma noformētāja galējo labo apgabalu, ko sauc: Lauki. Ja mēs atveram kontu plānu, mēs to redzēsim kontam 62 analītika ieslēgta Darījuma partnerim tas ir Subconto1, un līdz Darījuma partnera līgums - Subconto2.

Tāpēc mēs izvēlamies no virtuālās tabulas laukiem Subconto1 Un Subconto2. Tā kā mums ir nepieciešami ienākumi un izdevumi pēc summas, atlasām arī laukus SummaApgrozījumsDt Un SummaApgrozījumsKt

Aizpildīsim mūsu atlasīto lauku aizstājvārdus; lai to izdarītu, dodieties uz cilni Arodbiedrības/Pseidonīmi un iestatiet nepieciešamos lauku nosaukumus.

Tā kā mūsu pārskatā dati tiks parādīti hierarhiski (darījuma partneris atrodas pirmajā līmenī, bet visi tā līgumi atrodas otrajā līmenī), mēs konfigurēsim datu attēlošanu hierarhijā, izmantojot Totals. Pārejam uz noformētāja cilni Rezultāti. Velciet grupēšanas laukos secīgi Darījuma partneris Un Darījuma partnera līgums, un finālā Nāk Un Patēriņš.

Tas pabeidz darbu vaicājuma konstruktorā, noklikšķiniet uz pogas labi un mēs redzam, ka mūsu pieprasījuma teksts parādās programmas kodā.

Query.Text = "ATLASĪT | PašnodrošinošsApgrozījums.Subconto1 AS darījuma partneris, | Self-supportingTurnover.Subconto2 AS darījuma partnera līgums, | PašnodrošinošsTurnover.AmountTurnoverDt AS kvīts, | PašnodrošinošsApgrozījums.SummaApgrozījumsKt AS Izdevumi|NO | Grāmatvedības reģistrs. Pašuzskaite. Apgrozījums (&Perioda sākums, &Perioda beigas, konts HIERARHJĀ (&konts 62),) AS PašuzskaiteApgrozījums|REZULTĀTI | SUMMA(Ieņēmumi), | SUMMA(Izdevumi) |PO | Darījuma partneris, | Darījuma partnera līgums";

Kad esam pabeiguši rakstīt pieprasījumu, sāksim aizpildīt laukumus DataCounterparty, DataAgreementCounterparty Un Pagrabs. Visas šīs zonas aizpildīsim ar datiem, kas saņemti, izpildot pieprasījumu. Tā kā mūsu vaicājums satur grupas ( Darījuma partneris Un Darījuma partnera līgums) atlasiet datus no tā šādi:

SelectionCounterpart = Request.Execute().Select(BypassQueryResult.ByGrouping);

Tādā veidā mēs saņemsim ierakstus ar summām par visiem darījuma partneriem.

Pirms datu parauga šķērsošanas, izmantojot cilpu, mēs inicializējam mainīgos, kas paredzēti pārskata kopējo rezultātu aprēķināšanai:

TotalIncoming = 0; Kopējais patēriņš = 0;

Lai pārskata dati tiktu parādīti ar hierarhiju (un rotāciju gar “+”), iestatīsim izklājlapas dokumenta rindu automātiskās grupēšanas sākumu:

TabDoc.StartAutoGroupingRows();

Visi sagatavošanās darbi ir pabeigti, tagad sāksim pārmeklēt vaicājuma rezultātus. Mēs veiksim šķērsošanu, izmantojot cilpu Uz redzēšanos

Kamēr Select Account.Next() Cycle EndCycle ;

Cikla sākumā atiestatiet parametrus Nāk Un Patēriņš novads DataCounterparty. Kam tas paredzēts? Iedomāsimies situāciju, kad darījuma partneris Tēvocis Vasja, ienākumi ir 10, un izdevumi ir 5, un nākamajam darījuma partnerim Tēvocis Petja nav ne ienākumu, ne izdevumu, šajā gadījumā, ja neatjaunosim parametrus Nāk Un Patēriņš, pēc tam rindā pēc darījuma partnera Tēvocis Petja būs ienākumi 5 un izdevumi 10.

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0;

Pēc tam mēs aizpildām laukumu DataCounterparty elementu datu paraugs

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Pēc datu aizpildīšanas varat parādīt apgabalu izklājlapas dokuments, Tā kā mēs izmantojam rindu automātisko grupēšanu, mums grupējumā jānorāda rindas līmenis (mūsu ziņojumam būs divi līmeņi, darījuma partneriem līgumiem pirmais).

TabDoc.Output(AreaDataAccount,1);

Tagad šim darījuma partnerim mēs veiksim atlasi saskaņā ar tā līgumiem.

SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

Mēs veiksim šķērsošanu, izmantojot cilpu Uz redzēšanos.

Kamēr atlaseDarījuma partnera līgums.Next() Loop EndCycle ;

Darījuma partnera līgumu ciklā atiestatīsim parametrus Nāk Un Patēriņš, aizpildiet laukumu Datu līgums no parauga un parādīt to izklājlapas dokumentā otrajā ierakstu līmenī.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; Aizpildiet inPropertyValues(AreaDataAgreement.Parameters,SelectionCounterparty Agreement); TabDoc.Output(AreaDataContract,2);

Arī šajā ciklā mainīgajiem lielumiem pievienosim pašreizējās vērtības ienākumu un izdevumu kopējo vērtību aprēķināšanai.

TotalReceipt = TotalReceipt + SelectionCounterparty Agreement.Receipt; TotalExpense = TotalExpense + Parauga darījuma partnera līgums.Izdevumi;

Tādējādi tiek pabeigta datu izvade šajā apgabalā DataCounterparty, DataAgreementCounterparty pabeigts, atliek tikai pabeigt izklājlapas dokumenta rindu automātisko grupēšanu.

TabDoc.FinishAutoGroupingRows();

Pilni cikli, kas atbild par datu izvadīšanu apgabalā DataCounterparty Un DataAgreementCounterparty izskatās šādi:

TabDoc.StartAutoGroupingRows(); Kamēr SelectionAccount.Next() Loop AreaDataAccount.Parameters.Receipt = 0 ; AreaDataAccount.Parameters.Expense = 0 ; FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); TabDoc.Output(AreaDataAccount,1); SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups); Kamēr atlaseDarījuma partnera līgums.Next() Loop AreaDataAgreement.Parameters.Receipt = 0 ; AreaDataContract.Parameters.Expense = 0 ; Aizpildiet inPropertyValues(AreaDataAgreement.Parameters,SelectionCounterparty Agreement); TabDoc.Output(AreaDataContract,2); TotalReceipt = TotalReceipt + SelectionCounterparty Agreement.Receipt; TotalExpense = TotalExpense + Parauga darījuma partnera līgums.Izdevumi; EndCycle ; EndCycle ; TabDoc.FinishAutoGroupingRows();

Atliek parādīt galīgos datus apgabalā Pagrabs un izvadiet pašu apgabalu uz izklājlapas dokuments.

AreaBasement.Parameters.TotalIncoming = TotalIncoming; AreaBasement.Parameters.TotalConsumption = TotalConsumption; TabDoc.Output(AreaFooter);

Tādējādi tiek pabeigts 1C 8 ārējā ziņojuma rakstīšanas process, neizmantojot piekļuves kontroles sistēmu. Tagad to var ģenerēt 1C:Enterprise 8 režīmā un pievienot direktorijam Ārējā apstrāde Rakstā aplūkoto pārskata failu varat lejupielādēt no .

Noskatieties videoklipu par ārēja drukājama satura izveidi pārvaldītai lietojumprogrammai:

1C 8.3 pārskati ir īpašs metadatu objekts, kas paredzēts, lai izveidotu lietotājam draudzīgu datu prezentāciju no 1C datu bāzes tabulām.

Izdomāsim kā izveidot atskaites, kam tās vajadzīgas, kā ārējie pārskati atšķiras no iebūvētajiem un kā atskaites atšķiras no apstrādes.

Lai izveidotu vai pielāgotu pārskatu, jums jāzina iebūvētie un . Lai ko arī teiktu, gandrīz jebkura pārskata izveides pamatā ir sākotnējais vaicājums, kas saņem datus. Mēs apstrādājam šos datus un parādām tos lietotājam draudzīgā formā.

Pārskati ir galvenais jebkurā informācijas sistēmā, tāpēc 1C lielu uzmanību pievērsa atskaišu izstrādei un izveidoja lielu skaitu dizaineru un mehānismu to izveidei.

Apskatīsim atskaišu veidošanas pamatmetodes

Kā izveidot pārskatu 1C, izmantojot izkārtojumu

Veidošana, izmantojot izkārtojumu, ir visparastākais veids. Taču nereti pie tā ķeras aiz izmisuma, jo... Izmantojot šo metodi, izstrādātājs katru darbību pilnībā ieraksta kodā, kas nozīmē, ka mēs varam darīt jebko. Citi mehānismi ar to nevar lepoties.

Bet šajā gadījumā visi vienumi, izvēlnes un citi “lociņi” būs jāievada manuāli, kas ir ļoti darbietilpīgi.

Saņemiet 267 video nodarbības 1C bez maksas:

Atskaites izveide, izmantojot izvades formas noformētāju

Izvades veidlapu noformētājs ir platformā iebūvēts mehānisms, kas atvieglo atskaites izstrādi. Dizaineris ir pieejams tikai parastajām veidlapām.

Projektētājam tiek sniegts pieprasījums un visi nepieciešamie parametri nākotnes atskaitei, un tas savukārt ģenerē moduļus un atskaišu veidlapas. Mehānisma pamatā ir iebūvētās valodas 1C 8.2 objekts - Pārskatu veidotājs.

Pārskata izveide, izmantojot vispārējo pārskatu

Universālajam pārskatam ir lieliska funkcionalitāte, ērts iestatījumu interfeiss, kas ir pazīstams lietotājam:

Pārskati, kuru pamatā ir datu kompozīcijas sistēma

Šī ir visprogresīvākā atskaišu izveides metode 1C, ko iesaka pati 1C. parādījās 1C platformā versijā 8.1.

SKD ļauj izveidot vienkāršas atskaites vispār bez programmēšanas līnijas, jo tam ir ļoti elastīgs un funkcionāls konstruktors datu kompozīcijas shēmas izveidošanai:

Visās jaunākajās konfigurācijās visas atskaites tiek rakstītas, izmantojot datu kompozīcijas sistēmu.

Kāda ir atšķirība starp ārējiem pārskatiem un iebūvētajiem?

Kā rakstīts dokumentācijā - nekā. Ārējais ziņošanas mehānisms tika izveidots, lai izstrādes laikā atkļūdotu ziņojumus.

Vienīgā atšķirība, izstrādājot risinājumu, ir tā, ka atšķirībā no iebūvētās atskaites ārējai atskaitei nevar piekļūt “pēc nosaukuma”.

Kā atskaite atšķiras no apstrādes?

Patiesībā praktiski nekas. Galvenā atšķirība ir objekta izmantošanas mērķis: atskaites ir nepieciešamas, lai parādītu informāciju, un ziņojumi ir nepieciešami, lai mainītu informāciju.

Galvenās rekvizītu atšķirības: pārskatos var norādīt pamata datu kompozīcijas shēmu (DCS) un norādīt iestatījumus atskaites parametru saglabāšanai.