1s tarkistaa päivämäärä on tyhjä. Muunna päivämääräksi

Melko usein on tarpeen työskennellä "Päivämäärä"-tyyppisten muuttujien kanssa. Tässä artikkelissa tarkastellaan perustekniikoita - nykyisen päivämäärän ohittaminen, tyhjän arvon tarkistaminen, mielivaltainen päivämäärä.

Kun kirjoitat kyselyitä, sinun on usein verrattava tietoja nykyiseen päivämäärään. Sisäänrakennetussa 1C-kielessä on CurrentDate()-toiminto. Sen avulla voit määrittää nykyisen kellonajan ja päivämäärän tietokoneellasi. Jos haluat suorittaa toimintoja nykyisellä päivämäärällä, sinun on välitettävä tämän funktion arvo parametrina pyyntöön.

Alla on kysely, joka valitsee kaikki kuluraporttiin liitetyt tiedostot, joiden luontipäivä on tähän mennessä:

EsimerkkiRequest = Uusi pyyntö;
Esimerkki Request.Text = "
|VALITSE
| AdvanceReportAttachedFiles.Link
|FROM
| Directory.AdvanceReportAttachedFilesAS AdvanceReportAttachedFiles
| MISSÄ
| AdvanceReportAttachedFiles.Date< &ТекДата»;
Esimerkki Request.SetParameter("CurrentDate", CurrentDate());

Mukautettu päivämäärä

Yllä käsitellyn toiminnon avulla voit vertailla ja siten tehdä valinnan mille tahansa ajanjaksolle. Tämän menetelmän avulla voit määrittää pyynnössä tiukan valinnan ilman lisäparametreja.

Huomaa, että kun käytät tätä toimintoa yllä olevassa esimerkissä, syötimme vain kolme numeroa (vuosi, kuukausi, päivä) syöttöparametreiksi. Viimeiset kolme (tunti, minuutti, sekunti) ovat valinnaisia, ja jos niitä ei ole, ne korvataan "0":lla, eli päivän alussa.

Tämä esimerkki hakee kaikki kuluraportteihin liitetyt tiedostot viime vuoden 2016 loppuun asti. Tässä suhteessa ilmoitamme tunnin, minuutin ja sekunnin ajankohdan "31. joulukuuta 2016 23:59:59" vertailua varten.

VALITA
AdvanceReportAttachedFiles.Link
FROM
Directory.AdvanceReportAttachedFiles AS AdvanceReportAttachedFiles
MISSÄ
AdvanceReportAttachedFiles.Date< ДАТАВРЕМЯ(2016, 12, 31, 23, 59, 59)

Tyhjä päivämäärä

Helpoin tapa tarkistaa, sisältääkö muuttuja tyhjän päivämäärän, on käyttää yksinkertaista vertailua. Tässä esimerkissä valitsemme kyselyn avulla kaikki tilille saapuvat kuitit, joiden saapumispäivämäärää ei ole täytetty.

Kun työskentelet 1C-päivämäärien kanssa, tyypillinen päivämääräosien järjestys on vuosi, kuukausi, päivä, tunti, minuutit, sekunnit. Tässä tapauksessa tunnit, minuutit ja sekunnit voidaan ohittaa.

Kun luot päivämäärän merkkijonosta (”cast to date”), voit määrittää sen lokalisoidussa muodossa (päivä.kuukausi.vuosi tunnit:minuutit:sekunnit), mutta vain kokonaisuudessaan.

Esimerkiksi:
//Työskentely 1C-päivämäärien kanssa - muunna päivämäärä 1C:ksi osista - vuosi, kuukausi, päivä (plus valinnainen aika)
päivämäärä = päivämäärä(2012,10,30); //ei aikaa
päivämäärä = päivämäärä(2012,10,30,12,00,00); //ajan kanssa

//Työskentely 1C-päivämäärien kanssa - muunna päivämäärä 1C:ksi merkkijonosta, eri menetelmiä
Date = Date("20121030"); //vuosi kuukausi päivä
Date = Date("10/30/2012 12:00:00"); //lokalisoitu muoto, vain kokonaan

//Työskentely 1C-päivämäärien kanssa - päivämäärän arvon määrittäminen ilman suoraa
Päivämäärä = "20121030"; //ei aikaa
Päivämäärä = "20121030120000"; //ajan kanssa

