Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Si të merrni datën aktuale 1s.

Kur mjaft shpesh lind nevoja për të punuar me variabla të llojit "Data". Në këtë artikull, ne do të shikojmë teknikat kryesore - kalimi i datës aktuale, kontrollimi për një vlerë boshe, një datë arbitrare.

Kur shkruani pyetje, shpesh është e nevojshme të krahasohen të dhënat me datën aktuale. Gjuha e integruar 1C ka funksionin CurrentDate(). Kjo ju lejon të përcaktoni kohën dhe datën aktuale në kompjuterin tuaj. Për të kryer operacione me datën aktuale, vlera e këtij funksioni duhet t'i kalohet kërkesës si parametër.

Më poshtë është një pyetje që zgjedh të gjithë skedarët e bashkangjitur për raportet paraprake me një datë krijimi deri më tani:

RequestExample = Kërkesë e re;
ExampleRequest.Text ="
|ZGJIDH
| Raporti i avancuarAttachedFiles.Link
| NGA
| Directory.Advance ReportAttachedFilesAS AdvanceReportAttachedFiles
| KU
| Raporti i avancuarAttachedFiles.Date< &ТекДата»;
Pyetja Shembull.SetParameter("Data aktuale",Data aktuale());

Data arbitrare

Funksioni i diskutuar më sipër ju lejon të krahasoni dhe, për rrjedhojë, të bëni një përzgjedhje për çdo periudhë. Kjo metodë ju lejon të specifikoni një përzgjedhje strikte në pyetje pa përdorur parametra shtesë.

Ju lutemi vini re se duke përdorur këtë funksion në shembullin e mësipërm, ne kaluam vetëm tre numra (viti, muaji, dita) si parametra hyrës. Tre të fundit (orë, minutë, sekondë) janë opsionale dhe, nëse mungojnë, zëvendësohen me "0", domethënë fillimi i ditës.

Si pjesë e këtij shembulli, do të pranohen të gjitha dosjet e bashkangjitura në raportet paraprake deri në fund të vitit të kaluar 2016. Në këtë drejtim, do të specifikojmë orën, minutën dhe sekondën për t'u krahasuar me pikën kohore "31 Dhjetor 2016 23:59:59".

ZGJIDH
Raporti i avancuarAttachedFiles.Link
NGA
Directory.Advance Report Attached Files
KU
Raporti i avancuarAttachedFiles.Date< ДАТАВРЕМЯ(2016, 12, 31, 23, 59, 59)

datë bosh

Mënyra më e lehtë për të kontrolluar një variabël nëse përmban një datë të zbrazët është me një krahasim të thjeshtë. Në këtë shembull, duke përdorur një pyetje, ne do të zgjedhim të gjitha pranimet e parave të gatshme në llogari që nuk kanë një datë hyrëse të plotësuar.

