"Mapping" er et nyt LPgenerator-værktøj! Forberedende fase af rapporteringstransformation. Identifikation af datakilder

I denne artikel vil vi gerne systematisere vores erfaring med at udføre datamigrering i store virksomhedsprojekter relateret til overgangen af ​​kunder til at arbejde i 1C:Enterprise 8-konfigurationer.

Samtidig vil hovedvægten i artiklen først og fremmest blive lagt på den teknologiske komponent i migrationsprocessen. Den organisatoriske komponent påvirkes også, men i mindre grad.

Begreber og definitioner

Datamigrering forstås almindeligvis som endelig rækkefølge works, et projekt rettet mod en engangs masseflytning af data fra kildesystemer (historiske systemer) til destinationssystemet. Samtidig ophører udnyttelsen af ​​disse data i kildesystemerne.

Datamigrering skal skelnes fra dataintegration. Integration er i modsætning til migration en permanent del af IT-arkitekturen og er ansvarlig for datastrømmen mellem forskellige systemer og datavarehuse - og er en proces, ikke en aktivitet, til at gennemføre et projekt.

Migrationsordningen ser generelt sådan ud:

Ris. 1

Historiske systemer- databaser over Kundens virksomhed, som planlægges helt eller delvist udskiftet ved implementering af et nyt system.

Modtager system- målsystem, vilkårlig konfiguration "1C:Enterprise 8".

Indledende data- data downloadet fra historiske systemer til et brugerdefineret xls-filformat. I I dette tilfælde xls-formatet ser ud til at være et af de mest bekvemme, da muligheden for at uploade til en xls-fil er til stede i mange regnskabssystemer fra "tidligere generationer".

Hvordan moderne alternativ Det er muligt at betragte xml-filformatet som en transport.

Der er også muligheder for at bruge en mellemdatabase.

Forvandling, omstilling- processen med at konvertere kildedata til data til indlæsning. Datatransformation sker i overensstemmelse med indlæsningsskabeloner. Resultatet af transformationen er de data, der skal indlæses.

Data til download- data beregnet til indlæsning i det modtagende system. Denne artikel, såvel som kildedataene, overvejer xls-formatet.

Dataskabeloner til indlæsning- beskrivelse af datatabeller, der skal indlæses i målsystemet.

Migrationsstadier

Lad os overveje processen med at forberede og udføre migrering trin for trin.

TIL organisatoriske stadier Migration omfatter følgende punkter:

· Fastlæggelse af en migrationsstrategi. På på dette tidspunkt Entreprenøren og kunden aftaler teknologien til udførelse af migreringsarbejde;

· Fastlæggelse af sammensætningen af ​​migrationsarbejdsgruppen. Arbejdsgruppen bør omfatte specialister fra både entreprenøren og kunden, som er tilstrækkeligt fortrolige med driften af ​​historiske systemer (på kundens side) og målsystemet (på entreprenørens side);

· Foreløbig migrationsplan. Migrationsplanen vil blive justeret flere gange, efterhånden som projektet skrider frem;

· Perioder med datoer for download af data fra historiske systemer, mængder af data. Data cut-off perioder for migrationer, datoer for test og endelige migrationer. Denne information kan henføres til migrationsplanen;

· Sammensætning af data, der skal migreres. Referencedata, klassifikatorer, transaktionsdata, saldi, omsætning osv.;

· Problemer med at kontrollere kvaliteten, korrektheden og integriteten af ​​data under migreringsprocessen og ved afslutningen;

· Problemer med tilbagerulning tidligere tilstand i tilfælde af svigt.

Lad os se nærmere på de teknologiske stadier af migration.

Ris. 2

1.Forberedelse af dataindlæsningsskabeloner

Dataindlæsningsskabelon indeholder tekniske beskrivelser datatabeller til indlæsning, algoritmer og indlæsningsregler for den aktuelle skabelon.

Hver skabelon er generelt målrettet mod en eller flere relaterede tabeller på målmålsystemet.

Skabelonen siger:

· Beskrivelse af alle felter i xls-datafilen til download, herunder:

o Feltnavn

o Indikator for at feltet skal udfyldes

o Eksempel på udfyldning af feltet

o Bemærk

· Beskrivelse af reglerne for indlæsning af målsystemtabellen baseret på de data, der skal indlæses (kø i tilfælde af flere relaterede tabeller, søgealgoritmer for nøglefelter osv.)

· Beskrivelse af udfyldning af felterne i målsystemtabellerne direkte, hvis andet end at overføre data "en til en" fra en datafil til indlæsning. Relevant for eksempelvis referencefelter.

Under arbejdet på dette trin skal entreprenøren også forberede en datafil-loader til indlæsning. Når du arbejder med xls-filer, er denne opgave ikke særlig vanskelig.

2.Identifikation af datakilder

Denne fase kan begynde sammen med den forrige fase “1. Forberedelse af dataindlæsningsskabeloner."

På dette stadium bestemmer Kundens specialister fra hvilke systemer og hvilke data der kan downloades. Du bør også bestemme hvilke data måske kan være nødvendigt.

I store migreringsprojekter kan det typisk tage en del tid at identificere en komplet, omfattende liste over datakilder. lang tid og sker efterhånden som arbejdet skrider frem i efterfølgende faser.

Der er ofte situationer, hvor nogle data for yderligere at sikre informationsintegriteten skal overføres fra trykte kilder (digitaliseres) eller endda indtastes i tabeller i henhold til ordene fra Kundens nøglemedarbejdere.

Men på dette stadium bør du forsøge at identificere så mange nødvendige data som muligt.

3.Uploading af kildedata

Processen med at downloade data fra historiske systemer kan tage ret meget tid, især hvis der er mange systemer, de er forskellige og forskellige divisioner af Kunden er ansvarlige for dem. Dette punkt skal tages i betragtning under test og endelige migreringer.

Mest praktisk mulighed Det ser ud til at blive uploadet til xls-filer. Mange ældre it-systemer understøtter denne mulighed.

Der kan også være muligheder for at uploade til csv-format, dbf, xml-formater og andre.

Det er værd at bemærke, at Kunden af ​​den ene eller anden grund (f.eks. sikkerhedsproblemer) ikke altid kan levere fuldstændige datadownloads på dette stadium! Bare en datastruktur og et par testpositioner. Der kan således opstå en situation, at der under test og afsluttende belastninger vil blive opdaget data af lav kvalitet i kildetabellerne, hvilket vil føre til uplanlagte fejl.

For at minimere dette problem bør mængden af ​​testdownloads fra historiske systemer aftales på forhånd.

4. Datakortlægning

Mapping (datamapping) - generelt processen med at sammenligne data fra historiske systemer og det modtagende system. Det vil sige kildedataene og de data, der skal indlæses.

Kortlægningsfasen er den mest arbejdskrævende fase og kan fylde mere end 50 % af alt arbejde med migrationsopgaven.

På dette stadium er hele migrationsprojektets arbejdsgruppe fuldt involveret.

I processen med datakortlægning er det nødvendigt at skelne mellem understadierne af tabelkortlægning og feltkortlægning.

· Kortlægning af tabeller, eller kortlægning af skabeloner - sammenligning af tabeller med kildedata og dataskabeloner til indlæsning. Kampen kan være enten 1:1 eller N:N. Som et resultat af dette arbejde kompileres og vedligeholdes et tabelkortlægningsregister. Denne delfase er nødvendig for den næste delfase af feltkortlægningen og til overvågning af den generelle tilstand i kortlægningen.

Gruppe af 1C skabeloner

Navn på 1C-skabelonen

Filnavn-

kilde

Regler for generering af en kildefil

Ansvarlig

Status

Bemærk

NSI

Prøve_

Nomenklatur

Nomenk

latura.xls

Indstil valg i system N
. Gem til txt
. Åbn i xls, kolonner er tekst
. Den første linje er overskriften
. Antal kolonner - 15
. Tjek antallet af linjer i txt og xls
. Arknavnet er altid "Sheet1"

Ivanov I.I.

på arbejde

· Feltkortlægning - kortlægning af tabelfelter inden for en allerede defineret tabelkortlægning. Resultatet af dette arbejde er et feltkortlægningsregister.

№pp

Cl. Mark

Påkrævet

1C skabelonfeltnavn "Template_Nomenclature"

Beskrivelse

Feltnavn "Nomenclature.xls"

Fyldningsalgoritme

Kode

Katalogelementkode

Kode

Navn

Navn

Ja

denne gruppe

Indeholder en af ​​følgende værdier:
. 1 - for grupper
. 0 - for elementer

Hvis kodelængde=11 tegn og sidste 4 tegn<>"0000", så er dette element "0", ellers er gruppen "1".

Fulde navn

Katalogelementnavn

Navn

Hvis ThisGroup = 1, derefter "", ElseIf ThisGroup = 0, derefter Navn.

Som en del af denne fase bør du også udføre mulige værker om datanormalisering.

5.Udarbejdelse af transformationsregler

I modsætning til de tidligere faser er denne fase teknisk og involverer entreprenørens bygherres arbejde.

Med udgangspunkt i de aftalte markkortlægningsregistre udvikler Entreprenørens specialister regler for datatransformation.

Til operativt arbejde under de forberedende stadier af migreringen og yderligere under test og endelige migreringer er det vigtigt, at der er et praktisk miljø til at udvikle regler (scripts) for datatransformation og et miljø til at konvertere kildedata til data til indlæsning.

Kravene til dette miljø omfatter:

· Bekvemmelighed og hurtig udvikling af transformationsregler;

· Datakonverteringshastighed. Input- og outputfilerne kan være hundredtusindvis af linjer lange!

· Evne til at arbejde med flere inputfiler samtidigt;

· Mulighed for at gemme transformationsregler i separate filer.

Til vores migreringsprojekter har vi udviklet en specialiseret udviklerarbejdsstation, der bruger standard 1C Query Console-behandlingen som grundlag.

Forespørgselskonsollens behandling er blevet forbedret for at tillade direkte forespørgsler til xls-filer.

Her er et eksempel på at kombinere to kilde xls-filer Medarbejdere.xls


Medarbejder kode

Efternavn

Navn

Efternavn

Fødselsdato

2423

Ivanov

Ivan

Ivanovich

17.11.1992

1523

Petrov

Basilikum

Aleksandrovich

04.02.1991

4363

Sidorov

Kirill

Nikolaevich

01.05.1995

Denisov

Denis

Denisovich

01.01.1990

Og Operationer.xls med sider:

Afskrivninger

Medarbejder kode

dato

Sum

2423

01.02.2014

1523

02.02.2014

4363

03.02.2014

04.02.2014

100000

2423

05.02.2014

1523

06.02.2014

4363

07.02.2014

2356

08.02.2014

140000

2423

09.02.2014

1523

10.02.2014

4363

11.02.2014

23523

12.02.2014

80000

Og Kvitteringer:

Medarbejder kode

dato

Sum

01.05.2004

02.05.2004

03.05.2004

04.05.2004

2423Fødselsdato

Kvitteringsbeløb

Afskrevet beløb

Ivanov Ivan Ivanovich

2423

17.11.1992

1341234

1010

Petrov Vasily Alexandrovich

1523

04.02.1991

245245

Denisov Denis Denisovich

01.01.1990

380000

320000

Sidorov Kirill Nikolaevich

4363

01.05.1995

613382

26336

I ALT:

2579861

347842

Bemærk, at eksemplet er kunstigt, specielt udvalgt til at demonstrere alle mulige stadier transformation af datakilder.

Den teknologiske sekvens af transformationsoperationer her er som følger:

