Dynaamisen listan 1s uv-parametrit. Menetelmät tietojen hakemiseen ja tallentamiseen välimuistiin dynaamisen luettelon avulla

Monimutkaisten määräaikaisten laskelmien mekanismi mahdollistaa erilaisten palkkalaskentamallien toteuttamisen.

Monimutkaisten jaksollisten laskelmien mekanismin toiminnan varmistavat kaksi sovellusratkaisun objektia: Laskentatyyppien suunnitelma ja Laskentarekisteri.

Palkkatyyppisuunnitelmat ja palkkarekisterit palvelevat palkanlaskentamallien toteuttamista. Niiden avulla voit kuvata erilaisia ​​​​laskentatyyppejä (esim. palkka, henkilökohtainen lisämaksu, elatusapu, sakko jne.), asettaa sääntöjä, joiden mukaan tietyt laskentatyypit voivat vaikuttaa muun tyyppisten laskelmien tuloksiin, sekä tallentaa välitietoja ja laskelmien lopulliset tulokset. Näiden objektien avulla voidaan järjestää peruskertymän laskeminen, tuloveron laskenta, palkanlaskennan tulosten jakaminen kirjanpidon heijastamista varten jne.

Laskentatyyppien suunnitelma käytetään kuvaamaan laskentatyyppejä ja niiden keskinäistä vaikutusta toisiinsa. Sovellusratkaisussa laskentatyypeille voi olla mielivaltainen määrä suunnitelmia toteutetusta laskentamallista riippuen.

Laskurekisteri käytetään tietueiden tallentamiseen tietyntyyppisistä suoritettavista laskelmista sekä välitietojen ja itse laskelmien tulosten tallentamiseen. Sovellusratkaisu voi sisältää useita laskentarekistereitä, jotka on suunniteltu heijastamaan tietyn kirjanpito-osan tietoja.

Laskentarekisteri liittyy johonkin sovellusratkaisussa olevista laskentatyyppisuunnitelmista. Tämä yhteys saa jokaiseen rekisteritietueeseen Laskentatyyppi-kentän, jonka ansiosta rekisterimekanismit voivat seurata laskentatietueiden keskinäistä vaikutusta toisiinsa.

Laskentarekisterin tilan muutos tapahtuu yleensä tositteen kirjaamisen yhteydessä. Siksi jokainen rekisterimerkintä liittyy tiettyyn asiakirjaan - rekisterinpitäjään ja tämän asiakirjan rivinumeroon. Rekisterin merkintöjen lisääminen, muuttaminen ja poistaminen on mahdollista vain kaikille yhteen asiakirjaan liittyville merkinnöille samanaikaisesti.

Laskentarekisteri voidaan linkittää aikatauluun. Aikajana on tietorekisteri, joka sisältää aikakaavion laskelmiin osallistuvista lähdetiedoista. Tämän aikataulun dimensiot voivat olla esimerkiksi työaikataulu ja päivämäärä, ja resurssi voi olla tämän päivämäärän työtuntien määrä. Silloin on mahdollista liittää laskentarekisterimerkintä tiettyyn työaikatauluun ja tulevaisuudessa saada sisäänrakennetun kielen avulla tietoa laskelmien suorittamiseen tarvittavista työtuneista.

Raportit ja käsittely

Raportteja ja käsittelyä käytetään yhteenvetotietojen saamiseksi kätevässä muodossa katselua ja analysointia varten. Ne kuvaavat tiedonkäsittelyalgoritmeja, sisältävät erilaisia ​​muotoja näiden tietojen esittämiseksi käyttäjälle ja mahdollistavat taulukoiden ja erityyppisten kaavioiden käytön datan visuaaliseen esittämiseen.

"1C:Enterprise 8.1":ssä rooli on erillinen objekti, joka sijaitsee määrityspuun haaran Roolit-ryhmässä, ja joka kuvaa joukon käyttäjäoikeuksia suorittaa tiettyjä toimintoja kullekin objektille. Esimerkiksi organisaation johtajalla on täysi pääsy kaikkiin tietokantaan tallennettuihin tietoihin, kun taas varastonpitäjän tulee käsitellä vain varastoasiakirjoja, eikä hänellä ole pääsyä muihin tietoihin.

Konfiguraatiossa oleva rooli voi vastata eri käyttäjäryhmien paikkoja tai toimintoja, joille konfiguraatio on tarkoitettu.

Riisi. P2.20. Esimerkki roolien asettamisesta kokoonpanossa

Jokaiselle metatietoobjektille rooli määrittää, mitä toimintoja tässä roolissa oleva käyttäjä voi suorittaa tälle objektille:

Riisi. P2.21. Oikeuksien asettaminen kullekin roolille metatietoobjektin ominaisuuksissa Configuratorissa

Jokaiselle 1C:Enterprise-järjestelmässä työskentelevälle käyttäjälle on määritetty yksi tai useampi rooli (katso työpaja 1-2).

Jos käyttäjä yrittää suorittaa toiminnon, johon hänellä ei ole lupaa, toimintoa ei suoriteta ja järjestelmä näyttää varoitusikkunan "Pääsyvirhe!"

1 FIFO - englannista. "First Input, First Output" - "ensimmäisenä saapuva, ​​ensin menevä"

2 KUDiR - lyhenne "Tulojen ja kulujen kirja"

