கோரிக்கையில் காலியான தேதியை எவ்வாறு குறிப்பிடுவது? கோரிக்கையில் தேதிகளுடன் வேலை செய்வதற்கான 1c செயல்பாடுகள்.

1C உள்ளமைவுகளில் இருக்கும் அனைத்து ஆவணங்களும், அதன் விளைவாக, கிட்டத்தட்ட எல்லா பதிவேடுகளும் தேதி வகையுடன் குறைந்தபட்சம் ஒரு பண்புக்கூறையாவது கொண்டிருக்க வேண்டும், அதனால்தான் ஒவ்வொரு டெவலப்பரும் தெரிந்து கொள்ள வேண்டும்:

  • மற்ற வகைகளின் அளவுருக்களை கேள்விக்குரிய வகைக்கு மாற்றுவது எப்படி;
  • 1C கோரிக்கையில் காலியான தேதியை எவ்வாறு தீர்மானிப்பது;
  • தேதிக்கும் நேர வரம்புக்கும் என்ன வித்தியாசம்?

இந்த கேள்விகள்தான் எங்கள் கட்டுரையில் பதிலளிக்க முயற்சிப்போம்.

தேதி என்றால் என்ன, அதை எவ்வாறு தீர்மானிப்பது

பெரும்பாலான நிர்வாக முடிவுகளை எடுப்பதற்கும், பதிவுகளை வைத்திருப்பதற்கும் 1 வினாடிக்கு மேல் நேரத் துல்லியம் தேவையில்லை என்பதால், 1C இயங்குதளத்தின் டெவலப்பர்கள், தேதி வடிவமைப்பில் இந்த மதிப்பு முழுமையான குறைந்தபட்சமாக இருக்கும் என்று முடிவு செய்தனர். எனவே, நிரலில் ஒரு நிகழ்வின் நேரத்தை விவரிக்கும் ஒவ்வொரு பண்புக்கூறிலும் இருக்க வேண்டும்:

  • நிகழ்வு நடந்த ஆண்டு;
  • இந்த நிகழ்வின் மாதம்;
  • நாள்.

குறிக்க வேண்டிய அவசியமில்லை: மணிநேரம், நிமிடம் மற்றும் வினாடி. இந்த மூன்று அளவுருக்கள் தவிர்க்கப்பட்டிருந்தால் மற்றும் கூடுதல் நிபந்தனைகள் இல்லை என்றால், நிரல் தானாகவே நாள் தொடக்கத்தில் நேரத்தை அமைக்கிறது.

உலகில் இருக்கும் தேதி வடிவங்கள் குறிப்பிடத்தக்க வேறுபாடுகளைக் கொண்டுள்ளன:

  1. ரஷ்யாவில், நாம் முதலில் ஒரு நாளையும், பின்னர் நிகழ்வின் மாதத்தையும், இறுதியில் வருடத்தையும் வைப்பது வழக்கம்;
  2. அமெரிக்க குடியிருப்பாளர்கள் தேதியை மாதத்துடன் தொடங்குகின்றனர்;
  3. செக், துருவங்கள் மற்றும் ஸ்லோவேனியர்கள் ஆண்டு - மாதம் - நாள் வடிவத்தில் பதிவு காலங்கள்.

இது 1C இயங்குதளம் பயன்படுத்தும் பிந்தைய வடிவமாகும்.

தேதிக்கு மாற்றவும்

பல மதிப்புகள் அல்லது சரத்திலிருந்து தேதி வகையுடன் ஒரு அளவுருவைப் பெற, நீங்கள் படத்தில் காட்டப்பட்டுள்ள குறியீட்டைப் பயன்படுத்த வேண்டும். 1

மேலே உள்ள படத்தில் இருந்து பார்க்க முடிந்தால், ஒரு வரியைப் பயன்படுத்தி தேதியை தீர்மானிக்கலாம் அல்லது கமாவைப் பயன்படுத்தி இந்த வரியை அதன் கூறு பகுதிகளாகப் பிரிப்பதன் மூலம், முடிவு மாறாது.

தேதியின் ஆண்டு நிகழ்வின் மில்லினியம் மற்றும் நூற்றாண்டு உட்பட நான்கு இலக்கங்களைக் கொண்டிருக்க வேண்டும், மாதம், நாள், மணிநேரம் மற்றும் வினாடிகள் முன்னணி பூஜ்ஜியங்கள் உட்பட இரண்டு எழுத்துக்கள் நீளமாக இருக்க வேண்டும் என்பதைப் புரிந்துகொள்வது அவசியம்.

நிகழ்ச்சியின் நேர கவுண்டவுன் ஜனவரி 1, 0001 அன்று நாள் தொடக்கத்தில் இருந்து தொடங்குகிறது. மேலே உள்ள குறியீட்டிற்கு, இந்த மதிப்பை இரண்டு வழிகளில் ஒன்றில் தீர்மானிக்கலாம் (படம் 2).

அரிசி. 2

இரண்டாவது வரியில், நிகழ்வின் மணிநேரம், நிமிடங்கள் மற்றும் நொடிகளைத் தவிர்த்துவிட்டோம், இது எங்கள் குறியீட்டின் செயல்திறனைப் பாதிக்கவில்லை.

1C வினவல்களில் தேதியைப் பயன்படுத்துவதற்கான அம்சங்கள்