Brug af Access SQL-forespørgselssproget (som giver betydelige yderligere funktioner sammenlignet med 1C-forespørgselssproget), oprettes en indledende forespørgsel, der henter data fra xls-fil onsdag 1C. Samtidig er forskellige kontroller og normalisering af data allerede mulige på dette stadium.

ADO dataadgangsteknologi giver høj hastighed arbejde.

Ris. 3

2. Forespørgsel i 1C-sprog - hovedforespørgslen, der implementerer feltkortlægningsalgoritmen. Og også: berigelse af downloadede data med data fra 1C-databasen, omgruppering, sammenlægning med resultaterne af forespørgsler til andre xls-kildefiler osv.

3. Efterbehandling af 1C-anmodningsresultatet om nødvendigt. Implementeret ved hjælp af et script i 1C sprog.

For eksempel implementerer vi her tilføjelsen af ​​"TOTAL"-linjen i beløbskolonnerne.

4.Skriv det endelige datasæt i en xls-fil.

Generelt er outputtet endelige filer til indlæsning i mål 1C-databasen.

Også dette værktøj giver dig mulighed for at gemme datakonverteringsregler i en separat xml-fil:

Derudover er det muligt at arbejde V batch-tilstand, hvilket er særligt vigtigt, når store mængder heterogene migrerende data.

Under de foregående faser afsluttes generelt den forberedende del af arbejdet - alle datakilder identificeres, kildedata downloades fra kilderne, downloadskabeloner udarbejdes i måldatabasen, datamapping udarbejdes og til sidst udvikles datatransformationsscripts. .

Det skal bemærkes, at før den endelige migrering bør du bestemt udføre flere tests. Under testmigreringer identificerer entreprenøren sammen med kunderne:

Konverteringsfejl, dataindlæsningsfejl

Udfør en foreløbig vurdering af kvaliteten af ​​data, der er indlæst i målsystemet

Baseret på resultaterne af testmigreringer opretter/opdaterer de en endelig migrationsplan

7.Dataafstemning

Kvaliteten af ​​de downloadede data bør kontrolleres både efter testmigreringer og ved afslutningen af ​​den endelige migrering. Under afstemningen kan følgende indikatorer kontrolleres:

· Sammenfald af samlede beløb for saldi, ifølge dokumenter;

· Kvantitative matches, for eksempel antallet af OS;

· Korrekt udfyldning af individuelle udvalgte enheder;

Bemærk venligst, at visse kontroller af migrerende data og problemer med datanormalisering skal løses gennem alle migreringsprocesser. Du skal altid spørge dig selv, hvad der skal gøres på nuværende stadie for at undgå fejl i efterfølgende faser.

For eksempel:

· Tjek for dubletter ved nøglefelter. Det kan og bør udføres på de originale data;

· Tvang af felttyper;

· Referenceintegritet;

· Matematiske uoverensstemmelser. For eksempel at kontrollere for tomme numeriske felter, som opdeling er planlagt til under transformation;

· Generelt udfyldes obligatoriske kontrolfelter;

· Udskiftning af forkerte tegn. For eksempel, engelske tegn i kyrilliske felter ("o", "a", "e", osv.) Dette gælder især for nøglefelter!

· Kontrol af værdierne af strengfelter for overensstemmelse med typerne af det modtagende system (længdebegrænsninger)

Efter den endelige migrering er gennemført, i henhold til en forudbestemt migrationsstrategi og migrationsplan, tages der beslutning om den videre drift af de historiske systemer.

Ofte afsluttes operationen umiddelbart efter de endelige dataafstemninger og registrering af succesen med migreringen - brugere af det nye system fører ikke længere optegnelser parallelt i to systemer, men skifter helt til nyt system. Samtidig adgang til gammelt system gemt i læsetilstand.

I nogle tilfælde kan der forekomme parallel drift af to systemer under prøvedriftens varighed (TE) og endda ud over denne periode. Spørgsmål parallelt arbejde brugere i to systemer hænger tæt sammen med spørgsmålet om muligheden for at rulle tilbage til det gamle system, hvis migreringen (eller i det hele taget driften af ​​det nye system!) anses for utilfredsstillende.

Konklusion

Afslutningsvis vil jeg gerne bemærke, at når det kommer til at migrere store transaktionssystemer, som omfatter mange 1C:Enterprise-konfigurationer, kan overgangen til et nyt system være meget arbejdskrævende.

Derfor skal det huskes, at et sådant projekt kræver omhyggelig forberedelse og skal ledsages af en individuel plan. Men uanset hvilken type systemer der migreres, databasevolumener mv. almindelig ordning migration ser næsten identisk ud.

Dusinvis af ord kommer ind i det russiske sprog hvert år, slår sig ned i det og gør ondt i vores ører. Anglisismer bruges malplaceret og malplaceret, begreber mister deres oprindelige betydning og flytter til nye områder, og længe kendte ord dukker pludselig op i en ukendt sammenhæng - det er nemt at blive forvirret. Magasinet Strelka er ved at bringe tingene i orden i Ordforrådssektionen.

Hvor kom det fra

Ordet er afledt af det engelske "map" og suffikset -ing knyttet til det. Bogstavelig oversættelse: kortlægning, kartografi og topografisk undersøgelse. I På det sidste"mapping" bruges i bredere forstand, og går ud over det rent topografiske emne.

Hvad står der i ordbogen

"Kortlægning - grafisk fremstilling procedure, proces, struktur eller system, der afspejler arrangementet eller forholdet mellem komponenter, og som også dokumenterer strømme, for eksempel penge, energi, varer, information, migration." (businessdictionary.com)

"Videomapping - bruges også til at betyde 3D-mapping - en retning i audiovisuel kunst, som er en 3D-projektion på et fysisk objekt miljø under hensyntagen til dets geometri og placering i rummet." (projection-mapping.org)

I betydningen "visualisering" - "en metode til at præsentere information i form af et optisk billede (for eksempel i form af tegninger og fotografier, grafer, diagrammer, blokdiagrammer, tabeller, kort osv.). Det bruges meget effektivt til at præsentere oprindeligt ikke-visuel information (f.eks. temperatur, befolkningstæthed, fordeling af niveauer af elektromagnetiske felter osv.)" (Dictionary of business terms. "Akademik.ru". 2001)

"Mindmapping er en grafisk teknik, der er baseret på brugen af ​​hjernens naturlige tendens til at tænke associativt, fra centrum til periferien." (mind-mapping.co.uk)

Hvad siger eksperterne

Kuba Snopek, lærer ved Strelka Instituttet, taler om kortlægning som et værktøj til at studere byen

»Jeg kalder ikke kortlægning for kartografi, fordi kartografi er en anerkendt videnskabelig disciplin, og det indebærer en meget klar metode. Kort sagt: en person går til et nyt sted og angriber alt, hvad han ser.

Den kortlægning, vi bruger som et værktøj til at studere byen ved Strelka, er anderledes og indebærer en afspejling af de processer, der foregår i byen. Vi laver et kort oven på det eksisterende og tjekker, hvad der har ændret sig siden den geodætiske base blev oprettet. Og hver forsker kan få sit eget kort over det samme rum. Dette er den mest interessante del: man kan kun se på arkitektur, en anden på menneskers adfærd, en tredje på dyrs adfærd eller på lysspektret.

For mig starter ethvert projekt med et kort. Uden dette er det umuligt at komme videre. I øjeblikket laver jeg et projekt relateret til polske kirker. Der er et kort med fire tusinde objekter, og analysen af ​​dette kort er den vigtigste del af projektet, det er dets hoveddokument."

Alexey Rozov, medstifter af Power of Light-selskabet, taler om 3D-kortlægning

”Pointen med 3D-kortlægning er, at vi skaber et billede, der er overlejret på et fysisk objekt i overensstemmelse med dets form og arkitektur. Det er det, der gør det muligt at ændre en bygning ved hjælp af 3D-transformation eller ændring af teksturer.

Først laver ingeniører en 3D-model af bygningen. Hvis designet ikke er meget komplekst, kan en model laves ved at gå til territoriet og tage dimensioner. Hvis dette for eksempel er Bolshoi-teatret, er det i dette tilfælde gjort laser scanning, og modellen oprettes ud fra den resulterende punktsky.

Terrestrisk 3D laserscanning af facader / foto: severnpartnership.com

Animatorer-kunstnere bruger derefter 3D-modelleringsprogrammer til at skabe indholdet. Mens de tegner, laver ingeniører beregninger over, hvor mange projektorer og hvor meget strøm der skal til for at dække bygningens overflade. For eksempel har Bolshoi-teatret brug for 12 projektorer, Manege - otte og Moscow State University - 86. Der foretages også beregninger på billedets lysstyrke og opløsning. Derefter en virtuel opsætning - opsætning af alle projektorerne, så de danner et enkelt billede. Når indholdet er klar, går alle direkte til siden. Et projektortårn samles på stedet, de nødvendige servere installeres, og ingeniører begynder at blande billedet, så det falder jævnt på bygningen. Computeren tænder med indholdet indlæst, og showet begynder. Der burde ikke være nogen fejl. Hvis kun meget små, usynlige for den gennemsnitlige seer. Jeg har set dårlige eksempler, hvor folk ville lave 3D-mapping, men grafikken viste sig at være grim, projektionen ramte ikke objektet særlig præcist, lyset, der kom ud af projektoren, var fejlberegnet – og det viser sig, at alt ser svagt ud, billedet er pixeleret, og det dekorerer ikke, men tværtimod ødelægger det kun.

Tiden brugt på et projekt afhænger af bygningens skala og længden af ​​videoen. Hvis du for eksempel laver en forestilling for Moscow State University i en halv time, så har du i gode vendinger brug for et år til at skabe den, og hvis den for Bolshoi Theatre er tre minutter lang, er en måned eller to nok til dig.

Det er svært at sige, hvor udviklet dette er i Rusland sammenlignet med andre lande, men for eksempel er Moskva vært for den kraftfulde årlige Circle of Light-festival. I dag er der en tendens til at bruge 3D-kortlægning som indretning: permanent grundlag på et museum eller indkøbscenter de opfører et show for gæster flere gange om dagen.”

Eksempler på brug

”Kortlægning afslører den økonomiske, kulturelle og politiske værdi af den information, som rummet giver. Metoden giver dig mulighed for at kombinere al denne information og linke den til et bestemt sted." (Strelka Magazine)

"Til 125-års jubilæet forberedte Det Tjekkiske Videnskabsakademi et visuelt show - videokortlægning af dets historiske bygning i Prag." (420on.cz)

"Mind mapping er oversat til russisk som "tænkekort", "mindmap", "hukommelseskort", " mentale kort“. Visualiseringsmetoden kan bruges til at skabe nye ideer, analysere og organisere information, tage noter, træffe beslutninger og meget mere.” ("Videnskab og liv")

Virksomheder, der anvender Excel tilål, får mærkbare besparelser ved udarbejdelse af regnskaber i henhold til IFRS. Hvis transaktionsmængder tillader, at legitimationsoplysninger behandles i regneark, er det tilrådeligt at bruge Excel

12.01.2016

Excel-tabeller gør det udover aritmetisk nøjagtighed og klarhed i transformationsprocedurer muligt at generere data til økonomisk analyse af finansielle aktiviteter baseret på IFRS-resultater, hvilket gør rapporteringsmodellen til et styringsværktøj.

Forberedende fase af rapporteringstransformation