3 Esimerkiksi koulutusversion käyttäjät eivät saa päivityksiä, jotka vastaavat ohjelmatiedoissa määritellyn vuoden lakia

Yksi laskentarekistereillä ratkaistavista tehtävistä on rekisterin kierrosten saaminen kyselyillä virtuaaliseen perustietotaulukkoon tai GetBase()-menetelmällä. Rekisterin vaihtuvuus saadaan suuren määrän eri lähdetietojen perusteella, mukaan lukien laskentatyyppien suunnitelman asetukset ja sisältö, laskentarekisterin asetukset, virtuaalisen perustietojen taulukon parametrit jne. Mutta yksi tärkeimmistä rooleista perustietojen hankinnassa on laskentarekisterimittaukset.

Mittojen rooli virtuaalisen perustietojen taulukon parametroinnissa

Perustietojen virtuaalitaulukon yksi tärkeimmistä parametreista on lista dimensioista, joilla rekisterimerkintöjä verrataan tietoja summattaessa. Erilaisten ongelmien ratkaisemiseksi saatat joutua summaamaan rekisteriresurssit eri ulottuvuusjoukkojen perusteella. Katsotaanpa esimerkkiä palkkojen laskemiseen tarkoitetusta rekisteristä, jossa on kolme ulottuvuutta:

  • Organisaatio,
  • Yksilöllinen,
  • Alajako.
Kuvitellaan, että on tarpeen ratkaista seuraavat ongelmat:
  • Hankitaan tiettyjä tietueita liikevaihdon rekisteristä kaikista tietueista, joilla on sama jako kuin alkuperäinen tietue. Tämä voi olla esimerkiksi korvauksen laskeminen koko osaston kertymien mukaan.
  • Liikevaihdon saaminen tietueista, joilla on sama henkilö ja divisioona. Nuo. vastaanottaa samassa osastossa hänelle kertyneiden työntekijöiden kertymien määrä (saman työntekijän siirtoja, jotka hän sai muilta osastoilta, ei oteta huomioon).
  • Liikevaihdon saaminen saman henkilön ja saman organisaation tietueista (kaikki kertyvät henkilölle samassa organisaatiossa).

Kaikki yllä olevat tehtävät ratkaistaan ​​kyselyillä perustietojen virtuaaliseen taulukkoon. Tässä tapauksessa parametrit "Päärekisterimittaukset" ja "Perusrekisterimittaukset" ovat erilaiset kaikille kolmelle tehtävälle. Ensimmäisessä tapauksessa on yksi ulottuvuus - "jako"; toisessa - "Yksilö" ja "Yksikkö"; kolmannessa - "Organisaatio" ja "Yksilö".

Perustietojen hankinnan optimointi

Yllä luetelluissa tapauksissa järjestelmä suorittaa kyselyn perustietojen virtuaaliseen taulukkoon luotaessa kyselykielen suhteen laskentarekisteritaulukon "vasemman liitoksen" saman taulukon kanssa. Tässä tapauksessa yksi yhteysehdoista on arvojen yhtäläisyys pää- ja perusrekisterin dimensioksi määritellyissä kentissä. Tietysti tämän ehdon lisäksi on voimassaoloajan tai rekisteröintiajan vertailu peruskauden alkuun ja loppuun, laskentatyyppien vertailu jne., mutta "tiukin" rajoitus pääsääntöisesti on mittausarvojen rajoitus.

Jotta tuloksena oleva kysely toimisi tehokkaasti, on tärkeää, että laskentarekisteritaulukossa on indeksi, joka sisältää ensimmäisinä kenttinä vertailtujen ulottuvuuksien kentät.

Mahdollisuus indeksoida laskentarekisterin mitat mahdollistaa tällaisen ongelman ratkaisemisen, mutta vain siinä tapauksessa, että yhtä ulottuvuutta verrataan (esimerkissämme tehtävänä saada tietoja osastolle). Jos vertailukelpoisia ulottuvuuksia on kaksi tai useampia, on tarpeen rakentaa indeksi useille ulottuvuuksille kerralla.

Juuri tämän ongelman voit ratkaista laskentarekisterin Basic dimension -ominaisuuden avulla. Asettamalla tämän ominaisuuden useille ulottuvuuksille konfigurointisuunnittelija luo siten indeksin kaikille "perus"-merkityille dimensiolle (katso lisätietoja kohdasta "Tietokantataulukon indeksit").

Edellä esitetystä on selvää, että laskentarekisteriin voidaan luoda vain yksi tällainen indeksi perustietojen hankinnan optimoimiseksi valitsemalla tietyt mitat. Kehityksen aikana on siis tärkeää arvioida oikein, mitä virtuaalitaulukoita käytetään useimmin ja minkä suorituskyvyn optimointi on tärkeintä.

Palataanpa esimerkkiimme. Kuvitellaan, että suoritukset, jotka edellyttävät tietojen hankkimista yksilöstä ja osastosta, ovat vähemmän yleisiä konfiguroinnin aikana kuin suoritukset, jotka edellyttävät tietojen hankkimista yksilöstä ja organisaatiosta. Sitten "Organisaatio"- ja "Yksilö"-mitat tulee merkitä perusmitoiksi. Samalla joudumme sietämään, että perustietojen saaminen yksilöstä ja osastosta on suhteellisen hidasta.