1C இயங்குதளம் பயன்படுத்தும் பெரும்பாலான தரவு வகைகளுக்கு, முன் வரையறுக்கப்பட்ட வெற்றிட மதிப்புகள் உள்ளன. எண்களுக்கு, இது 0; இணைப்புகளுக்கு, நீங்கள் மதிப்பை வரையறுக்கலாம் EmptyLink (); ஒரு தேதிக்கு, வெற்று மதிப்பு பொதுவாக தொடக்க தேதியாகக் கருதப்படுகிறது; அதனுடன் தொடர்புடைய வகையின் விவரங்களை எப்போது ஒப்பிட வேண்டும் கோரிக்கை அளவுருக்களை அமைத்தல்.

கேள்விக்குரிய வகையைக் கொண்ட படிவப் பண்புக்கூறின் மதிப்பில் எண்கள் குறிப்பிடப்படாவிட்டாலும், அதாவது, சாளரம் (படம் 3) போல் தெரிகிறது, இதில் எதுவும் குறிப்பிடப்படவில்லை என்று அர்த்தமல்ல; இந்த அளவுருவை வெற்று சரத்துடன் ஒப்பிடுவது வேலை செய்யாது.

அரிசி. 3

வெற்று தேதியைப் பெற்ற பிறகு, அதை எங்கள் கோரிக்கையின் அளவுருவாகக் குறிப்பிடலாம், அதாவது கட்டுமானத்தைப் பயன்படுத்தவும் (படம் 4)

இருப்பினும், வெற்று தேதியை அளவுருவாக அனுப்பாமல், கோரிக்கை அமைப்பிற்குள் சரிபார்ப்பது நல்லது. இதைச் செய்ய, நீங்கள் கோரிக்கைக் குறியீட்டில் (படம் 5) பொருத்தமான நிபந்தனையை உள்ளிடலாம் மற்றும் DateTime() கோரிக்கை செயல்பாட்டைப் பயன்படுத்தலாம்.

அரிசி. 5

மேலே உள்ள கோரிக்கை உரையில், ஆண்டு, மாதம் மற்றும் நாள் ஆகியவற்றின் முன்னணி பூஜ்ஜியங்களை நாங்கள் தவிர்த்துவிட்டோம், மேலும் மணிநேரம், நிமிடங்கள் மற்றும் வினாடிகளைக் குறிப்பிடவில்லை, மேலும் நிரல், அவர்கள் சொல்வது போல், இந்த அனுமானத்தை சாப்பிட்டது.

தேதி மற்றும் நேர எல்லை

மற்றொன்று சுவாரஸ்யமான உண்மைவினவல்கள் மற்றும் தேதிகளுக்கு இடையேயான தொடர்புடன் தொடர்புடையது, பல்வேறு தரவுத்தள அட்டவணைகளை அணுகும்போது "நேரத்தில் புள்ளி" என்ற கருத்தைப் பயன்படுத்துவதாகும்.

பழமையான தேதி வகையை விவரிக்கும் போது தொழில்நுட்ப ஆவணத்தில் குறிப்பிடப்பட்ட "ஒரு மில்லி விநாடி வரை" துல்லியம், குவிப்பு பதிவேட்டின் மெய்நிகர் அட்டவணைகளிலிருந்து பதிவுகளைத் தேர்ந்தெடுக்கும்போது மிகவும் தெளிவாக வெளிப்படுத்தப்படுகிறது: குவிப்புப் பதிவேட்டில், விற்றுமுதல் அட்டவணைக்கு கூடுதலாக, மீதமுள்ளவை இருந்தால் மற்றும் மீதமுள்ள மற்றும் விற்றுமுதல் அட்டவணைகள், பின்னர் அவற்றிலிருந்து தேர்வு மேற்கொள்ளப்பட்டது குறிப்பிட்ட நேரம், வெவ்வேறு முடிவுகளை கொடுக்கலாம்.

இது எப்படி, ஏன் நடக்கிறது என்பதைப் புரிந்து கொள்ள, ஒரு எளிய உதாரணத்தைக் கவனியுங்கள்:

  1. விற்பனை ஆவணம் 12 மணி 31 நிமிடங்கள் 36 வினாடிகளில் மேற்கொள்ளப்படுவதற்கு முன்பு, சர்க்கரை பெயரிடலின் படி நிலுவைகள் 30 கிலோவாக இருந்தன;
  2. ஆவணம் குறிப்பிட்ட நேரம் 10 கிலோ தள்ளுபடி செய்யப்பட்டது;
  3. மீதமுள்ள அட்டவணையின்படி ஆவணத்தின் தேதி 12 மணி 31 நிமிடங்கள் 36 வினாடிகளில் உருவாக்கப்பட்ட அறிக்கை 30 கிலோ இருப்பைக் காண்பிக்கும்;
  4. அட்டவணையில் அதே அறிக்கை அதே நேரத்தில் மீதமுள்ள மற்றும் விற்றுமுதல் 20 கிலோ சமநிலையைக் காண்பிக்கும்.

இந்த நடத்தைக்கான காரணம் என்ன, அதை எவ்வாறு தவிர்ப்பது?

பிரச்சனை என்னவென்றால், மீதமுள்ள அட்டவணையில் காலம் ஒரு திறந்த பிரிவாக குறிப்பிடப்பட்டுள்ளது, அதாவது, அறிக்கை உருவாக்கப்பட்ட நேரத்தில் செய்யப்பட்ட இயக்கங்கள் கணக்கில் எடுத்துக்கொள்ளப்படுவதில்லை, அதாவது, குறிப்பிடப்பட்ட இரண்டாவது தொடக்கத்தில் நேரம் எடுக்கப்படுகிறது. அளவுரு. அதே நேரத்தில், விற்றுமுதல் அட்டவணை மற்றும் மீதமுள்ள மற்றும் விற்றுமுதல் அட்டவணைக்கு, நேர எல்லைகள் கணக்கில் எடுத்துக்கொள்ளப்படுகின்றன, அதாவது, குறிப்பிட்ட வினாடியின் முடிவில் நேரம் எடுக்கப்படுகிறது.