forberedende fase Der foretages en analyse af specifikke forskelle mellem IFRS gældende for en given virksomhed og regnskabspraksis under RAS. Det skal bemærkes, at det er upassende at tage udgangspunkt i reglerne for russisk regnskab, da det i dette tilfælde vil være svært at komme væk fra "prioriteten af ​​form frem for indhold" - du bør starte med en analyse af virksomheden som helhed og dets aktiviteter ud fra et IFRS-synspunkt.

Internationale standarder, der er relevante for hver specifik virksomhed, bør indgå i regnskabspolitik i henhold til IFRS. For eksempel er det usandsynligt, at en handelsenhed vil bruge komplekse finansielle instrumenter eller bestemmelserne i IAS 41 Landbrug, og en privat virksomhed er ikke forpligtet til at oplyse indtjening pr. aktie i henhold til IAS 33 Indtjening pr. Proceduren for udvikling af en regnskabspraksis bør ikke kun tage sigte på at skabe regnskabsregler og -memorandums i overensstemmelse med IFRS, men også på at udarbejde en noteblok direkte til IFRS-erklæringerne, som indeholder de vigtigste aspekter af den regnskabspraksis, der skal oplyses i i overensstemmelse med IAS 1 "Præsentationsregnskaber".

Baseret på den opnåede regnskabspraksis i henhold til IFRS er det nødvendigt at identificere uoverensstemmelser i de skøn og principper, der anvendes i RAS, og oprette en liste og regler for beregning af de vigtigste transformationsjusteringer, samt en liste Yderligere Information, der er nødvendige i forbindelse med IFRS, men ikke taget i betragtning i overensstemmelse med kravene i russisk lovgivning.

Ved første brug internationale standarder I overensstemmelse med IFRS 1 skal du være opmærksom på de undtagelser og forenklinger, som standarden tillader, og at disse lempelser ikke længere gælder.

Processen med opdatering af regnskabspraksis under IFRS, listen over justeringer og listen over yderligere oplysninger skal være konstant, da kravene i IFRS og russisk lovgivning løbende opdateres.

Kontoplankortlægning til rapporteringstransformation

Mapping - fra den engelske mapping (korrespondance, samt transformation) - er en procedure til bogføring af data i flere koordinatsystemer, i vores tilfælde omregning af saldi og omsætning genereret i henhold til RAS-kontoplanen til strukturen af ​​diagrammet over regnskaber efter IFRS (tabel 1).

Tabel 1. Eksempel på kontoplankortlægning

Et par ord om at udarbejde selve kontoplanen efter IFRS.

  • Hver IFRS-indikator skal have en unik digital kode, i ekstreme tilfælde, alfanumerisk, i et strengt defineret format. Opsummering af indikatorer i moderne Excel-versioner det er muligt selv baseret på tekstkarakteristika, men i dette tilfælde øges risikoen for dataforvrængning i tilfælde af en simpel tastefejl. For at minimere fejl, bruges mapper og drop-down lister med koder og navne på konti og analyser, samt "SUMMIF" og "VLOOKUP" formler, der opsummerer data med specificerede karakteristika, nemlig unikke koder.
  • Hierarkiet af kontoplanen bør give dig mulighed for at gruppere data ikke kun efter elementer, men også efter linjer i rapporteringsformularen og noter. Lad os sige artiklen "Bygninger og strukturer - Startomkostninger", ud over egen kode bør også blandt analyserne indeholde linjekoden for opgørelsen af ​​finansiel stilling (i det følgende benævnt balancen) og koden for notetabellen, som giver dig mulighed for at udfylde formularer og tabelrapporteringsnotater ved hjælp af Excel-formler.
  • Hvert afsnit af indberetningsskemaerne i kontoplanen skal indeholde reservedele tomme linjer- dette gør det muligt fleksibelt at justere kontoplanen uden at omkonfigurere formler, og giver dig også mulighed for ikke at overtræde princippet om datasammenlignelighed. Det er tilrådeligt at give plads til nye sektioner, for eksempel hvis virksomheden ikke tidligere har ejet investeringsejendomme, men ledelsen planlægger at skabe eller erhverve fast ejendom til udlejning. I dette tilfælde skal du blot udfylde de tomme rækker og indtaste rapporteringskoder, og Excel samler automatisk indikatorerne.
  • Det er nødvendigt at gemme historikken for ændringer af kortlægningen (normalt på grundlag af et notat eller andet administrativt metodologisk dokument), der angiver årsagen, den ansvarlige og tidspunktet for ændringernes ikrafttræden. Dette er vigtigt både for at generere sammenlignelige data fra periode til periode og for at bestå en revision.

Det skal bemærkes, at jo mere analytikeren indeholder den russiske kontoplan, jo lettere er det at foretage kortlægnings- og omklassificeringstilpasninger, der er nødvendige ifm. forskellige principper dataaggregering i RAS og IFRS. Derfor bør RAS-kontoplanen og dens analyser om muligt bringes så tæt som muligt på behovene i IFRS for at øge effektiviteten af ​​transformationsprocessen og reducere omkostningerne.

Indsamling af de nødvendige oplysninger for at udfylde transformationsmodellen. På dette stadium indsamles data om balancekonti og omsætning af indtægts- og udgiftskonti for rapporteringsperioden, den oprindelige balance og resultatopgørelsen udfyldes.

Sammen med denne proces gennemgås væsentlige transaktioner, retssager, større nye kontrakter og yderligere oplysninger. Der bør udarbejdes en reguleret liste over yderligere oplysninger, ligesom de ansvarlige for udarbejdelsen af ​​de relevante data bør tildeles, og der bør fastsættes frister.

Listen i tabel 2 kan enten forkortes, hvis virksomheden ikke har bestemte aktiviteter, eller udvides væsentligt. Som udgangspunkt sker der sjældent ændringer i en virksomheds aktiviteter, der medfører yderligere tilpasninger til IFRS. Derfor foretages den mest grundige analyse under det indledende kendskab til virksomheden, og først derefter overvåges væsentlige ændringer. Således bør virksomheder i de fleste tilfælde foretage omkring ti til tyve transformationsjusteringer, som kan reguleres ved passende metodiske instruktioner og er nedfældet i dokumentet "Procedure for regnskabsføring af transformationsjusteringer".

Tabel 2. Eksempelliste med yderligere oplysninger

Alle justeringer bør foretages i form af et arbejdsdokument svarende til en regnskabsoversigt. Arbejdsdokumentet skal indeholde det metodiske grundlag og faktuelle præmisser, på grundlag af hvilke visse justeringer er foretaget, og selve beregningerne. Det er også nødvendigt at etablere kontrolprocedurer rettet mod at kontrollere rigtigheden af ​​beregninger, afstemning af data fra arbejdsdokumenter og transformationsmodeller samt transaktionernes rigtighed.

Stadium for dannelsen af ​​indgående justeringer. Indgående reguleringer genereres ved første anvendelse af IFRS samt i transaktioner, der involverer køb af nye virksomheder, som skal måles til dagsværdi.

Til at begynde med omgrupperes balance- og resultatopgørelsens poster. Der er tale om såkaldte omklassificeringsjusteringer. Større omklassificeringsjusteringer omfatter tilbageførsel eller tilbageførsel af tilgodehavender, gæld og forskud, omklassificering af udskudte omkostninger, adskillelse af kortfristede og langfristede aktiver og passiver, overførsel af indlån med en løbetid på mindre end 90 dage til kontanter og en mere detaljeret bogføring af indtægter og udgifter til relaterede konti, hvis et sådant arbejde ikke blev udført på kortlægningsstadiet (tabel 3).

Tabel 3. Eksempel på en omklassificeringstabel

Den næste blok af justeringer er korrektioner, der påvirker mængden af ​​balanceposter samt indtægter og udgifter. De skal ikke forveksles med omklassificeringsjusteringer, da kun estimerede justeringer påvirker størrelsen af ​​udskudt skat i henhold til IFRS.

I praksis vedrører de væsentligste reguleringsbeløb måling af aktiver til dagsværdi - anlægsaktiver (især i tilfælde, hvor virksomheden ejer gamle aktiver) og immaterielle aktiver. Det er umuligt at beregne sådanne justeringer på egen hånd, da dette kræver data fra en undersøgelsesrapport udført af en kvalificeret vurderingsmand. For eksempel uden særlig viden og erfaring er det umuligt at bestemme omkostningerne kundegrundlag, som ved køb af en virksomhed skal indregnes som et immaterielt aktiv efter IFRS. Kun efter at have modtaget værdiansættelsesdata om det rimelige beløb af oprindelige omkostninger, afskrivningsgrad, tilbage nyttigt liv anvendelse, registre over anlægsaktiver og immaterielle aktiver dannes i overensstemmelse med IFRS. Regnskabsføring af anlægsaktiver og immaterielle aktiver kan udføres som i separat program, og i regneark, når der føres et register over anlægsaktiver i Excel, afspejles indtægter, moderniseringer, afhændelser af objekter, afskrivninger beregnes til kostprisen indregnet i henhold til IFRS.

Den enkleste måde at beregne justeringer på er at sammenligne RAS- og IFRS-data og bestemme uoverensstemmelsen mellem dem. Disse beløb udgør ændringen (tabel 4).

Tabel 4. Opgørelse af reguleringer for opskrivning af anlægsaktiver til dagsværdi

Ud over at afspejle omvurderingen kan det for anlægsaktiver og immaterielle aktiver være nødvendigt at genberegne størrelsen af ​​kapitaliserede renter, da RAS og IFRS indeholder forskellige tilgange til at bestemme kapitaliseringsbeløbet.

Bestemmelserne i IAS 36 Værdiforringelse af aktiver fokuserer også mere på test af materielle og immaterielle aktiver, hvis værdi skal justeres, når der er tegn på værdiforringelse.

Hvis en virksomhed anvender finansiel leasing i sin drift (som fortolket af IFRS), kan ændringerne også påvirke størrelsen af ​​materielle anlægsaktiver og afskrivningsomkostninger i overensstemmelse med finansielle leasingforpligtelser og tilgodehavende renter for anvendelse af lånemidler.

Der bør lægges særlig vægt på justeringer i forbindelse med diskontering (som f.eks. i tilfælde af langfristede finansielle leasingkontrakter, hvor både omkostningerne til anlægsaktiver og gælden i henhold til finansielle leasingaftaler estimeres på grundlag af diskontering). IFRS kræver tilbagediskontering af alle langfristede aktiver og forpligtelser:

  • indtægtsbeløbet, når betalingen udskydes i tide;
  • størrelsen af ​​en langfristet reserve eller hensættelse i overensstemmelse med IAS 37 "Hensættelser, eventualforpligtelser og eventualaktiver";
  • omkostningerne ved at investere i et datterselskab, når der ydes udskudt betaling for aktier;
  • gældskomponent af langfristede konvertible obligationer;
  • genindvindingsværdien af ​​et finansielt aktiv bogført til amortiseret kostpris ved test for værdiforringelse mv.

Blandt de mest almindelige justeringer kan vi også bemærke:

  • for varebeholdninger (afskrivning af illikvide varebeholdninger som tab, oprettelse af en reserve for afskrivning af varebeholdninger, afskrivning af mangler og tab fra skader på værdigenstande samt visse typer af udskudte udgifter);
  • for afregninger med personale (justeringer af reserver til ferier, oprettelse af en reserve for fremtidig aflønning, afregning under pensionsordninger);
  • Cutoff-justeringer (afskrivning af udskudt omsætning, yderligere periodisering eller afskrivning af indtægter og udgifter i rapporteringsperioden, som ikke blev afspejlet i RAS på grund af manglende dokumenter eller forskelle i tilgangen til indregning af tidspunktet for overførsel af risici og fordele, i korrespondance med konti for afviklinger med modparter);
  • for tilgodehavender og gæld samt lån og optagelser (afspejling til amortiseret kostpris ved anvendelse af den effektive rentemetode, regulering af reserver for dubiøse debitorer);
  • om finansielle investeringer (indregning af andel i associerede virksomheders resultat, reguleringer af værdien af ​​finansielle investeringer, hvorved den aktuelle markedsværdi kan bestemmes mv.).

