سیلز فورس اپیکس - تاریخ کی شکل

Sylz Fwrs Apyks Tarykh Ky Shkl



کسٹمر ریلیشن شپ مینجمنٹ (CRM) میں اکاؤنٹس/رابطوں میں صارفین کی تفصیلات کا سراغ لگانا بہت ضروری ہے۔ تاریخ کی بنیاد پر، خریداری، حوالہ، اور سروسنگ جیسے تمام عمل ہوتے ہیں۔ آئیے دیکھتے ہیں کہ سیلز فورس میں سٹرنگ سے تاریخ کیسے بنائی جائے اور تاریخ کو سٹرنگ میں تبدیل کیا جائے۔ اس ٹیوٹوریل کے حصے کے طور پر، ہم وہ طریقے بھی دیکھیں گے جو فارمیٹ شدہ تاریخ پر لاگو ہوتے ہیں جیسے دن، سال، مہینے وغیرہ، مثالوں کے ساتھ شامل کرنا۔

اپیکس ڈیٹ کلاس

ڈیٹ کلاس تاریخ کے تمام طریقوں کی حمایت کرتی ہے جو قدیم ہیں۔ یہ 'سسٹم' نام کی جگہ استعمال کرتا ہے۔ سٹرنگ کو ڈیٹ فارمیٹ میں تبدیل کرنے کے لیے ہم اس کلاس سے valueOf() طریقہ استعمال کر سکتے ہیں۔ تاریخ کو فارمیٹ کرنے کے بعد، ہم اس فارمیٹ شدہ تاریخ میں دنوں، مہینوں، سال، وغیرہ کو شامل کرنے کے لیے کچھ طریقے استعمال کرتے ہیں جو اس تاریخ کی کلاس میں بھی دستیاب ہیں۔







سب سے پہلے، ہم دیکھیں گے کہ Salesforce Apex میں valueOf() طریقہ استعمال کرتے ہوئے سٹرنگ کو ڈیٹ میں کیسے تبدیل کیا جائے۔



Date.valueOf()

Apex میں valueOf() 'تاریخ' کلاس میں دستیاب ہے جو سٹرنگ کو ایک دلیل کے طور پر لیتی ہے جو مخصوص سٹرنگ کو تاریخ کی شکل میں تبدیل کرتی ہے۔ ان پٹ سٹرنگ (پیرامیٹر) میں تین صفات شامل ہیں - سال، مہینہ اور دن۔ یہ تینوں یکجا/مربوط ہیں اور طریقہ کو منتقل کر دیے گئے ہیں۔



نحو: ValueOf()

جیسا کہ پہلے ہی ذکر کیا جا چکا ہے، ہمیں 'تاریخ' کلاس کے متغیر کا اعلان کرنے اور اس پر سٹرنگ بھیجنے کی ضرورت ہے۔





Date date_variable= date.valueOf(string_date_format)؛

مثال:

مرحلہ نمبر 1:

آئیے ایک سٹرنگ رکھتے ہیں جس میں 'سال ماہ کا دن' ہوتا ہے۔

// سال، مہینے اور دن کا ایک ایک کرکے اعلان کریں۔

سٹرنگ سال = '2023';

سٹرنگ ماہ = '4';

سٹرنگ ڈے = '5';

// ان سب کو ایک تار میں جوڑیں۔

string_type = سال + '-' + مہینہ + '-' + دن;

system.debug(string_type)؛

آؤٹ پٹ:



مرحلہ 2:

اب، Apex 'Date' کلاس سے valueOf() طریقہ استعمال کرتے ہوئے پچھلی 'Date' سٹرنگ کو 'Date' میں تبدیل کریں۔

// سٹرنگ-تاریخ کو تاریخ میں تبدیل کریں۔

Date converted_date = date.valueOf(string_type)؛

system.debug(converted_date)؛

آؤٹ پٹ:

ہم دیکھ سکتے ہیں کہ 'تاریخ' میں تبدیل ہونے کے بعد، یہ خود بخود ڈیٹ ٹائم فارمیٹ میں تاریخ واپس کر دیتا ہے۔ یہ وقت (گھنٹے: منٹ: سیکنڈ) پر غور نہیں کرے گا یہاں تک کہ اگر آپ ان کو ویلیو آف() طریقہ میں منتقل کرتے ہیں۔ واپس کردہ فارمیٹ YYYY-MM-DD HH:MM:SS ہے۔

تاریخ کو سٹرنگ میں تبدیل کریں۔

'تاریخ' کو 'سٹرنگ' میں تبدیل کرنے کے دو طریقے ہیں۔ ایک طریقہ جس کی حمایت اپیکس کے ذریعہ کی جاتی ہے وہ ہے format() طریقہ استعمال کرنا۔ دوسرا طریقہ دستی طور پر 'تاریخ' صفات (سال، مہینہ اور دن) کو نکالنا اور ان کو سٹرنگ میں جوڑنا ہے۔ آئیے ایک ایک کرکے ان کو دیکھتے ہیں۔

1. فارمیٹ()

فارمیٹ() طریقہ ایپیکس میں 'تاریخ' کلاس میں دستیاب ہے جو 'تاریخ' کو 'M/D/YYYY' فارمیٹ میں سٹرنگ میں تبدیل کرتا ہے۔ ہم مخصوص فارمیٹ کو بھی اس طریقہ کار میں پیرامیٹر کے طور پر پاس کر سکتے ہیں۔ مخصوص فارمیٹ ڈیفالٹ فارمیٹ ہے۔

نحو:

input_date.format('format_type')

مثال:

آئیے پچھلی مثال پر غور کریں اور فارمیٹ() طریقہ استعمال کرتے ہوئے 'تاریخ' کو 'اسٹرنگ' میں تبدیل کریں۔ ہم format() طریقہ کار کو کوئی مخصوص فارمیٹ فراہم نہیں کر رہے ہیں۔

// سال، مہینے اور دن کا ایک ایک کرکے اعلان کریں۔

سٹرنگ سال = '2023';

سٹرنگ ماہ = '4';

سٹرنگ ڈے = '5';

// ان سب کو ایک تار میں جوڑیں۔

string_type = سال + '-' + مہینہ + '-' + دن;

// سٹرنگ-تاریخ کو تاریخ میں تبدیل کریں۔

Date converted_date = date.valueOf(string_type)؛

system.debug(converted_date)؛

// فارمیٹ()

system.debug(converted_date.format())؛

آؤٹ پٹ:

2. تاریخ کی کلاس کا طریقہ استعمال کرنا

اس منظر نامے میں، ہم اپیکس 'تاریخ' کلاس میں دستیاب طریقوں کا استعمال کرتے ہوئے 'تاریخ' سے سال، مہینے اور دن کو الگ الگ کرتے ہیں۔ اگلا، ہم 'تاریخ' کو 'سٹرنگ' فارمیٹ میں واپس کرنے کے لیے ان تینوں کو جوڑتے ہیں۔

  1. دن() - یہ طریقہ 'تاریخ' سے تاریخ نکالنے کے لیے استعمال ہوتا ہے۔ یہ انٹیجر واپس کرتا ہے جو تاریخ کی وضاحت کرتا ہے۔
  2. مہینہ() - یہ طریقہ 'تاریخ' سے مہینہ نکالنے کے لیے استعمال کیا جاتا ہے۔ یہ انٹیجر لوٹاتا ہے جو مہینے کا نمبر بتاتا ہے۔ ہم 1 جنوری کو، فروری کو 2 کے طور پر حوالہ دے سکتے ہیں۔ 12 دسمبر۔
  3. سال() - یہ طریقہ 'تاریخ' سے سال نکالنے کے لیے استعمال کیا جاتا ہے۔ یہ سال کو چار ہندسوں کی شکل میں لوٹاتا ہے۔

نحو:

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. دن شامل کریں()

موجودہ تاریخ میں دنوں کا اضافہ کرنے کے لیے، Apex addDays() طریقہ کو سپورٹ کرتا ہے جو 'تاریخ' کلاس میں دستیاب ہے۔

2. مہینے کا اضافہ کریں()

موجودہ تاریخ میں مہینوں کا اضافہ کرنے کے لیے، Apex addMonths() طریقہ کو سپورٹ کرتا ہے جو 'تاریخ' کلاس میں دستیاب ہے۔

3. سال شامل کریں()

موجودہ تاریخ میں سالوں کا اضافہ کرنے کے لیے، Apex addYears() طریقہ کو سپورٹ کرتا ہے جو 'تاریخ' کلاس میں دستیاب ہے۔

نحو:

آئیے ان تین طریقوں کے نحو کو دیکھتے ہیں۔ یہاں، 'n' انٹیجر ویلیو کو پرجاتی ہے۔

  • input_Date.addDays(n)
  • input_Date.addMonths(n)
  • input_Date.addYears(n)

مثال پر جانے سے پہلے درج ذیل پر غور کریں:

  1. سیلز فورس میں لاگ ان کریں اور 'ایپ لانچر' پر جائیں اور ٹیب میں 'مہم' تلاش کریں۔ یہاں، ہم 'مہم کا نام' اور 'اختتام کی تاریخ' ڈالتے ہیں۔

  1. 'مہم' کا انتخاب کریں اور 'نیا' پر کلک کریں۔

  1. مہم میں ڈیٹا داخل کرنے کے لیے ایک پاپ اپ ظاہر ہوتا ہے۔ 'مہم کے نام' کے تحت 'لینکس اشارے کی پوسٹس' شامل کریں اور 'اختتام کی تاریخ' کو 4/5/2023 کے طور پر سیٹ کریں۔ پھر، 'محفوظ کریں' پر کلک کریں۔

ہم ریکارڈ کے ساتھ تیار ہیں۔ (قسم - کانفرنس اور حیثیت - منصوبہ بندی خود بخود آجائے گی۔ اسے چھوڑ دیں)۔ آئیے ڈویلپر کنسول میں گمنام ونڈو کھولیں۔

مثال 1:

آئیے 'مہم' آبجیکٹ میں موجودہ 'اختتام کی تاریخ' میں 10 دن کا اضافہ کرنے کے لیے addDays() طریقہ استعمال کریں۔

  1. ایسا کرنے کے لیے، ہمیں پہلے 'مہم' آبجیکٹ سے ریکارڈ حاصل کرنے کے لیے SOQL سوال کا استعمال کرنا ہوگا اور اس ریکارڈ کو 'لسٹ' آبجیکٹ میں اسٹور کرنا ہوگا۔
  2. اس کے بعد، ہم فہرست کو دہرانے کے لیے 'for' لوپ کا استعمال کرتے ہیں اور 'اختتام کی تاریخ' میں 10 دن شامل کرنے کے لیے addDays() طریقہ استعمال کرتے ہیں۔
  3. آخر میں، ہم 'مہم' آبجیکٹ میں 'اختتام کی تاریخ' کو اپ ڈیٹ کرنے کے لیے 'اپ ڈیٹ DML' بیان استعمال کرتے ہیں۔
// SOQL کا استعمال کرتے ہوئے مہم سے نام اور اختتامی تاریخ واپس کریں۔

فہرست query1 = [نام منتخب کریں، مہم سے اختتامی تاریخ جہاں کا نام = 'لینکس اشارے کی پوسٹس']؛

// addDays() طریقہ استعمال کرکے اختتامی تاریخ میں 10 دن شامل کریں۔

برائے (مہم i: query1){

i.EndDate = i.EndDate.addDays(10)؛

}

// اختتامی تاریخ کو اپ ڈیٹ کرنے کے لیے اپ ڈیٹ ڈی ایم ایل کا استعمال کریں۔

اپ ڈیٹ سوال 1؛

system.debug(query1)؛

آؤٹ پٹ:

پچھلی 'اختتام کی تاریخ' 5 اپریل ہے۔ اس میں 10 دن کا اضافہ کرنے کے بعد، 'اختتام کی تاریخ' اب 15 اپریل ہے۔

ہم 'مہم' کے ٹیب میں بھی چیک کر سکتے ہیں۔ پیچھے ہٹیں اور صفحہ کو تازہ کریں۔ آپ دیکھ سکتے ہیں کہ 'اختتام کی تاریخ' اپ ڈیٹ ہو گئی ہے۔

مثال 2:

آئیے موجودہ 'اختتام کی تاریخ' میں 3 ماہ کا اضافہ کرنے کے لیے addMonths() طریقہ استعمال کریں۔

// SOQL کا استعمال کرتے ہوئے مہم سے نام اور اختتامی تاریخ واپس کریں۔

فہرست query1 = [نام منتخب کریں، مہم سے اختتامی تاریخ جہاں کا نام = 'لینکس اشارے کی پوسٹس']؛

system.debug('اصل:'+query1);

// addMonths() طریقہ استعمال کرکے EndDate میں 3 ماہ کا اضافہ کریں۔

برائے (مہم i: query1){

i.EndDate = i.EndDate.addMonths(3)؛

}

// اختتامی تاریخ کو اپ ڈیٹ کرنے کے لیے اپ ڈیٹ ڈی ایم ایل کا استعمال کریں۔

اپ ڈیٹ سوال 1؛

system.debug('updated:'+query1);

آؤٹ پٹ:

'اختتام کی تاریخ' میں پچھلا مہینہ اپریل ہے۔ 3 ماہ کا اضافہ کرنے کے بعد اب جولائی ہے۔

مثال 3:

آئیے موجودہ 'اختتام کی تاریخ' میں 3 سال کا اضافہ کرنے کے لیے addYears() طریقہ استعمال کریں۔

// SOQL کا استعمال کرتے ہوئے مہم سے نام اور اختتامی تاریخ واپس کریں۔

فہرست query1 = [نام منتخب کریں، مہم سے اختتامی تاریخ جہاں کا نام = 'لینکس اشارے کی پوسٹس']؛

system.debug('اصل:'+query1);

// addYears() طریقہ استعمال کرکے EndDate میں 3 سال کا اضافہ کریں۔

برائے (مہم i: query1){

i.EndDate = i.EndDate.addYears(3);

}

// اختتامی تاریخ کو اپ ڈیٹ کرنے کے لیے اپ ڈیٹ ڈی ایم ایل کا استعمال کریں۔

اپ ڈیٹ سوال 1؛

system.debug('updated:'+query1);

آؤٹ پٹ:

'اختتام کی تاریخ' میں 3 سال کا اضافہ کرنے کے بعد، تازہ کاری شدہ سال 2026 ہے۔

نتیجہ

Salesforce Apex میں تاریخ کو فارمیٹ کرنا کافی آسان ہے۔ اس ٹیوٹوریل کے حصے کے طور پر، ہم نے سیکھا کہ کس طرح 'تاریخ' کو 'اسٹرنگ' فارمیٹ سے 'تاریخ' میں تبدیل کرنے کا طریقہ valueOf() طریقہ استعمال کرتے ہوئے جو Apex 'Date' کلاس میں دستیاب ہے۔ اگر آپ تاریخ کو واپس سٹرنگ میں تبدیل کرنا چاہتے ہیں تو ہم فارمیٹ() اور تاریخ کی خصوصیات جیسے دن()، مہینہ() اور سال() استعمال کرتے ہیں۔ آخر میں، ہم نے اس گائیڈ کو سیلز فورس 'مہم' آبجیکٹ پر ڈی ایم ایل آپریشن پر بحث کرکے ختم کیا تاکہ addDays(), addMonths()، اور addYears() طریقوں کو الگ الگ مثالوں کے ساتھ استعمال کرکے 'اختتام کی تاریخ' کو اپ ڈیٹ کیا جا سکے۔