Työskentely 1C päivämäärien kanssa - Tyhjä päivämäärä 1C

1C-päivämäärän täydellisyyden tarkistamiseksi sitä verrataan "tyhjän päivämäärään". Jos hakuteoksessa/asiakirjassa on päivämäärätyyppinen attribuutti, jos käyttäjä ei täytä tätä kenttää, sen arvo on myös "tyhjä päivämäärä".

"Tyhjä päivämäärä" on 01/01/0001 00:00:00.

Esimerkiksi:
EmptyDate = "00010101000000";
Jos RequiredDate = "00010101000000" Sitten
Report("Et antanut kovin tarpeellista päivämäärää");
loppu Jos;

Päivämäärien käsittely 1C - Päivämäärä yksityiskohdissa (hakemistot, asiakirjat jne.)

Kun määrität attribuutin tyyppiä, voit määrittää käytettäväksi:

  • Vain päivämäärä (aika on silloin aina 00:00:00)
  • Vain aika (päivämäärä on silloin aina 01/01/0001)
  • Päivämäärä ja aika

Päivämäärän saaminen

Saadaksesi päivämäärän ja kellonajan, käytä 1C CurrentDate() -funktiota.

Paikka, jossa tätä toimintoa kutsutaan, on erittäin tärkeä - asiakkaalla tai palvelimella. Katso lisätietoja aiheesta "Suorituskykytila/Suorituskyky". Usein käy niin, että aika asiakaskoneilla on hieman erilainen, joten palvelinaikaa yritetään käyttää kaikkialla - vaikka se olisi asetettu palvelimella väärin, niin ainakin kaikilla asiakkailla on sama väärä aika.

Palvelinpäivämäärän (palvelintietokoneen käyttöjärjestelmässä asetettu päivämäärä) saamiseksi luodaan yleensä konfiguraatioon yhteinen moduuli, jonka ominaisuuksista on valittuna "Palvelin"-valintaruutu, ja siihen luodaan funktio.
//funktio sijaitsee yhteisessä moduulissa, esimerkiksi nimellä Server Functions
//yleisen moduulin ominaisuuksissa "Palvelin"-valintaruutu on valittuna ja "Client"-valintaruutua ei ole valittu
Funktio GetServerDate() Export
Palauta CurrentDate();
EndFunction

//Tämän funktion kutsuminen käytettäväksi toisesta moduulista näyttää tältä
DocumentObject.Date = ServerFunctions.GetServerDate(); //ModuleName.FunctionName()

Myös ohuessa asiakasohjelmassa, suoraan moduulitoimintojen vieressä, on ilmoitettu, missä se suoritetaan:

Päivän alku ja loppu

Päivämäärälle "30.10.2012":

  • päivän aloituspäivä näyttää tältä "30/10/2012 00:00:00"
  • päivän päättymispäivä näyttää tältä: "10/30/2012 23:59:59"

Käytetään raporteissa ja kyselyissä, jotka edellyttävät tietojen hankkimista ajanjaksolta - päivä, kuukausi, vuosi.

Esimerkiksi ajanjakso "01/01/2012 00:00:00" - "01/31/2012 00:00:00" on virheellinen, koska se ei sisällä yhtä kuukauden päivää (mutta sisältää yhden kuukauden kuukauden viimeinen päivä).

Työskentely 1C-päivämäärien kanssa - Päivämäärien vertailu

Päivämäärä sisältää päivämäärän ja kellonajan. Päivämääriä verrattaessa (aikaa ottamatta huomioon) ne yleensä pienennetään päivän alkuun (kuukausi, vuosi).

Esimerkiksi:
Päivämäärä1 = Päivämäärä("30.10.2012 12:00:00");
Jos Aloituspäivä(Päivämäärä1) = Aloituspäivä(Dokumentin linkki.Pvm) Sitten
Notify("Asiakirja syötettiin määritettynä päivänä");
loppu Jos;

Varmuuden vuoksi esimerkki ajanjakson päivämäärien vertailusta:
Jos DocumentLink.Date >= Kuukauden alku(NykyinenPvm()) ja
DocumentLink.Date

