1c 8.3 لغة الاستعلام مشابهة. مماثلة لشروط الاستعلام

1c 8.3 لغة الاستعلام مشابهة.  مماثلة لشروط الاستعلام
1c 8.3 لغة الاستعلام مشابهة. مماثلة لشروط الاستعلام

المشغل أو العامل يحبيسمح لك بمقارنة بيانات نوع السلسلة في الاستعلام الموجود على يسار عامل التشغيل ببيانات نوع السلسلة الموجودة على يمين عامل التشغيل. يتم تقييم نتيجة المقارنة إلى True أو False، لذلك يمكن تطبيق المقارنة كشرط.

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

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

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

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

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

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

اختر | الرابط المرجعي |من | دليل التسميات كيف المرجع | اسم المرجع مثل "%\%" الحرف الخاص "\"

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

اختر | الرابط المرجعي |من | دليل التسميات كيف المرجع | الاسم المرجعي مشابه لـ "Bak%"

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

اختر | الرابط المرجعي |من | دليل التسميات كيف المرجع | اسم المرجع مشابه لـ "%"

يحب- عامل للتحقق من سلسلة التشابه مع النمط. التناظرية مثل في SQL.
المشغل أو العامل يحبيسمح لك بمقارنة قيمة التعبير المحدد على يساره مع سلسلة النمط المحددة على اليمين. يجب أن تكون قيمة التعبير من النوع سلسلة. إذا تطابقت قيمة التعبير مع النمط، فستكون نتيجة العامل TRUE، وإلا ستكون FALSE.
الأحرف التالية في سلسلة القالب هي أحرف خدمة ولها معنى مختلف عن حرف السلسلة:
. % (نسبة مئوية): تسلسل يحتوي على أي عدد من الأحرف العشوائية
. _ (شرطة سفلية): حرف واحد تعسفي
. […] (حرف واحد أو أكثر بين قوسين مربعين): أي حرف واحد مدرج بين قوسين مربعين
قد يحتوي التعداد على نطاقات، على سبيل المثال a-z، مما يعني تضمين حرف عشوائي في النطاق، بما في ذلك نهايات النطاق.
. [^...] (بين قوسين مربعين علامة النفي متبوعة بحرف واحد أو أكثر): أي حرف واحد غير تلك المدرجة بعد علامة النفي
أي رمز آخر يعني نفسه ولا يحمل أي حمولة إضافية.
إذا كان أحد الأحرف المدرجة يحتاج إلى الكتابة بنفسه، فيجب أن يسبقه<Спецсимвол>. نفسي<Спецсимвол>(أي رمز مناسب) محدد في نفس العبارة بعد الكلمة الرئيسيةرمز خاص.
على سبيل المثال، النمط "%ABV[abvg]\_abv%" الحرف الخاص "\" يعني سلسلة فرعية تتكون من سلسلة من الأحرف:
الحروف أ؛ الحروف ب؛ الحروف ب؛ رقم واحد؛ أحد الحروف أ، ب، ج أو د؛ تسطير أسفل السطر؛ الحروف أ؛ الحروف ب؛ رسائل ضد
علاوة على ذلك، يمكن أن يسبق هذا التسلسل مجموعة عشوائية من الأحرف.

أمثلة على الاستخدام:
الكود 1C v 8.x الإجراء BankEndTextInput(Element, Text, Value, StandardProcessing)
StandardProcessing = خطأ؛
// قم بإجراء استعلام باستخدام بحث باستخدام نمط مثل "%" +<Текст введенный пользователм в поле ввода> + "%"
طلب = طلب جديد؛
Query.SetParameter("Name", "%" + Text + "%");
استعلام.نص = "حدد
| البنوك. الرابط
|من
| Directory.Banks كيف البنوك
|أين
| البنوك.الاسم المماثل &الاسم";

النتيجة = Query.Run();
Selection = Result.Select();
إذا Result.Empty() ثم
// لم يتم العثور على شيء. هنا يمكنك عرض رسالة أو القيام بشيء آخر :)
خلاف ذلك
//احصل على النتائج
tzResults = Result.Unload();
// قم بإعداد قائمة بالقيم التي ستحتوي على العناصر الموجودة.
القيمة = قائمة القيمة الجديدة ()؛
Value.LoadValues(tzResults.UnloadColumn("Link"));
إنهاء إذا؛
EndProcedure

من الضروري أن تتضمن "الاتفاقيات الافتراضية" فقط أسماء الاتفاقية الرئيسية، وما إلى ذلك:
الرمز 1C الإصدار 8.x الاختيار
عندما يكون الاسم مشابهًا لـ "رقم الاتفاقية%"، فإن "الاتفاقية مع الرقم" // أي سطر يبدأ بـ "رقم الاتفاقية" يكون مناسبًا
عندما يكون الاسم مشابهًا لـ "الاتفاقية الرئيسية%[^А-яЁе"+Symbol(33)+"-"+Symbol(126)+"№"""+Symbols.PS+Symbols.Tab+Symbols.PF+Symbols .NPP+ الرموز.VTab+"]%" ثم "العقود الافتراضية" // أي سطر يبدأ بـ "العقد الرئيسي" مناسب
وإلا "أخرى"
إنهاء مثل نوع العقد

