كيفية الحصول على نوع (نوع) المستند في الطلب؟ التحقق من نوع القيمة في طلب 1s 8.3

طلب .نص = "يختار | وحدات التخزين. الرابط |من | Directory.usStorageUnits كيفية استخدام وحدات التخزين // المثال 1: المقارنة بقيمة منطقية فارغة: |أين | StorageUnits.AllowSelectionFromReserveZone = خطأ // مثال 2. لكن إذا تم تعريف هذه القيمة المنطقية، فمن الأفضل أن تكون على النحو التالي: // شرط القيمة المنطقية السالبة: |أين | ليست وحدات تخزين. السماح بالاختيار من المنطقة الاحتياطية // مثال 3. الاختيار بناءً على حالة حقل فارغ من النوع "دليل من نوع محدد" |أين | StorageUnits.ActiveSelectionArea = VALUE(Directory.usSelectionArea.EmptyRef) // مثال 3أ. الاختيار بناءً على حالة وجود حقل فارغ من النوع "مستند من نوع معين" |أين | OurInformationRegister.Document = VALUE(Document.OURDocument.EmptyLink) // مثال 3ب. الاختيار بناءً على حالة الحقل الفارغ الذي يحتوي على نوع "مستندات من أنواع مختلفة" ( المجال المركب) |أين | (OURInformationRegister.Document = VALUE(Document.OURDocument1.EmptyLink) | أو OurInformationRegister.Document = VALUE(Document.OURDocument2.EmptyLink) | أو... (إلخ. - نقوم بإدراج الشروط لجميع الأنواع المحتملة لهذا الحقل المركب بشكل تسلسلي) ) // مثال 4. أو العكس، إذا كنت بحاجة إلى تحديد قيمة مملوءة من النوع "سلسلة"، فإن الشرط سيساعد: |أين | اسم وحدة التخزين > """" // مثال 5. إذا كنت بحاجة إلى تحديد مستندات من نوع معين، مع نوع بيانات مركب، على سبيل المثال، في سجل "RunningTasks"، فإن مورد "المهمة" له نوع مركب، من بين قيمه وثيقة "الاختيار" ممكن |أين | EXPRESS(معلومات التسجيلExecutedTasks.Task AS Document.Selection) رابط Document.Selection // مثال 5أ. مثال آخر مشابه عندما تحتاج إلى تحديد مستندات من نوع معين | الاختيار | متى يتم التعبير عن (ag مراسلات المستندات. DocumentBU AS مستند. استلام البضائع والخدمات) رابط المستند. استلام البضائع والخدمات | ثم ""استلام البضائع والخدمات"" | متى يتم التعبير عن (ag مراسلات المستندات. DocumentBU AS مستند. مبيعات السلع والخدمات) رابط المستند. مبيعات السلع والخدمات | ثم ""مبيعات السلع والخدمات"" | آخر """" | نهاية كعرض المستند // مثال 6. الاختيار حسب الشرط لقيمة غير محددة: |أين | SavedSettings.User = غير محدد // مثال 7. الاختيار حسب نوع الحركة "الواردة" لسجل التراكم، "المصروفات" - بالمثل): |أين | RegProductsInRetail.MovementType = VALUE(MovementTypeAccumulation.Incoming) // مثال 8. كيفية الإشارة في الطلب إلى عدم وجود حاجة لتنفيذ الطلب (على سبيل المثال، تحتاج برمجيًا، اعتمادًا على بعض الشروط، إلى إرجاع نتيجة طلب فارغة - Request.Text = StrReplace(Request.Text, "أين Doc.Link = &DocumentLink"، "أين الكذبة")؛). للقيام بذلك، فقط أضف الشرط "أين الخطأ". بالمناسبة، بغض النظر عن حجم البيانات المطلوبة في العينة، سيتم تنفيذ هذا الطلب على الفور. |أين الكذبة؟ // مثال 9. التحقق من أن نتيجة الاستعلام تحتوي على بيانات: ان لمطلب.ينفذ().فارغ() ثم // مثال 10. التحديد بناءً على تاريخ فارغ: |أين | tbStrings.CancellationDate = DATETIME(1, 1, 1)

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

سنقوم في هذه المقالة بتحليل إمكانيات تحويل النوع في لغة الاستعلام 1C، والتي توفرها وظيفة "Express".
دعونا نلقي نظرة على عدة خيارات لاستخدام هذه الوظيفة.
والخيار الأول هو تقريب الأعداد.