Päivämäärien käyttäminen 1C - Päivämäärän muuttaminen

Päivämäärä on sekuntien lukumäärä. Jos haluamme paitsi selvittää, onko yksi päivämäärä suurempi kuin toinen, vaan myös kuinka paljon suurempi, saamme eron sekunneissa.

Esimerkiksi:
Päivän alusta = NykyinenPäiväys() – Päivän Alku(NykyinenPäivämäärä());
Report("Päivän alusta " + String(Päivän alusta) + " sekuntia");
Report("Päivän alusta " + Line(Päivän alusta/60) + " minuuttia on kulunut");
Report("Päivän alusta " + Line(Päivän alusta/60/60) + " tuntia on kulunut");

Voimme myös muuttaa päivämäärää, lisäämme tai vähennämme sekuntien määrän:
AloitaTämäPäivä = Aloituspäivä(NykyinenPäivä());

Edellisen päivän alku = Päivän alku (Tämän päivän alku – 1); //poista toinen - tee "eilen" ja ota päivän alku sanasta "eilen"

Edellisen päivän alku = Tämän päivän alku – 24*60*60; //toinen menetelmä - vähennä 24 tuntia - 24 (tuntia) * 60 (minuuttia) * 60 (sekuntia)

Työskentely päivämäärien kanssa 1C - Hetki ajassa

Ajankohta on laajennettu esitys päivämäärästä, joka koskee asiakirjoja (ja siten rekistereitä).

Asiakirjojen kellonaikaa on verrattava, jos asiakirjojen päivämäärä ja kellonaika ovat samat. Näin ollen sitä voidaan käyttää valinnassa kyselyissä.

Ajankohta voidaan saada asiakirjasta seuraavilla tavoilla:
//tapa 1
DocumentTimePoint = DocumentLink.TimeTime();

Voit myös verrata ajankohtaa päivämäärään/aikaan:
TimePointReference = Uusi aikapiste(päivän alku(nykyinenPvm()));
Jos DocumentRef.TimePoint().Compare(TimeTimeReference) = -1 Sitten
Notify("Asiakirja syötettiin aikaisemmin kuin tänään");
loppu Jos;
//Jos asiakirja syötetään tämän päivän päivämäärällä klo 00:00:00, se syötetään edelleen - tänään

Päivämäärien käsittely 1C - Päivämäärän muotoilu

Työkalut tyhjien linkkien, päivämäärien tai merkkijonojen tunnistamiseen. Katsotaanpa, kuinka voit tarkistaa tyhjän linkin, päivämäärän tai rivin 1C-pyynnössä.

Voit määrittää nollatiedot käyttämällä erikoisoperaattoreita.

Tietoja 1C-tietokannasta pyydetään (ja sitten vastaanotetaan) käyttämällä työkalua, kuten kyselykieli (Query). Ne on kirjoitettu latinaksi ja kyrilliseksi. Ja yksi avainsanakomennoista (operaattoreista) tiedon vastaanottamisessa on komentosana SELECT (englanniksi) yhdistettynä joihinkin rakenteisiin. Tässä on esimerkkejä pyydettyjen tehtävien rakentamisesta, jotka kiinnostavat meitä aiheesta:

Tarkistetaan NULL-sisältöä

Tämän tehtävän suorittaa SELECT-operaattori yhdessä "IS NULL" -rakenteen kanssa:

VALITSE
OrdersRemains.Customer,
OrdersRemaining.QuantityRemaining
FROM
RegisterAccumulations.Orders.Remains AS OrdersRemains
MISSÄ
OrdersRemaining.QuantityRemaining IS NULL

Päivämäärän valvonta

Tyhjä päivämäärä syötetään 1C-pyynnössä käyttämällä konstruktiota "DATETIME(1, 1, 1, 0, 0, 0)":

VALITSE
InvoiceIncomingSupplier.Link,
InvoiceIncomingSupplier.IncomingDate
FROM
Asiakirja. InvoiceSupplier AS InvoiceSupplier
MISSÄ
InvoiceIncomingSupplier.IncomingDate = DATETIME(1, 1, 1, 0, 0, 0)

Lähdeviittausten tarkistus

Olemattomat viitteen sisäiset arvot (tilikartat, hakemistot jne.) tarkistetaan käyttämällä "VALUE(Directory.Name…EmptyLink)" -rakennetta:

Merkkijonojen tarkistus

Tyhjät rivit havaitaan käyttämällä välilyöntiä lainausmerkeissä "":

VALITSE
Ostajat.Linkki
FROM
Hakemisto Buyers AS Ostajat
MISSÄ
Ostajat.Koodi = ""

Lisää rikkinäisistä ja tavallisista linkeistä

Lepakkoa pidetään linkkinä, joka johtaa (osoittaa) olemattomaan elementtiin. Olemattomalla tarkoitamme sellaista, jota ei ole tietokannassa. Tällaisista linkeistä on hyvä tietää ainakin, jotta järjestelmästä saataisiin ilmoitukset ymmärrettävämmässä muodossa. Epätodellisten esineiden tallentamisessa, poistamisessa ja avaamisessa ei ole mitään järkeä.

1C-alustoilla ei ole sisäisiä keinoja katkaista niitä. Sinun on myös ymmärrettävä, että "rikkinäisten" ulkopuolella järjestelmässä on erityisiä "tyhjiä linkkejä", jotka tulisi erottaa toisistaan.
Tämä löytyy ilman kyselyä tietokannasta:

1C-7.7 järjestelmässä

"Bitille" Link.Selected()-metodi ja EmptyValue()-funktio palauttavat nollan. "Tyhjälle" - ensimmäisessä tapauksessa se on nolla, ja toisessa tapauksessa se on yksi. "Normaalille" - yksi ja nolla. Osoittautuu, että kohdassa 1C-7.7 "rikki" ei ole olematon arvo, jota ei pidetä valituna.

1C-8.x järjestelmässä

Kaikki on erilaista - molemmissa tapauksissa ("rikki" ja "normaali") menetelmä palauttaa False ja funktio palauttaa True. Ratkaisu on tämä: "Broken"-metodille Link.GetObject()-metodi palauttaa "Undefined"-funktion. "Tyhjälle" - "Context method error" heitetään. "Normaalille" - arvo palautetaan dokumentaation mukaan; Osoittautuu, että 1C-8.x:ssä "broken" ei ole viitetyypin olematon funktio, joka palauttaa Undefined objektiarvon.

Mistä he tulevat

Navigoitaessa rikkinäisen linkin olemattomaan osoitteeseen, käyttäjälle näytetään parhaimmillaan ilmoitus siitä, että kohdetta ei löytynyt, pahimmillaan kuva palvelinsivusta. Heidän pahin piirteensä on heidän salailunsa. Tästä syystä niiden oikeellisuuden tarkistaminen on vaikeaa. Kun työskentelet kokoonpanon kanssa, sitä jalostetaan ja päivitetään jatkuvasti. Jotkut kohteet on poistettava, rakenne muuttuu. Ja viittaus poistettuun elementtiin säilyy rakenteissa ja algoritmeissa. Siten järjestelmään jää olemattomia osoitteita sen jälkeen, kun itse elementti (osoitteen kanssa) on poistettu.

Tämän päivän julkaisussa tarkasteltiin erityistä kyselyn rakennetta. Esimerkkejä malleista on annettu. Tämä on hyödyllistä, kun etsit tyhjiä arvoja.

Kaikissa 1C-kokoonpanoissa olevissa asiakirjoissa ja siten lähes kaikissa rekistereissä on oltava vähintään yksi Date-tyypin attribuutti, minkä vuoksi jokaisen kehittäjän on tiedettävä ja ymmärrettävä:

  • Kuinka muuntaa muuntyyppiset parametrit kyseiseen tyyppiin;
  • Kuinka määrittää tyhjä päivämäärä 1C-pyynnössä;
  • Mitä eroa on päivämäärällä ja aikarajalla?

Näihin kysymyksiin yritämme vastata artikkelissamme.

Mikä on päivämäärä ja miten se määritetään

Koska useimpien johtamispäätösten tekeminen ja kirjanpidon pitäminen ei vaadi yli 1 sekuntia aikatarkkuutta, 1C-alustan kehittäjät päättivät, että tämä arvo olisi ehdoton minimi päivämäärämuodossa. Siten jokaisen ohjelman tapahtuman ajankohtaa kuvaavan attribuutin tulee sisältää:

  • Tapahtuman vuosi;
  • tämän tapahtuman kuukausi;
  • Päivä.