இந்த சூழ்நிலையிலிருந்து பல வழிகள் உள்ளன:

  1. Remains அட்டவணையைப் பயன்படுத்தும் போது, ​​குறிப்பிட்டதை விட 1 வினாடி அதிக நேரப் புள்ளியைக் குறிக்கவும்;
  2. எச்சங்கள் மற்றும் விற்றுமுதல் அட்டவணையை மட்டும் பயன்படுத்தவும் (செயல்திறன் பார்வையில் இருந்து மிகவும் உகந்த விருப்பம் அல்ல);
  3. எல்லை என்ற கருத்தைப் பயன்படுத்தவும்.

கடைசி விருப்பத்தை படத்தில் காட்டப்பட்டுள்ள குறியீட்டால் குறிப்பிடலாம். 6.

எங்கள் பொருளின் முதல் அளவுருவில், அறிக்கையை உருவாக்க வேண்டிய தேதியைக் குறிப்பிடுகிறோம், இரண்டாவது அளவுரு எல்லையின் வகையை தீர்மானிக்கிறது. கொடுக்கப்பட்ட தேதியில் இயக்கங்கள் தேர்வில் சேர்க்கப்படுவது எங்களுக்கு முக்கியம் என்பதால், இந்த அளவுருவை "உள்ளடக்கம்" நிலைக்கு அமைக்க வேண்டும்.

பெரும்பாலும் "தேதி" வகையின் மாறிகளுடன் வேலை செய்ய வேண்டிய அவசியம் உள்ளது. இந்த கட்டுரையில் நாம் அடிப்படை நுட்பங்களைப் பார்ப்போம் - தற்போதைய தேதியை கடந்து, ஒரு வெற்று மதிப்பு, ஒரு தன்னிச்சையான தேதியை சரிபார்த்தல்.

வினவல்களை எழுதும் போது, ​​நீங்கள் அடிக்கடி தற்போதைய தேதியுடன் தரவை ஒப்பிட வேண்டும். உள்ளமைக்கப்பட்ட 1C மொழி CurrentDate() செயல்பாட்டைக் கொண்டுள்ளது. உங்கள் கணினியில் தற்போதைய நேரத்தையும் தேதியையும் தீர்மானிக்க இது உங்களை அனுமதிக்கிறது. தற்போதைய தேதியுடன் செயல்பாடுகளைச் செய்ய, இந்த செயல்பாட்டின் மதிப்பை கோரிக்கைக்கு அளவுருவாக அனுப்ப வேண்டும்.

இதுவரை உருவாக்கப்பட்ட தேதியுடன் செலவு அறிக்கைகளுடன் இணைக்கப்பட்ட அனைத்து கோப்புகளையும் தேர்ந்தெடுக்கும் வினவல் கீழே உள்ளது:

எடுத்துக்காட்டு கோரிக்கை = புதிய கோரிக்கை;
எடுத்துக்காட்டு கோரிக்கை.உரை = "
|தேர்ந்தெடு
| AdvanceReportAttachedFiles.Link
|இருந்து
| அடைவு.AdvanceReportAttachedFilesAS AdvanceReportAttachedFiles
|எங்கே
| AdvanceReportAttachedFiles.தேதி< &ТекДата»;
உதாரணம் கோரிக்கை.SetParameter("CurrentDate", CurrentDate());

விருப்ப தேதி

மேலே விவாதிக்கப்பட்ட செயல்பாடு ஒப்பிட்டுப் பார்க்க உங்களை அனுமதிக்கிறது, எனவே, எந்த காலத்திற்கும் ஒரு தேர்வு செய்யுங்கள். கூடுதல் அளவுருக்களைப் பயன்படுத்தாமல் கோரிக்கையில் கடுமையான தேர்வைக் குறிப்பிட இந்த முறை உங்களை அனுமதிக்கிறது.

மேலே உள்ள எடுத்துக்காட்டில் இந்தச் செயல்பாட்டைப் பயன்படுத்தும் போது, ​​உள்ளீட்டு அளவுருக்களாக மூன்று எண்களை (ஆண்டு, மாதம், நாள்) மட்டுமே அனுப்பினோம். கடைசி மூன்று (மணிநேரம், நிமிடம், வினாடி) விருப்பமானது மற்றும் இல்லாவிட்டால், "0" என்று மாற்றப்படும், அதாவது நாளின் ஆரம்பம்.

இந்த உதாரணம் கடந்த ஆண்டு 2016 இறுதி வரை செலவு அறிக்கைகளுடன் இணைக்கப்பட்ட அனைத்து கோப்புகளையும் மீட்டெடுக்கும். இது சம்பந்தமாக, "டிசம்பர் 31, 2016 23:59:59" நேரப் புள்ளியை ஒப்பிட்டுப் பார்க்க, மணிநேரம், நிமிடம் மற்றும் வினாடியைக் குறிப்பிடுவோம்.

தேர்வு
AdvanceReportAttachedFiles.Link
இருந்து
அடைவு.AdvanceReportAttachedFiles AS AdvanceReportAttachedFiles
எங்கே
AdvanceReportAttachedFiles.தேதி< ДАТАВРЕМЯ(2016, 12, 31, 23, 59, 59)