للقيام بذلك، تحتاج إلى استخدام الدالة Express بالتنسيق التالي:

يعبر(<Число>كرقم(<ДлинаЧисла>,<Точность>))

أين:
رقم— الحقل الذي يحتاج إلى تقريبه
أرقام الطول- الحد الأقصى لطول الرقم
دقة- دقة تقريب الأرقام

يجب أن تكون معلمات الطول والدقة أعدادًا صحيحة موجبة.
انظر كيف تعمل هذه الوظيفة في الصورة أدناه.

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

لكي تعمل، من الضروري تحويل حقل ذو طول غير محدود إلى سلسلة ذات طول معين، ويتم ذلك باستخدام الدالة Express بالتنسيق التالي:

يعبر(<Строка>كسلسلة(<ДлинаСтроки>)

أين
طول الخط- الحد الأقصى للطول الذي سيتم تقليل السلسلة إليه.
دعونا نعيد صياغة الاستعلام: في هذه الحالة، سنقوم بتحويل سلسلة غير محدودة إلى سلسلة بطول معين. ثم لن يكون هناك أي أخطاء.

دعونا نفكر في الخيار الأخير والأكثر أهمية لتطبيقه: عند العمل مع حقول من النوع المركب.
يوجد أدناه استعلامان يستخدمان الحقول المركبة. فالأولى خطأ والثانية صحيحة.

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

يعبر(<Документ>كوثيقة.<ИмяТаблицы>)
يعبر(<Справочник>كدليل.< ИмяТаблицы >)
.

أين
اسم الطاولة- اسم الكائن في .

استخدم دائمًا الدالة Express عند العمل مع الأنواع المركبة، فهي تعمل على تحسين الاستعلام بشكل كبير.

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

ما المميز في هذه الدورة:
تم تصميم الدورة لأولئك الذين ليسوا على دراية بلغة الاستعلام في 1C؛
تم تصميم المواد التعليمية بشكل جيد وسهلة التعلم؛
عدة عشرات من الدروس؛
أمثلة عملية مفيدة؛
يتم تقديم جميع الدروس بلغة واضحة وبسيطة

لقرائي قسيمة خصم 25%: hrW0rl9Nnx

أحاول إصدار العديد من المقالات المجانية ودروس الفيديو المثيرة للاهتمام كلما أمكن ذلك. لذلك سأكون سعيدًا جدًا إذا قمت بدعم مشروعي بتحويل أي مبلغ:

يمكنك تحويل أي مبلغ مباشرة:
ياندكس موني - 410012882996301
أموال الويب - R955262494655

انضم إلى مجموعاتي.

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

أنواع القيمة

1C: قامت المؤسسة بتضمين وظيفة خاصة في الإصدارات الجديدة (النظام الأساسي 8.2). باستخدامه، يمكنك إضافة أي معلمات خاصة إلى أي أسماء أو عناصر نظام البيانات. تم القيام بذلك لتسهيل تحرير النظام وإضافة عناصر جديدة إليه. تسمى هذه الوظيفة "نوع القيمة".

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

فحص

يمكنك التحقق من حقل معين باستخدام لغة الاستعلام. أو بالأحرى وظائفها: TYPE VALUE. أي أننا إذا أردنا معرفة نوع المعلومات التي تحتوي عليها الخلية المعنية، فيجب علينا استخدام الأمر.

نوع القيمة(القيمة) = النوع(سلسلة)

في المثال أعلاه، قمنا بتعريف النوع الأبسط باستخدام الأمر. مثال آخر للتحقق من صحة الطلب:

توثيق

هناك عدد لا بأس به من الأنواع؛ يمكن للمستخدمين الاكتفاء بالأنواع الأولية أو إدخال الأنواع الخاصة بهم لتحسين قاعدة المعلومات. وهنا بعض منهم.

  • رابط الوثيقة. يتم استخدامه لتخزين المراجع إلى كائنات مختلفة بشكل ملائم داخل أجزاء أخرى من النظام.
  • DocumentObject - تحرير المستندات.
  • DocumentSelection - فرز الكائنات من قاعدة البيانات.

بالإضافة إلى ذلك، هناك مصطلحات خاصة تميز أي بيانات:

  • استمارة؛
  • خط؛
  • منطقية؛
  • رقم؛
  • تاريخ؛
  • مجموعة مصفوفة؛
  • خانة الاختيار؛
  • صورة.

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

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

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

1C وظائف لغة الاستعلام

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

1. وظيفة التاريخ والوقت- تقوم هذه الوظيفة بإنشاء حقل ثابت بنوع "التاريخ".

بناء الجملة: التاريخ الوقت(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

مثال الاستخدام:

2. وظيفة فرق التاريخ- إرجاع الفرق بين تاريخين في أحد الأبعاد (السنة، الشهر، اليوم، الساعة، الدقيقة، الثانية). يتم تمرير القياس كمعلمة.

بناء الجملة: الفرق(<Дата1>, <Дата2>, <Тип>)

مثال الاستخدام:

Query.Text = "SELECT | DIFFERENCEDATE(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | AS عدد الأيام";

3. قيمة الوظيفة- تعيين حقل ثابت بسجل محدد مسبقًا من قاعدة البيانات، ويمكنك أيضًا الحصول على رابط فارغ من أي نوع.

بناء الجملة: القيمة(<Имя>)

مثال الاستخدام:

Request.Text = "SELECT // عنصر محدد مسبقًا | VALUE(Directory.Curreency.Dollar) AS Dollar، //رابط فارغ | VALUE(Document.Receipt of Goods and Services.EmptyLink) AS إيصال، //قيمة النقل | VALUE(Transfer) . فرد قانوني. فرد) AS فرد، // حساب محدد مسبقًا | VALUE(مخطط الحسابات. الدعم الذاتي. المواد) AS Account_10" ;

4. اختر وظيفة- أمامنا نظير لبناء IF، والذي يتم استخدامه في الكود، ويتم استخدام هذا فقط في استعلامات 1C.

بناء الجملة: الاختيار متى<Выражение>ثم<Выражение>خلاف ذلك<Выражение>نهاية

مثال الاستخدام:

Request.Text = // إذا كان المبلغ أكثر من 7500، فيجب أن يكون هناك خصم قدره 300 روبل، // لذلك إذا تم تشغيل الشرط، فإن الدالة // تُرجع المبلغ - 300 // وإلا فسيُرجع الطلب المبلغ ببساطة "SELECT | SELECT | عندما يكون TCReceipts.Amount > 7500 | ثم TCReceipts.Amount - 300 | آخر TCReceipts.Amount | ينتهي AS AmountWithDiscount |FROM | Document.Receipt of GoodsServices.Goods AS TCReceipts";

5. وظيفة صريحة- يسمح لك بالتعبير عن حقل ثابت بنوع معين.

بناء الجملة: EXPRESS (اسم الحقل AS TypeName)

مثال الاستخدام:

Query.Text = "SELECT VARIOUS | Sales.Registrar.Number، | SELECT | عندما يقوم Sales.Registrar بربط Document.Expense | THEN EXPRESS(Sales.Registrar AS Document.Expense) | ELSE SELECT | عندما يقوم Sales.Registrar بربط Document.Implementation | THEN EXPRESS(Sales.Registrar AS Document.Implementation) | END | ... | END AS Number | FROM | RegisterAccumulations.Purchases AS المشتريات";

هل هناك خيار آخر لاستخدام الدالة EXPRESS في الحقول ذات الأنواع المختلطة وأين تحدث؟ أبسط مثال هو "المسجل" لأي سجل. فلماذا قد نحتاج إلى تأهيل النوع في المسجل؟ لنفكر في الموقف عندما نختار حقل "الرقم" من المسجل، ومن أي جدول سيتم اختيار الرقم؟ الجواب الصحيح للجميع! لذلك، لكي يعمل استعلامنا بسرعة، يجب علينا تحديد نوع صريح باستخدام الدالة EXPRESS

مثال الاستخدام:

Query.Text = "SELECT | EXPRESS(Nomenclature.Comment AS Line(300)) AS تعليق، | EXPRESS(Nomenclature.Sum AS Number(15,2)) AS Sum |FROM | Directory.Nomenclature AS Nomenclature";

6. وظيفة ISNULL(التهجئة البديلة ISNULL) - إذا كان الحقل من النوع NULL، فسيتم استبداله بالمعلمة الثانية للدالة.

بناء الجملة: باطل(<Поле>, <ПодставляемоеЗначение>)

مثال الاستخدام:

لاحظ أيضًا أنه من المستحسن دائمًا استبدال النوع NULL ببعض القيمة، لأنه المقارنة مع النوع NULL تُرجع دائمًا FALSE حتى إذا قارنت NULL مع NULL. في أغلب الأحيان، يتم تشكيل القيم الفارغة نتيجة لربط الجداول (جميع أنواع الصلات باستثناء الصلات الداخلية).

Query.Text = //حدد العنصر بالكامل وأرصدته //إذا لم يكن هناك رصيد في بعض العناصر، فسيكون هناك حقل //NULL والذي سيتم استبداله بالقيمة 0 "SELECT | No. Link, | ISNULL (ProductsInStockRemains.InStockRemaining, 0) AS Remaining | FROM | Directory.Nomenclature AS No. | LEFT CONNECTION تسجيل التراكمات. GoodsInWarehouses. Remainings AS GoodsInWarehousesRemains | ON (GoodsInWarehousesRemains. Nomenclature = No. Link)";

7. وظيفة التمثيل- يسمح لك بالحصول على تمثيل لحقل الطلب.

بناء الجملة: أداء(<НаименованиеПоля>)

مثال الاستخدام:

Query.Text = "SELECT | REPRESENTATION(FreeRemainingRemains.Nomenclature) AS Nomenclature, | REPRESENTATION(FreeRemainingRemaining.Warehouse) AS Warehouse, | FreeRemainingRemaining.InStockRemaining |FROM |Accumulation Register.FreeRemaining.Remaining AS FreeRemainingRemaining";

يبني في لغة الاستعلام 1C

ناقشنا معك أعلاه 1C وظائف لغة الاستعلام، حان الوقت الآن للتفكير يبني في لغة الاستعلام 1Cفهي لا تقل أهمية وفائدة، فلنبدأ.

1. رابط البناء- هو عامل منطقي للتحقق من نوع المرجع. غالبًا ما تتم مواجهته عند التحقق من حقل من نوع معقد مقابل نوع معين. بناء الجملة: وصلة<Имя таблицы>

مثال الاستخدام:

Request.Text = // إذا كان نوع قيمة المسجل هو مستند إيصال، // فسيرجع الاستعلام "استلام البضائع"، وإلا "مبيعات البضائع" "SELECT | SELECT | WHEN Remaining.Registrar LINK Document.Receipt of GoodsServices | ثم ""الاستلام"" | آخر ""الاستهلاك"" | النهاية كنوع الحركة | من | سجل التراكم. المنتجات المتبقية في المستودعات كباقي" ;

2. التصميم بين- يتحقق هذا العامل مما إذا كانت القيمة ضمن النطاق المحدد.

بناء الجملة: بين<Выражение>و<Выражение>

مثال الاستخدام:

Request.Text = // احصل على التسمية الكاملة التي يقع رمزها في النطاق من 1 إلى 100 "SELECT | Nomenclature.Link |FROM | Directory.Nomenclature AS Nomenclature |WHERE | Nomenclature.Code BETWEEN 1 AND 100" ;

3. البناء B و B الهرمي- التحقق مما إذا كانت القيمة موجودة في القائمة المنقولة (يمكن نقل المصفوفات وجداول القيم وما إلى ذلك كقائمة). يتيح لك عامل التشغيل IN HIERARCHY عرض التسلسل الهرمي (مثال لاستخدام مخطط الحسابات).

بناء الجملة: في(<СписокЗначений>) ، في التسلسل الهرمي(<СписокЗначений>)

مثال الاستخدام:

Request.Text = //حدد جميع الحسابات الفرعية للحساب "حدد | الدعم الذاتي. ربط الحساب AS | من | مخطط الحسابات. الدعم الذاتي AS الدعم الذاتي | أين | الدعم الذاتي. الارتباط في القيمة الهرمية (مخطط الحسابات) الحسابات. الدعم الذاتي. السلع)";

4. تصميم مماثل- تتيح لنا هذه الوظيفة مقارنة سلسلة بنمط سلسلة.

بناء الجملة: يحب "<ТекстШаблона>"

خيارات نمط الصف:

% - تسلسل يحتوي على أي عدد من الأحرف العشوائية.

شخصية تعسفية واحدة.

[...] - أي حرف منفرد أو سلسلة من الأحرف المدرجة بين قوسين مربعين. يمكن للتعداد تحديد النطاقات، على سبيل المثال a-z، مما يعني تضمين حرف عشوائي في النطاق، بما في ذلك نهايات النطاق.

[^...] - أي حرف منفرد أو سلسلة من الأحرف المدرجة بين قوسين مربعين باستثناء تلك المدرجة بعد علامة النفي.

مثال الاستخدام:

Query.Text = // ابحث عن التسمية بأكملها التي تحتوي على جذر TABUR وتبدأ // إما بحرف صغير أو كبير t "SELECT | Nomenclature. Link | FROM | Directory. Nomenclature AS Nomenclature | أين | المنتجات. الاسم مثل "" [Tt]abur%""" ;

5. التصميم مسموح- يتيح لك هذا المشغل تحديد السجلات فقط من قاعدة البيانات التي حصل المتصل على إذن القراءة لها. يتم تكوين هذه الحقوق على مستوى السجل (RLS).

بناء الجملة: يتم كتابة السماح بعد الكلمة الأساسية SELECT

مثال الاستخدام:

Request.Text = "حدد المسموح به | الأطراف المقابلة. الرابط | من | الدليل. الأطراف المقابلة كأطراف مقابلة";

6. تصميم مختلف- يسمح لك بتحديد السجلات التي لا توجد بها سجلات مكررة.

بناء الجملة: تتم كتابة VARIOUS بعد الكلمة الأساسية SELECT

مثال الاستخدام:

Request.Text = // يحدد السجلات التي يتمتع القارئ بحقوقها "SELECT VARIOUS | Counterparties.Name |FROM | Directory.Counterparties AS Counterparties" ;

كما يمكن استخدام البنية المتنوعة مع المشغل المسموح به والمشغلين الآخرين.

مثال الاستخدام:

Request.Text = // يحدد السجلات المختلفة التي يتمتع القارئ بحقوقها "SELECT ALLOWED VARIOUS | Counterparties.Name |FROM | Directory.Counterparties AS Counterparties";

7. التصميم أولاً- تحديد عدد السجلات المحددة في المعلمة من نتيجة الاستعلام.

بناء الجملة: أولا<число>

مثال الاستخدام:

Request.Text = //اختر أول 4 أرقام CCD من الدليل "اختر أول 4 | أرقام CCD. الرابط | من | الدليل. أرقام CCD كأرقام CCD";

8. تصميم من أجل التغيير- يسمح لك بقفل الجدول، ويعمل فقط في المعاملات (ذو صلة فقط بالأقفال التلقائية).

بناء الجملة: من أجل التغيير<НаименованиеТаблицы>

مثال الاستخدام:

Query.Text = "SELECT | البقايا الحرة البقايا. التسمية، | البقايا الحرة البقايا. المستودع، | البقايا المجانية المتبقية. في المخزون المتبقية | من | سجل التراكمات. البقايا الحرة. البقايا AS الحرة البقايا المتبقية | للتغيير | سجل التراكمات . البقايا الحرة. البقايا";

9. طلب التصميم حسب- تنظيم البيانات حسب مجال معين. إذا كان الحقل عبارة عن رابط، فعند وضع العلم طلب تلقائيسيتم الفرز حسب تمثيل الارتباط؛ إذا تم إيقاف تشغيل العلامة، فسيتم فرز الروابط حسب أقدمية عنوان الارتباط في الذاكرة.

بناء الجملة: ترتيب حسب<НаименованиеПоля>طلب تلقائي

مثال الاستخدام:

Query.Text = "SELECT | البقايا الحرة البقايا. Nomenclature AS Nomenclature، | البقايا الحرة البقايا. Warehouse AS Warehouse، | البقايا المجانية المتبقية. في المخزون المتبقية | من | تسجيل التراكمات. البقايا الحرة. المتبقية AS الحرة المتبقية المتبقية | | ترتيب حسب | التسميات | AUTO ORDER VANIE";

10. مجموعة التصميم بواسطة- يستخدم لتجميع سلاسل الاستعلام حسب حقول محددة. يجب استخدام الحقول الرقمية مع أي دالة مجمعة.

بناء الجملة: مجموعة من<НаименованиеПоля1>, .... , <НаименованиеПоляN>

مثال الاستخدام:

Query.Text = "SELECT | ItemsInWarehouses.Nomenclature AS Nomenclature، | ItemsInWarehouses.Warehouse، | SUM(ItemsInWarehouses.InStock) AS INSTOCK |من | RegisterAccumulations.ItemsInWarehouses AS ItemsInWarehouses | |التجميع حسب | ItemsInWarehouses.Nomenclature، | ItemsAtWarehouse ah.Warehouse " ;

11. وجود التصميم- يسمح لك بتطبيق دالة مجمعة على شرط اختيار البيانات، على غرار بناء WHERE.

بناء الجملة: نأخذ<агрегатная функция с условием>

مثال الاستخدام:

Query.Text = // تحديد السجلات المجمعة حيث يكون حقل InStock أكبر من 3 "SELECT | ItemsInStocks.Nomenclature AS Nomenclature، | ItemsInWarehouses.Warehouse، | SUM(ItemsInStocks.InStock) AS INSTOCK |من | RegisterAccumulations.ItemsInStocks AS ItemsInStocks | | المجموعة حسب | ProductsInWarehouses.Nomenclature، | ProductsInWarehouses.Warehouse | |AVAILABLE | AMOUNT(ProductsInWarehouses.InStock) > 3" ؛

12. مؤشر البناء بواسطة- يستخدم لفهرسة حقل الاستعلام. يستغرق الاستعلام المفهرس وقتًا أطول حتى يكتمل، ولكنه يسرع عملية البحث من خلال الحقول المفهرسة. يمكن استخدامه فقط في الجداول الافتراضية.

بناء الجملة: فهرس بواسطة<Поле1, ... , ПолеN>

مثال الاستخدام:

Query.Text = "SELECT | Ts.NameOS، | Ts.FolderNumber، | Ts.CodeOS، | Ts.Term، | Ts.Type | PLACE DataTs | من | &Ts AS Ts | | INDEX BY | Ts.NameOS، | Ts .كود أو إس";

13. التصميم أين- يسمح لك بفرض شرط على أي حقول اختيار. ستتضمن النتيجة فقط السجلات التي تستوفي الشرط.

بناء الجملة: أين<Условие1 ОператорЛогСоединения УсловиеN>

مثال الاستخدام:

Query.Text = // تم تحديد كافة السجلات ذات التعويض المتبقي<>0 و //AmountForCalcCompRemaining > 100 "SELECT | CompensationRPORemains.Counterparty, |CompensationRPORemains.Child, | CompensationRPORemains.CompensationRemaining, | CompensationRPORemains.AmountForCalcCompRemains |Place DataTz |من | تراكم التسجيل.CompensationRP.Remains AS CompensationRPRemains | أين |CompensationRPOREmaining .التعويض المتبقي<>0 | و CompensationRPORemains.AmountForCalcCompRemaining> 100" ;

14. نتائج التصميم...عامة- يستخدم لحساب الإجماليات؛ ويحدد التصميم الحقول التي سيتم حساب الإجماليات من خلالها وتطبيق وظائف التجميع على الحقول الإجمالية. عند استخدام الإجماليات لكل حقل بعد إنشاء الإجمالي، يتم تجميع البيانات. هناك بنية عامة اختيارية؛ كما يوفر استخدامها تجميعًا إضافيًا. سترى مثالاً لنتيجة الطلب أدناه.

بناء الجملة: نتائج<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>بواسطة<ОБЩИЕ> <Поле1, ... , ПолеN>

مثال الاستخدام:

Request.Text = "SELECT | الحسابات. اتفاقية الطرف المقابل. نوع الاتفاقية كنوع العقد، | الحسابات. اتفاقية الطرف المقابل كعقد، | الحسابات. الطرف المقابل، | الحسابات. مبلغ رصيد التسوية المتبادلة كرصيد | من | سجل التراكمات. المتبادلة التسوية مع الأطراف المقابلة. الأرصدة AS الحسابات | الإجمالي | المبلغ (الرصيد) | البرمجيات | عام، | نوع الاتفاقية"؛

يوضح الشكل المجموعات التي تم تشكيلها أثناء تنفيذ الطلب، وتشير الأولى إلى القسم "عام"، والثانية إلى حقل "نوع اتفاقية الطرف المقابل".