Ei ole tarpeen ilmoittaa: tunti, minuutti ja sekunti. Jos nämä kolme parametria jätetään pois eikä lisäehtoja ole, ohjelma asettaa ajan automaattisesti päivän alkuun.

Maailmassa olevissa päivämäärämuodoissa on merkittäviä eroja:

  1. Venäjällä olemme tottuneet asettamaan päivä ensin, sitten tapahtumakuukausi ja lopussa vuosi;
  2. Yhdysvaltain asukkaat aloittavat päivämäärän kuukaudella;
  3. Tšekit, puolalaiset ja slovenialaiset ennätysjaksot vuosi – kuukausi – päivä -muodossa.

1C-alusta käyttää jälkimmäistä muotoa.

Muunna päivämääräksi

Date-tyypin parametrin saamiseksi useista arvoista tai merkkijonosta, sinun on käytettävä kuvassa 1 esitettyä koodia. 1

Kuten yllä olevasta kuvasta näkyy, voit määrittää päivämäärän joko yhdellä rivillä tai jakamalla tämän rivin osiin pilkulla, tulos ei muutu.

On tärkeää ymmärtää, että päivämäärän vuoden tulee sisältää neljä numeroa, mukaan lukien tapahtuman vuosituhat ja vuosisata, kuukauden, päivän, tuntien ja sekuntien on oltava kaksi merkkiä pitkiä, mukaan lukien etunollat.

Aikalaskenta ohjelmassa alkaa 1.1.0001 päivän alusta. Yllä olevalle koodille tämä arvo voidaan määrittää kahdella tavalla (Kuva 2).

Riisi. 2

Toisella rivillä jätimme pois tapahtuman tunnit, minuutit ja sekunnit, mikä ei vaikuttanut mitenkään koodimme suorituskykyyn.

Päivämäärän käytön ominaisuudet 1C-kyselyissä

Useimmille 1C-alustan käyttämille tietotyypeille on ennalta määritettyjä tyhjäarvoja. Numeroille se on 0, linkeille voit määrittää arvon EmptyLink(), päivämäärälle tyhjä arvo katsotaan yleensä aloituspäivämääräksi ja juuri tähän on verrattava vastaavan tyypin tietoja asetettaessa pyyntöparametreja.

On tärkeää ymmärtää, että vaikka kyseessä olevan tyyppisen muoto-attribuutin arvo ei sisällä yhtään numeroa, eli ikkuna näyttää tältä (kuva 3), se ei tarkoita, etteikö siinä olisi määritetty mitään tämän parametrin valinta tyhjällä merkkijonolla ei toimi.

Riisi. 3

Saatuamme tyhjän päivämäärän voimme määrittää sen parametriksi pyyntöömme, eli käyttää konstruktiota (kuva 4)

On kuitenkin aikoja, jolloin on parempi tarkistaa pyynnön rungon sisällä ilman tyhjää päivämäärää parametrina. Voit tehdä tämän kirjoittamalla sopivan ehdon pyyntökoodiin (kuva 5) ja käyttämällä DateTime()-pyyntötoimintoa.

Riisi. 5

Yllä olevasta pyyntötekstistä jätimme pois vuoden, kuukauden ja päivän johtavat nollat, emmekä myöskään osoittaneet tunteja, minuutteja ja sekunteja, ja ohjelma, kuten sanotaan, söi tämän oletuksen.

Päivämäärä- ja aikaraja

Toinen mielenkiintoinen seikka kyselyjen ja päivämäärien välisestä suhteesta on "ajankohdan" käsitteen käyttö eri tietokantataulukoita käytettäessä.

Teknisessä dokumentaatiossa primitiivistä Date-tyyppiä kuvattaessa määritelty "millisekunnin" tarkkuus näkyy selkeimmin valittaessa tietueita kertymärekisterin virtuaalitaulukoista: jos kertymärekisterissä on Liikevaihtotaulukon lisäksi Jäljellä oleva ja Jäljellä olevat ja liikevaihtotaulukot, joiden näytteenotto niistä suoritetaan tietyn ajan, voivat antaa erilaisia ​​​​tuloksia.

