Jotkut kulunvalvontajärjestelmän ajanjakson asettamisen ominaisuudet.

Useimmat raportit, jotka on kehitetty käyttämällä Data Composition System (DCS) -järjestelmää, edellyttävät, että käyttäjä syöttää ajanjakson, jolle raportti laaditaan.

Pääsääntöisesti ACS:ssä jakson syöttö järjestetään parametrien avulla seuraavaa rakennetta käyttäen, katso. Tätä ajanjakson syöttötapaa pidetään "klassisena"; se on kuvattu ITS:ää käsittelevässä artikkelissa ja muussa 1C:n kehittämiseen omistetussa kirjallisuudessa, joten otetaan se pohjaksi. Tarkastellaanpa esimerkkinä yksinkertaista pyyntöä, joka vastaanottaa kaikki asiakirjat Tavaroiden ja Palveluiden myynti tietyltä ajanjaksolta, ks.

Tätä raporttia käytettäessä käyttäjä asettaa ajanjakson parametrien kautta, katso Kaikki näyttää olevan oikein..., MUTTA on pieni ongelma:

Asia on, että suurin osa käyttäjistä "ymmärtää" ajanjakson eri tavalla kuin 1C "ymmärtää" sen, esimerkkejä:

Käyttäjän näkökulmasta ajanjaksoa ei ole määritelty, eli RAJOITTAmaton, eli KAIKKI asiakirjat ilman päivämäärärajoituksia on sisällytettävä raporttiin.

1C-järjestelmän "näkökulmasta" jaksoparametri on asetettu ja ... sen molemmat rajat ovat yhtä suuria kuin 01/01/0001 ja raporttiin sisällytetään vain asiakirjat, joissa on tyhjä päivämäärä, mikä käytännössä tarkoittaa, ettei yhtäkään asiakirjaa sisällytetä.

Käyttäjän näkökulmasta raportin tulee sisältää kaikki asiakirjat 28.1.2010 alkaen.

1C:n "näkökulmasta" ajanjakso 28.1.2010 - 1.1.0001 aiheuttaa poikkeuksen.

Voit tietysti yrittää selittää käyttäjälle, miksi raportti ei näytä asiakirjoja, joita hän odottaa näkevänsä ja kuinka ajanjakso esitetään 1C:n "näkökulmasta", mutta tämä on kiittämätön tehtävä, ja se on myös väärin. Hyvän ohjelman tulee ensinnäkin olla käyttäjäystävällinen, koska ohjelma on olemassa käyttäjää varten, eikä päinvastoin, joten sinun on "opetettava" 1C ymmärtämään ajanjakso sellaisena kuin käyttäjä sen ymmärtää, nimittäin:

1). Kauden alkua ja Kauden loppua ei ole määritetty -> kaikki asiakirjat.

2). Vain jakson alku on määritetty -> kaikki jakson alusta alkavat asiakirjat

3). Lisäksi tarkistetaan, että Jakson loppu >= Jakson alku, ja jos tämä ei pidä paikkaansa, oletetaan, että Jakson loppua ei ole määritetty, ts. 2).

Yllä olevan perusteella Lopetuspäivä-parametrin lauseke on:

WHEN &Jakso.Loppupäivä=DATETIME(1,1,1)

SITTEN DATETIME(3999;12;31)

MILLOIN &Jakso.Loppupäivä<&Период.ДатаНачала

SITTEN DATETIME(3999;12;31) DATETIME(3999;12;31;23;59,59)

&Kausi.Loppupäivä

Kauden valintasuunnittelumme lopullinen muoto on esitetty

Huomautus: tämä parametrien asettamismekanismi on tarkoitettu vanhemmille alustoille 1C 8.1 ja 8.2 (ja niiden ohjauksessa oleville kokoonpanoille); 1C-alustan vanhemmissa versioissa on sisäänrakennetut mekanismit tyhjien parametrien ohjaamiseksi, eikä mekanismiin tarvitse turvautua Tässä artikkelissa kuvataan, lisäksi joissakin 1C-alustan versioissa virheet ja virheellinen toiminta ovat mahdollisia.

Joten aloitetaan.

Yksinkertaisuuden vuoksi, esimerkin ymmärtäminen, rakennamme yhden yksinkertaisen kiertävän kertymärekisterin.

Minun tapauksessani tämä on kertymärekisteri "Work in Progress Accounting".

Osoitamme esimerkiksi sen parametrit tiukasti (ei pehmeällä parametrien asettamisella kulunvalvontajärjestelmään):

Huomaa, että virtuaalitaulukon taajuus on "Record".

Mutta kuten edellä todettiin, tarvitsemme jaksoa jaksollisuuden suhteen, joten ehdotan "Jakso"-kentän laskemista seuraavalla tavalla (ei kovin mukavaa, mutta en ole nähnyt parempia vaihtoehtoja):

Kuten kuvakaappauksesta näkyy, pyyntöön välitetään parametri, jonka käyttäjä määrittää lomakkeella: "Frequency" -luettelon arvo - tämä luettelo löytyy melkein kaikista vakioratkaisuista.