Efter at alle estimerede justeringer er genereret, fastsættes størrelsen af ​​den udskudte skatteregulering.

Selvfølgelig er ikke alle mulige justeringer oplistet, da målet er at demonstrere, hvordan puljen af ​​indgående justeringer er dannet, og hvordan justeringer skal fremføres fra år til år (tabel 5).

Tabel 5. Dannelse af en liste over indgående justeringer

Dernæst, under hensyntagen til indgående reguleringer, udarbejdes en balance, resultatopgørelse, opgørelse af kapitalændringer og en bevægelsesopgørelse. Penge i IFRS-format, og udarbejder desuden forklaringer til regnskabet.

Primære reguleringer anvendes til at overføre til rapportering af efterfølgende perioder som indgående reguleringer. Der er to overførselsmetoder:

  • justeringer af balancekonti tages i betragtning i overensstemmelse med kontoen for overført overskud;
  • reguleringer af indtægts-/udgiftskonti tilbageføres i overensstemmelse med opsparingskontoen.

Valget af overførselsmetode påvirker kun teknikken til beregning af løbende reguleringer for efterfølgende rapporteringsperioder, slutresultatet bliver det samme, dog vil det ikke længere være muligt at ændre modellen for beregning af reguleringer, så du bør på forhånd bestemme mest praktisk metode og hold dig til den.

Stadium for dannelse af justeringer for efterfølgende rapporteringsperioder. Typiske reguleringer i de efterfølgende rapporteringsperioder skal udarbejdes under hensyntagen til indgående reguleringer. Mekanismen til generering af IFRS-data er som følger: Excel tabeller udfyldt side for side:

  • kortlægning af saldi og omsætning i henhold til RAS til saldi og omsætning i henhold til IFRS;
  • omklassificeringsjusteringer;
  • indgående justeringer (eksklusive omklassificeringer fra den foregående periode);
  • justeringer for den aktuelle periode (beregnet i separate arbejdsdokumenter under hensyntagen til akkumulerede indgående justeringer).

Derefter, ved hjælp af "SUMIF"-formlerne, trækkes dataene op på oversigtsarket (se tabel 6).

Tabel 6. Dannelse af IFRS-data i transformationsmodellen

IFRS-data (kolonne 8) opnås ved at summere de oprindelige RAS-data, reklassifikationer, indgående og aktuelle justeringer. På næste trin, også ved hjælp af "SUMMIF"-formlen, aggregeres færdige IFRS-indikatorer på rapportsider (balance, resultatopgørelse) efter linjekoder for rapporteringsskemaer i overensstemmelse med den tildelte rapporteringsskemakode (tabel 7). . På samme måde udfyldes tabelformularer for noter, skrives kontrol- og afstemningsformler mellem transformationstabel, rapporteringsskemaer og noter, og ændringen i periodens overførte overskud sammenlignes med indikatorens primo- og ultimosaldi ( uoverensstemmelser i mængden af ​​påløbne udbytter er mulige).

Tabel 7. Eksempel på brug Excel funktioner"SUMMESLI"

Som vi kan se, giver Excel dig mulighed for ganske enkelt og overskueligt at generere IFRS-data gennem transformation. I praksis bruges også andre tilgange til at udfylde transformationstabeller, for eksempel som et klassisk skaksæt. Men hvis der er mange justeringer, er de resulterende filer besværlige, og risikoen for tekniske fejl øges, og det bliver desuden vanskeligt at analysere de ændringer, der er akkumuleret over flere perioder. Uanset hvilken transformationsmodel der bruges, er der universelle anbefalinger til at arbejde med Excel: datalagring bør organiseres på pålidelig og beskyttet mod uautoriseret adgang servere, automatisk oprettelse sikkerhedskopier hovedarbejdsfiler og automatisk lagring under arbejdet, regelmæssig arkivering af både primære data og endelige modeller, sporing af ændringer i filer og vedligeholdelse af en opsummerende statusfil (tjekliste) indeholdende information om de nødvendige stadier af transformation og færdiggørelsesgraden af ​​etablerede procedurer.

Udskiftede klasser skal erklære en primær nøglekolonne i databasetabellen. De fleste klasser skal også erklære deres egne egenskaber i JavaBeans-stil, inklusive et unikt enheds-id. Element i tilknytningsfilen vil de definere tilknytningen af ​​dette unikke felt til tabelkolonnen, der fungerer som den primære nøgle.

(5)

(1)

navn (valgfrit): Navnet på identifikationsegenskaben.

(2)

type (valgfrit): Et navn, der definerer dvaletypen for egenskaben.

(3)

kolonne (valgfrit - standardegenskabsnavn): Navnet på den primære nøglekolonne.

(4)

unsaved-value (valgfrit - standard til null): En identifikatoregenskabsværdi, der angiver, at forekomsten er ny (i persistent storage termer). skelner denne kopi fra transitforekomster, der blev indlæst eller gemt i en tidligere version.

(5)

adgang (valgfrit - standard til egenskab): Dette er den strategi, Hibernate vil bruge til at få adgang til denne ejendom objekt.

Hvis navneattributten ikke er angivet, antages klassen ikke at have nogen identifikatoregenskab.

Den ikke-gemte-værdi-attribut er vigtig! Hvis din klasses standard-id-egenskab ikke er null, skal du indstille attributten "unsaved-value" til den relevante værdi.

Eksisterer alternativ annonce for at få adgang til ældre data med sammensatte nøgler. Vi fraråder på det kraftigste brugen af ​​sammensatte nøgler i andre tilfælde.

5.1.4.1. generator

Påkrævet barn element "a definerer en Java-klasse, der bruges til at generere unikke identifikatorer for forekomster af pesistente klasser. Om nødvendigt kan elementet At videregive initialiserings- eller konfigurationsparametre for en generatorforekomst.

uid_table next_hi_value_column

Alle generatorer implementerer net.sf.hibernate.id.IdentifierGenerator-grænsefladen. Det er en meget enkel grænseflade; mange applikationer kan bruge deres egen tilpassede generatorimplementering. På trods af dette inkluderer Hibernate mange indbyggede generatorer. Nedenfor er korte navne(genveje) til indbyggede generatorer:

Forøgelse

genererer identifikatorer af typen long, short eller int, der kun er unikke, når ingen andre processer tilføjer data til den samme tabel. Må ikke bruges i en klynge.

identitet

Understøtter identitetskolonner i DB2, MySQL, MS SQL Server, Sybase og HypersonicSQL. Returidentifikationstypen er lang, kort eller int.

rækkefølge

Bruger en sekvens i DB2, PostgreSQL, Oracle, SAP DB, McKoi eller en generator i Interbase. Returidentifikationstypen er lang, kort eller int.

hilo

Bruger hi/lo-algoritmen til effektivt at generere identifikatorer, der er af typen long, short eller int, der kræver et tabel- og kolonnenavn (hhv. som standard hibernate_unique_key og next_hi) som kilde til hi-værdier. Hi/lo-algoritmen genererer identifikatorer, der kun er unikke for individuelle databaser. Brug ikke denne generator til JTA-forbindelser eller brugerdefinerede forbindelser.

seqhilo

bruger hi/lo-algoritmen til at generere identifikatorer af typen long, short eller int ved hjælp af en databasesekvens.

uuid.hex

Bruger en 128-bit UUID-algoritme til at generere strengidentifikatorer, der er unikke inden for netværket (ved hjælp af en IP-adresse). UUID er en streng på 32 tegn, der indeholder den hexadecimale repræsentation af tallet.

uuid.streng

bruger den samme UUID-algoritme, men strengen ved brug af denne generator består af 16 (nogle) ANSII-tegn. Må ikke bruges med PostgreSQL.

hjemmehørende

vælger identitet, sekvens eller hilo, afhængigt af mulighederne i den database, der bruges.

tildelt

giver applikationen mulighed for selvstændigt at indstille objektidentifikatoren, før metoden save() kaldes.

udenlandsk

identifikatoren for et andet associeret objekt bruges. Anvendes typisk i transaktioner med tilknytning efter primærnøgle.

5.1.4.2. Hi/Lo-algoritme

hilo- og seqhilo-generatorerne giver to alternative implementeringer af hi/lo-algoritmen, den foretrukne tilgang til generering af identifikatorer. Den første implementering kræver en "særlig" tabel i databasen for at gemme den næste "hi" værdi. Den anden implementering bruger sekvens (Oracle-stil) i databaser, der understøtter dem.

hej_værdi næste_værdi 100 hej_værdi 100

Desværre kan du ikke bruge hilo, når du leverer din forbindelse til Hibernate, og du kan heller ikke bruge den i en konfiguration, hvor Hiberante bruger en JTA-administreret applikationsserverdatakilde. Hiberante skal kunne modtage "hi" værdien i en ny transaktion. Standardtilgangen i EJB er at bruge en session statsløs bønne til at implementere hi/lo-algoritmen.

5.1.4.3. UUID-algoritme

Forsøg ikke at bruge uuid.string i PostgreSQL.

5.1.4.4. Sekvenser og identitetskolonner

Du kan bruge identitetsnøglegeneratoren til databaser, der understøtter identitetskolonner (DB2, MySQL, Sybase, MS SQL). For databaser, der understøtter sekvenser, kan du bruge sekvensstilen til at generere nøgler. Begge disse strategier kræver to SQL-forespørgsler for at indsætte et nyt objekt i databasen.

uid_sequence

Brug den oprindelige strategi for at udvikle applikationer på tværs af platforme. Det vil bruge identitets-, sekvens- og hilo-strategier afhængigt af mulighederne i den database, som Hibernate i øjeblikket arbejder med.

5.1.4.5. Definerede ID'er

Hvis du ønsker, at applikationen selv skal tildele ID'er, kan du bruge den tildelte generator. Denne specielle generator bruger ID'er, der er indstillet af applikationen. For at gøre dette sætter applikationen identifikatoren til den tilsvarende egenskab for objektet. Vær meget forsigtig, når du bruger denne funktion til at installere nøgler (i de fleste tilfælde signalerer denne løsning et dårligt design applikationer).

På grund af dens iboende natur kan enheder, der bruger denne generator, ikke gemmes via Session.saveOrUpdate()-metoden. I stedet skal du udtrykkeligt fortælle Hibernate, om objektet skal oprettes eller opdateres ved at kalde de relevante Session-objektmetoder: save() eller update().

5.1.5. sammensat-id

......

For tabeller med sammensatte nøgler kan du eksponere flere klasseegenskaber som objektidentifikationsegenskaber. Element accepterer egenskabstilknytninger ved hjælp af underordnede elementer Og .

Din persistente klasse skal tilsidesætte metoderne equals() og hashCode() for at implementere sammensat identifikatorækvivalens. Den skal også implementere den serialiserede grænseflade.