Ymmärtääksesi kuinka ja miksi näin tapahtuu, harkitse yksinkertaista esimerkkiä:

  1. Ennen myyntitositteen laatimista kello 12 tuntia 31 minuuttia 36 sekuntia sokerinimikkeistön mukaiset saldot olivat 30 kg;
  2. Asiakirja poisti 10 kg määrättynä aikana;
  3. Raportti, joka on luotu asiakirjan päivämääränä 12 tuntia 31 minuuttia 36 sekuntia Jäljellä olevat taulukon mukaan, näyttää 30 kg:n saldon;
  4. Sama raportti taulukosta Jäljet ​​ja Liikevaihdot samana aikana näyttää 20 kg:n saldon.

Mikä on syynä tähän käytökseen ja kuinka välttää sitä?

Ongelmana on, että jäljellä-taulukossa ajanjakso määritellään avoimella segmentillä, eli raportin luomishetkellä tehtyjä liikkeitä ei oteta huomioon, eli aika otetaan toisen määritellyn alussa. parametrissa. Samaan aikaan Liikevaihdot- ja Jäännös- ja Liikevaihtotaulukoissa otetaan huomioon aikarajat, eli aika otetaan määritetyn sekunnin lopussa.

Tästä tilanteesta on useita tapoja ulos:

  1. Kun käytät Remains-taulukkoa, ilmoita aikapiste, joka on 1 sekunti suurempi kuin määritetty;
  2. Käytä vain Jäännös- ja Liikevaihtotaulukkoa (ei optimaalisin vaihtoehto suorituskyvyn näkökulmasta);
  3. Käytä rajan käsitettä.

Viimeinen vaihtoehto voidaan edustaa kuvassa 2 esitetyllä koodilla. 6.

Oliomme ensimmäisessä parametrissa ilmoitamme päivämäärän, jolle raportti on luotava, toinen parametri määrittää reunuksen tyypin. Koska meille on tärkeää, että tietyn päivämäärän liikkeet sisällytetään valintaan, meidän on asetettava tämä parametri "Sisältää"-asentoon.