Lloji: Numri; Data e; Boolean. Vlera që do të formatohet.<ФорматнаяСтрока> (opsionale) Lloji: String. Vargu i formatit është një vlerë vargu që përfshin opsionet e formatimit. Opsionet e formatimit renditen përmes simbolit ";". Prania e parametrit do të thotë që formatimi është i ndryshëm nga ai standard. Nëse parametri nuk specifikohet, atëherë aplikohet formatimi standard, i cili në thelb korrespondon me konvertimin e vlerës në një varg. Megjithatë, për vlerat e tipit Number dhe Date, vlerat e paracaktuara (0 dhe 01.01.0001 00:00:00 respektivisht) do të kthejnë një varg bosh. Çdo parametër specifikohet nga emri i parametrit, simboli "=" dhe vlera e parametrit. Vlera e parametrit mund të specifikohet në thonjëza të vetme ose të dyfishta. Kjo kërkohet nëse vlera e parametrit përmban karaktere të përdorura në sintaksën e vargut të formatit. Karakteret arbitrare mund të specifikohen brenda vlerës së parametrit, i cili do të shfaqet siç është kur formohet vargu që rezulton. Kështu, për shembull, mund të specifikoni ndarësit për orë, minuta dhe sekonda gjatë formatimit të kohës. Nëse këto karaktere përputhen me vlerat e vargut të formatit, ato duhet të mbyllen në thonjëza të vetme. Emrat dhe vlerat e parametrave të vargut të formatit: L (L) - emri i gjuhës, vendit për të cilin do të kryhet formatimi standard. Emrat e disponueshëm të gjuhëve gjenden pas përshkrimit të vargut të formatit. NZ (ND) - numri i përgjithshëm i numrave dhjetorë të shfaqur të pjesëve të plota dhe të pjesshme. Numri origjinal më pas rrumbullakoset në përputhje me rregullat e rrumbullakimit Okr15as20. Nëse specifikohet ky parametër, atëherë për të shfaqur pjesën fraksionale të numrit, duhet të specifikohet parametri NPV, në të kundërtën pjesa e pjesshme nuk do të shfaqet. NFD (NFD) - numri i vendeve dhjetore në pjesën thyesore. Numri origjinal më pas rrumbullakoset në përputhje me rregullat e rrumbullakimit Okr15as20. ChS (NS) - zhvendosje bit: pozitive - pjesëtim, negativ - shumëzim. Me fjalë të tjera, kjo do të thotë që numri origjinal do të shumëzohet ose pjesëtohet me 10*C, ku C është vlera e modulit të parametrit. FRD (NDS) - karakteri ndarës i pjesëve të plota dhe të pjesshme. CHRG (NGS) - ndarja e karaktereve të grupeve të pjesës së plotë të numrit. Nëse një varg i zbrazët përdoret si ndarës, atëherë delimituesi do të jetë një karakter hapësinor që nuk prishet. NZ (NZ) është një varg që përfaqëson vlerën zero të një numri. Nëse nuk është caktuar, përfaqësimi është një varg bosh. Nëse është vendosur "CHN=", atëherë në formën e "0". Nuk përdoret për fushat e hyrjes numerike. NLZ - nëse do të shfaqen zerat kryesore. Vlera e këtij parametri nuk është vendosur, prania aktuale e parametrit përcakton daljen e zerave kryesore. CHG (NG) - rendi i grupimit të shifrave të numrit. Si vlerë, numrat tregohen, të ndarë me presje, duke treguar numrin e shifrave të grupuara nga e djathta në të majtë. Vetëm dy numrat e parë kanë kuptim. E para prej tyre tregon grupimin parësor, domethënë atë që do të përdoret për shifrat më pak të rëndësishme të pjesës së plotë të numrit. Nëse numri i dytë nuk specifikohet, atëherë do të grupohen vetëm shifrat më pak të rëndësishme. Nëse 0 është specifikuar si numri i dytë, atëherë vlera e specifikuar për grupimin parësor do të zbatohet për të gjitha shifrat e pjesës së plotë të numrit. Nëse një vlerë e ndryshme nga 0 përdoret si numër i dytë, atëherë kjo vlerë do të përdoret për të grupuar të gjitha shifrat, përveç atyre më pak të rëndësishme të grupuara tashmë. CHO (NN) - paraqitje e numrave negativë. 0 (0) - një varg si "(1,1)"; 1 (1) - një varg si "-1,1"; 2 (2) - një rresht si "- 1.1"; 3 (3) - një varg si "1,1-"; 4 (4) - një varg si "1,1 -". DF (DF) është formati i datës. d (d) - dita e muajit (me shifra) pa zero kryesore; dd (dd) - dita e muajit (me shifra) me zero kryesore; ddd (ddd) - emri i shkurtër i ditës së javës *); dddd (dddd) - emri i plotë i ditës së javës *); M (M) - numri i muajit (me shifra) pa zero kryesore; MM (MM) - numri i muajit (me shifra) me një zero të parë; MMM (MMM) - emri i shkurtër i muajit *); MMMM (MMMM) është emri i plotë i muajit *); k (q) është numri i tremujorit në vit; y (y) është numri i vitit pa shekullin dhe zero kryesore; yy (yy) - numri i vitit pa shekull me zero kryesore; yyyy (vvvv) - numri i vitit me shekullin; h (h) - orë në versionin 12-orësh pa zero kryesore; hh (hh) - orë në versionin 12-orësh me një zero kryesore; H (H) - orë në versionin 24-orësh pa zero kryesore; HH (HH) - orë në versionin 24-orësh me një zero kryesore; m (m) - minutë pa zero kryesore; mm (mm) - minutë me zero kryesore; c (s) - e dyta pa zero kryesore; ss (ss) - e dyta me zero kryesore; bb (tt) - Ekran gjysmë dite AM/PM (e vlefshme vetëm për gjuhët e konfigurimit që mbështesin paraqitjen e kohës 12 orëshe). Shënim: *) - nuk përdoret për vargun e formatit të fushës së hyrjes së datës. DLF (DLF) është formati lokal i datës. Përcakton opsionin për të shfaqur pjesë të datës. D (D) - data (në numra); DD (DD) - data e gjatë (muaj me fjalë); B (T) - me kohë të plotë, data mund të kombinohet me kohën; DV (DT) - ora e datës. Shembull: Shprehja Format('20051120140323',"DLF=DDV") ka vlerën "20 nëntor 2005 2:03:23 PM". E rëndësishme! Renditja e opsioneve të vargut të formatit për DLF<дата + время> (DV ose DVD) nuk mund të ndryshohet. DP (DE) është një varg që përfaqëson një datë boshe (për shembull, Format('00010101000000' ,"DP=""datë boshe""") do të kthente vargun "datë boshe"). BF (BF) është një varg që përfaqëson vlerën boolean False. BI (BT) është një varg që përfaqëson vlerën boolean True. Shënim. Përdorimi i parametrave për fushën e hyrjes: parametri DP (DE) nuk përdoret; parametri DLF (DLF) përdoret vetëm me vlerat D (D), V (T) dhe DV (DT). Vlera e kthimit: Lloji: String. Vargu që rezulton nga formatimi i vlerës së kaluar. Përshkrimi: Gjeneron një përfaqësim të vlerave të lexueshme nga njeriu. E dobishme në raporte dhe shfaqje të tjera vizuale të vlerave. Disponueshmëria: Klient i hollë, klient në internet, server, klient i trashë, lidhje e jashtme, aplikacion celular (klient), aplikacion celular (server). Lista e gjuhëve: af Afrikane af_NA (af_NA) Afrikane (Namibi) af_ZA Afrikane (Afrika e Jugut) am Amharike am_ET Amharike (Etiopi) ar Arabisht ar_AE Arabisht (Emiratet e Bashkuara Arabe) ar_BH Arabisht (Bahrain) ar_DZ Arabisht (Algjeri) ar_EG Arabisht (Egjipt) ) ar_IQ Arabisht (Irak) ar_JO Arabisht (Jordan) ar_KW Arabisht (Kuvajt) ar_LB Arabisht (Liban) ar_LY Arabisht (Libi) ar_MA Arabisht (Marok) ar_OM Arabisht (Oman) ar_QA Arabisht (Katar) ar_SA Arabisht (Arabia Saudite) ar_SD Arabisht ( Sudan) ) ar_SY Arabisht (Siria) ar_TN Arabisht (Tunisia) ar_YE Arabisht (Jemen) si asameze as_IN Asamez (Indi) az Azerbajxhan az_AZ Azerbajxhan (Azerbajxhan) az_Cyrl Azerbajxhani ( Latinisht, Azerbajxhan) bej Bjellorusisht be_BY Bjellorusisht (Bjellorusisht) bg Bullgarisht bg_BG Bullgarisht (Bullgari) bn Bengal bn_IN Bengali (Indi) ca Katalanisht ca_ES Katalanas cs Çeke cs_CZ Çeke (Republika Çeke) cy Uellsisht cy_GB Uellsisht (UK) da Danisht da_DK Danisht (Danimarkë) de Gjermane de_AT Gjermanisht (Austri) de_BE Gjermanisht (Belgjikë) de_CH Gjermanisht (Zvicër) de_DE Gjermanisht (Gjermani) de_LI ( de_LI) Gjermanisht ( Lihtenshtajni) de_LU Gjermanisht (Luksemburg) el Greqisht el_CY (el_CY) Greqisht (Qipro) el_GR Greqisht (Greqi) en Anglisht en_AU Anglisht (Australi) en_BE Anglisht (Belgjikë) en_BW Anglisht (Botsvana) en_BZ (en_BZ) Anglisht (Belize) (Kanada) en_GB Anglisht (UK) en_HK Anglisht (Hong Kong, (Zonë e Administrimit Special, Kinë)) en_IE Anglisht (Irlandë) en_IN Anglisht (India) en_JM (en_JM) Anglisht (Xhamajka) en_MH (en_MH) Anglisht (Ishujt Marshall) en_MT Anglisht (Maltë) en_NA (en_NA) Anglisht (Namibia) en_NZ Anglisht (Zelanda e Re) en_PH Anglisht (Filipinet) en_PK Anglisht (Pakistan) en_SG Anglisht (Singapore) en_TT (en_TT) Anglisht th (Trinidad dhe Tobago) en_US Anglisht (Shtetet e Bashkuara të Amerikës) en_VI Anglisht (Ishujt e Virgjër të SHBA) en_ZA Anglisht (Afrika e Jugut) en_ZW Anglisht (Zimbabve) es Spanjisht es_AR Spanjisht (Argjentinë) es_BO Spanjisht (Bolivi) es_CL Spanjisht (Kili) es_CO Spanjisht (Kolumbi) es_CR Spanjisht (Kosta Rika) es_DO Spanjisht (Republika Dominikane) es_EC Spanjisht (Ekuador) es_ES Spanjisht (Spanjë) es_GT Spanjisht (Guatemala) es_HN Spanjisht (Honduras) es_MX Spanjisht (Meksikë) es_NI Spanjisht (Nikara_PAK) ) ) es_PE Spanjisht (Peru) es_PR Spanjisht (Puerto Riko) es_PY Spanjisht (Paraguaj) es_SV Spanjisht (El Salvador) es_US Spanjisht (Shtetet e Bashkuara të Amerikës) es_UY Spanjisht (Uruguay) es_VE Spanjisht (Venezuela) dhe Estonisht (Estonia) e_EEu Baske eu_ES Baske (Spanjë) fa persisht fa_AF Persian (Afganistan) fa_IR Persian (Iran) fi Finlandisht fi_FI Finlandisht (Finlandë) për Faroese fo_FO Faroese (Ishujt Faroe) fr Frengjisht Frengjisht fr_BE Frengjisht (Belgjikë) fr_CA Frengjisht (Kanada) fr_CH Frengjisht (Zvicër) fr_FR Frengjisht (Francë) fr_LU Frengjisht (Luksemburg) fr_MC (fr_MC) Frengjisht (Monako) fr_SN (fr_SN) Frengjisht (Senegal) ga irlandeze ga_IEl Galike gl_ES, Galike (Spanjë) gu Gujarati gu_IN Gujarati (Indi) hebraisht he_IL Hebraisht (Izrael) hi Hindi hi_IN Hindi (Indi) hr Kroate hr_HR Kroate (Kroaci) hu Hungarisht hu_HU Hungarisht (Hungari) hy Armenisht hy_AM Armenisht (Armeni) hy_AM_RE Armenisht (Armeni, REVISED) id indonezisht id_ID Indonezisht (Indonezi) është islandeze is_IS Islandeze (Islandë) it italisht it_CH, italisht (Zvicër) it_IT Italisht (Itali) dhe japoneze ja_JP Japoneze (Japoni) ka gjeorgjiane ka_GE Gjeorgjiane (Gjeorgji) kk Kazake kk_KZ Kazake (Kazakistan) kl Grenlandeze kl_GL Grenlandeze (Grenlandë) kn Kanada kn_IN Kanada (Indi) ko Koreane ko_KR Koreane (Koreja e Jugut) kok Konkani kok_IN Konkani (Indus) ii) ky Kyrgyz ky_KY Kirgize (Kirgistan) lt Lituanisht lt_LT Lituanisht (Lituani) lv Letonisht lv_LV Letonisht (Letoni) mk Maqedonisht mk