Perusmittauksia valittaessa tulee myös arvioida niiden ”selektiivisyyttä”, ts. kuvittele kuinka monta arvoa tietyssä ulottuvuudessa on konfiguraatiota käytettäessä. Kuvitellaan, että esimerkissämme yhdellä yksilöllä voi olla hyvin vähän (yksi tai kaksi) organisaatiota ja suhteellisen monta divisioonaa. Nuo. Yksilölle maksetaan lähes aina palkkaa yhdestä organisaatiosta, ja samalla palkat lasketaan usein eri osastoille. Tällaisissa olosuhteissa on järkevämpää valita perusmitat "Yksilö" ja "Divisioona".

Mutta on tärkeää muistaa laskentarekisterin mittausjärjestys...

Tietoja mittausjärjestyksestä laskentarekisterissä

Tosiasia on, että luotaessa indeksiä, joka helpottaa perustietojen hankkimista, järjestelmä sisällyttää siihen dimensiot siinä järjestyksessä, jossa ne sijaitsevat konfigurointipuussa. Tämä tarkoittaa, että yksinkertaisesti "vaihtamalla" "yksityis"- ja "jako"-mitat, muutamme indeksin kenttien järjestystä.

Esimerkissämme, jos dimensiot ”Yksilö” ja ”Divisioonat” valitaan perusdimensioiksi, niin järjestämällä ne uudelleen emme muuta yksilön ja divisioonan perustietojen saamisnopeutta, vaan pahennamme tilannetta radikaalisti. tietojen hankkimiseen yksilöä ja organisaatiota varten. Kun verrataan arvoja "Organisaatio"- ja "Yksilö"-kentissä, järjestelmä ei voi käyttää Divisioona+Yksilö-indeksiä, koska "Yksilö"-kenttä ei ole siinä ensimmäinen, eikä ehtoa aseteta divisioona. Ja Henkilö+toimiala-indeksin tapauksessa hyötyvät sekä divisioonan ja henkilön perustietojen vastaanottaminen että organisaation ja henkilön perustietojen vastaanottaminen, koska "Yksilö"-kenttä on ensimmäinen. indeksi, järjestelmä voi käyttää sitä "osittain" (yksi kenttä kerrallaan) . Samaan aikaan "Yksilö"-kentässä on paljon suurempi "selektiivisyys" kuin "Organisaatio"-kentässä, eikä organisaation ehtojen selvittämiseen vie paljon aikaa.

Jos perusmitta on yksi

Älkäämme unohtako esimerkissämme olevaa tehtävää, joka sisältää perustietojen hankkimisen vain osastolle. Vaikuttaa siltä, ​​että luomalla indeksi Yksilö+jaosto ratkaisemaan kaksi muuta ongelmaa sulkee pois virtuaalisen perustietojen taulukon tehokkaan toiminnan yhdelle ulottuvuudelle "Divisioona". Mutta tässä meidän on muistettava mahdollisuus indeksoida rekisterimitat (Indeksointiominaisuus). Mahdollisuus indeksoida ulottuvuus mahdollistaa tehokkaan ratkaisun tietokannan hankkimiseen yhden perusulottuvuuden perusteella.

Näin ollen tarkastelemassamme esimerkissä on tarpeen asettaa perusominaisuuden arvoksi "Yksilö"- ja "Division"-mitat, Indeksointi-ominaisuus "Division"-ulottuvuukseksi ja myös varmistaa, että "Yksilö"-mitta on "korkeampi". " kuin "Divisioona"-mitta ("Organisaatio"-ulottuvuuden järjestys " ei ole tärkeä).


Avainsanat: laskentarekisteri, palkka, ZUP

Johdanto

Monet 1C-ohjelmoijat eivät ole koskaan kohdanneet "Laskenta"-komponenttia käytännössä, joten kun he joutuvat suorittamaan asiantuntijan kokeita alustalla 8.0, jossa jokainen tehtävä sisältää tehtävän monimutkaisista säännöllisistä laskelmista, syntyy vaikeuksia, pääasiassa ymmärrysvaikeuksia.
Yritetään selvittää tämä komponentti 8.0:ssa.

Erilaisten laskentaongelmien ratkaisemisen sijaan yritetään ymmärtää tämä komponentti, jotta voimme ratkaista minkä tahansa laskentatehtävän. Tutustuttuasi tähän käsikirjaan ymmärrät, kuinka laskentarekisterit rakentuvat ja toimivat. Käytämme esimerkiksi kokeiden aikana asennettua kehyskokoonpanoa. Ollakseni rehellinen, yritin pitkään selvittää, mihin muuhun laskelmia tarvitaan, mutta en saanut selvää, joten harkitsemme palkkojen laskemisen ongelmaa.

Mitä ovat laskelmat

Periaatteessa palkanlaskennan lopputuote on joukko palkkarekisterimerkintöjä, joiden muoto on:

"Tiedot" -sarakkeen arvo heijastaa työntekijän peruspalkkaa (työsopimuksen mukaan), mutta tätä määrää voidaan korottaa bonuksilla, vähentää sakkoilla ja poissaoloilla jne., joten todellinen maksettava summa merkitään jälkeen. laskelma sarakkeessa "Tulos". Tämä on laskelma. Tämän työntekijän "Resurssi"-sarakkeessa oleva summa on hänelle maksettava palkka.