வெற்று தேதி

ஒரு மாறியில் காலியான தேதி இருக்கிறதா என்று பார்ப்பதற்கான எளிதான வழி, எளிமையான ஒப்பீட்டைப் பயன்படுத்துவதாகும். இந்த எடுத்துக்காட்டில், ஒரு வினவலைப் பயன்படுத்தி, உள்வரும் தேதி நிரப்பப்படாத கணக்கிற்கான அனைத்து பண ரசீதுகளையும் நாங்கள் தேர்ந்தெடுப்போம்.

1C வினவல்கள், அத்துடன் 1C: Enterprise இயங்குதளத்தின் உள்ளமைக்கப்பட்ட மொழி, தேதிகளுடன் பணிபுரியும் செயல்பாடுகளைக் கொண்டுள்ளன. வினவல்களில் தேதி மாற்றங்களை எளிதாக்கவும், அதிக எண்ணிக்கையிலான அளவுருக்களைப் பயன்படுத்துவதைத் தவிர்க்கவும் அவை உதவுகின்றன. இந்த செயல்பாடுகளை பார்க்கலாம்.

1C வினவல்களில் தேதியை மாறிலியாக அமைப்பது எப்படி

DATETIME (ஆண்டு, மாதம், நாள், மணிநேரம், நிமிடம், இரண்டாவது). விருப்பங்கள் ஆண்டு, மாதம்மற்றும் நாள்கட்டாயம், மற்றவை இல்லை. நீங்கள் நேரத்தைக் குறிப்பிடவில்லை என்றால், கணினி நாளின் தொடக்கத்தை அமைக்கும்.

கோரிக்கை. உரை = "தேர்வு
தேதிநேரம் (2016,09,28,12,22,00)"
; // முடிவு: செப்டம்பர் 28, 2016 12:22:00

கூடுதலாக, இந்தச் செயல்பாட்டிற்கான அளவுருக்களாக எண்களை மட்டுமே வெளிப்படையாகக் குறிப்பிட முடியும். மற்ற செயல்பாடுகளின் மதிப்புகளை அளவுருக்களாக நீங்கள் குறிப்பிட முடியாது. உதாரணமாக, இந்த கட்டுமானம் வேலை செய்யாது:

கோரிக்கை. உரை = "தேர்வு
DATETIME (ஆண்டு (ஆதாரம். தேதி),09,28,12,22,00)
கோப்பகத்திலிருந்து.Source AS மூலம்"
;

ஒரு வருடம், அரை வருடம், காலாண்டு, மாதம், தசாப்தம், வாரம், நாள், மணிநேரம், நிமிடம் ஆகியவற்றின் ஆரம்பம் அல்லது முடிவை 1C வினவல்களில் பெறுவது எப்படி

இதற்காக, பின்வரும் செயல்பாடுகள் பயன்படுத்தப்படுகின்றன:

  • தொடக்க காலம்(தேதி, காலம்)
  • இறுதி காலம்(தேதி, காலம்)

ஒரு அளவுருவாக தேதிவகையுடன் ஒரு மதிப்பு அனுப்பப்பட்டது நாளில்.அளவுரு காலம் .

கோரிக்கை. உரை = "தேர்வு
தொடக்க காலம்(DATETIME (2016,09,28,12,22,00), DECADE)"
; // முடிவு: செப்டம்பர் 21, 2016 0:00:00

கோரிக்கை. உரை = "தேர்வு
இறுதி காலம்(தேதி நேரம் (2016,09,28,12,22,00), காலாண்டு)"
; // முடிவு: செப்டம்பர் 30, 2016 23:59:59

எடுத்துக்காட்டுகளில் இருந்து நீங்கள் பார்க்க முடியும் என, இந்த செயல்பாடுகளில் நீங்கள் மற்ற உள்ளமை செயல்பாடுகளைப் பயன்படுத்தலாம்.

1C வினவல்களில் ஒரு தேதியிலிருந்து ஆண்டு, ஆண்டின் நாள், காலாண்டு, மாதம், வாரம், வாரத்தின் நாள், நாள், மணிநேரம், நிமிடம், இரண்டாவது ஆகியவற்றை எவ்வாறு பெறுவது

இதைச் செய்ய, நீங்கள் தேதியை அளவுருவாக அனுப்ப வேண்டிய தொடர்புடைய செயல்பாடுகள் உள்ளன.

  • செயல்பாடு ஆண்டு (தேதி)- ஆண்டு எண்ணை வழங்குகிறது;
  • செயல்பாடு நாள் ஆண்டு (தேதி)- வருடத்தின் நாளின் எண்ணிக்கையை அதிகரிக்கிறது;
  • செயல்பாடு காலாண்டு (தேதி)- காலாண்டு எண்ணை வழங்குகிறது;
  • செயல்பாடு மாதம் (தேதி)- மாத எண்ணை வழங்குகிறது;
  • செயல்பாடு வாரம் (தேதி)- வருடத்தின் வாரத்தின் எண்ணிக்கையை வழங்குகிறது;
  • செயல்பாடு வாரத்தின் நாள் (தேதி)- வாரத்தின் நாளின் எண்ணிக்கையை வழங்குகிறது (திங்கள் - 1, ஞாயிறு - 7);
  • செயல்பாடு நாள் (தேதி)- மாதத்தின் நாளின் எண்ணிக்கையை வழங்குகிறது;
  • செயல்பாடு மணிநேரம் (தேதி)- மணிநேரத்தைத் திருப்பித் தருகிறது;
  • செயல்பாடு நிமிடம் (தேதி)- நிமிடங்கள் திரும்பும்;
  • செயல்பாடு இரண்டாவது (தேதி)- விநாடிகளைத் திருப்பித் தருகிறது.