Desværre indebærer evnen til at angive sammensatte identifikatorer, at det vedvarende objekt er identifikatoren. Der er ingen mulighed for bekvem bearbejdning end gennem selve objektet. Du skal selv oprette en persistent klasseentitet og indstille dens identificerende egenskab, før du indlæser() den vedvarende tilstand, der er knyttet til den sammensatte identifikator. Vi vil beskrive en mere passende måde, hvor sammensatte identifikatorer implementeres som en separat klasse, i afsnit 7.4, "Komponenter som sammensatte identifikatorer." De attributter, der er beskrevet nedenfor, gælder kun for den alternative metode:

    navn (valgfrit): En komponenttypeegenskab, der indeholder en sammensat identifikator (se næste afsnit).

    klasse (valgfrit, som standard bestemmes egenskabstypen gennem refleksion): komponenten af ​​denne klasse bruges som en sammensat identifikator (se næste afsnit).

    unsaved-value (valgfrit, standard til ingen): Hvis den er sat til nogen, indikerer dette, at transitenheder behandles som nye.

5.1.6. diskriminator

Element nødvendig for polymorf persistens ved brug af tabel-pr-klasse-hierarki-kortlægningsstrategien. Dette element erklærer en diskriminatorkolonne, som bruges til at bestemme, om en tabelpost svarer til en bestemt klasse i hierarkiet. Diskriminatoren kan være en af ​​følgende typer: streng, tegn, heltal, byte, kort, boolesk, ja_nej, sand_falsk.

De tilsvarende diskriminatorkolonneværdier for hver klasse er specificeret i diskriminatorværdiattributten for elementerne Og .

Force-attributten er kun nyttig, hvis tabellen indeholder poster med yderligere diskriminatorværdier, der ikke vises i den vedvarende klasse. Typisk bruges denne egenskab ikke.

5.1.7. version (valgfrit)

Element afspejler, at tabellen indeholder versionsmærkede poster. Dette er især nyttigt, hvis du planlægger at bruge lange transaktioner(se nedenunder).

(1)

kolonne (valgfrit, standard til egenskabsnavn): navnet på den kolonne, der gemmer versionsnumre.

(2)

name: Navnet på den vedvarende klasseegenskab.

(3)

type (valgfrit, standard til heltal): Typen af ​​versionsegenskaben.

(4)
(5)

unsaved-value (valgfrit, er standard udefineret): En versionsegenskabsværdi, der angiver, at enheden endnu ikke er blevet gemt (ikke gemt). Du må ikke forveksle ikke-gemte enheder med transitenheder, der blev gemt eller indlæst i en tidligere session. (udefineret angiver, at identifikationsværdien vil blive brugt.)

Versionsnumre kan være af typen lang, heltal, kort, tidsstempel eller kalender.

5.1.8. tidsstempel (valgfrit)

Element angiver, at tabellen indeholder poster markeret med et tidsstempel. Dette element fungerer som et alternativ til versionsmarkører. Tidsstempler er per definition en mindre sikker implementering af optimistisk låsning. Nogle gange bruger et program dog tidsstempler til andre formål

(1)

kolonne (valgfrit, standard til egenskabsnavn): Navnet på den kolonne, der indeholder tidsstemplet.

(2)

name: JavaBeans-stilnavnet på Date- eller Timestamp-egenskaben for den persistente klasse.

(3)

adgang (valgfrit, standard til egenskab): Den strategi, som Hibernate skal bruge for at få adgang til værdien af ​​en egenskab.

(4)

unsaved-value (valgfrit - standard til null): En tidsegenskabsværdi, der angiver, at enheden endnu ikke er blevet gemt (ikke gemt). Du må ikke forveksle ikke-gemte enheder med transitenheder, der blev gemt eller indlæst i en tidligere session. (udefineret angiver, at identifikationsværdien vil blive brugt.)

Bemærk: element svarer til elementet .

5.1.9. ejendom

Element Erklærer en vedvarende egenskab i JavaBeans-stil for en klasse.

(1)

navn: Ejendommens navn, der starter med et lille bogstav.

(2)

kolonne (valgfrit, egenskabsnavn erstattes som standard): navnet på den tilsvarende kolonne i databasetabellen.

(3)

type (valgfrit): Navnet på Dvale-typen.

(4)

update, insert (valgfrit, er som standard sand) : angiver, at den tilsvarende kolonne skal inkluderes i SQL UPDATE og/eller INSERT-sætningerne. Hvis begge egenskaber indstilles til falsk, kan værdien af ​​den pågældende egenskab indstilles enten fra en anden egenskab, der vises i samme kolonne/kolonner, via en trigger eller af en anden applikation.

(5)

formel (valgfri): Et SQL-udtryk, der beregner værdien af ​​egenskaben. Beregnede felter bør ikke tilknyttes en databasetabelkolonne.

(6)

adgang (valgfrit, standard til egenskab): Den strategi, som Hibernate skal bruge for at få adgang til værdien af ​​en egenskab.

værdien af ​​typeegenskaben kan være en af ​​følgende:

    Navnet på basistypen Hibernate (f.eks. heltal, streng, tegn, dato, tidsstempel, float, binær, serialiserbar, objekt, blob).

    Java-klassenavn (f.eks. int, float, char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob).

    Navnet på en klasse afledt af PersistentEnum (f.eks. Farve).

    Navnet på Java-klassen, der skal serialiseres.

    Navnet på den tilpassede klasse (f.eks. com.illflow.type.MyCustomType).

Hvis du ikke angiver en værdi for type-egenskaben, vil Hibernate bruge refleksion på den angivne egenskab til at gætte den relevante Hibernate-type. Hibernate vil forsøge at bestemme klassenavnet på den egenskab, der returneres af get()-metoden ved at bruge reglerne 2, 3, 4 i den rækkefølge. Dette er dog ikke altid nok. I nogle tilfælde skal du stadig angive typeattributten. (For eksempel for at skelne mellem Hibernate.DATE og Hibernate.TIMESTAMP eller for at angive en brugerdefineret type).

Adgangsattributten giver dig mulighed for at kontrollere, hvordan Hibernate får adgang til et felt under kørsel. Som standard kalder dvaletilstand få/indstil metoder til at få adgang til et felt. Hvis du angiver access="field", så vil Hibernate omgå get/set-metoderne og få adgang til feltet direkte ved hjælp af refleksion. Du kan angive din egen adgangsstrategi ved at angive en klasse, der implementerer net.sf.hibernate.property.PropertyAccessor-grænsefladen.

5.1.10. mange-til-en

Et normalt forhold til en anden vedvarende klasse erklæres ved hjælp af mange-til-en-elementet. Relationsmæssigt er det en mange-til-en forening. Det er egentlig bare en reference til et objekt.

(1)

navn: Ejendomsnavn.

(2)

kolonne (valgfri): Kolonnenavn.

(3)

klasse (valgfrit - som standard bestemmes felttypen gennem refleksion): Navnet på den tilknyttede klasse.

(4)

kaskade (valgfrit): Specificerer, hvilken operation der vil kaskade fra det overordnede objekt til det tilknyttede objekt.

(5)
(6)

update, insert (valgfrit - sand som standard) bestemmer, at de viste kolonner vil blive inkluderet i SQL UPDATE og/eller INSERT forespørgsler. Hvis begge egenskaber indstilles til falsk, kan værdien af ​​den pågældende egenskab indstilles enten fra en anden egenskab, der vises i samme kolonne/kolonner, via en trigger eller af en anden applikation.

(7)

property-ref: (valgfrit) Navnet på nøgleegenskaben for den tilknyttede klasse. Denne ejendom vil blive brugt til at binde. Hvis det ikke er angivet, bruges den primære nøgle for den tilknyttede klasse.

(8)

adgang (valgfrit - standard til egenskab): Den strategi, som Hibernate bruger til at få adgang til værdien af ​​et givet felt.

Kaskadeattributten kan have følgende værdier: alle, gem-opdater, slet, ingen. Indstilling af en anden værdi end ingen vil medføre visse operationer på det tilknyttede (underordnede) objekt. Se "Objektets livscyklus" nedenfor.

Outer-join-attributten kan have følgende tre værdier:

    auto (standard) henter tilknyttede objekter ved hjælp af outer join, hvis den tilknyttede klasse ikke har en proxy.

    sand Hent altid tilknyttede objekter ved hjælp af outer join.

    false Hent aldrig tilknyttede objekter ved hjælp af outer join.

En typisk mange-til-en foreningserklæring ser sådan ud

Egenskaben-ref-attributten bruges kun til at linke med nedarvede data, når fremmednøglen refererer til en unik værdi af den tilknyttede tabel, bortset fra den primære nøgle. Dette er en farlig relationel beslutning. For eksempel er det muligt, at produktklassen har et unikt sekvensnummer, der ikke er den primære nøgle. (Den unikke egenskab styrer Hibernates DDL-generering. Generering udføres ved hjælp af SchemaExport-værktøjet.)

Kortlægningen for OrderItem kan bruge:

Faktisk er det stærkt frarådt at gøre dette.

5.1.11. en til en

En en-til-en-forbindelse med en anden vedvarende klasse kan erklæres ved hjælp af en-til-en-elementet.

(1)

navn: Ejendomsnavn.

(2)

klasse (valgfrit - som standard bestemt af refleksion baseret på felttypen): Navnet på den tilknyttede klasse.

(3)

kaskade (valgfrit) angiver, hvilken operation der skal kaskades fra det overordnede objekt til det tilknyttede objekt.

(4)

constrained (valgfrit) angiver, at en fremmednøgle, der refererer til en tabel i den tilknyttede klasse, er begrænset af den pågældende tabels primære nøgle. Denne indstilling påvirker rækkefølgen, hvori save() og delete() kaskade-operationerne udføres (og bruges også af skemaeksportværktøjet).

(5)

outer-join (valgfrit - standard til auto): Aktiverer hentning af tilknyttede objekter ved hjælp af outer-joins, hvis hibernate.use_outer_join-konfigurationsfilen er aktiveret.

(6)

property-ref: (valgfrit) Navnet på egenskaben for den tilknyttede klasse, der er inkluderet i den primære nøgle for denne klasse. Hvis det ikke er angivet, bruges den primære nøgle for den tilknyttede klasse.

(7)

adgang (valgfrit, standard til egenskab): Den strategi, som Hibernate skal bruge for at få adgang til dette felt.

Der er to typer en-til-en-foreninger:

    primære nøgleforhold

    forhold ved hjælp af en unik fremmednøgle

For at organisere en tilknytning ved hjælp af en primær nøgle er der ikke behov for yderligere kolonner; Hvis to poster er relateret af en sådan tilknytning, betyder det, at to poster i to tabeller har den samme primære nøgleværdi. Derfor, hvis du ønsker at tilknytte to objekter, så de er relateret af en primær nøgle, så skal du sikre dig, at deres ID'er er sat til samme værdi!

For en primær nøgletilknytning skal du tilføje følgende kortlægning for henholdsvis medarbejder- og personklasserne.

Nu skal vi sikre os, at de primære nøgler til de relaterede poster i tabellerne er identiske. Vi bruger en speciel Hibernate udenlandsk generator:

medarbejder ...

Den vedvarende forekomst af Person-klassen tildeles den samme primære nøgleværdi, som er tildelt forekomsten af ​​Employee-klassen, der refereres til af medarbejderegenskaben for Person-klassen.

Som et alternativ til at beskrive en-til-en-forholdet fra medarbejder til person gennem en unik fremmednøgle, kan du bruge følgende notation:

Denne tilknytning kan gøres tovejs ved at tilføje følgende udtryk til kortlægningen af ​​Person-klassen:

5.1.12. komponent, dynamisk-komponent

Element knytter felterne i et indlejret objekt til tabelkolonnerne i den overordnede klasse. Komponenter kan igen definere deres egne egenskaber, komponenter eller samlinger. Se "Komponenter" nedenfor.

