الشروط في مشابهة لل 1s. مماثلة من حيث الطلب. مثال: حدد المنتجات التي تبدأ أسماؤها بالكلمة "Buck"

على الرغم من جميع أوجه القصور ، لا يزال البحث في حقل النص من أكثر الأشياء شيوعًا. يمكننا العثور على أنواع بيانات السلسلة في كل مكان - يمكن تخزين الأسماء وأرقام الحسابات والعناوين والمعلومات الأخرى بهذا التنسيق. من أجل راحة المطورين ، يتم استخدام عامل تشغيل خاص "LIKE" في الاستعلامات بلغة 1C المدمجة. يعد هذا أحد أكثر الأوامر استخدامًا ، لذلك سيكون من الصعب على المبرمج العمل دون معرفة شاملة ببنائه وقدراته.

باستخدام عامل التشغيل "LIKE"

قبل استخدام أي عامل في الممارسة العملية ، يجب أن تفهم بوضوح الغرض منه وأماكن تطبيقه وصياغته. الغرض من استخدام "LIKE" في طلب 1C هو التحقق من استيفاء الشرط المقدم في نموذج النموذج. القيمة المعادة هي نوع منطقي - صواب أو خطأ - للإشارة إلى ما إذا كان الشرط المحدد مستوفياً أم لا. يمكن استخدام عامل التشغيل LIKE في عدة أماكن في الاستعلام:

  • في مجموعة الشروط المشار إليها بواسطة الكلمة الأساسية "WHERE" ؛
  • في خيار البناء عند الانتهاء ؛
  • مباشرة في حقول الاختيار نتيجة للمقارنة الميدانية.

صيغة الشيك هي نفسها دائمًا وتتكون من 3 روابط. على اليسار توجد قيمة النص التي يتم التحقق منها ، ثم عامل التشغيل "LIKE" نفسه ، وعلى اليمين القالب الذي يتم التحقق منه. لرسم القوالب بسرعة وسهولة ، هناك الرموز الخاصةتسهيل التنمية:

  1. "٪" هو تسلسل من أي أحرف ذات طول عشوائي. تُستخدم للعثور على كلمات أو أرقام فردية في سلسلة ؛
  2. "_" هي أي حرف واحد. مصممة للإشارة إلى وجود شخصية واحدة ؛
  3. "[...]" هو سلسلة من الأحرف للمقارنة مع علامة في سلسلة. بمساعدة هذا النموذج ، يتم التحقق من المراسلات مع أي من الأحرف المدرجة بين قوسين. يمكنك أيضًا تحديد مجموعة من الأرقام أو الأحرف ([a-d] ،) ؛
  4. "[^ ...]" هو عكس النمط السابق. يتم تحديد الفرق بين الحرف المحدد في السلسلة وتلك المدرجة بين قوسين.

لفهم مبادئ إنشاء قوالب جيدة وفهمها بشكل أفضل ، دعنا نلقي نظرة على بعض الأمثلة الشائعة في حياة المطورين. الأول هو عندما نحتاج إلى الاختيار من كتاب مرجعي للتسميات جميع العناصر الموجودة في الأسماء التي توجد بها كلمة "CUTTER". في هذه الحالة ، نحتاج إلى استخدام LIKE في شروط الطلب:

حدد التسمية. الاسم AS الاسم من الدليل. التسمية كالتسمية حيث يوجد التسمية. الاسم مثل "٪ CUTTING٪"

إذا أزلنا كلا الرمزين "٪" ، فسيعرض الاستعلام المصطلحات التي يتطابق اسمها تمامًا مع الاسم المحدد في علامتي الاقتباس. إذا تركنا النمط "CUT٪" أو "٪ CUT" ، فستكون النتيجة قائمة بالعناصر ، تنتهي أو تبدأ ، على التوالي ، بمجموعة محددة من الأحرف.


دعنا نحلل مشكلة يمكن أن تربك المبرمجين المبتدئين الذين لا يعرفون بنية الاستعلامات. لنفترض أنك بحاجة إلى البحث عن جميع المصطلحات التي يوجد باسمها الرمز "٪". خاصة في الحالات التي تحتاج فيها إلى البحث عن أحرف محجوزة ، يوجد عامل تشغيل "حرف خاص". كحرف خاص ، يمكنك استخدام # و \ و / و ~ وأحرف أخرى ، وبعد ذلك ستشير أي أحرف محجوزة إلى مجرد حرف.

حدد التسمية. الاسم AS الاسم من الدليل. التسمية AS التسمية حيث يوجد التسمية. الاسم مثل "٪ #٪" الرمز الخاص "#"