கோரிக்கை. உரை = "தேர்வு
ஆண்டு(தேதி நேரம் (2016,09,28,12,22,00))"
; // முடிவு: 2016

கோரிக்கை. உரை = "தேர்வு
வாரம்(தேதிநேரம் (2016,09,28,12,22,00))"
; // முடிவு: 40

கோரிக்கை. உரை = "தேர்வு
வாரநாள்(தேதிநேரம் (2016,09,28,12,22,00))"
; // முடிவு: 3

கோரிக்கை. உரை = "தேர்வு
நாள்(தேதி நேரம் (2016,09,28,12,22,00))"
; // முடிவு: 272

கோரிக்கை. உரை = "தேர்வு
நாள்(தேதிநேரம் (2016,09,28,12,22,00))"
; // முடிவு: 28

ஒரு வருடம், அரையாண்டு, காலாண்டு, மாதம், தசாப்தம், வாரம், நாள், மணிநேரம், நிமிடம், 1C வினவல்களில் ஒரு தேதியிலிருந்து எப்படி சேர்ப்பது அல்லது கழிப்பது

இதைச் செய்ய, செயல்பாட்டைப் பயன்படுத்தவும் AddToDate(தேதி, காலம், மதிப்பு).

ஒரு அளவுருவாக தேதிவகையுடன் ஒரு மதிப்பு அனுப்பப்பட்டது நாளில்.அளவுரு காலம்பின்வரும் மதிப்புகளில் ஒன்றை எடுக்கலாம்: இரண்டாவது, நிமிடம், மணிநேரம், நாள், வாரம், தசாப்தம், மாதம், காலாண்டு, அரையாண்டு, ஆண்டு.

அளவுரு பொருள்சேர்க்க வேண்டிய காலங்களின் எண்ணிக்கையைக் காட்டுகிறது. காலத்தை கழிக்க வேண்டும் என்றால், அளவுரு பொருள்எதிர்மறையாக இருக்க வேண்டும்.

கோரிக்கை. உரை = "தேர்வு
AddToDate(தேதிநேரம்(2016, 9, 28, 12, 22, 0), அரையாண்டு, 1)"
; // முடிவு: மார்ச் 28, 2017 12:22:00

கோரிக்கை. உரை = "தேர்வு
AddKDate(DATETIME(2016, 9, 28, 12, 22, 0), DECADE, -1)"
; // முடிவு: செப்டம்பர் 18, 2016 12:22:00

1C வினவல்களில் தேதி வேறுபாட்டை எவ்வாறு கணக்கிடுவது

இதைச் செய்ய, செயல்பாட்டைப் பயன்படுத்தவும் வேறுபாடு தேதி(தேதி1, தேதி2, காலம்).

அளவுரு தேதி1- கழிக்கப்பட வேண்டிய தேதி.

அளவுரு தேதி 2 -கழிக்க வேண்டிய தேதி.

அளவுரு காலம்பின்வரும் மதிப்புகளில் ஒன்றை எடுக்கலாம்: இரண்டாவது, நிமிடம், மணிநேரம், நாள், மாதம், காலாண்டு, ஆண்டு. எந்தெந்த அலகுகளில் நாம் முடிவைப் பெற விரும்புகிறோம் என்பதை இது காட்டுகிறது

கோரிக்கை. உரை = "தேர்வு
வித்தியாசத் தேதி(தேதிநேரம்(2016, 9, 28, 12, 22, 0), தேதிநேரம்(2017, 9, 28, 12, 22, 0), காலாண்டு)"
; // முடிவு: 4

கோரிக்கை. உரை = "தேர்வு
வித்தியாசத் தேதி(தேதிநேரம்(2016, 9, 28, 12, 22, 0), DATETIME(2017, 9, 28, 12, 22, 0), இரண்டாவது)"
; // முடிவு: 31,536,000

செயல்பாடு தவிர அனைத்து செயல்பாடுகளிலும் தேதி நேரம், ஒரு அளவுருவாக தேதிஒரு குறிப்பிட்ட தேதி மதிப்பு (நிலையான அல்லது வினவல் அளவுரு) மட்டுமல்ல, ஆதார அட்டவணை புலங்களாகவும் இருக்கலாம்.

1C இல் உள்ள "தேதி" வகையானது எண், சரம் மற்றும் பூலியன் ஆகியவற்றுடன் 4 முக்கிய தரவு வகைகளில் ஒன்றாகும். உள்ளமைவுகளில் தேதிகள் எங்கும் காணப்படுகின்றன - மேம்பாட்டின் போது இந்த தரவு வகையுடன் வேலை செய்வதைத் தவிர்க்க முடியாது. எனவே, தேதிகளை எவ்வாறு செயலாக்குவது, அவற்றுடன் பணிபுரிய என்ன விருப்பங்கள் உள்ளன, அவை எவ்வாறு சேமிக்கப்படுகின்றன என்பதைப் புரிந்துகொண்டு வினவல்களை எழுதத் தொடங்குவது நல்லது. வெவ்வேறு தேதிகளுடன் வினவல்களை எழுதுவதற்கான அனைத்து நுணுக்கங்களின் எடுத்துக்காட்டுகளைப் பார்ப்போம்.

1C வினவல்களில் தேதிகளுடன் பணிபுரிவதற்கான எடுத்துக்காட்டுகள்