Ilmoitamme sen saatavilla olevat tyypit "Parametrit" -välilehdessä:

Tällä asetuksella muotoilemme ajanjaksomme niin, että kaikki on kaunista ja silmää miellyttävää)

Tässä ovat itse formaatit:

Kuukausi: DF="MMMM yyyy "y."

Päivä: DF = pp.KK.vvvv

Viikko: DF = ""Viikko alkaen "pp.MM.yyyy"

Quarter: DF = "to "neljännes" yyyy "y."

Vuosi: DF = "yyyy "y."

Vuosikymmen: DF = ""Vuosikymmen, jossa on "pp.MM.yyyy"

Puoli vuotta: DF = ""Puolen vuoden kuluttua" dd.MM.yyyy"

Siinä kaikki. Tulos on upea kuva:

Kulunvalvontajärjestelmän raportteja luotaessa joudutaan usein näyttämään raporttilomakkeella ajanjakson valinta, jotta päivämääriä ei tarvitse syöttää manuaalisesti, vaan valita vakiokausien luettelosta, kuten: "Vuosi" , "Kuukausi", "Viikko" jne. . Päivämäärä-tyypin parametreille voit määrittää vain "Tämän vuoden alku, kuukausi jne.", mutta "Loppua" ei ole annettu.

Asia on siinä, että tietotyypeistä vain "Normaali aloituspäivä" -tyyppi on käytettävissä, mutta haluan myös "Normaali lopetuspäivämäärän".

On olemassa tapa kiertää tämä.

  1. Luodaan uusi parametri, kutsutaan sitä "jaksoksi"
  2. Aseta tämän parametrin tyypiksi "Standard period"
  3. Aseta pyynnössä käytettyjen parametrien "Jakson alku" ja "Jakson loppu" -kenttään "Expression" lausekkeet " &Period.StartDate" ja " &Jakso.Loppupäivä" vastaavasti.

Mutta siinä on pieni hienovaraisuus. Jos käytämme kyselyssä virtuaalisia taulukoita, raportti todennäköisesti lakkaa toimimasta ja näyttöön tulee virheilmoitus, kuten "Virhe käsiteltäessä näkymää, tyyppi ei täsmää, parametrinumero...".

Tämän välttämiseksi sinun on poistettava kaikki virtuaalitaulukon parametrit.

Ja lisää ne "Tietojen kokoonpano" -välilehden taulukoihin.

Jotta parametrit näkyvät pikaraportin asetuksissa, otetaan käyttöön vastaava lippu raporttiparametreille.

Nyt raporttilomakkeen ajanjakson valinta näyttää tältä.

Hyvää päivää, rakkaat blogisivuston lukijat! Viime artikkelissa opimme, miksi näitä rooleja tarvitaan. Ja tänään, tämän artikkelisarjan toisessa, tarkastelemme roolin määrittäminen "Jakso"-ominaisuuden kanssa ja harkitse myös esimerkkejä näiden roolien täyttämisestä. Loput lasketaan käyttämällä kenttää, jossa on rooli "Kausi". Aivan kuten kentällä "Dimension" roolissa, josta puhumme toisella kerralla. Joten, aloitetaan!

Luodaan uusi raportti:

  1. Valitse Configuratorissa valikkokohta "Tiedosto" - "Uusi" - "Ulkoinen raportti".
  2. Napsauta "Avaa datakokoonpanokaavio" -painiketta. Napsauta avautuvassa valintaikkunassa "Valmis"-painiketta.
  3. Luodaan nyt a, joka käyttää virtuaalista taulukkoa "Kertymärekisterit".
  4. Napsauta hiiren kakkospainikkeella "Data Sets" -solmua ja valitse rivi "Lisää tietojoukko - kysely".
  5. Napsauta nyt "Query Builder" -painiketta. Valitaan akkumulaatiorekisteri "GoodsInWarehousesRemainsAndTurnover" (USP-konfiguraatio).
  6. Avataan "Virtual Table Parameters" -valintaikkuna ja osoitetaan, että taajuutta "Auto" käytetään, eli on mahdollista määrittää useita jaksoja.

Nyt määritetään tuloskentät. Olkoon nämä seuraavat kentät: "Rekisteri", "Kausikuukausi", "Nimikkeistö", "Laatu" ja tiedot saldoista. Kentän lisääminen tapahtuu kaksoisnapsauttamalla hiiren vasenta painiketta haluamasi kentän kohdalla tai käyttämällä “>”-painiketta. Kun olet lisännyt kentät, napsauta "OK" -painiketta.

Huomaa, että joillekin kentille määritetään automaattisesti rooli, jossa on ominaisuus "Paika".

Katsotaan mitä on olemassa Kausi-ominaisuuden rooliasetukset. Ensin ilmoitetaan jakson sarjanumero. Numeroinnin tulee olla jatkuvaa, alkaen yhdestä, pienimmistä jaksoista ylimpään, eli ensin tulee esim. rivin numero, sitten "Recorder", sitten toinen päivä, viikko, kuukausi, vuosineljännes, vuosi.

