کسٹم ایپ اسٹوڈیو (Custom App Studio)¶
کسٹم ایپ اسٹوڈیو Teknora EAM کے اندر ایک لو-کوڈ (Low-Code) بلڈنگ ٹول ہے۔ اس کے ذریعے آپ کوڈ لکھے بغیر ایک بالکل نئی "ایپ" (ڈیٹا ماڈل + لسٹ اسکرین + تفصیلات اسکرین) شامل کر سکتے ہیں، ڈریگ اینڈ ڈراپ سے اس کی شکل طے کر سکتے ہیں، اور اسے سسٹم کی 11 زبانوں میں سے کسی میں بھی ترجمہ کر سکتے ہیں۔
بنیادی حصے¶
اسکرین تین حصوں میں تقسیم ہے:
| حصہ | کام |
|---|---|
| اوپری بار (فیلڈ ٹائپ پیلیٹ) | موجودہ ٹیب میں نئی فیلڈ شامل کرنے کے بٹن — ٹیکسٹ, ٹیکسٹ ایریا, نمبر, تاریخ, تاریخ اور وقت, ہاں/نہیں, سلیکٹ, لنک, ٹیبل, تصویر |
| کینوس (درمیان) | فارم کا لائیو (WYSIWYG) پیش منظر — یہاں جو کچھ آپ دیکھ رہے ہیں وہی بالکل وہ ہے جو یوزر رن ٹائم پر دیکھے گا |
| پراپرٹیز پینل (دائیں) | کینوس پر جو بھی آپ کلک کریں اس کے مطابق خودکار طور پر بدلتا ہے — پوری فارم، ٹیب، سیکشن، یا فیلڈ |
فارم کی خصوصیات¶
کینوس کے اوپر "Form Properties" بار پر کلک کریں تاکہ ایپ کی مجموعی خصوصیات دیکھ سکیں:
- عنوان: ایپ کا بنیادی نام (سائیڈبار اور اوپری مینو میں ظاہر ہوتا ہے)۔
- تراجم: ایپ کے نام کو 11 زبانوں میں سے جتنی چاہیں ترجمہ کریں — ترجمہ شدہ زبان استعمال کرنے والا یوزر خودکار طور پر ترجمہ شدہ نام دیکھے گا۔
- آئیکن: lucide-react لائبریری سے ایک آئیکن کا نام۔
- زمرہ: "Custom Applications" کی فہرست میں ایپ کی درجہ بندی۔
- فارم میں ٹائٹل بار دکھائیں: تفصیلات اسکرین کے ہیڈر میں ایپ کا نام + بنیادی فیلڈ + تفصیل فیلڈ دکھانے کو کنٹرول کرتا ہے۔
- مخفی: ایپ کو حذف کیے بغیر سائیڈبار اور مینو سے چھپاتا ہے۔
- منسلکات قبول کرتا ہے: تفصیلات اسکرین کے ہیڈر میں ایک اٹیچمنٹ آئیکن (📎) شامل کرتا ہے۔
- ورک فلو قبول کرتا ہے: فی الحال صرف ایک ارادے کا نشان ہے — ابھی تک کوئی حقیقی ورک فلو انجن منسلک نہیں کیا گیا۔
- رپورٹس رکھتا ہے: تفصیلات اسکرین پر اصل "Print Reports" بٹن کو فعال کرتا ہے، اور ایپ کو Report Designer میں بطور ڈیٹا سورس منتخب کیے جانے کے قابل بناتا ہے۔
- اسٹیٹس تبدیلی قبول کرتا ہے: اصل اسٹیٹس تبدیلی کا نظام فعال کرتا ہے (بالکل وہی جو اثاثہ جات اور ورک آرڈرز اسکرینز میں استعمال ہوتا ہے) — آپ سے ایک ڈومین منتخب کرنے کو کہا جائے گا جہاں سے اسٹیٹس ویلیوز آتی ہیں (مثلاً ASSETSTATUS)۔
ٹیبز (Tabs)¶
کینوس پر کسی بھی ٹیب پر کلک کریں تاکہ اس کی خصوصیات تبدیل کریں:
- نام: ٹیب کا لیبل جیسا کہ یوزر کو دکھایا جاتا ہے۔
- آئیکن: ایک ڈراپ ڈاؤن جس میں تیار آئیکنز کی گرڈ ہے جس سے آپ منتخب کر سکتے ہیں — یہ آئیکن کینوس میں ٹیب کے نام کے ساتھ اور رن ٹائم پر تفصیلات اسکرین میں ظاہر ہوتا ہے۔
- تراجم: ٹیب کے نام کو کسی بھی زبان میں ترجمہ کریں۔
- مخفی: اندر موجود فیلڈز کو حذف کیے بغیر پورے ٹیب کو تفصیلات اسکرین سے چھپاتا ہے۔
نیا ٹیب شامل کرنے کے لیے آخری ٹیب کے ساتھ والے "+" پر کلک کریں۔
سیکشنز (Sections)¶
ہر ٹیب سیکشنز (فیلڈز کے گروپس) میں تقسیم ہوتا ہے۔ کسی بھی سیکشن کے عنوان پر کلک کریں تاکہ:
- اس کا نام بدلیں اور ترجمہ کریں۔
- اس کے کالمز کی تعداد طے کریں (1، 2، یا 3) — یہ اصل CSS Grid کو کنٹرول کرتا ہے جس سے فارم بنتا ہے، محض ایک تخمینی شکل نہیں۔
- سیکشن حذف کریں — اندر موجود فیلڈز "غیر درجہ بند" ہو جاتی ہیں، حذف نہیں ہوتیں۔
فیلڈز (Fields)¶
کسی فیلڈ پر کلک کریں تاکہ تبدیل کریں:
- لیبل اور فیلڈ کا نام (فیلڈ کا نام خودکار طور پر بنتا ہے اور قابلِ ترمیم نہیں)۔
- تراجم — بالکل ٹیب جیسا خیال۔
- وہ ٹیب اور سیکشن جس میں فیلڈ ظاہر ہوتی ہے۔
- مطلوب: ایک حقیقی (نیٹو HTML) توثیق فعال کرتا ہے — اس کے بغیر ریکارڈ محفوظ نہیں ہو سکتا۔
- لسٹ میں دکھائیں: کنٹرول کرتا ہے کہ آیا یہ کالم لسٹ اسکرین میں ظاہر ہو یا نہیں۔
- بنیادی (Primary): وہ اہم فیلڈ جو ریکارڈ کا "عنوان" ظاہر کرتی ہے — یہ باڈی میں دہرانے کے بجائے تفصیلات اسکرین کے ہیڈر میں دکھائی جاتی ہے، اور پہلی بار محفوظ کرنے کے بعد لاک ہو جاتی ہے (قابلِ ترمیم نہیں رہتی)۔
- صرف پڑھنے کے لیے (Read Only): فیلڈ صرف دکھائی جاتی ہے اور دستی طور پر ترمیم نہیں کی جا سکتی — یہ ایک ایسی فیلڈ کے لیے مفید ہے جسے Action Script کنٹرول کرتا ہو (جیسے خودکار طور پر شمار ہونے والا ٹوٹل)۔
اگر فیلڈ کی قسم نمبر ہو، تو ایک اضافی آپشن ظاہر ہوتا ہے:
- نمبر فارمیٹ (Number Format): مکمل عدد (Integer) (ڈیفالٹ)، اعشاریہ (Float)، یا کرنسی — اعشاریہ یا کرنسی منتخب کرنے سے فیلڈ عام طور پر کسر (جیسے 450.75) قبول کرتی ہے، بغیر اس کے کہ براؤزر اسے "غلط" قرار دے۔
فیلڈز کی اقسام¶
سادہ اقسام (ٹیکسٹ، نمبر، تاریخ، ہاں/نہیں، فہرست سے انتخاب) کے علاوہ، دو ایڈوانسڈ اقسام ہیں:
لنک فیلڈ (Link)¶
ایک فیلڈ جو آزاد متن کے بجائے کہیں اور موجود ایک حقیقی ریکارڈ کی طرف اشارہ کرتی ہے۔ آپ منتخب کر سکتے ہیں کہ یہ کس طرف اشارہ کرے:
- ڈومین: سسٹم کا کوئی بھی ڈومین۔
- سسٹم کا جدول: ایک حقیقی جدول جیسے اثاثہ جات، مقامات، اشیاء، لیبر...
- کسٹم آبجیکٹ: آپ کی بنائی ہوئی کوئی دوسری کسٹم ایپ۔
اس کے علاوہ ایک آپشن ہے "نتائج کو موجودہ سائٹ کے مطابق فلٹر کریں" — اگر فعال ہو، تو تلاش صرف انہی نتائج کو واپس لائے گی جو یوزر کی اپنی سائٹ سے تعلق رکھتے ہوں۔
ٹیبل فیلڈ (Table)¶
ایک فیلڈ جو ایک ہی ریکارڈ کے اندر متعدد قطاریں شامل کرنے کی اجازت دیتی ہے (اثاثہ جات اسکرین کے اسپیئر پارٹس ٹیبل کی طرح)۔ اسے تعریف کرنے کے تین طریقے ہیں:
- کالمز خود متعین کریں: اپنے کالمز شامل کریں — ہر کالم ٹیکسٹ/نمبر/تاریخ/ہاں-نہیں/فہرست (List) ہو سکتا ہے، یا یہاں تک کہ ایک لنک جو کسی حقیقی ریکارڈ کی طرف اشارہ کرے (جیسے "اثاثہ" کالم جو اثاثہ جات کے جدول میں تلاش کھولتا ہے)۔
- آبجیکٹ سے لنک کریں: ٹیبل خودکار طور پر اپنے کالمز کسی دوسری کسٹم ایپ کی فیلڈز سے حاصل کرتا ہے۔
- ڈومین سے لنک کریں: ٹیبل ایک مخصوص ڈومین کی ویلیوز سے قطاریں شامل کرنے کی اجازت دیتا ہے۔
ہر دستی طور پر متعین کالم میں اضافی خصوصیات ہوتی ہیں:
- چوڑائی (Width): ایک نسبتی نمبر (ERPNext کے کالم سسٹم کی طرح) — چوڑائی 2 والا کالم چوڑائی 1 والے کالم سے دگنی جگہ لیتا ہے، کوئی مقررہ پکسل نمبر نہیں۔
- صرف پڑھنے کے لیے: فیلڈ کی سطح جیسا ہی اصول، لیکن کالم کی سطح پر — یہ ایک ایسے کالم کے لیے مفید ہے جسے اسکرپٹ خودکار طور پر شمار کرتا ہو (جیسے لائن کا ٹوٹل)۔
- فہرست کی قسم: ایک "Choices" باکس دکھاتا ہے جہاں آپ کوما سے الگ ویلیوز لکھتے ہیں — رن ٹائم پر کالم انہی ویلیوز کے ساتھ ڈراپ ڈاؤن کے طور پر ظاہر ہوتا ہے۔
- نمبر فارمیٹ: اگر کالم نمبر ہو، تو کسی بھی عام نمبر فیلڈ کی طرح مکمل عدد/اعشاریہ/کرنسی منتخب کریں۔
عملی اقدامات¶
1. نئی کسٹم ایپ بنانا¶
"Custom Applications" کی فہرست سے نئی ایپ پر کلک کریں، نام اور زمرہ پُر کریں، پھر اوپری بار سے فیلڈز شامل کرنا شروع کریں۔
2. فارم کو منظم کرنا¶
فیلڈز کو دوبارہ ترتیب دینے کے لیے گھسیٹیں، انہیں منطقی ٹیبز اور سیکشنز میں گروپ کریں، اور ہر سیکشن کے کالمز کی تعداد طے کریں۔
3. ترجمہ کرنا¶
کسی بھی فیلڈ/ٹیب/سیکشن کے لیے جسے مختلف زبانیں استعمال کرنے والا ایک سے زیادہ یوزر دیکھے، "+ Add language" پر کلک کریں اور ضروری تراجم شامل کریں — تمام 11 زبانوں میں ترجمہ کرنا لازمی نہیں، صرف ضرورت کی زبانیں منتخب کریں۔
4. شائع کرنا¶
جب مکمل ہو جائے تو اسکرین کے اوپری حصے میں Published پر کلک کریں — شائع ہونے تک ایپ یوزرز کے لیے سائیڈبار یا اوپری مینو میں ظاہر نہیں ہوگی۔
5. اجازتیں¶
نئی ایپ کے لیے پڑھنے/بنانے/تبدیل کرنے/حذف کرنے کی اجازت رولز (Roles) اسکرین سے شامل کرنا ضروری ہے — ہر کسٹم ایپ کو خودکار طور پر ایک اجازتی کلید (custom_<ایپ کا نام>) ملتی ہے۔
شائع کرنے سے پہلے
شائع کرنے سے پہلے یقینی بنائیں کہ تمام مطلوبہ فیلڈز (Required) اور بنیادی فیلڈ (Primary) درست طریقے سے متعین ہیں — یوزرز کے ڈیٹا داخل کرنا شروع کرنے کے بعد انہیں تبدیل کرنا الجھن پیدا کر سکتا ہے۔
واپس جائیں: کسٹم ایپلیکیشنز ←