Laskentarekisteri on siis olennaisesti tietueiden joukko, joka on rakenteeltaan samanlainen kuin neuvoteltavissa oleva akkumulaatiorekisteri. Monimutkaisten laskelmien suorittamiseksi sille määritetään lisäasetukset, joiden avulla voit rakentaa monia virtuaalisia taulukoita laskentarekisteriä varten, vaikka pohjimmiltaan tämä rekisteri on vain kuvassa esitetty tietuejoukko.

Jokainen selvitysrekisterin merkintä liittyy tiettyyn selvitystyyppiin ja ajanjaksoon.

Laskujen tyypit

Jokaisella laskentatyyppien tietueella on palveluattribuutti - laskentatyyppi.

Laskentatyyppiä voidaan pitää osana erityistä hakuteosta, kuten "Laskentatyyppien suunnitelma" - siinä on myös yksityiskohtia, taulukkoosia, ennalta määritettyjä ja käyttäjän luomia elementtejä. Järjestelmässä voi olla useita tällaisia ​​"hakemistoja".

Tehdään esimerkiksi suunnitelma päälaskennan tyypeille ja siihen ennalta määritellyt palkan, bonusten, poissaolojen, työmatkan laskentatyypit.

Laskentatyyppejä käytetään toiminnallisesti kuvaamaan laskentarekisterimerkintöjen vaikutusta toisiinsa. Mutta lyhyesti sanottuna he puhuvat laskentatyyppien vaikutuksesta toisiinsa:

Johtavat laskelmat

Laskenta riippuu johtavasta laskelmasta, mutta ei suoraan, vaan välillisesti, ts. laskelma A riippuu peruslaskelmasta B ja laskenta B riippuu peruslaskelmasta B, joten A riippuu epäsuorasti B:stä, ts. A riippuu johtavasta laskelmasta B. Itse asiassa, kun laskutoimitus C muuttuu, B voi muuttua ja siksi A voi muuttua. Järjestelmä ei seuraa automaattisesti tällaisia ​​monimutkaisia ​​​​riippuvuuksia, joten sinun on ilmoitettava, mitkä laskelmat johtavat.

Bonus riippuu palkan perusteesta, mutta välillisesti myös poissaoloista.

Tämän vaikutuksen vuoksi asutusrekisterimerkinnän voimassaoloaika on jaettu neljään jaksoon:
1. Ilmoittautumisaika. Millä ajanjaksolla tapahtuma tallennettiin, ts. yleensä kun asiakirja syötetään.
2. Voimassaolo. Millä ajanjaksolla tapahtuma toimii, ts. mihin ajanjaksoon tapahtuma kuuluu.
3. Perusjakso. On järkevää vain jaksoille, joilla on perusjakso - kuvaa perusjakson väliä.
4. Todellinen voimassaoloaika. Jos voimassaoloaika korvataan muuntyyppisillä laskelmilla, niin varsinainen voimassaoloaika koostuu useista ajanjaksoista, jolloin tämäntyyppinen laskenta on tosiasiallisesti voimassa.

Ilmoittautumisaika määritellään yhdellä numerolla – jakson alku, joka vastaa laskentarekisterin tiheyttä. Vaikka asettaisimmekin eri päivämäärän tähän palvelukenttään, se korvataan silti kauden alussa. Jäljellä olevat jaksot määritetään kahdella kentällä – jakson alussa ja lopussa. Todellinen voimassaoloaika on joukko jaksoja, koska se voi koostua useista päivämääräväleistä.

Aikakaaviot

Järjestelmässä on mahdollisuus linkittää laskentarekisterien tiedot aikakaavioihin, jotta työtuntien määrä voidaan saada mille tahansa ajanjaksolle.

Aikajana on yksinkertainen tietorekisteri, jonka yksi ulottuvuus tallentaa päivämäärän, toinen on liitetty dimensioon laskentarekisterin avulla ja yhtä resursseista käytetään ajan seurantaan.
Laskentarekisteriin liittyvällä mittauksella on yleensä "kaavionäkymä".




Päivämäärä Kaavion tyyppi Merkitys
11.01.05 peViisi päivää8
11.01.05 peKuusi päivää8
12.01.05 laViisi päivää0
12.01.05 laKuusi päivää8

Miksi käyttää päivämääräulottuvuutta säännöllisen tietorekisterin sijaan? Kaikki on hyvin yksinkertaista - jos 11. tammikuuta perjantaina, viisipäiväisellä viikolla, meillä on 8 työtuntia, se ei tarkoita, että seuraavana päivänä meillä olisi taas 8 työtuntia. Mutta jos käyttäisimme jaksollista rekisteriä, seuraavan päivän arvo otettaisiin edellisestä päivästä, jos tietueita ei ole.

Näin ollen tietyllä ajanjaksolla (todellinen toimenpide, rekisteröinti, perusjakso jne.) voimme automaattisesti saada tämän ajanjakson tuntimäärät aikataulun mukaisesti.

Uudelleenlaskenta

Uudelleenlaskenta muistuttaa jonkin verran sarjan rajaa. Koska meillä on riippuvaisia ​​laskelmia, niin niiden perus- ja päälaskutoimituksia vaihdettaessa järjestelmän on jotenkin huomioitava, että riippuvaiset laskelmat on laskettava uudelleen. Tätä varten on uudelleenlaskelmat.