المعلومات مأخوذة من الموقع

دعونا نلقي نظرة على الغرض واستخدام العامل الشرطي مثل (المهندس مثل)في لغة الاستعلام 1C في الأمثلة.

مرور سريع

غاية

تحقق مما إذا كانت قيمة السلسلة في الطلب تتطابق مع النمط المحدد - لإرجاع قيمة منطقية (TRUE أو FALSE).

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

أماكن الاستخدام

  • من حيث المشغل أين
  • في ظروف التصميم اختيار متى<>ثم "" آخر "" النهاية
  • في حقول التحديد (على سبيل المثال: الاسم LIKE &ParameterSimilar لـ StringSuitable)

وصف بناء جملة عامل التشغيل LIKE

يجب أن تكون معلمة عامل التشغيل عبارة عن سلسلة: يمكن تحديدها كثابت، أو تمريرها كمعلمة طلب.

يمكن استخدام الحروف (الأقنعة) المذكورة أدناه معًا أو بشكل منفصل.

المواصفات الدقيقة للسلسلة

اختر أول 10
المفاتيح.الاسم
من
Directory.Keys كمفاتيح
أين
اسم المفاتيح مشابه لـ "1" // يعادل اسم المفاتيح ="1"

نتيجة:

% هو معنى حرفي لعدد عشوائي من أي أحرف

اختر أول 10
المفاتيح.الاسم
من
Directory.Keys كمفاتيح
أين
المفاتيح. الاسم مثل "%"

نتيجة: أي 10 عناصر

_ (الشرطة السفلية): المطابقة الحرفية لأي حرف واحد

مثال 1:

اختر أول 10
المفاتيح.الاسم
من
Directory.Keys كمفاتيح
أين
المفاتيح.الاسم مثل "_"

المثال رقم 2:بدءًا بأي حرف، متبوعًا بالرقم "1"، ثم بأي حرف

اختر أول 10
المفاتيح.الاسم
من
Directory.Keys كمفاتيح
أين
المفاتيح.اسم مشابه لـ "_1%"

نتيجة:

(حرف واحد أو أكثر بين قوسين مربعين)

  • يتم استخدام كل حرف حرفي يطابق أي حرف كـ OR.
    من المقبول تحديد نطاق، على سبيل المثال a-z,0-5، مما يعني حرفًا عشوائيًا من النطاق المحدد

مثال

اختر أول 10
المفاتيح.الاسم
من
Directory.Keys كمفاتيح
أين
المفاتيح. اسم مشابه لـ "[l]%"

نتيجة: 10 تبدأ بـ "l" أو "z"

مثال:بدءا من 5،6،7

اختر أول 10
المفاتيح.الاسم
من
Directory.Keys كمفاتيح
أين
المفاتيح. الاسم مثل "%"

نتيجة:

[^] (توجد بين قوسين مربعين علامة هروب ^ متبوعة بحرف واحد أو أكثر)

يعادل أي حرف (_) باستثناء تلك المحددة ()

مثال

اختر أول 10
المفاتيح.الاسم
من
Directory.Keys كمفاتيح
أين
المفاتيح. الاسم مشابه لـ "8.[^012]%"//لا تتضمن 8.0,8.1,8.2

نتيجة: الكل يبدأ بـ "8". باستثناء تلك المشار إليها

حرف خاص - أمر لتحديد الأحرف المسجلة أعلاه في الطلب

كرمز خدمة، من المقبول استخدام ما يلي على الأقل: #,~,/,\

مثال:

اختر أول 10
المفاتيح.الاسم
من
Directory.Keys كمفاتيح
أين
المفاتيح. الاسم مثل "#_" الحرف الخاص "#"

نتيجة:

إمكانية التطبيق في المنصات

معلمات غير صحيحة مثل<>

  • يتم تمرير معلمة نوع غير سلسلة: على سبيل المثال، الرقم 1 بدلاً من السلسلة "1"
  • تتم مقارنة حقل نوع غير سلسلة بقناع صالح (على سبيل المثال، رابط) أو عند الاتصال، لا يتم التحقق من القيمة لـ IsNUL

انتبه إلى نص الخطأ الذي يظهر فيه السؤال:

المفاتيح.الاسم مشابه<>&ل

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

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

احصل على 267 درس فيديو على 1C مجانًا:

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

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

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

وهناك آخرون رموز خاصة:

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