Hyvin usein 1C-kyselyissä joudut työskentelemään päivämäärien kanssa. Varsinkin kun pyyntö tehdään metatieto-objekteille, jotka sisältävät jaksollista tietoa. Yleensä nämä ovat rekistereitä (tiedot, kerääminen, laskenta, kirjanpito). Katsotaanpa 1C-kyselykielen yleisimmin käytettyjä toimintoja päivämäärien kanssa työskentelemiseen. Rakennamme esimerkkejä tietorekisterin perusteella TyöntekijätOrganisaatiot ZUP-kokoonpanojen versio 2.5.

  • TREFFIAIKA

    Voit saada päivämäärän pyyntöön (ajalla tai ilman) määrittämällä vuoden, kuukauden, päivän, tunnin, minuutin, sekunnin.
    Syntaksi:
    DATETIME (vuosi, kuukausi, päivä, tunti, minuutti, sekunti)
    Yleensä tuntia, minuuttia ja sekuntia ei ilmoiteta. Otetaan pieni esimerkki. Kirjoita seuraava teksti kyselykonsoliin:

    VALITSE PÄIVÄMÄÄRÄ (2016, 1, 1)

    Pyynnön toteuttamisen tuloksena saamme päivämäärän - 1.1.2016
    Itse asiassa on vaikea kuvitella tilannetta, jossa päivämäärä ilmaistaisiin pyynnössä tällä tavalla. Loppujen lopuksi parametreja käytetään, kun sinun on määritettävä jakso. Mutta on tapaus, jolloin tämä toiminto on erityisen arvokas. Tällöin meidän on ilmoitettava tyhjä päivämäärä kenttiin tai pyyntöehtoihin. Haluan muistuttaa, että 1C-kielelle tyhjän päivämäärän muoto on 0001.01.01. Joten saadaksesi tyhjän päivämäärän pyyntöön, määritä vain DATETIME(1, 1, 1). Esimerkkinä valitaan tietorekisteristä TyöntekijätOrganisaatiot tietueita, joita ei ole täytetty Valmistumisaika:

    SELECT Organisaation työntekijät. Jakso, Organisaation työntekijät. Työntekijä, Organisaation työntekijät. Asema, Organisaation työntekijät. Organisaatiojaosto FROM Rekisteritiedot. Organisaation työntekijät AS Organisaation työntekijät WHERE Organisaation työntekijät. Valmistumisaika = DATETIME(1, 1, 1)

  • KAUDEN ALKU

    Määritetylle päivälle palauttaa sen ajanjakson alun, johon se kuuluu.
    Syntaksi:
    JAKSO ALKU (Päivämäärä, Jakson tyyppi)
    PeriodType voi ottaa seuraavat arvot: MINUUTI, TUNTI, PÄIVÄ, VIIKKO, KUUKAUSI, VUOSINELJÄNNES, VUOSI, KYMMENNE, PUOLIVUOTTA
    Kirjoita kyselykonsoliin:

    VALITSE KAUDEN ALKU (PÄIVÄMÄÄRÄAIKA (2016, 1, 15), KUUKAUSI)

    Pyyntö palautetaan - 1.1.2016
    Ja nyt esimerkki. Kuten tiedät, rekisterin jaksotus TyöntekijätOrganisaatiot yksi päivä. Luodaan kysely, jossa näytetään kuukauden alkamispäivä todellisen tietuejakson sijaan.

    VALITSE KAUDEN ALKU(Organisaatioiden työntekijät.Jakso, KUUKAUSI) AS Kuukauden alku, Organisaatioiden työntekijät.Työntekijä, Organisaatioiden työntekijät.Asema, Organisaatioiden työntekijät.Organisaatioiden jako rekisteritiedoista.Organisaatioiden työntekijät AS Organisaatioiden työntekijät

  • KAUDEN LOPPU

    Syntaksi on sama kuin jakson alussa. Ja kuten nimestä voi päätellä, se palauttaa jakson lopun päivämäärän ja kauden tyypin mukaan. Emme käsittele sitä yksityiskohtaisesti. Rajataanpa itsemme pieneen esimerkkiin.
    Pyyntö:

    VALITSE KAUDEN LOPPU (PÄIVÄMÄÄRÄAIKA (2016, 1, 15), KUUKAUSI)

    Palautuu 31.1.2016 klo 23:59:59
    Kuten näet, arvo palautetaan tarkkuudella sekuntiin.

  • LISÄYSPÄIVÄMÄÄRÄ

    Lisää päivämäärään määritetyn määrän aikavälejä.
    Syntaksi:
    LISÄPÄIVÄYS(Päivämäärä, Jakson tyyppi, Määrä)
    PeriodType saa samat arvot kuin funktiolle KAUDEN ALKU
    Valitaan esimerkiksi helmikuun päivämäärä:

    VALITSE LISÄYSPÄIVÄMÄÄRÄ(PÄIVÄMÄÄRÄAIKA(2016, 2, 15), KUUKAUSI, 2)

    Saamme päivämäärän 15.04.2016 0:00:00 Huolimatta siitä, että helmikuu on lyhyt kuukausi, vastaanotetun päivämäärän päivä on sama kuin alkuperäinen. On erittäin kätevää, että sinun ei tarvitse ajatella päivien määrää kuukausissa.
    Määrä voi olla myös negatiivinen. Sitten väli lasketaan vastakkaiseen suuntaan.

  • EROTUSPÄIVÄ

    Laske ero kahden päivämäärän välillä määritetyillä yksiköillä.
    Syntaksi:
    PÄIVÄYSEROT (alkamispäivä, lopetuspäivä, ajanjakson tyyppi)
    Jakson tyyppi voi olla seuraavat arvot: TOINEN, MINUUTI, TUNTI, PÄIVÄ, KUUKAUSI, NELJÄNNES, VUOSI
    Esimerkiksi:

    VALITSE EROT (PÄIVÄMÄÄRÄAIKA(2016, 2, 15), PÄIVÄMÄÄRÄAIKA(2016, 3, 1), PÄIVÄ)

    palautus 15

Tässä tarkastelimme 1C-kyselykielen yleisimmin käytettyjä toimintoja. Loput ovat käytössä melko harvoin. Tarvittaessa esimerkkejä heidän kanssaan työskentelystä löytyy 1C-alustalle rakennetusta ohjeesta.