सभी लेबल के दावे के अंतर्गत अद्वितीय हैं (जो मुझे शक है ..):
आप एक समारोह जो एक लेबल स्वीकार करता है बना सकते हैं, खोज क्यूसी की तालिकाओं में है कि सही क्षेत्र परिभाषा के लिए अनुकूलित क्षेत्रों को परिभाषित, और क्षेत्र का नाम देता है । फिर अनुक्रमित संपत्ति के सूचकांक के रूप में फ़ंक्शन के परिणाम मान का उपयोग करें।
कि समारोह, "GetNameOfLabel" कहा जाता है मान लीजिए जाएगा तो कॉलर के कोड दिखाई देगा:
Set currentRun = QCUtil.CurrentRun
currentRun.Field(GetNameOfLabel ("Data Rows Passed")) = 1
currentRun.Post
बेशक, समारोह वास्तव में तुच्छ हो नहीं होगा, लेकिन QC डेटा में कुछ खुदाई के बाद काफी आसान मॉडल और डीबी से एसक्यूएल के माध्यम से नाम लाने के लिए एक कुशल तरीका खोजना।
या, फ़ंक्शन किसी सरणी या शब्दकोश में नाम देख सकता है, तो आपको उस शब्दकोश को बनाए रखना होगा, लेकिन आपको प्रत्येक लुकअप के लिए डेटाबेस पर जाना नहीं होगा।
Disadventages: गलत लेबल के साथ
- स्क्रिप्ट कठिन हो सकता है
- डिबग जा करने के लिए लेबल अद्वितीय नहीं हैं, तो यह
डिबग करने के लिए असली "मजा" हो सकता है को देख डीबी पर:
- यदि आप कैश नहीं करते हैं, या प्री-लोड, उन लुकअप के लिए SQL क्वेरी परिणाम नहीं करते हैं तो सभी स्क्रिप्ट धीमी हो जाती हैं;
- जटिलता, आप सही SQL क्वेरी क्या करना है, और आप एक काफी अजीब तरह से QC के डेटा मॉडल पर निर्भर करते हैं (आमतौर पर एक हॉरर जब आप अपग्रेड कर रहे हैं)
तो एक सरणी में देख के रूप में, या शब्दकोश:
- आप या तो अपने प्रारंभ (शर्त अन्य व्यवस्थापक लोग एक ग्राहक क्षेत्र जोड़ने आसानी से नहीं भूल जाएगा) को बनाए रखने चाहिए, या चाहिए "लोड" यह क्यूसी की मेज (जो एसक्यूएल समाधान की तरह एक सा ऊपर है से, और वही डाउनसाइड्स है)।
मैं सरणी/शब्दकोश-प्रारंभिक-से-डीबी-विचार के साथ जाऊंगा। या, यदि आप पहले से प्रस्तुत निरंतर विचार के साथ रह सकते हैं, तो यह एक अच्छी शर्त है। यह देखते हुए कि क्यूसी अनुकूलित स्क्रिप्ट में कोई सत्र-स्वतंत्र दायरा नहीं है, एसक्यूएल एक्सेस विचार वास्तव में प्रदर्शन को मार सकता है क्योंकि इसे हर नए उपयोगकर्ता सत्र के लिए निष्पादित करना होगा। यही कारण है कि मैंने भी निरंतर विचार को +1 किया।इस पर
आप ऐसा क्यों करना चाहते हैं? आप आज के नाम का उपयोग क्यों नहीं कर सकते? –
हाय एलेक्स। अच्छा प्रश्न। कारण यह है कि हम कई कस्टम फ़ील्ड का उपयोग करते हैं और "आरएन_USER_03" जैसे नामों के परीक्षणों को कार्यान्वित करने और बनाए रखने के लिए टेस्टर्स/डेवलपर्स के लिए यह मुश्किल होगा, यह उलझन में होना और गलत तरीके से बनाना और कोड को पढ़ने में बहुत मुश्किल हो जाएगा। लेबल अक्सर नहीं बदलेंगे और इसलिए हम लेबल का उपयोग क्यों करना चाहते हैं। –
क्या आप आसानी से फ़ील्ड नाम को सार्थक नाम के साथ स्थिर रूप से असाइन नहीं कर सके? 'स्थिरांक DATA_ROWS_PASSED =" RN_USER_03 "currentRun.Field (DATA_ROWS_PASSED) = 4' –