Jos laskemme perustietueet, järjestelmä merkitsee allokointeihin, että meidän on laskettava riippuvat tietueet. Kun olemme laskeneet riippuvat tietueet, allokaatiot tyhjenevät. Pohjimmiltaan allokaatiot ovat luettelo laskentarekisterimerkinnöistä, jotka on allokoitava. Jos et syötä mittauksia uudelleenlaskennassa, peruslaskelmien muuttuessa kaikki riippuvat tietueet lisätään uudelleenlaskentaluetteloon. Jos luomme uudelleenlaskennassa "Työntekijä" -ulottuvuuden, niin kun työntekijän peruslaskelmaa muutetaan, vain tämän työntekijän riippuvaiset tietueet lisätään uudelleenlaskelmiin.

Käytännön tehtävä

Teoriaa riittää. Yritetään tutkia yksityiskohtia käytännössä. Otetaan kehyskokoonpano pohjaksi.

Ongelman muotoilu:

Olkoon bonus määrätty kiinteänä prosenttiosuutena palkasta (miinus poissaolot ja matkakorvaukset).
Maksetaan matkakorvaukset kaksinkertaisena palkkana + kiinteä summa jokaiselta matkapäivältä.

Työntekijältä peritään poissaoloajalta sakko puolet palkasta.

Edistyminen:

Alkukoulutus

Luodaan uusi suunnitelma laskentatyypeille "Pää".

Määritellään laskelmien tyypit ja niiden väliset riippuvuudet:

Lisätään nämä laskelmat "Pää"-laskentatyyppisuunnitelmaan ja asetetaan laskentatyyppien ominaisuuksien riippuvuudet taulukon mukaan.

Palkkalaskentarekisteriin luodaan "Yksilöt"-tyyppiseen "Työntekijä"-ulottuvuus - jotta rekisteriin tulee analytiikkaosio työntekijöille.

Kokoonpano sisältää jo "Payroll" -asiakirjan.

Sen otsikossa on kaksi päivämäärää - "päivämäärä" ja "rekisteröintikausi" sekä kaksi päivämäärää "aloituspäivä" ja "päättymispäivä" kullakin rivillä.

Ymmärretään, että päivämäärä on yksinkertaisesti asiakirjan laatimispäivä, rekisteröintiaika osoittaa, mille kuukaudelle laskemme palkan, ja päivämäärät jokaisella rivillä kuvaavat kunkin laskentatyypin voimassaoloaikaa.

Lisätään "Data"-attribuutin alkuasetus dokumenttimoduuliin - syötämme aloituspalkan, asettamalla siihen ilmoittautumisajan, voimassaoloajan ja perusajan.

Dokumenttimoduuli näyttää suunnilleen tältä:

Kullekin TechStringList-listajaksolle // rekisteröidy Laskelmat Movement = Liikkeet.Laskut.Lisää(); Move.Reversal = False; Movement.CalculationType = TechStringList.CalculationType; Movement.ActionPeriodStart = Aloituspäivä(TexListList.StartDate); Movement.ActionPeriodEnd = EndDay(TexLineList.EndDate); Movement.Registration Period = rekisteröintijakso; Movement.BasePeriodStart = Aloituspäivä(TexListList.StartDate); Movement.BasePeriodEnd = EndDay(TexListList.EndDate); Movement.Employee = TechStringList.Employee; Movement.Work Schedule = TechStringList.Graph; Liike.Tulos = 0 ; Motion.Data = TechStringList.Size; EndCycle;

"Käänteinen"-attribuuttia tarvitaan merkintöjen kääntämiseen (vastaavasti miinusmerkkiin).

Ilmoitamme laskennan tyypin ja asetamme päivämäärät päivän alkuun ja loppuun. Tietysti perusjakson voi syöttää vain perusteesta riippuville laskentatyypeille ja Dataa vain palkalle, mutta kaikki toimii niin.

Päiväämme kaikki asiakirjat 20.1.2003, rekisteröintijaksoksi asetetaan 01.02.2003 (en nimenomaan ilmoita alku- ja lopputietoja, sillä ei ole tässä väliä, joka tapauksessa Ilmoittautumisaikana kirjattaessa se muunnetaan kauden alkuun 01/01/2003). Käytämme tammikuuta 2003, koska tämän ajanjakson työaikataulut olivat valmiit.

Luodaan uudelleenlaskenta "Uudelleenlaskenta" ja lisätään siihen "Työntekijä"-ulottuvuus, joka liittyy "Työntekijä"-mittaan.

Uudelleenlaskennan kanssa leikkiminen

Pelin pelaamista varten avataan pyyntökonsoli – "RandomRequest" käsitellään kehyskokoonpanossa. Tehdään uusi kysely kyselysuunnittelijalla, lisätään virtuaalitaulukko Recalculations.Calculations.Recalculation sinne, kyselyn teksti tulee olemaan seuraava:

VALITSE LaskutoimituksetUudelleenlaskenta.Uudelleenlaskentaobjekti, LaskutUudelleenlaskenta.Laskentatyyppi, LaskutUudelleenlaskenta.Työntekijä FROM RekisteristäLaskennat.Laskelmat.Uudelleenlaskenta AS LaskutUudelleenlaskenta

Luodaan kolme dokumenttia - ensin maksamme palkan työntekijöille A ja B. Työntekijä A työskentelee 1.-31.1, B työskentelee 1.-20.1. Toinen palkitsee työntekijää B ajalta 1.-31.1., kolmas määrää työntekijän A poissaolot 20.-25.1.

Todellisen voimassaoloajan pelaaminen