முதலில், நீங்கள் கோரிக்கையில் தேதியை தேவையான வடிவத்தில் பெற வேண்டும் - நேரத்துடன் அல்லது இல்லாமல். இந்த பணியை நிறைவேற்ற பல வழிகள் உள்ளன:

  1. அளவுரு வழியாக அனுப்பவும். இந்த முறையைப் பயன்படுத்தி தற்போதைய அமர்வு தேதியை மட்டுமே நீங்கள் பெற முடியும்;
  2. தேர்வு புலத்திலிருந்து வினவலில் தேதியைப் பெறவும்;
  3. DATETIME() செயல்பாட்டைப் பயன்படுத்தி எண் மதிப்புகளிலிருந்து மாற்றவும்.

ஆவணங்களுடன் பணிபுரியும் போது மிகவும் பொதுவான பணி 1C கோரிக்கையில் ஒரு வெற்று தேதியை சரிபார்க்கிறது. இந்த வழக்கில், ஒரு மாறி அல்லது புலத்தை வெற்று தேதியுடன் ஒப்பிடுவது எளிதானது, இது DATETIME(1,1,1) செயல்பாட்டைப் பயன்படுத்தி பெறப்படுகிறது:

தேதிநேரம் (1, 1, 1)

இதேபோன்ற கட்டளையைப் பயன்படுத்தி, கோரிக்கையில் தன்னிச்சையான தேதி மற்றும் நேரத்தைப் பெறலாம். மேலும், 6 எண்களை அளவுருக்களாகக் குறிப்பிடுவதன் மூலம் அவற்றை ஒரு நொடி வரை துல்லியமாகக் குறிப்பிடலாம். 3 எண்கள் மட்டுமே பயன்படுத்தப்பட்டால், மணிநேரம், நிமிடங்கள் மற்றும் வினாடிகள் 0 ஆக அமைக்கப்படும் (நாளின் ஆரம்பம்). எடுத்துக்காட்டாக, கோரிக்கையில் ஜனவரி 2018 முதல் 10 நாட்களுக்கு ஆவணங்களைத் தேர்ந்தெடுக்க வேண்டும்:

நடப்புக் கணக்கிற்கான ரசீதைத் தேர்ந்தெடுங்கள். ஆவணத்திலிருந்து இணைப்பு. நடப்புக் கணக்கிற்கான ரசீது என நடப்புக் கணக்கிற்கான ரசீது நடப்புக் கணக்கிற்கான ரசீது. தேதிக்கு இடைப்பட்ட தேதி(2018, 1, 1, 0, 0, 0) மற்றும் தேதி, நேரம்(2018 10, 23, 59, 59)

உள்ளமைக்கப்பட்ட 1C மொழியில் உள்ள வினவலில், நீங்கள் பல்வேறு புலங்களைத் தேர்ந்தெடுத்து அளவுருக்களை மட்டும் பெற முடியாது. ஒரு குறிப்பிட்ட பணிக்கான தேதிகளை வடிவமைப்பதை எளிதாக்கும் பல செயல்பாடுகள் உள்ளன. வினவலில் நீங்கள் அடிக்கடி தேதிகளுடன் பணிபுரிந்தால், பின்வரும் கட்டளைகளை நீங்கள் அறிந்து கொள்ள வேண்டும்:

  • காலத்தின் ஆரம்பம்.அளவுருக்கள் தேதியின் தொடக்கத்தைப் பெற வேண்டிய சூழலில் தேதி மற்றும் நேரத்தைக் குறிப்பிடுகின்றன. தேதியை காலமற்ற வடிவத்திற்கு மாற்றப் பயன்படுகிறது. இதை செய்ய, நீங்கள் இரண்டாவது அளவுருவை அமைக்க வேண்டும் - "DAY";
காலத்தின் ஆரம்பம்(,) காலத்தின் ஆரம்பம்(&தேதி, நாள்) காலம்>தேதி>
  • காலத்தின் முடிவு.அளவுருக்களில் குறிப்பிடப்பட்ட அலகுகளின் அடிப்படையில் கடைசி தேதியை வழங்கும் ஒத்த கட்டளை;
  • ADDKDATE.குறிப்பிட்ட நேர அலகுகளின் குறிப்பிட்ட எண்ணிக்கையில் அதிகமான தேதியைப் பெற உங்களை அனுமதிக்கிறது. செயல்பாட்டு அளவுருக்களில் தேதி, நேர அலகு மற்றும் எண் ஆகியவை அடங்கும்;
ADDKDATE(,) ADDKDATE(&தேதி, நாள், 10) அளவு>வகை>தேதி>
  • வித்தியாசம்.குறிப்பிட்ட அலகுகளில் தேதிகளுக்கு இடையிலான வேறுபாட்டைப் பெறுகிறது;
DIFFERENCEDATE(,) DIFFERENCEDATE(&Date1, &Date2, DAY) வகை>date2>date1>
  • வாரம் ஒரு நாள்.வாரத்தின் ஒரு நாளின் வரிசை எண்ணை வழங்கும்.

இந்த செயல்பாடுகளை சரியாகப் பயன்படுத்துவதன் மூலம், டெவலப்பர் மிகவும் அற்பமான சிக்கல்களைத் தீர்க்க முடியும். எடுத்துக்காட்டாக, கோரிக்கையில் தற்போதைய தேதியின் வாரத்தின் நாளின் பெயரை சரமாகப் பெறுதல்:

வாரத்தின் நாளை (&தற்போதைய தேதி) = 1 பின்னர் "திங்கட்கிழமை" வியாழன் (&தற்போதைய தேதி) = 2 பின்னர் "செவ்வாய்" வாரத்தின் கிழமை (&தற்போதைய தேதி) = 3 பின்னர் "புதன்கிழமை" வியாழக்கிழமை = 4 "புதன்கிழமை" வியாழக்கிழமை (&4) கே.எஸ் (&தற்போதைய தேதி) = 5 பின்னர் "வெள்ளிக்கிழமை" வாரத்தின் கிழமை (&தற்போதைய தேதி) = 6 பின்னர் "சனிக்கிழமை" மற்றது "ஞாயிறு" முடிவு

1C வினவலில் உள்ள வகைகளை எண் அல்லது சரத்திலிருந்து தேதிக்கு மாற்றுவது உழைப்பு மிகுந்த பணியாகும். நீங்கள் DATETIME செயல்பாட்டைப் பயன்படுத்தி எண்களிலிருந்து தேதியைப் பெறலாம், ஒரு சரத்திலிருந்து - SUBSTRING செயல்பாடு மற்றும் தேர்ந்தெடுக்கும் போது வேறு கட்டுமானத்தை இணைப்பதன் மூலம். இதன் அடிப்படையில், டெவலப்பர்கள் தொகுதியில் உள்ள பிற வகைகளிலிருந்து தேதியைப் பெற விரும்புகிறார்கள் மற்றும் ஒரு அளவுருவைப் பயன்படுத்தி கோரிக்கைக்கு அனுப்புகிறார்கள். துரதிர்ஷ்டவசமாக, இது எப்போதும் சாத்தியமில்லை, எனவே நீங்கள் கோரிக்கையில் தேதி வடிவமைப்பை மாற்ற வேண்டும்.

மெய்நிகர் பதிவு அட்டவணையில் இருந்து தரவைப் பெற ஒரு அளவுருவாக 1C கோரிக்கையில் தேதியைக் குறிப்பிடலாம். இந்த பாத்திரம் மேலே உள்ள அனைத்து செயல்பாடுகளையும் பயன்படுத்தலாம். ஆனால் இங்கே அனுமதிக்காதது முக்கியம் வெற்று தேதி 1C கோரிக்கையில் குறியீடு செயல்படுத்தலின் இறுதி முடிவை பாதிக்கலாம், எனவே ஒரு சரிபார்ப்பு செய்யப்பட வேண்டும்.