(5) ........

(1)

name: Navnet på egenskaben (der henviser til komponentobjektet).

(2)

klasse (valgfrit - som standard bestemmes komponenttypen ved hjælp af refleksion): Navnet på komponentklassen.

(3)

indsæt: Hvis den er sat til sand, deltager komponentens viste felter i SQL INSERT-forespørgsler.

(4)

update: Hvis indstillet til sand, deltager komponentens viste felter i SQL UPDATE-forespørgsler.

(5)

adgang (valgfrit - standard til egenskab): Den strategi, som Hibernate skal bruge, når du får adgang til denne bean gennem dets overordnede objekt.

Indlejrede tags Tilknyt komponentfelter til tabelkolonner.

Element tillader indlejret element Hvilket gengiver komponentegenskaben som en tilbagereference til det overordnede objekt.

Element giver dig mulighed for at bruge et kort som en komponent, hvor feltnavnene svarer til kortets taster.

5.1.13. underklasse

Endelig kræver polymorf persistens, at hver underklasse af basisklassen erklæres. Til den (anbefalede) visningsstrategi bruger tabel-pr-klasse-hierarki elementet .

.....

Hver underklasse skal erklære sine egne vedvarende felter og underklasser. Det er tilladt at arve ejendomme Og fra basisklassen. Hver underklasse i hierarkiet skal definere en unik diskriminator-værdi. Hvis denne værdi ikke er angivet, bruges det fulde klassenavn som diskriminator.

5.1.14. sluttet-underklasse

Alternativt erklæres en underklasse, hvis objekter er gemt i en separat tabel (tabel-per-underklasse-mapping-strategi), ved hjælp af elementet .

.....

Denne visningsstrategi kræver ikke, at diskriminatorkolonnen angives. Hver underklasse skal dog erklære en tabelkolonne, der indeholder den identifikator, der skal vises af elementet . Kortlægningen givet i begyndelsen af ​​afsnittet kan omskrives som følger:

Den vedvarende tilstand består af referencer til andre enheder og forekomster af værdityper. Værdier er primitiver, samlinger, komponenter og andre uforanderlige objekter. I modsætning til enheder bevares værditypeforekomster (især samlinger og komponenter) og slettes, når de er tilgængelige. Fordi værditypeobjekter (og primitiver) gemmes og slettes sammen med deres indeholdende entitet, kan de ikke have uafhængig versionering. Værdier har heller ikke en selvstændig identitet og kan derfor ikke deles mellem to enheder eller samlinger.

Alle typer i Hibernate, med undtagelse af samlinger, understøtter null pointer semantik.

Indtil nu har vi brugt udtrykket "vedvarende klasse" til at henvise til enheder. Det vil vi fortsætte med. Strengt taget er ikke alle brugerdefinerede klasser med persistent tilstand entiteter. For eksempel er en komponent en brugerdefineret klasse med værditype-semantik (komponenter er en del af de entiteter, der indeholder dem, og betragtes som felter af disse entiteter).

5.2.2. Grundlæggende værdityper

Grundtyperne kan groft inddeles som følger

heltal, langt, kort, flydende, dobbelt, karakter, byte, boolesk, yes_no, true_false

Tilknytninger af primitive Java-typer eller wrapper-klasser til de tilsvarende (leverandørafhængige) SQL-typer af tabelkolonner. boolean, yes_no og true_false er alternative notationer for Java-typerne boolean eller java.lang.Boolean.

snor

Tilknytning af java.lang.String-type til VARCHAR (eller Oracle VARCHAR2).

dato, tid, tidsstempel

Tilknytning af java.util.Date-typen og dens underklasser til SQL-typerne DATE, TIME og TIMESTAMP (eller tilsvarende).

kalender, kalender_dato

Tilknytning af typen java.util.Calendar til SQL-typerne TIMESTAMP og DATE (eller tilsvarende).

stor_decimal

Mapping type java.math.BigDecimal til NUMERIC (eller Oracle NUMBER).

lokalitet, tidszone, valuta