إذا كنت بحاجة إلى استخدام معلمة في البحث ، فسيتم استخدام المتغير في الاستعلام الذي يحتوي على معلمة LIKE باستخدام الإضافة. تذكر أن المعلمة يجب أن تكون نوع سلسلة أو تحتاج إلى ترجمتها إلى سلسلة في الاستعلام. هذه عملية معقدة نوعًا ما ومن الأفضل استبعادها مسبقًا.

حدد التسمية. الاسم AS الاسم من الدليل. التسمية AS التسمية حيث يوجد التسمية. الاسم مثل "٪" + & الاسم + "٪"

الوظيفة LIKE قابلة للتطبيق في جميع إصدارات النظام الأساسي ، بدءًا من 8 ، وبسبب قابليتها للتطبيق ، لن يرغب مطورو 1C في تغييرها. بالطبع ، يعتمد البحث النصي دائمًا على دقة إدخال الاسم ، لكنه لا يزال من أكثر الأسماء انتشارًا. في هذا الصدد ، يحتاج مطورو 1C المحترفون إلى دراسة استخدام LIKE بكل الفروق الدقيقة فيه.

المشغل أو العامل مثليسمح لك بمقارنة بيانات نوع السلسلة الموجودة على يسار المشغل في الاستعلام مع بيانات نوع السلسلة الموجودة على يمين المشغل. نتيجة المقارنة صحيحة أو خاطئة ، لذلك يمكن تطبيق المقارنة كشرط.

للمشغل مثلهناك أحرف خدمة خاصة لا يُنظر إليها كسلسلة:

  • حرف النسبة المئوية "٪": يشير إلى أي عدد من الأحرف العشوائية في السلسلة
  • "[...]" حرف أو أكثر في أقواس مربعة: يشير إلى وجود أي (مفرد) من الأحرف المدرجة. أيضًا ، يمكن تحديد مجموعة من الأحرف (على سبيل المثال)
  • حرف تسطير أسفل السطر "_": يدل على وجود أي طابع تعسفي
  • حرف النفي "[^ ...]": يشير إلى وجود أي حرف واحد باستثناء ما هو مبين بين قوسين معقوفين
إذا كنت بحاجة إلى تحديد أحد الأحرف الخاصة أعلاه للمقارنة ، فيجب عليك استخدام الكلمة الأساسية "SPECIAL SYMBOL"

ميزات الاستخدام مع نظم إدارة قواعد البيانات المتنوعة

IBM DB2"يمكن وضع المعلمة فقط على يمين عامل التشغيل LIKE. أحرف البدل فقط" _ "(الشرطة السفلية تعني أي حرف) و"٪ "(النسبة المئوية تعني تسلسل أي أحرف).
في حالة استخدام نظم إدارة قواعد البيانات " PostgreSQL" أو " قاعدة بيانات أوراكل"الأحرف الخاصة" الأقواس المربعة [...] "مقبولة فقط إذا تم تحديدها في النص في الطلب ، ولم يتم تمريرها كمعامل للطلب.

وبالتالي ، في قاعدة بيانات الملفات ، سيتم دائمًا إدراك الأحرف الخاصة بالطريقة نفسها وبطرق مختلفة ، اعتمادًا على DBMS المستخدم في إصدار خادم العميل.

مثال: حدد المنتجات التي تحتوي على رمز "٪" في الاسم

اختر | المرجع ارتباط | من | دليل التسمية AS REF | أين | المرجع ، الاسم مثل "٪ \٪" SPECIAL SYMBOL "\"

مثال: حدد المنتجات التي تبدأ أسماؤها بالكلمة "Buck"

اختر | المرجع ارتباط | من | دليل التسمية AS REF | أين | اسم المرجع مثل "الخزان٪"

مثال: حدد المنتجات ذات الأسماء المنتهية برقم

اختر | المرجع ارتباط | من | دليل التسمية AS REF | أين | اسم المرجع مثل "٪"

تتحقق عبارة LIKE في استعلام من قيم السلسلة من الجداول لسلوك يشبه النمط.
يتم استخدامه على النحو التالي على يسار هذا العامل ، يتم وضع السلسلة المراد فحصها ، ويتم وضع القالب على اليمين.

بعد التحقق ، يتم إرجاع True أو False ، على التوالي ، يتم استخدامه بنشاط في الظروف.
تُستخدم رموز الخدمة التالية لإنشاء قالب:

  • ٪ (نسبة مئوية) - تسلسل يحتوي على أي عدد من الأحرف العشوائية
  • _ (شرطة سفلية) - حرف تعسفي واحد
  • [...] (واحد أو أكثر من الأحرف بين قوسين مربعين) - أي حرف منفرد مدرج داخل أقواس مربعة
    أيضًا ، بالإضافة إلى الأحرف المختلفة ، يمكنك استخدام النطاقات ، على سبيل المثال a-z (A-z) ، مما يعني وجود حرف عشوائي مضمن في النطاق ، بما في ذلك نهايات النطاق.
  • [^ ...] (بين قوسين مربعين ، توجد علامة نفي متبوعة بحرف واحد أو أكثر) - أي حرف واحد ، باستثناء تلك المدرجة بعد علامة النفي