Kur punoni me datat 1C, rendi tipik i pjesëve të datave është viti, muaji, dita, ora, minuta, sekonda. Në këtë rast, orët, minutat, sekondat mund të anashkalohen.

Kur krijoni një datë nga një varg ("transmetuar deri më sot"), mund të specifikoni në një format të lokalizuar (ditë.muaj.vit orë:minuta:sekonda), por vetëm plotësisht.

Për shembull:
// Puna me datat 1C - konvertoni datën në 1C nga pjesët - viti, muaji, dita (plus koha opsionale)
Data = Data (2012,10,30); //nuk ka kohë
Data = Data (2012,10,30,12,00,00); //me kohë

//Puna me datat 1C - konvertoni një datë në 1C nga një varg, mënyra të ndryshme
Data = Data ("20121030"); //viti, muaji, dita
Data = Data ("10/30/2012 12:00:00 PM"); //format i lokalizuar, vetëm i plotë

//Puna me datat 1C - duke specifikuar vlerën e datës pa derdhje, drejtpërdrejt
Data = "20121030"; //nuk ka kohë
Data = "20121030120000"; //me kohë

Puna me datat 1C - Data e zbrazët 1C

Për të kontrolluar datën 1C për plotësinë, ajo krahasohet me një "datë boshe". Nëse ka një atribut me llojin e datës në drejtori/dokument, nëse përdoruesi nuk e ka plotësuar këtë fushë, atëherë vlera e tij do të jetë gjithashtu “datë boshe”.

