प्रोजेक्ट के लिए CodeX Scripts

प्रोजेक्ट के लिए CodeX Scripts

इस पृष्ठ का अनुवाद AI उपकरणों का उपयोग करके किया गया है और इसमें त्रुटियाँ हो सकती हैं। सबसे सटीक और नवीनतम विवरण के लिए, कृपया मूल अंग्रेजी संस्करण देखें।
Zoho Projects में CodeX Scripts उन्नत सशर्त तर्क Scripts हैं जो विशिष्ट नियमों और सत्यापनों को लागू करने में मदद करते हैं। उपयोगकर्ता यह नियंत्रित कर सकते हैं कि प्रोजेक्ट कैसे और कब बनाया जा सकता है, संपादित किया जा सकता है, या उसकी स्थिति बदली जा सकती है। इससे बेहतर अनुपालन और प्रक्रिया संरेखण सुनिश्चित होता है।

Info

उपयोग के मामले:

एक नया प्रोजेक्ट बनाएं

एक नया प्रोजेक्ट बनाता है जिसमें प्रोजेक्ट रिकॉर्ड में मालिक, तारीखें, बजट, और कस्टम फ़ील्ड भरी होती हैं।
कोड:
  1. function main() {
  2. try {
  3. const layoutId = current.record.layoutId;
  4. const moduleId = current.record.moduleId;
  5. const layout = client.getLayoutById(layoutId, moduleId);
  6. const newProject = new Record(layout);
  7. newProject.name = "Explore Zoho ";
  8. const projectOwnerId = variables.projectowner.value;
  9. const user1 = variables.user1.value; // user1 का ZPUID variables में संग्रहीत है
  10. const user2 = variables.user2.value; // user2 का ZPUID variables में संग्रहीत है
  11. const addedProject = client.save(newProject);
  12. addedProject.name = "Explore Zoho Projects";
  13. addedProject.description =
  14. "Explore Zoho Projects features and functionalities";
  15. addedProject.owner = projectOwnerId;
  16. addedProject.status = "242942000000027095"; // layout के आधार पर status Id। यहां, 242942000000040005 'In Progress' स्थिति के अनुरूप है
  17. addedProject.start_date = "2025-12-08";
  18. addedProject.end_date = "2025-12-25";
  19. addedProject.project_group = "242942000000025001"; // प्रोजेक्ट group Id
  20. addedProject.completed_time = "2025-12-31T00:00:00+05:30"; // completed time को ISO date और time format में प्रदान किया जाना चाहिए
  21. addedProject.currency = "INR"; // Currency code
  22. addedProject.budget_type = "1"; // Budget Type
  23. addedProject.hourly_budget = "5.000";
  24. addedProject.hourly_budget_threshold = "3.000";
  25. addedProject.cost_budget = "5600";
  26. addedProject.cost_budget_threshold = "5000";
  27. addedProject.revenue_budget = "4000";
  28. addedProject.billing_method = "1"; // Billing Method Ref: IDE में BillingMethod enum।
  29. addedProject.rate_per_hour = "800";
  30. addedProject.cost_per_hour = "600";
  31. addedProject.single_line_text = "Sample Single Line Text";
  32. addedProject.pick_list = "Option 1"; // layout में picklist विकल्पों के आधार पर value
  33. addedProject.multi_line_text =
  34. "Lorem sunt Duis dolor laborum \n eu magna incididunt ipsum qui sit pariatur \n aute officia nisi irure nostrud sit commodo esse";
  35. addedProject.multi_select_field = ["Option 1", "Option 2", "Option 3"]; // layout में multi select विकल्पों के आधार पर values
  36. addedProject.user_pick_list_all_users = user1;
  37. addedProject.user_pick_list_select_roles = "242942000000082031"; // org roles के आधार पर Role Id
  38. addedProject.user_pick_list_selected_users = user2;
  39. addedProject.multi_user_picklist_all_users = [user1, user2];
  40. addedProject.multi_user_picklist_selected_roles = [
  41. "242942000000082031",
  42. "242942000000082001",
  43. ];
  44. addedProject.multi_user_picklist_selected_users = [user1, user2];
  45. addedProject.date_field = "2025-12-08"; // ISO Date format में Date field value
  46. addedProject.checkbox_field = "true";
  47. addedProject.currency_field = "4300";
  48. addedProject.percentage_field = "25"; // % symbol के बिना Percentage value
  49. addedProject.decimal_field = "130.24";
  50. addedProject.number_field = "430020";
  51. addedProject.email_field = "vishal@yahoo.com";
  52. addedProject.phone_field = "1234567890";
  53. addedProject.url_field = "https://zlyker.com/";
  54. client.save(addedProject);
  55. } catch (err) {
  56. console.log(err);
  57. throw new ScriptError(err);
  58. }
  59. }

एक नई Entity बनाएं

किसी भी module में एक खाली रिकॉर्ड बनाता है जिसमें केवल name field को debugging या validation के लिए सेट किया जाता है।
कोड:
  1. function main() {
  2. try {
  3. let layout = client.getLayoutById(current.record.layoutId, current.record.moduleId);
  4. let record = new Record(layout);
  5. record.name = "created project from script"
  6. client.save(record);
  7. } catch (err) {
  8. throw new ScriptError(err);
  9. }
  10. }

आर्काइव किए गए प्रोजेक्ट्स में Task संपादन को प्रतिबंधित करें

जब संबंधित प्रोजेक्ट आर्काइव किया जा जाता है, तो Task संपादन को प्रतिबंधित करता है।
कोड:
  1. function main() {
  2. let task = current.record;
  3. let projectId = task.projectId;
  4. const moduleItr = client.getModules(0, 10);
  5.   
  6. let moduleId;
  7. console.log(JSON.stringify(current.affectedFields));
  8. while (moduleItr.hasNext()) {
  9. let moduleObj = moduleItr.next();
  10. if (moduleObj.name == 'Projects') {
  11. moduleId = moduleObj.id;
  12. }
  13. }
  14. let project = client.getRecordById(moduleId, projectId);
  15. if (project.project_type == 'archived') {
  16. throw new ScriptError("Edits are disabled for archived projects");
  17. }
  18. }
आपके प्रोजेक्ट सेटअप में CodeX को कैसे काम करना चाहिए, इस बारे में आपके पास कोई विचार है? अपने उपयोग मामले को नीचे टिप्पणियों में साझा करें।

अधिक पढ़ें
सहायता पर वापस जाएं
Tasks के लिए CodeX स्क्रिप्ट्स