Tilknytning af java.util.Locale, java.util.TimeZone og java.util.valutatyper til VARCHAR (eller Oracle VARCHAR2). Lokalitet og valutaforekomster er knyttet til deres ISO-koder. TimeZone-forekomster er knyttet til deres identifikatorer (ID'er).

klasse

Mapping type java.lang.Class til VARCHAR (eller Oracle VARCHAR2). Klassen vises som dens fulde navn.

binær

Tilordner byte-arrays til den tilsvarende binære SQL-type.

tekst

Viser lange Java-strenge i SQL CLOB eller TEXT.

kan serialiseres

Maps serialiserbare Java-typer til tilsvarende binære SQL-typer. Du kan også angive Hibernate-serialiserbar type som navnet på en serialiserbar Java-klasse eller grænseflade, der ikke er en basistype og ikke implementerer PersistentEnum-grænsefladen.

klat, klat

JDBC-typekortlægning af klasserne java.sql.Clob og java.sql.Blob. Disse typer kan være ubelejlige for nogle applikationer, fordi blob- og clob-objekter ikke kan bruges uden for transaktioner. (Derudover understøtter drivere ikke disse typer fuldt ud og ensartet.)

Unikke identifikatorer for enheder og samlinger kan være af enhver grundlæggende type undtagen binær, blob og clob. (Sammensatte identifikatorer er også tilladt, se nedenfor.)

Grundlæggende værdityper er beskrevet af konstanter deklareret i net.sf.hibernate.Hibernate. For eksempel repræsenterer Hibernate.STRING strengtypen.

5.2.3. Vedvarende enumtyper

En opregnet type er et grundlæggende Java-formsprog, når en klasse har et konstant (lille) antal uforanderlige instanser (oversætterens note i Java 5 blev dette introduceret på sprogniveau, i tidligere versioner blev der brugt et særligt mønster til dette). Du kan oprette vedvarende enum-typer ved at implementere net.sf.hibernate.PersistentEnum-grænsefladen og definere toInt()- og fromInt()-operationerne:

Pakke fx; import net.sf.hibernate.PersistentEnum; offentlig klasse Farve implementerer PersistentEnum ( privat endelig int kode; privat Farve(int kode) ( this.code = kode; ) offentlig statisk endelig Farve TABBY = ny Farve(0); offentlig statisk endelig Farve GINGER = ny Farve(1); offentlig static final Color BLACK = new Color(2); public int toInt() (returkode; ) public static Color fromInt(int code) ( switch (kode) ( case 0: return TABBY; case 1: return GINGER; case 2: return BLACK; standard: throw new RuntimeException("Ukendt farvekode"); ) ) )

Navnet på en Hibernate-type er blot navnet på den opregnede klasse, i dette tilfælde f.eks. Color.

5.2.4. Brugerdefinerede værdityper

Det er relativt nemt for udviklere at skabe deres egne værdityper. For eksempel vil du måske gemme egenskaber af typen java.lang.BigInteger i kolonner af typen VARCHAR. Hibernate giver ikke en indbygget type til dette. Men at definere brugerdefinerede typer er ikke begrænset til at tilknytte egenskaber (eller samlingselementer) til en enkelt tabelkolonne. Så du kan for eksempel have en egenskab getName()/setName() af typen java.lang.String, som er gemt i FIRST_NAME, INITIAL, SURNAME kolonnerne.

For at implementere en brugerdefineret type skal du implementere en af ​​net.sf.hibernate.UserType- eller net.sf.hibernate.CompositeUserType-grænsefladerne og erklære egenskaben ved at bruge det fuldt kvalificerede klassenavn på din typeimplementering. Gennemgå net.sf.hibernate.test.DoubleStringType for tilgængelige funktioner.

Bemærk: brug tags for at vise egenskaber i flere kolonner.

Selvom Hibernates rigdom af indbyggede typer og komponentunderstøttelse betyder, at du sjældent behøver at bruge brugerdefinerede typer, er det stadig god praksis at bruge dem som (ikke-entitets)klasser for typer, der ofte bruges i din applikation. For eksempel er MonetoryAmount-klassen en god kandidat til CompositeUserType, selvom den kan eksponeres som en komponent. Hovedmotivationen er abstraktion. Med brugerdefinerede typer vil dit kortlægningsdokument være mere modstandsdygtigt over for mulige ændringer i fremtiden, hvis du ændrer valutatyperepræsentationen.

5.2.5. Enhver type display

Der er en anden type til visning af egenskaber. Displayelement erklærer en polymorf association for klasser fra flere tabeller. Denne type visning kræver altid mere end én kolonne. Den første kolonne indeholder typen af ​​den tilknyttede enhed. De resterende kolonner indeholder identifikatoren. Det er ikke muligt at definere en fremmednøgle for en given associationstype, så denne mapping bruges typisk ikke til polymorfe associationer. Du bør kun bruge denne kortlægning i særlige tilfælde (f.eks. registrering af forskellige typer data, adgang til brugersessionsdata).

Meta-type-attributten tillader en applikation at specificere en brugerdefineret type, der kortlægger databasekolonneværdier til vedvarende klasser, hvis identifikatoregenskaber er af typen defineret af id-type. Hvis metatypen returnerer java.lang.Class-enheder, kræves der ikke andet. I andre tilfælde, når det er en basistype såsom streng eller tegn, skal du tilknytte værdierne til klasserne.

..... .....

(1)

navn: Ejendomsnavn.

(2)

id-type: Identifikatortype.

(3)

meta-type (valgfrit - standard til klasse): en type, der kortlægger java.lang.Class i en enkelt databasekolonne, eller alternativt en type, der har tilladelse til at kortlægge en diskriminator.

(4)

kaskade (valgfrit - standard til ingen): Typen af ​​kaskade operation.

(5)

adgang (valgfrit - standard til egenskab): Den strategi, som Hibernate skal bruge for at få adgang til værdien af ​​en egenskab.

Den gamle objektegenskab, som har sin egen plads i Hibernate 1.2, understøttes stadig, men er blevet forældet.

5.3. SQL-id'er i anførselstegn

Du kan tvinge Hibernate til at citere identifikatorer i SQL-sætninger. Hibernate vil følge citatreglerne i henhold til den angivne SQL-dialekt (normalt dobbelte anførselstegn, men parenteser for SQL Server og backquotes for MySQL).

...

5.4. Individuelle visningsfiler

Du kan erklære tilknytninger af underklasser og sammenkoblede underklasser i separate dokumenter, lige inde i dvaletilknytningselementet. Dette gør det muligt at udvide klassehierarkiet ved at tilføje en ny tilknytningsfil. Med denne tilgang skal du angive en extends-attribut i underklassetilknytningen, der indeholder navnet på den præ-mappede superklasse. Brug af denne funktion gør den rækkefølge, som kortlægningsdokumenterne er angivet i, vigtig.

Hurtig beslutningstagning af høj kvalitet fra virksomhedsledelsen afhænger af et velopbygget regnskabssystem i virksomheden. Ledelsesregnskab her, i overensstemmelse med almindeligt accepteret praksis, betyder brugen af ​​dette udtryk brugen af ​​regnskabs- og økonomistyringsprincipper til at løse problemer inden for følgende områder af virksomheden:

  • udvikling og implementering af forretningsstrategi;
  • implementering af planlægning og kontrol;
  • effektiv brug af ressourcer;
  • øget operationel effektivitet;
  • bevarelse af materielle og immaterielle aktiver;
  • ledelse af virksomheds- og virksomhedsinterne forretningsprocesser

Under alle omstændigheder udføres adgangen til regnskabsoplysninger ved hjælp af forskellige typer rapporter.

Da indsamling og lagring af data om en virksomheds økonomiske aktiviteter er en ret arbejdskrævende og bekostelig proces, bliver effektiv brug af disse oplysninger en vigtig opgave og en konkurrencefordel. Mængden af ​​indsamlet information bestemmes af virksomhedens ledelse som en kompromisløsning mellem statens og de regulerende myndigheders krav til videregivelse af oplysninger og den maksimale mængde information (finansiel, teknologisk, statistisk), der opstår i virksomhedens forretningsaktiviteter. .

Den mest effektive måde at bruge den information, der genereres i aktivitetsprocessen, er at skabe et datavarehus (datewarehouse), på grundlag af hvilket enhver virksomhedsleder ved hjælp af OLAP-teknologier kan generere en rapport til at analysere data i den analytiske kontekst, han har brug for og give sig selv information til beslutningstagning.

På nuværende tidspunkt er den mest almindelige mulighed dog fortsat at oprette et informationssystem, hvori data akkumuleres, og som regel er der en brugerdefineret rapportgenerator, der supplerer standardrapporterne fra systemudvikleren.

Typisk tilbyder softwareudviklere brugere regelmæssigt opdaterede former for ekstern (for regulerende myndigheder) rapportering (regnskab og skat) og reklamerer for muligheden for at oprette enhver form for ledelsesrapporter, som virksomheden kræver. Den genererede rapport er dog ikke nødvendigvis veludformet.
Virksomheden står alene med problemet med at generere (udfylde) rapporter korrekt.

En virksomheds behov for at generere rapportering i henhold til internationale standarder kan kun forværre situationen.

Det centrale i indberetningen er i alle tilfælde behovet for at skabe sammenhæng mellem legitimationsoplysninger i informationssystemer og de tilsvarende felter i indberetningsskemaer.

Følgende muligheder for at organisere forholdet er mulige:

  • I form af en tabel, der beskriver sammenhænge eller korrespondance mellem rapportfelter og data i systemet (efterfulgt af at skrive en algoritme til automatisk rapportgenerering).
  • Ved manuelt at vælge de nødvendige oplysninger (med fuldstændig mangel på mulighed for at automatisere rapporten).
  • En blandet version, som kræver tilstedeværelsen af ​​indbyrdes sammenhængstabeller og manuel afkodning og justeringer ved generering af rapporter.

Den første mulighed for at organisere forholdet mellem informationsregnskabssystemer med rapporteringsformularer (gennem tabeller, der beskriver relationer) kaldes " kortlægning".

Kortlægning (i bred forstand) er transformation af data fra en form til en anden. Til regnskab er kortlægning sammenstillingen af ​​en tabel over korrespondancer af regnskabskonti fra forskellige kontoplaner, for eksempel den russiske kontoplan og GAAP (IFRS) kontoplan (eller kontoplan for ledelsesregnskaber).

Eksempel 1. Blandet version af organisationen af ​​kommunikation.

De fleste virksomheder udarbejder rapporter, fx under IFRS, gennem transformation. Metoden er baseret på en tilgang, hvorefter information genereret i henhold til russiske standarder analyseres og justeres for at bringe den i overensstemmelse med IFRS.

Rapportering transformeres i mindst fire trin ved hjælp af kortlægningstabeller og manuelle justeringer.

1. etape. Strukturel transformation af balance og resultatopgørelse. Resultatet er en omgruppering og sammenlægning af enkelte poster i regnskabet for at udarbejde en database til efterfølgende reguleringsposteringer. Samtidig indeholder kortlægningstabellen regnskabsindikatorer under RAS og deres afspejling i delårsrapportering under IFRS.

2. etape. Udførelse af justering af posteringer med det formål at eliminere kvalitative forskelle mellem russisk rapportering og rapportering under IFRS. Udført i hånden af ​​en transformationsspecialist.

3. etape. Udarbejdelse af rapportering efter IFRS baseret på transformerede balancer, resultatopgørelser og andre former. Kortlægningstabellen indeholder delårsrapporteringstal under IFRS og en beskrivelse af de justeringer, transformationsspecialisten har foretaget.

4. etape. Udarbejdelse af den beskrivende del af rapporten.

Tabel 1. Illustration af sammenhængen mellem den russiske kontoplan og GAAP-kontoplanen (uddrag)

Investeringsafdeling (skattepligtig)

Investm. Afrejse (fradrag)

Evalueringsafdeling

Valuat afd. (fradragsberettiget)

Forskningsafdeling (afgiftspligtig)

Forskningsafdelingen. (fradragsberettiget)

moms på salgsmoms

moms - ydelser

Ulemper tjenester moms

Samlede indtægter

Bruttosalg/indtægter

Salgsomkostninger

Investm. Afrejse (fradrag)

Andre påløbne skatter (TsP)

Anden skatteopkrævning

Handelsmargin (rabat, cape)

Handelsmarginen (rabat, tillæg)

Leverandørrabat til refusion af transportomkostninger

Leverandørernes rabat på godtgørelse af transportomkostninger

Salg og afhændelse af anlægsaktiver

Afhændelse af anlægsaktiver

Salg af andre aktiver

Afhændelse af andre aktiver

Primær produktion

Grundproduktionen

Hjælpeproduktion

Supplerende produktioner

Generelle produktionsomkostninger

Generelle produktionsudgifter

Marketingafdeling (afgiftspligtig)

Markedsafgang (fradrag)

Marketingafdeling (ikke-afgiftspligtig)

Markedsafgang (ikke-afledbar)

Salg – hovedaktivitet

Salg/indtægter – hovedaktivitet

Salgsomkostninger

Bruttofortjeneste

Nettosalg

Generelle, salgs- og administrationsomkostninger

Salg af generelle og administrative udgifter

Kortlægningstabeller bruges også til generering af virksomhedsledelsesrapportering (normalt i holdingselskaber og virksomheder med filialer).

Grundlaget for opsætning af kortlægning er at gruppere regnskabsdata på en bestemt måde (i henhold til virksomhedens standarder).

Kort sagt, når vi opretter en virksomhedsrapporteringslinje, angiver vi præcis hvilke omsætninger (eller kontosaldi (underkonti)) og i hvilken rækkefølge det automatiske regnskabssystem skal bruge til at generere denne linje.

Kortlægning er de regler, du har fastsat, hvorefter de rapporter, du skal bruge, bliver genereret. De tekniske principper for generering af kortlægningslinjer er de samme for alle indberetningsskemaer, den eneste forskel er i indholdet.

I denne forbindelse skal det bemærkes, at kortlægning skal konfigureres af kvalificerede specialister og, vigtigere, på en samlet metodisk måde. Kortlægningsproceduren kræver ret meget tid.

Grundlaget for ledelsesregnskaber (såvel som regnskaber) er: kontoplan, budgetposter og diverse analytiske opslagsbøger.

Ledelseskontoplanen adskiller sig dog væsentligt fra standardkontoplanen, som bruges til regnskab for regnskab, da nogle af konti i ledelseskontoplanen (herefter benævnt MCA) kan have mere detaljerede analyser, og den anden del kan have mere omfattende analyser (det hele afhænger af de specifikke virksomheder). Strukturen af ​​analytiske opslagsbøger er også anderledes, da ledelsesrapporter kræver præsentation af regnskabsoplysninger i en helt anden sammenhæng end for regnskabsrapporter.

Selvfølgelig forbinder indikatorer i praksis ( kortlægning) ledelse, skat og regnskab (finansielt) regnskab forårsager mange problemer.
Lad os se på nogle af dem.

1. Manglende analyser i virksomhedens arbejdskontoplan (herefter benævnt WCA).

Dette er forståeligt, da virksomheder, der blev oprettet for en dag, ikke altid havde en langsigtet strategi, og aktionærernes interesser blev ikke altid respekteret. I dag har selve erhvervskulturen ændret sig. Aktionærer, herunder staten, viser stigende interesse for, hvor kompetent og dygtig ledere på alle niveauer leder virksomheden.
Løsningen på dette problem er at udvide og supplere virksomhedens eksisterende kassesystem og gradvist akkumulere oplysninger på nyindførte konti (underkonti).

Forståelse af de vigtigste tilgange til at konstruere en kontoplan såvel som de tre komponenter (finansiel, skat, ledelse) af et samlet regnskabssystem i en virksomhed, forudbestemmer behovet for at fremhæve tre grundlæggende komponenter i en systematisk tilgang til det finansielle regnskabssystem af en kommerciel organisation, nemlig:

  1. regnskab);
  2. skat;
  3. ledelsesmæssigt.

Mulige fortolkninger af de finansielle, skattemæssige og ledelsesmæssige komponenter i en systematisk tilgang til RPS er præsenteret nedenfor.

Økonomisk (regnskabs)komponent. Brugen af ​​RPS bør sikre muligheden for at generere alle (uden undtagelse) de resulterende regnskabsmæssige og analytiske indikatorer for eksterne regnskaber og forklarende noter i forbindelse med hovedbogskontiene på rapporteringsdatoen. Blokken af ​​regnskabskonti for RPS, der er involveret i dannelsen af ​​eksterne regnskabsrapporter, er finansielle konti. Til gengæld er finansielle konti opdelt i analytiske og syntetiske. Finansielle regnskabsunderkonti i RPS er mellemliggende mellem analytiske og syntetiske. Desuden kan finansielle analytiske og syntetiske konti, såvel som underkonti, repræsentere en integreret del af forvaltningskomponenten i RPS. For eksempel er de data, der afspejles i individuelle underkonti til finanskonto 90 "Salg", vigtige for at træffe ledelsesbeslutninger.

Når der dannes en gruppe af finansielle konti i RPS, skal følgende krav være opfyldt:

  1. mellem eksterne regnskabsposter og finansielle kontosaldi skal der etableres en korrespondance, der ikke kræver yderligere logiske operationer for at bestemme typen af ​​rapporteringspost;
  2. det mindst mulige sæt af finansielle konti i RPS skal være målrettet udformet baseret på sammensætningen af ​​indikatorer for ekstern finansiel rapportering;
  3. hver ekstern finansiel rapporteringsindikator skal hentes fra finansielle regnskabsdata ved hjælp af RPS uden yderligere afkodning eller justeringer.

Skattekomponent. Anvendelsen af ​​RPS i regnskabssystemet giver mulighed for at beregne skattegrundlaget og størrelsen af ​​overskuddet i skattemæssig henseende i overensstemmelse med kravene i kapitel. 25 Skattekodeks for Den Russiske Føderation. Implementeringen af ​​skattekomponenten af ​​en systematisk tilgang til RPS involverer:

  1. organisering af analytisk finansiel og skattemæssig regnskabsføring af udgifter og indtægter for at identificere deres indvirkning på størrelsen af ​​skattegrundlaget til beregning af en kommerciel organisations overskudsskat ved at detaljere de finansielle konti (01 - 99) RPS;
  2. udvikling af en liste over skattekonti (f.eks. 101-199). Deres implementering vil gøre det muligt at føre optegnelser over afvigelser i regnskabsdata for finansielle og skattemæssige regnskabsobjekter for at skabe skatteregnskab og skatteindberetning på grundlag af finansregnskab og finansiel rapportering;
  3. udvikling af regler, der gør det muligt at justere skattekomponentens indvirkning på den ensartede integrerede regnskabsindberetning for at eliminere dobbelt rapportering (resulterende) regnskabs- og analytiske indikatorer.