"Data e zbrazët" është 01.01.0001 00:00:00.

Për shembull:
EmptyDate = "00010101000000";
Nëse DesiredDate = "00010101000000" Atëherë
alert ("Nuk e ke plotësuar datën e kërkuar");
FundNëse;

Puna me datat 1C - Data në detaje (drejtori, dokumente, etj.)

Kur specifikoni llojin e atributit, mund të specifikoni të përdorni:

  • Vetëm data (ora është gjithmonë 00:00:00)
  • Vetëm koha (data atëherë është gjithmonë 01.01.0001)
  • Data dhe ora

Marrja e datës

Për të marrë datën dhe kohën, përdoret funksioni 1C CurrentDate().

Vendi ku thirret ky funksion është shumë i rëndësishëm - në klient ose në server. Shikoni temën "Runtime Mode/Runtime" për detaje. Shpesh ndodh që koha në makinat e klientëve të jetë paksa e ndryshme, kështu që ata përpiqen të përdorin kohën e serverit kudo - edhe nëse nuk është vendosur saktë në server, atëherë të paktën të gjithë klientët do të kenë të njëjtën kohë të gabuar.

Për të marrë datën e serverit (datën e vendosur në sistemin operativ të kompjuterit të serverit), zakonisht krijohet një modul i zakonshëm në konfigurim me kutinë e kontrollit "Server" të kontrolluar në vetitë, dhe në të krijohet një funksion.
//funksioni ndodhet në një modul të përbashkët, për shembull me emrin ServerFunctions
// në vetitë e modulit të përgjithshëm, kutia e kontrollit "Server" është vendosur dhe kutia e kontrollit "Klient" nuk është vendosur
Funksioni GetServerDate() Export
Kthimi CurrentDate();
Funksionet e Fundit