Luodaan uusi kysely - tällä kertaa lisäämme tiedot taulukosta Calculation Registers.Calculations.ActualActionPeriod.

Luodaan pyyntö ja katsotaan, että työntekijän A palkkakausi on jaettu kahteen jaksoon - 1.-19.1 ja 26.-31.1. Toivottavasti ymmärrät, että ajanjakso jakautui kahteen, koska... poissaolot korvasivat palkan.

Luulen, että laskentarekisterin toimintamekanismit selkiytyvät silmiemme edessä.

Kaavioiden opiskelu

Yritetään nyt laskea palkka työntekijän palkan perusteella.

Tehdään uusi kysely laskentarekisteriin Laskutoimitusrekisterit -sovelluksella. Tälle virtuaalitaulukolle voit asettaa parametrin - ehdon tietueiden valinnalle, esimerkiksi Työntekijä=&Valitse työntekijä ja Laskentatyyppi=&Laskentatyyppi ja Kaavio=&Grafiikkatyyppi.
Laitetaan pyyntöparametreihin tietyt työntekijät, laskentatyypit ja aikataulut ja katsotaan kuinka monta tuntia on tuloksena.

Artikkeli on vielä kesken, paljon voidaan parantaa, mutta kuinka nuoren taistelijan kurssi menee.

Monimutkaisten määräaikaisten laskelmien mekanismi mahdollistaa erilaisten palkkalaskentamallien toteuttamisen. Mekanismin toiminta perustuu kahteen osaan.

Toisaalta monimutkaisten jaksollisten laskutoimitusten mekanismi sisältää työkaluja, joilla voidaan kuvata erilaisia ​​sovellusratkaisussa käytettäviä laskelmia. Tämä voi olla esimerkiksi palkka, elatusapu, sakko jne. Tämän tyyppisten laskutoimitusten varsinaisen kuvauksen lisäksi on mahdollista asettaa sääntöjä, joiden mukaan tietyt laskutyypit vaikuttavat muuntyyppisiin laskelmiin.

Toisaalta tämä mekanismi tarjoaa mahdollisuuden tallentaa välitietoja, joita käytetään laskelmien suorittamiseen, ja laskelmien lopulliset tulokset.

Monimutkaisten jaksollisten laskelmien mekanismin toiminta varmistetaan kahdella sovellusratkaisun objektilla:

Laskentatyyppien suunnitelma ja laskentarekisteri.

Laskentatyyppien suunnitelman avulla kuvataan laskentatyypit ja niiden keskinäinen vaikutus toisiinsa. Sovellusratkaisussa laskentatyypeille voi olla mielivaltainen määrä suunnitelmia toteutetusta laskentamallista riippuen:

Laskentarekisteriin tallennetaan tietueita tietyntyyppisistä suoritettavista laskutoimituksista sekä tallennetaan välitietoja ja itse laskelmien tuloksia. Sovellusratkaisu voi sisältää useita laskentarekistereitä, jotka on suunniteltu heijastamaan tietyn kirjanpito-osan tietoja:

Laskentatyyppien suunnitelma

Laskentatyyppisuunnitelman rakenne
Laskentatyyppien suunnitelma on luettelo laskentatyypeistä. Jokaisella laskentatyypillä on koodi, nimi ja joukko tietoja, jotka sisältävät lisätietoja tämäntyyppisestä laskutoimituksesta:

Esimerkiksi organisaatioiden peruskertymien laskentatyyppien suunnitelma voi näyttää tältä:

Laskentatyyppien luomisen ja muokkaamisen voi suorittaa sekä kehittäjä (ennalta määritetyt laskentatyypit) että käyttäjä työskennellessään sovellusratkaisun parissa. Käyttäjä ei kuitenkaan voi poistaa kehittäjän luomia laskentatyyppejä.

Laskentatyyppisuunnitelmaan luodut laskentatyypit voivat vaikuttaa toisiinsa. Järjestelmä tukee kahta tyyppistä tällaista vaikutusta: riippuvuutta perusjaksolla ja siirtymää voimassaoloajan mukaan.

Voit määrittää kullekin laskentatyypille luettelon laskentatyypeistä, joista se riippuu perusjaksolla ja joka korvaa sen voimassaoloaikana.

Esimerkiksi elatusapulaskennan tyyppi voi riippua peruskaudesta seuraavissa laskentatyypeissä:

Ja laskentatyyppi Palkka voidaan korvata laskentatyypillä Poissaolo:

Näiden riippuvuuksien lisäksi laskentatyypille voidaan määrittää ns. johtavat laskentatyypit - sellaisia, joista se ei suoraan riipu, mutta jotka voivat vaikuttaa siihen muuntyyppisten laskelmien kautta.

Laskentatyypit suunnitelmalomakkeet
Jotta käyttäjä voisi tarkastella ja muuttaa laskentatyyppisuunnitelman sisältämiä tietoja, järjestelmä tukee useita sen esitysmuotoja. Järjestelmä voi luoda automaattisesti kaikki tarvittavat lomakkeet; Tämän lisäksi kehittäjällä on mahdollisuus luoda omia lomakkeita, joita järjestelmä käyttää oletuslomakkeiden sijaan:

Voit tarkastella laskentatyyppejä luettelolomakkeella. Sen avulla voit selata luetteloa, lisätä, merkitä poistettavaksi ja poistaa laskentatyyppejä. Luettelolomakkeella voit lajitella ja valita näytettävät tiedot useiden kriteerien mukaan:

Voit tarkastella ja muuttaa yksittäisten laskentatyyppien tietoja käyttämällä laskentatyyppilomaketta. Pääsääntöisesti se esittää tiedot helposti ymmärrettävässä ja muokattavassa muodossa:

Näiden kahden laskentatyyppien lomakkeen lisäksi tuetaan lomaketta tiettyjen laskentatyyppien valitsemiseksi luettelosta. Se sisältää yleensä vähimmäistietojoukon, joka tarvitaan yhden tai toisen laskentatyypin valitsemiseen.

Laskurekisteri

Laskentarekisterin rakenne
Laskentarekisterin tiedot tallennetaan tietueiden muodossa, joista jokainen sisältää mittausarvot ja vastaavat resurssiarvot.

Rekisterin dimensiot kuvaavat osiot, joihin tietoja tallennetaan, ja rekisteriresurssit sisältävät suoraan tallennetut tiedot. Esimerkiksi laskentarekisteriin Organisaatioiden työntekijöiden peruskertymät, jonka rakenne on seuraava:

Tietokantaan tallennetut tietueet näyttävät tältä:

Suhde laskentatyyppisuunnitelmaan
Laskentarekisteri liittyy johonkin sovellusratkaisussa olevista laskentatyyppisuunnitelmista. Tämä yhteys saa jokaiseen rekisteritietueeseen Laskentatyyppi-kentän, jonka ansiosta rekisterimekanismit voivat seurata laskentatietueiden keskinäistä vaikutusta toisiinsa.

Jaksoisuus

Laskentarekisteri tallentaa tietoja paitsi luotujen mittausten, myös ajan suhteen. Tämä on syy siihen, että jokaista laskentarekisterimerkintää varten on olemassa yksi pakollinen kenttä - Voimassaoloaika. Laskentarekisteriä luodessaan kehittäjä voi määrittää minimitiheyden, jolla merkintöjä syötetään rekisteriin:

Rekisterinpitäjän alaisuudessa
Laskentarekisterin tilan muutos tapahtuu yleensä tositteen kirjaamisen yhteydessä. Siksi jokainen rekisterimerkintä liittyy tiettyyn asiakirjaan - rekisterinpitäjään ja tämän asiakirjan rivinumeroon. Rekisterin merkintöjen lisääminen, muuttaminen ja poistaminen on mahdollista vain kaikille yhteen asiakirjaan liittyville merkinnöille samanaikaisesti.

Suhde aikajanaan
Laskentarekisteri voidaan linkittää aikatauluun. Aikajana on tietorekisteri, joka sisältää aikakaavion laskelmiin osallistuvista lähdetiedoista. Tämän aikataulun dimensiot voivat olla esimerkiksi työaikataulu ja päivämäärä, ja resurssi voi olla tämän päivämäärän työtuntien määrä. Silloin on mahdollista liittää laskentarekisterimerkintä tiettyyn työaikatauluun ja tulevaisuudessa saada sisäänrakennetun kielen avulla tietoa laskelmien suorittamiseen tarvittavista työtuneista.

Esimerkiksi aikajana, jolla on seuraava rakenne:

Uudelleenlaskelmat
Laskentarekisteri voi sisältää erikoisobjekteja - Uudelleenlaskennot:

Näihin objekteihin järjestelmä tallentaa tietoa siitä, mitkä laskentarekisterin merkinnät ovat menettäneet merkityksensä ja joutuvat laskemaan uudelleen riippuvuusmekanismien toiminnan seurauksena perusjaksolla ja häätöllä voimassaoloajalta.

Ennätysten ainutlaatuisuus
Järjestelmä ohjaa laskentarekisteriin tallennettujen tietueiden yksilöllisyyttä. Siksi laskentarekisteri ei voi sisältää kahta merkintää, jotka liittyvät saman tositteen samaan riviin.

Laskentarekisterin toteuttamat mekanismit

Ennakkoosto voimassaoloajan mukaan
Voimassaoloajan etuostomekanismin avulla voit laskea selvitysrekisterimerkinnän todellisen voimassaoloajan muiden rekisteriin sisältyvien merkintöjen analyysin perusteella.

Yleensä selvitysrekisterimerkintä sisältää kaksi päivämäärää, jotka määrittelevät ajan, jonka merkintä on voimassa. Tätä ajanjaksoa kutsutaan sisääntulon voimassaoloajaksi. Jos laskentatyyppi, johon tietty merkintä liittyy, voidaan kuitenkin korvata jollain toisella laskentatyypillä, niin kyseisen merkinnän voimassaoloaika on vain "pyydetty" jakso, eli "haluamme merkinnän olevan voimassa tällä ajanjaksolla .” Todellisuudessa tämän tietueen todellinen voimassaoloaika voidaan määrittää vasta sen jälkeen, kun on analysoitu kaikki laskentatyyppien tietueet, jotka korvaavat tämän tyyppisen laskutoimituksen voimassaoloajalla. Todellinen voimassaoloaika on joukko ajanjaksoja, jotka ovat osajoukko merkinnän alkuperäisestä voimassaoloajasta. Jos tietuetta ei löydy, joka syrjäyttää annetun tietueen voimassaoloajan suhteen, tämän tietueen todellinen voimassaoloaika on yhtä suuri kuin sen voimassaoloaika. Toinen äärimmäinen elinikäisen häädön tapaus on, kun tietty tietue syrjäytetään kokonaan muiden tietueiden takia. Tässä tapauksessa merkinnällä ei ole todellista voimassaoloaikaa.