Ledelseskomponent. I RPS, for at opnå de resulterende regnskabsmæssige og analytiske indikatorer for ledelsens interne rapportering og ledelsesregnskab, er en blok af ledelseskonti allokeret (for eksempel 201-299). På disse forvaltningskonti foretages dobbelte reguleringer af finanskonti 01–99 ud fra brugernes krav til intern ledelsesrapportering. Fremover supplerer (korrigerer) data på forvaltningskonti 201–299 ved brug af visse regler dataene på finanskonti 01–99. Resultatet af sådanne handlinger er indikatorer for intern ledelsesrapportering.

Implementeringen af ​​ledelsesaspektet i en systematisk tilgang til dannelsen af ​​RPS involverer udvikling af:

  1. Regnskabspraksis bestemmelser (eksterne og interne), præcisering af kriterierne for indregning af regnskabsposter, deres vurdering samt oplysning om indholdet af ledelsesrapporteringsposter;
  2. undersystem af forvaltningskonti for det forenede RPS, der er nødvendigt til registrering og opsummering af afvigelser af forvaltningsregnskabsdata fra finansielle regnskabsdata;
  3. alternativ regnskabsaflæggelsessammensætning af ledelsesrapporteringsskemaer.

Når der dannes en blok af ledelseskonti for RPS, er det desuden nødvendigt at udvikle en tabel "Relation (mapping) mellem undersystemerne af finansielle og ledelseskonti med indikatorer for alternativ ledelsesrapportering."

Tabel 2. Kortlægning af russiske regnskabsmæssige (finansielle) regnskabsoperationer for at generere linjer i vi"Balance" (udtræk)

Debet omsætning

OS i organisationen

OS grupper:<все>

Investeret i langfristede
aktiver

Ikke skift

Divisioner:<все>

Uden ændringer

Projektkode:<все>

Udfold ikke

Deltager i gruppekontrol med et plus

Anlægsaktiver: Andre anlægsaktiver

Byggeprojekter (p): Indkomsttype for anlægsaktiver (modtagelse fra tredjeparter)

Debet omsætning

OS uden registrering

OS grupper:<все>

Ikke skift

Divisioner:<все>

Uden ændringer

Projektkode:<все>

Udfold ikke

Deltager i gruppekontrol med et plus

Anlægsaktiver: Andre anlægsaktiver

Byggeprojekter (p): Indkomsttype for anlægsaktiver (modtagelse fra tredjeparter)

Debet omsætning

MC i organisationen

Investeret i langfristede aktiver

Ikke skift

Uden ændringer

Udfold ikke

Deltager i gruppekontrol med et plus

Anlægsaktiver: Type af fast indkomst (Kvittering fra tredjeparter)

Debet omsætning

MC, foran. i midlertidig besiddelse

Entreprenører:<все>

Investeret i langfristede
aktiver

Ikke skift

Aftaler:<все>

Uden ændringer

Projektkode:<все>

Udfold ikke

Deltager i gruppekontrol med et plus

Anlægsaktiver: Andre anlægsaktiver

Byggeprojekter (p): Type ReceiptOS (Kvittering fra tredjeparter)

Debet omsætning

MC, foran. til midlertidig brug

Entreprenører:<все>

Investeret i langfristede
aktiver

Ikke skift

Aftaler:<все>

Uden ændringer

Projektkode:<все>

Udfold ikke

Deltager i gruppekontrol med et plus

Balance linje

Regnskabskonto

Valg efter subconto 1

Corr. regnskabskonto

Valg efter subconto 1

Udvælgelsesformel

Valg efter subkonto 2

Valg efter subkonto 2

Inverter tegn

Valg efter subkonto 3

Valg efter subkonto 3

momsregnskab

Udvælgelse efter subconto 4

Udvælgelse efter subconto 4

Udvid med

Valg efter subconto 5

Valg efter subconto 5

Deltagelse i en gruppekonto

BL00102 Taget i drift (+)

Sæt i drift (+)

Sæt i drift (+)

Sæt i drift (+)

Sæt i drift (+)

Sæt i drift (+)

Uden tvivl er beslutningen om at skabe et integreret regnskabssystem (økonomisk, skat og ledelse) i en kommerciel organisation og udvikle en samlet arbejdskontoplan for et sådant system baseret på en standardkontoplan ikke entydig. Teoretisk kan følgende tilgange anvendes til at konstruere en arbejdskontoplan for en kommerciel organisation (i tilfælde af brug af kontoplaner til tre typer regnskaber):

  • en enkelt integreret kontoplan for finans-, skatte- og ledelsesregnskaber;
  • integreret kontoplan for finans- og skatteregnskaber, autonom kontoplan for ledelsesregnskaber;
  • integreret kontoplan for finans- og ledelsesregnskaber; autonom kontoplan til skatteregnskab;
  • integreret kontoplan til skatte- og ledelsesregnskaber; autonom kontoplan for finansielt regnskab;
  • autonome kontoplaner for finans-, skatte- og ledelsesregnskaber.

2. Problemer med at konstruere opslagsværker og klassifikationer, hvoraf de vigtigste er:

  • kopiering af information i kataloger;
  • Forkert kodning af termmapper.

Det sker f.eks. ofte, at der ikke er en ensartet procedure for tildeling af koder og navne; den samme modpart kan være opført i telefonbogen to gange (Romashka LLC og Romashka LLC, andre muligheder og kombinationer) eller under forskellige navne (f.eks. under fuld og under forkortet). At søge efter de nødvendige data i et informationssystem ved hjælp af ustrukturerede mapper er ret kompliceret og ubelejligt. Desuden forårsager rod i opslagsbøger fejl i rapporteringen.

For eksempel vedligeholder hver virksomhed, der er en del af bedriften, i et vist omfang selvstændigt primære optegnelser, udvikler og opdaterer sine egne mapper. Dette arbejde på virksomheder udføres normalt af forskellige tjenester: finansafdelinger, marketingafdeling, juridisk afdeling osv. Alt dette giver dig mulighed for at træffe optimale ledelsesbeslutninger i en bestemt virksomhed. Forståelse og evne til at analysere den aktuelle tilstand af bedriften som helhed er imidlertid meget vanskelig på grund af informationens ustrukturerede og ensartede karakter.

En anden almindelig situation: I en af ​​virksomhederne var revisorer på grund af regelmæssige henvendelser fra marketingafdelingen til regnskabsafdelingen om salgsstrukturen nødt til manuelt at indsamle oplysninger i de nødvendige informationssektioner. Dette skyldtes det faktum, at salgsafdelingen ikke altid indtastede de data, der var nødvendige for den automatiske generering af de påkrævede rapporter, i biblioteket.

– Inkompatibilitet af dele af det automatiserede regnskabssystem.
For eksempel vedligeholder forsyningsafdelingen registre og kataloger for ITC i Cache-programmet, og regnskabs- (økonomiske) og ledelsesregistre og kataloger vedligeholdes i SAP R3, og der genereres også virksomhedsrapportering. Datapræsentationsformaterne i disse programmer er forskellige, så det er vanskeligt at konvertere data mellem dem og i nogle tilfælde direkte umuligt.

Ved udvikling af opslagsbøger skal følgende principper overholdes.

– Mappernes detaljer og struktur skal være sådan, at det er muligt hurtigt at behandle data og generere de påkrævede rapporter.

Hvis opslagsbogen ikke er detaljeret nok, vil det gøre det vanskeligt at skaffe de nødvendige oplysninger. Hvis du for eksempel midt på året skal finde ud af omkostningerne ved at producere reklamebrochurer bestilt af marketingafdelingen, og før det blev taget højde for alle markedsføringsomkostninger samlet, så skal du foretage et ekstra udvalg af oplysninger baseret på indirekte beviser (f.eks. fra trykkerier). (For bedrifter eller grupper af virksomheder vil detaljerne i katalogerne afhænge af kravene til strukturering af information ikke kun for en individuel virksomhed, men også for hele bedriften.)

Hvis opslagsbogen er meget detaljeret, så er det svært at fylde den med information og bruge den i dit arbejde. For eksempel kan "Cash Flow" biblioteket indeholde mere end tusind forskellige betalingsformål. Udarbejdelse af en pengestrømsrapport for grundlæggende betalinger til generaldirektøren vil tage meget tid, da du bliver nødt til at udføre den nødvendige gruppering (sammenlægning af indikatorer eller udvælgelse af de nødvendige oplysninger fra en række overflødige oplysninger). Derudover, når brugeren indtaster oplysninger, ved brugeren muligvis ikke, hvor han skal inkludere en bestemt betaling. Dette vil uundgåeligt føre til forkert valg af varer fra biblioteket eller klassificering af betalingen som "andet". Det kan anbefales at beskrive i detaljer, hvilke regnskabsobjekter der kan afspejles for hver linje i mappen.

– Kodning af bibliotekselementer bør eliminere duplikering af oplysninger og hjælpe med at fremskynde arbejdet med kataloget. Før du koder data, er det nødvendigt at bestemme, i hvilket af virksomhedens informationssystem referencemapperne vil blive lagret. Muligheden for at bruge visse koder vil i høj grad afhænge af systemets muligheder. Et sådant system kan være et regnskabsprogram, hvorfra information automatisk overføres til andre systemer, der bruger de samme mapper.

– Du bør undgå at bruge lignende kodninger i forskellige mapper.
For eksempel, hvis marketingafdelingen, når den analyserer salg, identificerer købergrupper ikke efter region, men efter by og region, så bør grupperne til analyse ikke falde sammen med koderne for føderale regioner. Ellers vil dette føre til fejl ved indtastning af oplysninger. Således er koden "77" indstillet til Moskva, og Belgorod-regionen er opført under denne kode på virksomheden. Som følge heraf kan en medarbejder tilskrive en bestemt type salg ikke til regionen, men til Moskva, og oplysningerne vil blive forvrænget. I dette tilfælde anbefales det at oprette koder af forskellig længde, for eksempel for at kode marketinggrupper, brug tre cifre (kode "770" for kunder i Belgorod-regionen);

Ideelt set Telefonbogskoden må ikke overstige 8 tegn. Ellers er data svære at indtaste, da koderne ikke let kan skelnes fra hinanden.

– Når du opretter indbyrdes forbundne mapper, bør duplikering elimineres. For at undgå fejl i mapper (på grund af den usystematiske og kaotiske karakter af at udfylde dem), er det nødvendigt at analysere oplysningerne i dem for at identificere data, der kan genereres af individuelle mapper.

– Efter at have udviklet et samlet katalogsystem, er det nødvendigt at sikre dets beskyttelse mod uautoriserede ændringer. Tilstrækkelig høj sikkerhed kan normalt opnås både ved brug af brugeridentifikationsmetoder og gennem afgrænsning af brugeradgangsrettigheder til information. Oftest, for at oprette og vedligeholde kataloger, udvikler virksomheder regler, der bestemmer, hvem der er ansvarlige for at indtaste oplysninger i kataloger og deres ændring.

Afslutningsvis skal det siges, at det er nødvendigt at løse ovenstående problemer inden opsætning af kortlægning. Ellers er det usandsynligt, at der kan genereres ledelsesrapportering. Selvom der genereres rapportering, er sandsynligheden for, at den bliver korrekt, praktisk talt nul. Årsagerne er indlysende:

  1. Fejl, der vises på grund af tidligere beskrevne problemer.
  2. Regnskabsfejl (både metodiske og regnskabsmæssige). Folk fører optegnelser, glem det ikke.
  3. Dernæst bør vi give en lang liste over forskellige typer fejl, hvis kilde vil være resultaterne af overlejringen af ​​paragraf 1 og 2. Men efter vores mening er dette unødvendigt.