//Thirrja e këtij funksioni për përdorim nga një modul tjetër duket kështu
DocumentObject.Date = ServerFunctions.GetServerDate(); //ModuleName.FunctionName()

Gjithashtu, në klientin e hollë, drejtpërdrejt pranë funksioneve të modulit, tregohet se ku do të ekzekutohet:

Fillimi dhe fundi i ditës

Për datën “30.10.2012”:

  • data e fillimit të ditës duket si kjo "10/30/2012 00:00:00"
  • data e fundit të ditës duket si kjo "10/30/2012 23:59:59"

Përdoret në raporte dhe pyetje që kërkojnë të dhëna për një periudhë - ditë, muaj, vit.

Për shembull, periudha nga "01/01/2012 00:00:00" deri në "01/31/2012 00:00:00" është e pasaktë sepse nuk përfshin një ditë të muajit (por përfshin një sekondë të dita e fundit e muajit).

Puna me datat 1C - Krahasimi i datave

Data përmban datën dhe kohën. Kur krahasoni datat (pa marrë parasysh kohën), ato zakonisht sillen në fillim të ditës (muaj, vit).

Për shembull:
Data 1 = Data ("10/30/2012 12:00:00 PM");
Nëse StartDay(Date1) = StartDay(DocumentRef.Date) Pastaj
alert ("Dokumenti i futur në datën e dhënë");
FundNëse;

