கணக்குகள்/தொடர்புகளில் வாடிக்கையாளர்களின் விவரங்களைக் கண்காணிப்பது வாடிக்கையாளர் உறவு மேலாண்மையில் (CRM) மிகவும் முக்கியமானது. தேதியின் அடிப்படையில், வாங்குதல், மேற்கோள் காட்டுதல் மற்றும் சேவை செய்தல் போன்ற அனைத்து செயல்முறைகளும் நடக்கும். சேல்ஸ்ஃபோர்ஸில் சரத்திலிருந்து தேதியை உருவாக்குவது மற்றும் தேதியை சரமாக மாற்றுவது எப்படி என்று பார்ப்போம். இந்த டுடோரியலின் ஒரு பகுதியாக, நாட்கள், ஆண்டுகள், மாதங்கள் போன்றவற்றைச் சேர்ப்பது போன்ற வடிவமைக்கப்பட்ட தேதியில் பயன்படுத்தப்படும் முறைகளையும் எடுத்துக்காட்டுகளுடன் பார்ப்போம்.
உச்ச தேதி வகுப்பு
தேதி வகுப்பு பழமையான அனைத்து தேதி முறைகளையும் ஆதரிக்கிறது. இது 'சிஸ்டம்' பெயர்வெளியைப் பயன்படுத்துகிறது. சரத்தை தேதி வடிவத்திற்கு மாற்ற இந்த வகுப்பிலிருந்து valueOf() முறையைப் பயன்படுத்தலாம். தேதியை வடிவமைத்த பிறகு, இந்த தேதி வகுப்பிலும் கிடைக்கும் சில முறைகளைப் பயன்படுத்தி, இந்த வடிவமைக்கப்பட்ட தேதியில் நாட்கள், மாதங்கள், ஆண்டுகள், போன்றவற்றைச் சேர்க்க சில முறைகளைப் பயன்படுத்துகிறோம்.
முதலில், Salesforce Apex இல் valueOf() முறையைப் பயன்படுத்தி சரத்தை தேதிக்கு மாற்றுவது எப்படி என்று பார்ப்போம்.
Date.valueOf()
அபெக்ஸில் உள்ள valueOf() ஆனது 'தேதி' வகுப்பில் கிடைக்கிறது, இது சரத்தை ஒரு வாதமாக எடுத்துக்கொள்கிறது, இது குறிப்பிட்ட சரத்தை தேதி வடிவமைப்பிற்கு மாற்றுகிறது. உள்ளீட்டு சரம் (அளவுரு) மூன்று பண்புகளை உள்ளடக்கியது - ஆண்டு, மாதம் மற்றும் நாள். இம்மூன்றும் ஒருங்கிணைக்கப்பட்டு/தொடர்ந்து முறைக்கு அனுப்பப்படுகிறது.
தொடரியல்: ValueOf()
ஏற்கனவே குறிப்பிட்டுள்ளபடி, 'தேதி' வகுப்பின் மாறியை அறிவிக்க வேண்டும் மற்றும் அதற்கு சரத்தை அனுப்ப வேண்டும்.
Date date_variable= date.valueOf(string_date_format);
உதாரணமாக:
படி 1:
'ஆண்டு-மாதம்-நாள்' என்று ஒரு சரத்தை வைத்திருப்போம்.
// ஆண்டு, மாதம் மற்றும் நாள் ஆகியவற்றை ஒவ்வொன்றாக அறிவிக்கவும்சரம் ஆண்டு = '2023';
சரம் மாதம் = '4';
சரம் நாள் = '5';
// அவை அனைத்தையும் ஒரு சரமாக இணைக்கவும்
சரம் string_type = ஆண்டு + '-' + மாதம் + '-' + நாள்;
system.debug(string_type);
வெளியீடு:
படி 2:
இப்போது, அபெக்ஸ் 'தேதி' வகுப்பிலிருந்து மதிப்புஆஃப்() முறையைப் பயன்படுத்தி முந்தைய 'தேதி' சரத்தை 'தேதி' ஆக மாற்றவும்.
// சரம்-தேதியை தேதிக்கு மாற்றவும்Date converted_date = date.valueOf(string_type);
system.debug(converted_date);
வெளியீடு:
'தேதிக்கு' மாற்றிய பின், அது தானாகவே தேதியை தேதிநேர வடிவமைப்பில் திருப்பித் தருவதைக் காணலாம். நீங்கள் இவற்றை valueOf() முறைக்கு அனுப்பினாலும், அது நேரத்தை (மணிநேரம்:நிமிடங்கள்:வினாடிகள்) கருத்தில் கொள்ளாது. திரும்பிய வடிவம் YYYY-MM-DD HH:MM:SS.
தேதியை சரமாக மாற்றவும்
“தேதி”யை “சரம்” ஆக மாற்ற இரண்டு வழிகள் உள்ளன. Apex ஆல் ஆதரிக்கப்படும் ஒரு வழி வடிவம்() முறையைப் பயன்படுத்துகிறது. மற்றொரு வழி 'தேதி' பண்புகளை (ஆண்டு, மாதம் மற்றும் நாள்) கைமுறையாக பிரித்தெடுத்து அவற்றை சரமாக இணைப்பதாகும். அவற்றை ஒவ்வொன்றாகப் பார்ப்போம்.
1. வடிவம்()
வடிவமைப்பு() முறை அபெக்ஸில் உள்ள 'தேதி' வகுப்பில் கிடைக்கிறது, இது 'தேதி'யை 'M/D/YYYY' வடிவத்தில் சரமாக மாற்றுகிறது. இந்த முறைக்கு நாம் குறிப்பிட்ட வடிவமைப்பையும் ஒரு அளவுருவாக அனுப்பலாம். குறிப்பிடப்பட்ட வடிவம் இயல்புநிலை வடிவமாகும்.
தொடரியல்:
input_date.format(“format_type”)உதாரணமாக:
முந்தைய உதாரணத்தைக் கருத்தில் கொண்டு, வடிவமைப்பு() முறையைப் பயன்படுத்தி 'தேதியை' மீண்டும் 'சரம்' ஆக மாற்றுவோம். வடிவமைப்பு() முறைக்கு நாங்கள் எந்த குறிப்பிட்ட வடிவமைப்பையும் வழங்கவில்லை.
// ஆண்டு, மாதம் மற்றும் நாள் ஆகியவற்றை ஒவ்வொன்றாக அறிவிக்கவும்சரம் ஆண்டு = '2023';
சரம் மாதம் = '4';
சரம் நாள் = '5';
// அவை அனைத்தையும் ஒரு சரமாக இணைக்கவும்
சரம் string_type = ஆண்டு + '-' + மாதம் + '-' + நாள்;
// சரம்-தேதியை தேதிக்கு மாற்றவும்
Date converted_date = date.valueOf(string_type);
system.debug(converted_date);
// வடிவம்()
system.debug(converted_date.format());
வெளியீடு:
2. தேதி வகுப்பு முறையைப் பயன்படுத்துதல்
இந்தச் சூழ்நிலையில், அபெக்ஸ் “தேதி” வகுப்பில் கிடைக்கும் முறைகளைப் பயன்படுத்தி “தேதி”யிலிருந்து ஆண்டு, மாதம் மற்றும் நாள் ஆகியவற்றைப் பிரித்தெடுக்கிறோம். அடுத்து, 'தேதி'யை 'ஸ்ட்ரிங்' வடிவத்தில் வழங்க இந்த மூன்றையும் இணைக்கிறோம்.
- நாள்() - 'தேதி' இலிருந்து தேதியைப் பிரித்தெடுக்க இந்த முறை பயன்படுத்தப்படுகிறது. இது தேதியைக் குறிப்பிடும் முழு எண்ணை வழங்குகிறது.
- மாதம்() - 'தேதி' இலிருந்து மாதத்தைப் பிரித்தெடுக்க இந்த முறை பயன்படுத்தப்படுகிறது. இது மாத எண்ணைக் குறிப்பிடும் முழு எண்ணை வழங்குகிறது. ஜனவரி 1 என்றும், பிப்ரவரி 2 என்றும் குறிப்பிடலாம். டிசம்பர் 12.
- ஆண்டு() - இந்த முறை 'தேதி' இலிருந்து ஆண்டைப் பிரித்தெடுக்கப் பயன்படுகிறது. இது நான்கு இலக்க வடிவத்தில் ஆண்டை வழங்குகிறது.
தொடரியல்:
input_date.year() + '-' + input_date.month() + '-' + input_date.day()உதாரணமாக:
'YYYY-M-D' வடிவத்தில் 'தேதியை' மீண்டும் 'சரம்' ஆக மாற்றவும்.
// ஆண்டு, மாதம் மற்றும் நாள் ஆகியவற்றை ஒவ்வொன்றாக அறிவிக்கவும்சரம் ஆண்டு = '2023';
சரம் மாதம் = '4';
சரம் நாள் = '5';
// அவை அனைத்தையும் ஒரு சரமாக இணைக்கவும்
சரம் string_type = ஆண்டு + '-' + மாதம் + '-' + நாள்;
// சரம்-தேதியை தேதிக்கு மாற்றவும்
Date converted_date = date.valueOf(string_type);
system.debug(converted_date);
// தேதியை சரமாக மாற்றவும்
system.debug(converted_date.year() + '-' + converted_date.month() + '-' + converted_date.day());
வெளியீடு:
நடைமுறை எடுத்துக்காட்டுகள்:
சேல்ஸ்ஃபோர்ஸ் ஆப்ஜெக்ட்களில் ஏற்கனவே உள்ள தேதியில் நாட்கள், ஆண்டுகள் மற்றும் மாதங்களைச் சேர்ப்பது போன்ற “தேதியை” எவ்வாறு புதுப்பிப்பது என்று பார்க்கலாம். மூன்று முறைகளும் 'n' முழு எண்ணை ஒரு வாதமாக எடுத்துக் கொள்கின்றன.
1. addDays()
ஏற்கனவே உள்ள தேதியில் நாட்களைச் சேர்க்க, “தேதி” வகுப்பில் கிடைக்கும் addDays() முறையை Apex ஆதரிக்கிறது.
2. கூடுதல் மாதங்கள்()
ஏற்கனவே உள்ள தேதியில் மாதங்களைச் சேர்க்க, “தேதி” வகுப்பில் கிடைக்கும் addMonths() முறையை Apex ஆதரிக்கிறது.
3. கூடுதல் ஆண்டுகள்()
ஏற்கனவே உள்ள தேதியுடன் ஆண்டுகளைச் சேர்க்க, 'தேதி' வகுப்பில் கிடைக்கும் addYears() முறையை Apex ஆதரிக்கிறது.
தொடரியல்:
இந்த மூன்று முறைகளுக்கான தொடரியலைப் பார்ப்போம். இங்கே, 'n' இனங்கள் முழு எண் மதிப்பாகும்.
- input_Date.addDays(n)
- input_Date.addMonths(n)
- input_Date.addYears(n)
உதாரணத்திற்குச் செல்வதற்கு முன், பின்வருவனவற்றைக் கவனியுங்கள்:
- சேல்ஸ்ஃபோர்ஸில் உள்நுழைந்து 'ஆப் லாஞ்சர்' என்பதற்குச் சென்று தாவலில் 'பிரச்சாரத்தை' தேடவும். இங்கே, 'பிரச்சாரத்தின் பெயர்' மற்றும் 'முடிவு தேதி' ஆகியவற்றைச் செருகுவோம்.
- 'பிரச்சாரங்கள்' என்பதைத் தேர்ந்தெடுத்து 'புதியது' என்பதைக் கிளிக் செய்யவும்.
- பிரச்சாரத்தில் தரவைச் செருக ஒரு பாப்அப் தோன்றுகிறது. 'பிரச்சாரத்தின் பெயர்' என்பதன் கீழ் 'லினக்ஸ் குறிப்பு இடுகைகளை' சேர்த்து, 'முடிவு தேதியை' 4/5/2023 என அமைக்கவும். பின்னர், 'சேமி' என்பதைக் கிளிக் செய்யவும்.
பதிவோடு தயாராக இருக்கிறோம். (வகை - மாநாடு மற்றும் நிலை - திட்டமிடப்பட்டது தானாக வரும். அதை விடுங்கள்). டெவலப்பர் கன்சோலில் அநாமதேய சாளரத்தைத் திறப்போம்.
எடுத்துக்காட்டு 1:
'Campaign' ஆப்ஜெக்ட்டில் இருக்கும் 'முடிவு தேதி'க்கு 10 நாட்களைச் சேர்க்க addDays() முறையைப் பயன்படுத்துவோம்.
- இதைச் செய்ய, முதலில் SOQL வினவலைப் பயன்படுத்தி “பிரச்சார” பொருளிலிருந்து பதிவைப் பெறவும், இந்தப் பதிவை “பட்டியல்” பொருளில் சேமிக்கவும் வேண்டும்.
- அடுத்து, பட்டியலை மீண்டும் செய்ய “for” லூப்பைப் பயன்படுத்துகிறோம், மேலும் “முடிவு தேதியில்” 10 நாட்களைச் சேர்க்க addDays() முறையைப் பயன்படுத்துகிறோம்.
- இறுதியாக, 'பிரச்சாரம்' பொருளில் 'முடிவு தேதி' புதுப்பிக்க 'புதுப்பிப்பு DML' அறிக்கையைப் பயன்படுத்துகிறோம்.
பட்டியல்
// addDays() முறையைப் பயன்படுத்தி எண்ட்டேட்டில் 10 நாட்களைச் சேர்க்கவும்
(பிரசாரம் நான்: வினவல்1){
i.EndDate = i.EndDate.addDays(10);
}
// இறுதித் தேதியைப் புதுப்பிக்க புதுப்பிப்பு DML ஐப் பயன்படுத்தவும்
புதுப்பிப்பு வினவல்1;
system.debug(query1);
வெளியீடு:
முந்தைய 'முடிவு தேதி' ஏப்ரல் 5 ஆகும். அதனுடன் 10 நாட்களைச் சேர்த்த பிறகு, 'முடிவு தேதி' இப்போது ஏப்ரல் 15 ஆகும்.
'பிரசாரம்' தாவலிலும் பார்க்கலாம். பின்னோக்கி நகர்த்தி பக்கத்தைப் புதுப்பிக்கவும். 'முடிவு தேதி' புதுப்பிக்கப்பட்டதை நீங்கள் பார்க்கலாம்.
எடுத்துக்காட்டு 2:
ஏற்கனவே உள்ள 'முடிவு தேதிக்கு' 3 மாதங்களை சேர்க்க addMonths() முறையைப் பயன்படுத்துவோம்.
// SOQL ஐப் பயன்படுத்தி பிரச்சாரத்திலிருந்து பெயர் மற்றும் முடிவுத் தேதியைத் திருப்பி அனுப்பவும்பட்டியல்
system.debug('உண்மை: '+query1);
// addMonths() முறையைப் பயன்படுத்தி EndDate இல் 3 மாதங்களைச் சேர்க்கவும்
(பிரசாரம் நான்: வினவல்1){
i.EndDate = i.EndDate.addMonths(3);
}
// இறுதித் தேதியைப் புதுப்பிக்க புதுப்பிப்பு DML ஐப் பயன்படுத்தவும்
புதுப்பிப்பு வினவல்1;
system.debug('Updated: '+query1);
வெளியீடு:
'முடிவு தேதியில்' முந்தைய மாதம் ஏப்ரல் ஆகும். 3 மாதங்கள் சேர்த்த பிறகு, இப்போது ஜூலை.
எடுத்துக்காட்டு 3:
ஏற்கனவே உள்ள 'முடிவு தேதியில்' 3 வருடங்களை சேர்க்க addYears() முறையைப் பயன்படுத்துவோம்.
// SOQL ஐப் பயன்படுத்தி பிரச்சாரத்திலிருந்து பெயர் மற்றும் முடிவுத் தேதியைத் திருப்பி அனுப்பவும்பட்டியல்
system.debug('உண்மை: '+query1);
// addYears() முறையைப் பயன்படுத்தி EndDate இல் 3 வருடங்களைச் சேர்க்கவும்
(பிரசாரம் நான்: வினவல்1){
i.EndDate = i.EndDate.addYears(3);
}
// இறுதித் தேதியைப் புதுப்பிக்க புதுப்பிப்பு DML ஐப் பயன்படுத்தவும்
புதுப்பிப்பு வினவல்1;
system.debug('Updated: '+query1);
வெளியீடு:
“முடிவு தேதியில்” 3 ஆண்டுகளைச் சேர்த்த பிறகு, புதுப்பிக்கப்பட்ட ஆண்டு 2026 ஆகும்.
முடிவுரை
சேல்ஸ்ஃபோர்ஸ் அபெக்ஸில் தேதியை வடிவமைப்பது மிகவும் எளிது. இந்த டுடோரியலின் ஒரு பகுதியாக, அபெக்ஸ் 'தேதி' வகுப்பில் கிடைக்கும் valueOf() முறையைப் பயன்படுத்தி 'தேதியை' 'ஸ்ட்ரிங்' வடிவமைப்பிலிருந்து 'தேதி'க்கு மாற்றுவது எப்படி என்று கற்றுக்கொண்டோம். நீங்கள் தேதியை மீண்டும் சரமாக மாற்ற விரும்பினால், வடிவம்() மற்றும் நாள்(), மாதம்() மற்றும் வருடம்() போன்ற தேதி பண்புக்கூறுகளைப் பயன்படுத்துவோம். இறுதியாக, addDays(), addMonths(), and addYears() முறைகளைப் பயன்படுத்தி 'இறுதித் தேதி'யைப் புதுப்பிப்பதற்கான சேல்ஸ்ஃபோர்ஸ் 'பிரச்சார' பொருளில் DML செயல்பாட்டைப் பற்றி விவாதிப்பதன் மூலம் இந்த வழிகாட்டியை முடித்தோம்.