Jokainen selvitysrekisterimerkintä sisältää selvitystyypin, johon se liittyy. Sen määrittämiseksi, mitkä merkinnät korvaavat tietyn merkinnän voimassaoloajalla, palkkarekisteri käyttää linkkiä palkkalajisuunnitelmaan, joka kuvaa palkkatyyppien keskinäistä vaikutusta toisiinsa. Tämän suhteen avulla palkkarekisteri voi määrittää kunkin merkinnän todellisen voimassaoloajan.

Riippuvuus perusjaksoittain
Perusjaksoriippuvuusmekanismin avulla voit saada perusarvon laskentarekisterimerkinnälle perustuen muiden rekisteriin sisältyvien merkintöjen analyysiin.

Kanta on numeerinen arvo, jota on käytettävä tietyn tietueen tuloksen laskemiseen. Kanta lasketaan analysoimalla muiden kirjausten laskentatuloksia, joista tämä kirjaus perustuu perusjaksolle. Yleisessä tapauksessa laskentarekisteritietue sisältää siis kaksi päivämäärää, jotka määrittävät ajanjakson, jolloin on tarpeen analysoida laskentatyyppien tietueita, joista tämäntyyppinen laskenta riippuu perustasta - perusjaksosta. Laskentatyyppisuunnitelman linkin avulla laskentarekisteri voi määrittää laskentatyypit, joista tietty laskentatyyppi perustuu perusjaksolle.

Laskentarekisteri tukee kahta tyyppistä riippuvuutta perusjaksosta:

  • riippuvuus voimassaoloajasta;
  • riippuvuus rekisteröintiajasta.

Jos kyseessä on riippuvuus voimassaoloajasta, perusteen saamiseksi valitaan ne tietueet, joille löydetään niiden todellisen voimassaoloajan leikkauspiste tämän tietueen perusajan kanssa. Tietystä vaikuttavasta tietueesta saatavan kannan arvo ei yleensä ole sama kuin tulos, jonka tämä tietue sisältää. Kanta lasketaan suhteessa siihen osuuteen vaikuttavan tietueen todellisesta ajanjaksosta, joka on päällekkäinen määritetyn perusjakson kanssa. Tämä käyttää tähän tietueeseen liittyviä kaaviotietoja.

Mikäli rekisteröintijakso on riippuvainen, perusteen saamiseksi valitaan niiden tietueiden laskentatulokset, jotka kuuluvat tämän tietueen perusjaksoon "Rekisteröintiaika"-kentän arvolla.

Monimutkaisin versio riippuvuudesta perusjaksosta on tapaus, jossa tämän tietueen laskentatyypille on asetettu "Voimassaoloaika on perusjakso" -ominaisuus. Tämä ominaisuus tarkoittaa, että tämän tietueen perusjaksona ei käytetä perusjaksoa, joka on määritetty tietueen vastaavissa kentissä, vaan tietueen todellista voimassaoloaikaa, joka saadaan tietueen häätömekanismin toiminnan tuloksena. voimassaoloaika ja joka yleensä on joukko jaksoja.

Luodaan uudelleenlaskentatietueita
Uudelleenlaskentatietueiden generointimekanismi valvoo, että rekisteriin ilmestyy tietueita, jotka vaikuttavat olemassa olevien tietueiden laskentatulokseen. Mahdollisuus uusien tietueiden vaikuttamiseen olemassa oleviin määritetään laskentatyyppien keskinäisen vaikutuksen analyysin tuloksena ja perustuen voimassaoloajan syrjäytysmekanismien toimintaan ja perusjakson riippuvuuteen.

Uudelleenlaskentatietueiden generointimekanismin tulos on joukko uudelleenlaskentatietueita, jotka sisältävät tietoa siitä, mitkä rekisterimerkinnät tulisi laskea uudelleen (uudelleen laskettava).

Laskentarekisterilomakkeet
Jotta käyttäjä näkee laskentarekisterin sisältämät tiedot, järjestelmä tukee laskentarekisterin esittämislomaketta - listalomaketta. Sen avulla voit lajitella ja valita näytettävät tiedot useiden kriteerien mukaan:

Järjestelmä voi luoda tämän lomakkeen automaattisesti. Tämän lisäksi kehittäjällä on mahdollisuus luoda omia lomakkeita, joita järjestelmä käyttää oletuslomakkeen sijaan, mukaan lukien tietuejoukkolomake, jolla voit lisätä, muuttaa ja poistaa laskentarekisterimerkintöjä.

Laskentarekisteritoiminto
Laskentarekisterin kehittäjälle tarjoamat päätoiminnot ovat:

  • valitaan tietueita tietyllä aikavälillä määritettyjen kriteerien mukaisesti;
  • tietueiden valinta rekisterinpitäjän toimesta;
  • perusarvon hankkiminen rekisterimerkinnöille, jotka täyttävät määritellyn valinnan;
  • aikatauludatan hankkiminen rekisterimerkinnöille, jotka täyttävät tietyn valinnan;
  • uudelleenlaskettavien tietueiden tietojen hankkiminen;
  • tietuejoukon lukeminen, muokkaaminen ja kirjoittaminen rekisteriin.