Për çdo rast, një shembull i krahasimit të datave në një periudhë:
Nëse DocumentReference.Date >= MonthStart(CurrentDate()) dhe
DocumentReference.Data

Puna me datat 1C - Ndryshimi i datës

Data është numri i sekondave. Nëse duam jo vetëm të zbulojmë nëse një datë është më e madhe se tjetra, por edhe sa më shumë, atëherë diferencën e marrim në sekonda.

Për shembull:
StartDay = CurrentDate() – StartDay(CurrentDate());
Raporti("Ka kaluar nga fillimi i ditës" + String(FROMDayStart) + "sekonda");
Raporti("Nga fillimi i ditës ka kaluar " + Vargu (Nga fillimi i ditës / 60) + "minuta");
Raporti("Nga fillimi i ditës ka kaluar " + Vargu (Nga fillimi i ditës / 60/60) + "orë");

Mund të ndryshojmë edhe datën, kur ndryshojmë shtojmë ose zbresim numrin e sekondave:
StartThisDay = StartDay(Data aktuale());

StartPreviousDay = StartDay(StartThisDay - 1); // hiqni të dytën - duke bërë "dje" dhe merrni fillimin e ditës nga "dje"

StartPreviousDay = StartThisDay - 24*60*60; //në mënyrë tjetër - zbrit 24 orë - 24 (orë) * 60 (minuta dolën) * 60 (sekonda)

Puna me datat 1C - Momenti kohor

Një pikë në kohë është një paraqitje e zgjeruar e një date të zbatueshme për dokumentet (dhe kështu regjistrat).

Kërkohet krahasimi i kohës së dokumenteve nëse data dhe ora e dokumenteve janë të njëjta. Prandaj, mund të përdoret për zgjedhje në pyetje.

Ju mund të merrni një pikë në kohë nga një dokument në mënyrat e mëposhtme:
//metoda 1
DocumentTimeMoment = DocumentReference.MomentTime();

Ju gjithashtu mund të krahasoni një pikë në kohë me një datë/orë:
MomentInTimeReference = New MomentInTime(StartDay(CurrentDate()));
Nëse DocumentReference.TimeIn().Compare(InTimeReference) = -1 Pastaj
Shfaq ("Dokumenti u fut më herët se sot");
FundNëse;
//Nëse dokumenti është futur me datën e sotme në 00:00:00, atëherë ai është futur gjithsesi - sot

Puna me datat 1C - Formatimi i datave

Lloji "Date" në 1C është një nga 4 llojet kryesore të të dhënave së bashku me numrin, vargun dhe boolean. Datat janë të kudondodhura në konfigurime - është e pamundur të shmanget puna me këtë lloj të dhënash gjatë zhvillimit. Prandaj, është më mirë të filloni të shkruani pyetje, duke kuptuar tashmë se si të përpunoni datat, cilat janë mundësitë për të punuar me to, si ruhen ato. Le të shohim shembuj të të gjitha nuancave të shkrimit të pyetjeve me data të ndryshme.

Shembuj të punës me datat në pyetjet 1C

Para së gjithash, duhet të merrni datën në kërkesë në formatin e dëshiruar - me ose pa kohë. Ka disa mënyra për të kryer këtë detyrë:

  1. Kaloni përmes parametrit. Kjo metodë është e vetmja mënyrë për të marrë datën aktuale të seancës;
  2. Merrni datën në pyetje nga fusha e përzgjedhjes;
  3. Konvertoni nga vlerat numerike duke përdorur funksionin DATETIME().

Detyra më e zakonshme kur punoni me dokumente është kontrollimi i një date boshe në një pyetje 1C. Në këtë rast, është më e lehtë të krahasohet ndryshorja ose fusha me një datë boshe, e cila merret duke përdorur funksionin DATETIME(1,1,1):

DATETIME(1, 1, 1)