பெரும்பாலும் 1C வினவல்களில் நீங்கள் தேதிகளுடன் வேலை செய்ய வேண்டும். குறிப்பாக குறிப்பிட்ட கால இடைவெளியில் தகவல்களைக் கொண்ட மெட்டாடேட்டா பொருள்களுக்கு கோரிக்கை விடுக்கப்படும் போது. ஒரு விதியாக, இவை பதிவேடுகள் (தகவல், குவிப்பு, கணக்கீடு, கணக்கியல்). தேதிகளுடன் பணிபுரிய 1C வினவல் மொழியின் பொதுவாகப் பயன்படுத்தப்படும் செயல்பாடுகளைப் பார்ப்போம். தகவல் பதிவேட்டின் அடிப்படையில் எடுத்துக்காட்டுகளை உருவாக்குவோம் பணியாளர்கள் அமைப்புகள் ZUP கட்டமைப்புகள் பதிப்பு 2.5.

  • தேதி நேரம்

    ஆண்டு, மாதம், நாள், மணி, நிமிடம், வினாடி ஆகியவற்றைக் குறிப்பிடுவதன் மூலம் கோரிக்கையில் (நேரத்துடன் அல்லது இல்லாமல்) தேதியைப் பெற உங்களை அனுமதிக்கிறது.
    தொடரியல்:
    DATETIME(ஆண்டு, மாதம், நாள், மணிநேரம், நிமிடம், இரண்டாவது)
    பொதுவாக மணி, நிமிடம் மற்றும் வினாடி குறிப்பிடப்படுவதில்லை. ஒரு சின்ன உதாரணம் தருவோம். வினவல் கன்சோலில் பின்வரும் உரையை உள்ளிடவும்:

    தேதி நேரத்தைத் தேர்ந்தெடு (2016, 1, 1)

    கோரிக்கையை நிறைவேற்றியதன் விளைவாக, தேதியைப் பெறுகிறோம் - 01/01/2016
    உண்மையில், ஒரு கோரிக்கையில் தேதி இந்த வழியில் குறிக்கப்படும் சூழ்நிலையை கற்பனை செய்வது கடினம். எல்லாவற்றிற்கும் மேலாக, நீங்கள் ஒரு காலத்தை குறிப்பிட வேண்டும் போது, ​​அளவுருக்கள் பயன்படுத்தப்படுகின்றன. ஆனால் இந்த செயல்பாடு குறிப்பிட்ட மதிப்புடையதாக இருக்கும்போது ஒரு வழக்கு உள்ளது. புலங்களில் அல்லது கோரிக்கை நிபந்தனைகளில் வெற்று தேதியைக் குறிப்பிட வேண்டியிருக்கும் போது இதுவே ஆகும். 0001.01.01 - 1C மொழிக்கான வெற்று தேதியில் படிவம் உள்ளது என்பதை உங்களுக்கு நினைவூட்டுகிறேன். எனவே, கோரிக்கையில் காலியான தேதியைப் பெற, குறிப்பிடவும் DATETIME(1, 1, 1). உதாரணமாக, தகவல் பதிவேட்டில் இருந்து தேர்ந்தெடுக்கலாம் பணியாளர்கள் அமைப்புகள்நிரப்பப்படாத பதிவுகள் நிறைவு காலம்:

    நிறுவனப் பணியாளர்களைத் தேர்ந்தெடுங்கள். காலம், நிறுவனப் பணியாளர்கள். பணியாளர், நிறுவனப் பணியாளர்கள். பதவி, நிறுவனப் பணியாளர்கள். நிறுவனப் பிரிவு. பதிவுத் தகவலிலிருந்து. நிறுவனப் பணியாளர்கள் நிறுவனப் பணியாளர்கள் என நிறுவனப் பணியாளர்கள் எங்கிருந்து நிறுவனப் பணியாளர்கள் = 1 நாள், பணியமர்த்தப்பட்ட நேரம்.

  • காலத்தின் ஆரம்பம்

    குறிப்பிட்ட தேதிக்கு, அது சேர்ந்த காலத்தின் தொடக்கத்தை வழங்குகிறது.
    தொடரியல்:
    காலத்தின் ஆரம்பம் (தேதி, கால வகை)
    பீரியட் டைப் பின்வரும் மதிப்புகளை எடுக்கலாம்: நிமிடம், மணிநேரம், நாள், வாரம், மாதம், காலாண்டு, ஆண்டு, தசாப்தம், அரையாண்டு
    வினவல் கன்சோலில், உள்ளிடவும்:

    காலத்தின் தொடக்கத்தைத் தேர்ந்தெடுக்கவும் (தேதிநேரம்(2016, 1, 15), மாதம்)

    கோரிக்கை திரும்பும் - 01/01/2016
    இப்போது ஒரு உதாரணம். உங்களுக்குத் தெரியும், பதிவேட்டின் கால இடைவெளி பணியாளர்கள் அமைப்புகள்ஒரு நாள். உண்மையான பதிவு காலத்திற்குப் பதிலாக மாதத்தின் தொடக்கத் தேதி காட்டப்படும் வினவலை உருவாக்குவோம்.

    மாதத்தின் தொடக்கம், நிறுவனங்களின் பணியாளர்கள்

  • காலத்தின் முடிவு

    தொடரியல் காலத்தின் தொடக்கத்தைப் போலவே உள்ளது. பெயர் குறிப்பிடுவது போல, இது தேதி மற்றும் கால வகையின்படி காலத்தின் முடிவை வழங்குகிறது. நாங்கள் அதை விரிவாகக் கருத்தில் கொள்ள மாட்டோம். ஒரு சிறிய உதாரணத்திற்கு நம்மை மட்டுப்படுத்துவோம்.
    கோரிக்கை:

    காலத்தின் முடிவைத் தேர்ந்தெடு (தேதிநேரம்(2016, 1, 15), மாதம்)

    01/31/2016 23:59:59 திரும்பும்
    நீங்கள் பார்க்க முடியும் என, மதிப்பு இரண்டாவது துல்லியமாக திரும்பும்.

  • ADDKDATE

    தேதியுடன் குறிப்பிட்ட நேர இடைவெளிகளின் எண்ணிக்கையைச் சேர்க்கிறது.
    தொடரியல்:
    ADDKDATE(தேதி, கால வகை, அளவு)
    பீரியட் டைப் செயல்பாட்டிற்கான அதே மதிப்புகளை எடுக்கும் காலத்தின் ஆரம்பம்
    எடுத்துக்காட்டாக, பிப்ரவரி தேதியைத் தேர்வு செய்வோம்:

    ADDKDATE (தேதிநேரம்(2016, 2, 15), மாதம், 2) தேர்ந்தெடுக்கவும்

    நாங்கள் தேதியைப் பெறுகிறோம் 04/15/2016 0:00:00 பிப்ரவரி ஒரு சிறிய மாதமாக இருந்தாலும், பெறப்பட்ட தேதியின் நாள் அசல் ஒன்றே. மாதங்களில் நாட்களின் எண்ணிக்கையைப் பற்றி நீங்கள் சிந்திக்க வேண்டியதில்லை என்பது மிகவும் வசதியானது.
    அளவு எதிர்மறையாகவும் இருக்கலாம். பின்னர் இடைவெளி எதிர் திசையில் கணக்கிடப்படுகிறது.

  • வேறுபாடு

    குறிப்பிட்ட அலகுகளில் இரண்டு தேதிகளுக்கு இடையிலான வேறுபாட்டைக் கணக்கிடவும்.
    தொடரியல்:
    தேதி வேறுபாடு (தொடக்க தேதி, முடிவு தேதி, கால வகை)
    கால வகை பின்வரும் மதிப்புகளை எடுக்கலாம்: இரண்டாவது, நிமிடம், மணிநேரம், நாள், மாதம், காலாண்டு, ஆண்டு
    உதாரணத்திற்கு:

    வேறுபாட்டைத் தேர்ந்தெடுக்கவும் (தேதிநேரம்(2016, 2, 15), தேதிநேரம்(2016, 3, 1), நாள்)

    திரும்புகிறது 15

1C வினவல் மொழியின் அடிக்கடி பயன்படுத்தப்படும் செயல்பாடுகளை இங்கு மதிப்பாய்வு செய்துள்ளோம். மீதமுள்ளவை மிகவும் அரிதாகவே பயன்படுத்தப்படுகின்றன. தேவைப்பட்டால், அவர்களுடன் பணிபுரியும் எடுத்துக்காட்டுகள் 1C இயங்குதளத்தில் கட்டப்பட்ட உதவியில் காணலாம்.



பிழை:உள்ளடக்கம் பாதுகாக்கப்படுகிறது!!