इस पृष्ठ का अनुवाद AI उपकरणों का उपयोग करके किया गया है और इसमें त्रुटियाँ हो सकती हैं। सबसे सटीक और नवीनतम विवरण के लिए, कृपया
मूल अंग्रेजी संस्करण देखें।
Zoho Projects में CodeX Scripts उन्नत सशर्त तर्क Scripts हैं जो विशिष्ट नियमों और सत्यापनों को लागू करने में मदद करते हैं। उपयोगकर्ता यह नियंत्रित कर सकते हैं कि प्रोजेक्ट कैसे और कब बनाया जा सकता है, संपादित किया जा सकता है, या उसकी स्थिति बदली जा सकती है। इससे बेहतर अनुपालन और प्रक्रिया संरेखण सुनिश्चित होता है।
उपयोग के मामले:
एक नया प्रोजेक्ट बनाएं
एक नया प्रोजेक्ट बनाता है जिसमें प्रोजेक्ट रिकॉर्ड में मालिक, तारीखें, बजट, और कस्टम फ़ील्ड भरी होती हैं।
- function main() {
- try {
- const layoutId = current.record.layoutId;
- const moduleId = current.record.moduleId;
- const layout = client.getLayoutById(layoutId, moduleId);
- const newProject = new Record(layout);
- newProject.name = "Explore Zoho ";
- const projectOwnerId = variables.projectowner.value;
- const user1 = variables.user1.value; // user1 का ZPUID variables में संग्रहीत है
- const user2 = variables.user2.value; // user2 का ZPUID variables में संग्रहीत है
- const addedProject = client.save(newProject);
- addedProject.name = "Explore Zoho Projects";
- addedProject.description =
- "Explore Zoho Projects features and functionalities";
- addedProject.owner = projectOwnerId;
- addedProject.status = "242942000000027095"; // layout के आधार पर status Id। यहां, 242942000000040005 'In Progress' स्थिति के अनुरूप है
- addedProject.start_date = "2025-12-08";
- addedProject.end_date = "2025-12-25";
- addedProject.project_group = "242942000000025001"; // प्रोजेक्ट group Id
- addedProject.completed_time = "2025-12-31T00:00:00+05:30"; // completed time को ISO date और time format में प्रदान किया जाना चाहिए
- addedProject.currency = "INR"; // Currency code
- addedProject.budget_type = "1"; // Budget Type
- addedProject.hourly_budget = "5.000";
- addedProject.hourly_budget_threshold = "3.000";
- addedProject.cost_budget = "5600";
- addedProject.cost_budget_threshold = "5000";
- addedProject.revenue_budget = "4000";
- addedProject.billing_method = "1"; // Billing Method Ref: IDE में BillingMethod enum।
- addedProject.rate_per_hour = "800";
- addedProject.cost_per_hour = "600";
- addedProject.single_line_text = "Sample Single Line Text";
- addedProject.pick_list = "Option 1"; // layout में picklist विकल्पों के आधार पर value
- addedProject.multi_line_text =
- "Lorem sunt Duis dolor laborum \n eu magna incididunt ipsum qui sit pariatur \n aute officia nisi irure nostrud sit commodo esse";
- addedProject.multi_select_field = ["Option 1", "Option 2", "Option 3"]; // layout में multi select विकल्पों के आधार पर values
- addedProject.user_pick_list_all_users = user1;
- addedProject.user_pick_list_select_roles = "242942000000082031"; // org roles के आधार पर Role Id
- addedProject.user_pick_list_selected_users = user2;
- addedProject.multi_user_picklist_all_users = [user1, user2];
- addedProject.multi_user_picklist_selected_roles = [
- "242942000000082031",
- "242942000000082001",
- ];
- addedProject.multi_user_picklist_selected_users = [user1, user2];
- addedProject.date_field = "2025-12-08"; // ISO Date format में Date field value
- addedProject.checkbox_field = "true";
- addedProject.currency_field = "4300";
- addedProject.percentage_field = "25"; // % symbol के बिना Percentage value
- addedProject.decimal_field = "130.24";
- addedProject.number_field = "430020";
- addedProject.email_field = "vishal@yahoo.com";
- addedProject.phone_field = "1234567890";
- addedProject.url_field = "https://zlyker.com/";
- client.save(addedProject);
- } catch (err) {
- console.log(err);
- throw new ScriptError(err);
- }
- }
एक नई Entity बनाएं
किसी भी module में एक खाली रिकॉर्ड बनाता है जिसमें केवल name field को debugging या validation के लिए सेट किया जाता है।
- function main() {
- try {
- let layout = client.getLayoutById(current.record.layoutId, current.record.moduleId);
- let record = new Record(layout);
- record.name = "created project from script"
- client.save(record);
- } catch (err) {
- throw new ScriptError(err);
- }
- }
आर्काइव किए गए प्रोजेक्ट्स में Task संपादन को प्रतिबंधित करें
जब संबंधित प्रोजेक्ट आर्काइव किया जा जाता है, तो Task संपादन को प्रतिबंधित करता है।
- function main() {
- let task = current.record;
- let projectId = task.projectId;
- const moduleItr = client.getModules(0, 10);
-
- let moduleId;
- console.log(JSON.stringify(current.affectedFields));
- while (moduleItr.hasNext()) {
- let moduleObj = moduleItr.next();
- if (moduleObj.name == 'Projects') {
- moduleId = moduleObj.id;
- }
- }
- let project = client.getRecordById(moduleId, projectId);
- if (project.project_type == 'archived') {
- throw new ScriptError("Edits are disabled for archived projects");
- }
- }
आपके प्रोजेक्ट सेटअप में CodeX को कैसे काम करना चाहिए, इस बारे में आपके पास कोई विचार है? अपने उपयोग मामले को नीचे टिप्पणियों में साझा करें।
अधिक पढ़ें