Me një komandë të ngjashme, mund të merrni një datë dhe orë arbitrare në kërkesë. Në të njëjtën kohë, ato mund të specifikohen deri në një sekondë duke specifikuar 6 numra si parametra. Nëse përdoren vetëm 3 numra, atëherë orët, minutat dhe sekondat do të vendosen në 0 (fillimi i ditës). Për shembull, duhet të zgjedhim dokumentet për 10 ditët e para të janarit 2018 në një pyetje:

ZGJIDH Faturën në llogarinë e shlyerjes. Referenca SI Referencë NGA Dokumenti. Pranimi në llogarinë e shlyerjes AS Faturë në llogarinë e shlyerjes WHERE Pranimi në llogarinë e shlyerjes.Data MES DATETIME(2018, 1, 1, 0, 0, 0, 0, 0, 2018, 2018) 10, 23, 59, 59)

Në një kërkesë në gjuhën e integruar 1C, jo vetëm që mund të zgjidhni fusha të ndryshme dhe të merrni parametra. Ka shumë funksione që e bëjnë të lehtë formatimin e datës për nevojat e një detyre të caktuar. Nëse shpesh punoni me data në një pyetje, atëherë duhet të dini këto komanda:

  • FILLIMI I PERIUDHËS. Si parametra, specifikoni datën dhe intervalin kohor në kontekstin e të cilit është e nevojshme të merret fillimi i datës. Përdoret për të kthyer një datë në një format pa kohë. Për ta bërë këtë, duhet të vendosni parametrin e dytë - "DITA";
FILLIMI I PERIUDHËS (,) FILLIMI I PERIUDHËS (&Data, DITË) periudha>data>
  • PERIUDHA E FUNDIT. Një komandë e ngjashme që kthen datën e fundit në kontekstin e njësive të specifikuara në parametrat;
  • SHTO. Ju lejon të merrni një datë më të madhe për një numër të caktuar të njësive kohore të specifikuara. Data, njësia e kohës dhe numri janë të specifikuara si parametra funksioni;
ADDDATE(,) ADDDATE(&Data, DITA, 10) numërimi>lloji>data>
  • DIFERENCA DATA Merr diferencën midis datave në njësitë e specifikuara;
DATEDIFF(,) DATEDIFF(&Data1, &Data2, DITË) shkruani>datë2>data1>
  • DITË TË JAVËS. Jep numrin rendor të një prej ditëve të javës.

Duke zbatuar siç duhet këto funksione, zhvilluesi mund të zgjidhë detyra mjaft jo të parëndësishme. Për shembull, duke marrë emrin e ditës së javës së datës aktuale në pyetje si varg:

SELECT WHENWEEKDAY(&CurrentDate) = 1 PASTA "Monday" WHENWEEKDAY(&CurrentDate) = 2 PASTA "Tuesday" WHENWEEKDAY(&CurrentDate) = 3 PASTA "E mërkurë" WHENWEEKDAY(&Data Aktuale "Data e javës"(&Data aktuale. "KUR DAYJAVA (&Data aktuale) = 6 PAS "E shtune" TJETER "E diela" FUNDON

Konvertimi i llojeve në një pyetje 1C nga një numër ose varg në një datë është një detyrë e mundimshme. Nga numrat, mund të merrni një datë duke përdorur funksionin DATETIME, nga një varg - duke kombinuar funksionin SUBSTRING dhe ndërtimin SELECT WHEN THEN ELSE. Bazuar në këtë, zhvilluesit preferojnë të marrin datën nga llojet e tjera në modul dhe ta kalojnë atë në kërkesë duke përdorur një parametër. Fatkeqësisht, kjo nuk është gjithmonë e realizueshme, kështu që duhet të ndryshoni formatin e datës në kërkesë.

Është e mundur të specifikoni datën në kërkesën 1C si një parametër për marrjen e të dhënave nga tabelat e regjistrave virtualë. Në këtë rol, ju gjithashtu mund të përdorni të gjitha funksionet e mësipërme. Por këtu është e rëndësishme të parandaloni që data e zbrazët në kërkesën 1C të ndikojë në rezultatin përfundimtar të ekzekutimit të kodit, kështu që është e domosdoshme të kontrolloni.

Artikujt kryesorë të lidhur