يتم استخدام باقي الشخصيات للغرض المقصود منها.
إذا كان من الضروري نقل أحد رموز الخدمة المذكورة أعلاه كحرف ، فيجب أن يسبقه<Спецсимвол>... نفسي<Спецсимвол>(أي حرف مطابق) يتم تعريفه في نفس العبارة بعد كلمة رئيسيةرمز خاص.
على سبيل المثال ، يشير النمط "٪ ABC [abcg] \ _ abc٪" الرمز الخاص "\" إلى سلسلة فرعية تتكون من سلسلة من الأحرف:
الحروف أ ؛ الحروف ب ؛ الحروف ب ؛ رقم واحد؛ أحد الأحرف أ أو ب أو ج أو د ؛ حرف تسطير الحروف أ ؛ الحروف ب ؛ الحروف ج.
علاوة على ذلك ، يمكن وضع مجموعة عشوائية من الأحرف أمام هذا التسلسل.

اتفاقية تحديد الإجراء
// في الطلب ، سنستخدم قالب النموذج "٪" + mText + "٪" Request = New Request؛ Request.SetParameter ("الاسم" ، "٪" + نص + "٪") ؛ Request.Text = "SELECT | Agreementements.Link، | Contractements.Owner | FROM | Directory.Contractors 'اتفاقيات AS اتفاقيات | | أين | الاتفاقيات. الاسم مثل & الاسم" ؛ النتيجة = Query.Run () ، الاختيار = Result.Select () ؛ تقرير ("الاتفاقيات التي تحتوي على الاسم:" + mText + "لها المقاولون التاليون") ؛ بينما Sample.Next () تقرير الدورة ("الطرف المقابل:" + Sample.Owner + "؛ العقد:" + Sample.Ref EndIf ؛ EndProcedure

في بعض الأحيان يظهر موقف عندما تحتاج في 1C 8.3 أو 8.2 إلى التحديد ، على سبيل المثال ، من دليل لجميع العناصر التي تحتوي على كلمة "glaze" في أسمائها. أو حدد من الدليل جميع المقاولين الذين تحتوي أسماؤهم على كلمة "Ivan". بشكل عام ، تحقق من وجود بعض قيمة السلسلة.

للقيام بذلك ، يوجد عامل في الاستعلامات 1C 8.3 و 8.2 - "مشابه". يتم استخدامه ، على التوالي ، في الحالات التالية:

احصل على 267 1C مقاطع فيديو تعليمية مجانًا:

كيفية استخدام القوالب في طلبات 1C؟

لتشكيل شرط اختيار ، يجب أن يتم تمرير قالب كمعامل. لإنشاء قالب ، هناك ما يسمى برموز الخدمة.

على سبيل المثال ، يسمح الحرف "٪" بأي تسلسل من الأحرف العشوائية:

هناك شخصيات خاصة أخرى:

  • ٪ (نسبة مئوية) - يسمح بأي تسلسل من الأحرف التعسفية ؛
  • _ (شرطة سفلية) - أي حرف واحد ؛
  • [...] - حرف تعسفي واحد من تلك المدرجة داخل الأقواس. بالإضافة إلى تعداد الأحرف ، يمكنك استخدام النطاقات. مثال: a-o ؛
  • [^ ...] - هي نفسها السابقة ، ولكن العكس. علامة "^" تعني النفي.

43
NULL - قيم مفقودة. لا ينبغي الخلط بينه وبين لاغية! NULL ليس رقمًا ، ولا يساوي مسافة ، أو مرجعًا فارغًا ، أو غير معرف. NULL هي قيمة تشكيل النوع ، أي يوجد نوع NULL وقيمة واحدة من هذا النوع. باطل ... 26
لتشكيل وتنفيذ استعلامات لجداول قاعدة البيانات في النظام الأساسي 1C ، يتم استخدام كائن خاص من لغة برمجة الاستعلام. يتم إنشاء هذا الكائن عن طريق استدعاء بناء الطلب الجديد. الطلب مناسب ... 18
المقال يحتوي على الحيل المفيدةعند العمل باستخدام استعلامات 1C v.8.2 ، بالإضافة إلى المعلومات غير المعروفة جيدًا عن لغة الاستعلام. لا أحاول إعطاء وصف كامل للغة الاستعلام ، لكني أريد أن أتوقف فقط عن ... 12
في مواجهة مشكلة ، كان من الضروري تحديد جميع مستندات الدفع وتجميعها حسب نوع المستند! بعد أن بحثت في جميع خدمات الإسكان والمجتمعية والإنترنت ، أدركت ذلك طريقة سهلةالحصول على نوع المستند في رقم الطلب: (كان علي ...