Pyynnössämme näkyvät kentät tulee siis numeroida. Huomaa, että meillä on kaksi jaksokenttää - "Rekisteröijä" ja "Kausikuukausi". Alhainen kenttä on “Rekisteröijä”, sille on määritetty yksi, ja yläkenttä on “Kausikuukausi”, sille on määritetty kaksi. Tarkastelemme tätä tarkemmin seuraavassa artikkelissa.

Tehdään raporttimme:

  1. Siirrytään "Resurssit"-välilehteen ja määritetään raporttimme resurssit.
  2. Napsauta “>>”-painiketta valitaksesi kaikki resurssien kentät.
  3. Siirrytään nyt "Asetukset" -välilehteen ja luodaan asetus luettelon muodossa.
  4. Napsauta "Tietojen kokoonpanoasetusten suunnittelija" -painiketta (taikasauvan muodossa oleva painike).
  5. Raportin tyyppi: "Lista". Napsauta "Seuraava" -painiketta.
  6. Määritetään tuloskentät napsauttamalla ">>"-painiketta. Järjestetään ne näin: "Kausikuukausi", "Nimikkeistö", "Laatu", "Rekisteri".
  7. Napsauta "Seuraava" -painiketta ja määritä ryhmittely. Luomme ryhmittelyn seuraavassa järjestyksessä: "Kausikuukausi", "Nimikkeistö", "Laatu". "Rekisteröijä"-ryhmittely näytetään yksityiskohtaisten tietueiden muodossa.
  8. Napsauta "OK"-painiketta.

Avataan raporttimme. Jos suoritamme tämän raportin, näemme joitakin ominaisuuksia vastaanottaessamme saldoja. Jos katsot tarkasti raportin tulosta, huomaat välittömästi useita virheitä. Erityisesti jostain syystä yrityksen toimintakauden alussa on alkusaldo.

Ja tämä virhe liittyy ominaisuuteen saada saldot rekisterinpitäjältä. Jotta nämä saldot näkyvät oikein, sinun on lisättävä pyynnön tuloskenttiin vielä yksi kenttä - "PeriodSecond" -kenttä. Jos haluat lisätä "PeriodSecond" -kentän, avaa raportti Configuratorissa ja napsauta "Avaa tietojen kokoonpanomalli" -painiketta. Napsauta nyt "Query Builder" -painiketta ja lisää "PeriodSecond". Tässä tapauksessa "Rekisteröijä"-kenttä pysyy jakson ensimmäisenä kenttänä, "PeriodSecond" on toinen ja "PeriodMonth" on kolmas.

Mitä varten sekunti on? Tiedonkoostumusjärjestelmä laskee saldot laskennallisesti, ja tallentimen sijainnin yksiselitteiseksi määrittämiseksi aika-akselilla ei riitä linkki itse tallentimeen, vaan tarvitaan myös sekunti, eli tämän tallentimen päivämäärä, ja sitten asettelujärjestelmä pystyy saamaan oikean tasapainon laskemalla. Jos määritämme kenttien oikean järjestyksen ja luomme raportin uudelleen, saamme:

Nyt ei ole enää tasapainoa Plinth-nimikkeistön mukaisten toimintojen aloittamiselle. Sitten seuraavalla jaksolla se osuu yhteen lopullisen saldon kanssa, eli näemme todella oikean tuloksen. Voit ladata esimerkkiraportin alla olevasta linkistä. Piditkö artikkelista? Mitä voidaan muuttaa, mitä voidaan lisätä? Voit vapaasti jakaa siitä kommenteissa!

Artikkelin lopussa haluan suositella sinulle ilmaista Anatoli Sotnikovia. Tämä on kokeneen ohjelmoijan kurssi. Se näyttää sinulle erikseen, kuinka kulunvalvontajärjestelmässä luodaan raportteja. Sinun tarvitsee vain kuunnella tarkkaan ja muistaa! Saat vastaukset seuraaviin kysymyksiin:
  • Kuinka luoda yksinkertainen luetteloraportti?
  • Mitä varten Kenttä-, Polku- ja Otsikko-sarakkeet ovat Kentät-välilehdellä?
  • Mitkä ovat asettelukenttien rajoitukset?
  • Kuinka roolit määritetään oikein?
  • Mitkä ovat asettelukenttien roolit?
  • Mistä löydän kyselyn tietojen koostumus-välilehden?
  • Kuinka konfiguroida parametrit kulunvalvontajärjestelmässä?
  • Siitä tulee vielä mielenkiintoisempaa...
Ehkä sinun ei pitäisi yrittää surffata Internetissä itse etsiäksesi tarvittavaa tietoa? Lisäksi kaikki on käyttövalmis. Aloita vain! Kaikki yksityiskohdat ilmaisten videotuntien sisällöstä

Tässä on yksi oppituneista tietojen koostumuksen lisäämisestä kirjanmerkkeihin kyselyssä: