Контакти

Синтаксис подібно до запиту 1с. Подібно до умов запиту. Невірні параметри подібно

Незважаючи на всі недоліки, пошук по текстовому полю досі є одним із найпопулярніших. Строкові типи даних ми можемо зустріти повсюдно – назви, номери рахунків, адреси, а також інша інформація може зберігатися у цьому форматі. У запитах вбудованою мовою 1С для зручності розробників використовується спеціальний оператор «ПОДІБНО». Це одна з найуживаніших команд, тому без досконалого знання її синтаксису та можливостей програмісту буде важко працювати.

Використання оператора «ПОДІБНО»

Перед тим, як застосовувати будь-який оператор на практиці, потрібно чітко зрозуміти його призначення, місця застосування та синтаксис. Метою використання «ПОДІБНО» у запиті 1С є перевірка задоволення умові, представленому як шаблона. Повертається значенням є логічний тип – істина чи брехня, демонструючий чи виконується задану умову. Використання оператора подібно може в декількох місцях запиту:

  • у блоці умов, позначеному ключовим словом «ДЕ»;
  • У конструкції Вибір Коли Тоді Інакше Кінець;
  • Безпосередньо у полях вибірки, як наслідок порівняння полів.

Синтаксис перевірки завжди однаковий і складається із 3 ланок. Зліва текстове значення, яке перевіряється, потім безпосередньо сам оператор «ПОДІБНО», а праворуч – шаблон, яким іде перевірка. Для швидкого та зручного складання шаблонів існують спеціальні символи, що полегшують розробку:

  1. "%" - послідовність будь-яких символів довільної довжини. Використовується для пошуку окремих слів чи цифр у рядку;
  2. "_" - будь-який одиничний символ. Призначений позначення наявності одного знака;
  3. «[…]» – послідовність символів для порівняння зі знаком у рядку. За допомогою подібного шаблону перевіряється відповідність будь-якому з перелічених у дужках знаків. Також можна встановити діапазон цифр або літер ([а-г], );
  4. "[^…]" - протилежний попередньому шаблон. Перевіряється відмінність зазначеного у рядку символу від перерахованих у дужках.

Щоб краще засвоїти і зрозуміти принципи складання вірних шаблонів, розглянемо деякі приклади, що часто зустрічаються в житті розробників. Перше, коли нам необхідно вибрати з довідника номенклатури всі позиції, в найменуваннях яких зустрічається слово «РЕЗЕЦЬ». У цьому випадку нам необхідно використовувати подібно до умов запиту:

ВИБРАТИ Номенклатура.Найменування ЯК Найменування З Довідник.Номенклатура ЯК Номенклатура ДЕ Номенклатура.Найменування ПОДІБНО "%РЕЗЕЦ%"

Якщо ми приберемо обидва символи «%», запит покаже номенклатуру, у якої найменування повністю збігається із зазначеним у лапках. Якщо залишимо шаблон «РЕЗЕЦЬ%» або «%РЕЗЕЦЬ», то результатом буде список номенклатури, що закінчується або починається відповідно на задану комбінацію символів.


Розберемо завдання, яке може поставити в безвихідь програмістів-початківців, які не знають синтаксис запитів. Допустимо, вам потрібно знайти всю номенклатуру, у найменуванні якої є символ %. Спеціально для випадків, коли потрібно вести пошук зарезервованих символів, існує оператор спецсимвол. Як спецсимвол можна використовувати #,\,/,~ та інші знаки, після яких будь-які зарезервовані символи позначатимуть просто знак.

ВИБРАТИ Номенклатура.Найменування ЯК Найменування З Довідник.Номенклатура ЯК Номенклатура ДЕ Номенклатура.Найменування ПОДІБНО "%#%" СПЕЦСИМВОЛ "#"

Якщо вам потрібно в пошуку використовувати параметр, змінна в запиті з параметром ПОДІБНО використовується за допомогою додавання. Пам'ятайте, що параметр повинен бути рядкового типу або вам потрібно буде перевести його в рядок у запиті. Це досить складна операція і краще виключити її заздалегідь.

ВИБРАТИ Номенклатура.Найменування ЯК Найменування З Довідник.Номенклатура ЯК Номенклатура ДЕ Номенклатура.Найменування ПОДІБНО "%" + &найменування + "%"

Функція подібно застосовна у всіх версіях платформи, починаючи з 8, і через її застосування розробники 1С не захочуть її змінювати. Звичайно, текстовий пошук завжди залежить від точності введення найменування, але він все одно залишається одним із найпоширеніших. У зв'язку з цим професійним розробникам 1С необхідно вивчити використання подібно до всіх його нюансів.

ПОДІБНО- Оператор перевірки рядка на зразок шаблону. Аналог LIKE у SQL.
Оператор ПОДІБНОдозволяє порівняти значення виразу, вказаного зліва від нього, з рядком шаблону, вказаним праворуч. Значення виразу має мати рядок. Якщо значення виразу задовольняє шаблон - результатом оператора буде ІСТИНА, інакше - БРЕХНЯ.
Наступні символи у рядку шаблону є службовими і мають сенс, відмінний від символу рядка:
. % (відсоток): послідовність, яка містить будь-яку кількість довільних символів
. _ (підкреслення): один довільний символ
. […] (у квадратних дужках один або кілька символів): будь-який одиночний символ із перелічених усередині квадратних дужок
У перерахуванні можуть зустрічатися діапазони, наприклад, a-z, що означають довільний символ, що входить в діапазон, включаючи кінці діапазону.
. [^…] (у квадратних дужках значок заперечення, за яким слідує один або кілька символів): будь-який одиночний символ, крім тих, які перелічені слідом за значком заперечення
Будь-який інший символ означає сам себе і не несе жодного додаткового навантаження.
Якщо як самого себе необхідно записати один із перелічених символів, то йому має передувати<Спецсимвол>. Сам<Спецсимвол>(будь-який відповідний символ) визначається в цьому ж операторі після ключового слова СПЕЦСИМВОЛ.
Наприклад, шаблон “%АБВ[абвг]\_абв%” СПЕЦСИМВОЛ “\” означає підрядок, що складається з послідовності символів:
літери А; літери Б; літери У; однієї цифри; однією з букв а, б, або г; символ підкреслення; літери а; літери б; літери ст.
Причому перед цією послідовністю може бути довільний набір символів.

Приклади використання:
Код 1C v 8.х Процедура БанкЗакінчення Введення Тексту (Елемент, Текст, Значення, Стандартна Обробка)
Стандартна Обробка = Брехня;
//Робимо запит із пошуком за шаблоном виду "%" +<Текст введенный пользователм в поле ввода> + "%"
Запит = Новий Запит;
Запит.ВстановитиПараметр("Найменування", "%" + Текст + "%");
Запит.Текст = "ВИБРАТИ
| Банки.

| Довідник. Банки ЯК Банки
|ДЕ
| Банки.Найменування ПОДІБНО &Найменування";

Результат = Запит.Виконати();
Вибірка = Результат.Вибрати();
Якщо Результат.Порожній() Тоді
// Нічого не знайшли. Тут можна вивести повідомлення, або ще чогось зробити:)
Інакше
//Отримуємо результати
трезультати = Результат.Вивантажити();
//Підготуємо список значень, що буде містити знайдені елементи.
Значення = Новий СписокЗначень();
Значення.ЗавантажитиЗначення(тзРезультати.ВивантажитиКолонку("Посилання"));
КінецьЯкщо;
КінецьПроцедури

Потрібно, щоб у "Договори за умовчанням" потрапляли тільки найменування основного договору і т.д:
Код 1C v 8.х Вибір
Коли Найменування ПОДІБНО "Договір №%" тоді "Договору з номером" // Підходить будь-який рядок, що починається з "Договір №"
Коли Найменування ПОДІБНО "Основний договір%[^А-яЕйо"+Символ(33)+"-"+Символ(126)+"№»«"+Символи.ПС+Символи.Таб+Символи.ПФ+Символи.НПП+ Символи.ВТаб+"]%" тоді "Договори за умовчанням" //Підходить будь-який рядок, що починається з "Основний договір"
Інакше "Інші"
Кінець Як ВидДоговіру

Інформація взята із сайту

Оператор подібно до запиту перевіряє рядкові значення з таблиць на кшталт шаблону.
Використовується наступним чином зліва від цього оператора поміщається рядок, що перевіряється, а справа шаблон.

Після перевірки повертає Істина чи Брехня, відповідно активно використовується в умовах.
Для створення шаблону використовуються такі службові символи:

  • % (відсоток) - послідовність, що містить будь-яку кількість довільних символів
  • _ (підкреслення) – один довільний символ
  • […] (у квадратних дужках один або кілька символів) - будь-який одиночний символ із перелічених усередині квадратних дужок
    Крім різних символів можна використовувати діапазони, наприклад a-z(A-z), що означає наявність довільного символу, що входить в діапазон, включаючи кінці діапазону.
  • [^…] (у квадратних дужках значок заперечення, за яким слідує один або кілька символів) - будь-який одиночний символ, крім тих, які перераховані слідом за значком заперечення

Інші символи використовуються за своїм прямим призначенням.
Якщо символом необхідно передати один із вищевказаних службових символів, то йому повинен передувати<Спецсимвол>. Сам<Спецсимвол>(будь-який відповідний символ) визначається в цьому ж операторі після ключового слова СПЕЦСИМВОЛ.
Наприклад, шаблон "%АБВ[абвг]\_абв%" СПЕЦСИМВОЛ "\" означає підрядок, що складається з послідовності символів:
літери А; літери Б; літери У; однієї цифри; однією з букв а, б, або г; символ підкреслення; літери а; літери б; літери ст.
Причому перед цією послідовністю може бути довільний набір символів.

Процедура ВибратиДоговірУтримуєВНайменуванніТекст(мТекст)
//У запиті будемо використовувати шаблон виду "%" + мТекст + "%" Запит = Новий Запит; Запит.ВстановитиПараметр("Найменування", "%" + Текст + "%"); Запит.Текст = "ВИБРАТИ | Договори.Посилання, | Договори.Власник |З | Довідник.ДоговориКонтрагентів ЯК Договори | |ДЕ | Договори.Найменування ПОДІБНО &Найменування"; Результат = Запит.Виконати(); Вибірка = Результат.Вибрати(); Повідомити("Договори, що містять в найменування: " + мТекст + " мають наступні Контрагенти"); Поки Вибірка.Наступний() Цикл Повідомити("Контрагент: " + Вибірка.Власник + "; Договір: " + Вибірка.Посилання КінецьЯкщо; КінецьПроцедури

Оператор ПОДІБНОдозволяє порівняти у запиті дані рядкового типу, що знаходяться зліва від оператора з даними рядкового типу, що знаходяться праворуч від оператора. Результат порівняння приймає значення "Істина" або "Брехня", таким чином порівняння можна застосовувати у вигляді умови.

Для оператора ПОДІБНОпередбачені спеціальні службові символи, які не сприймаються як рядок:

  • "%" символ відсотка: означає наявність у рядку будь-якої кількості довільних символів
  • "[...]" один або кілька символів у квадратних дужках: позначає наявність будь-якого (одиночного) із перелічених символів. Також, може бути вказаний діапазон символів (наприклад )
  • "_" символ підкреслення: означає наявність будь-якого довільного символу
  • "[^...]" символ заперечення: означає наявність будь-якого одиночного символу, крім зазначених у квадратних дужках
Якщо необхідно для порівняння вказати один із перерахованих спецсимволів, необхідно скористатися ключовим словом "СПЕЦСИМВОЛ"

Особливості використання з різними СУБД

IBM DB2" Праворуч від оператора ПОДІБНО може бути лише параметр. Шаблонні символи лише "_" (підкреслення означає будь-який символ) і "%" (відсоток що означає послідовність будь-яких символів).
У разі використання СУБД " PostgreSQL" або " Oracle Database"спецсимволи "квадратні дужки [...]" сприймаються лише якщо вказані текстом у запиті, а НЕ передаються параметром у запит.

Таким чином, у файловій базі спецсимволи завжди сприйматимуться однаково, і по-різному в залежності від використовуваної СУБД у клієнт-серверному варіанті.

Приклад: вибрати товари, що містять у найменуванні символ "%"

ВИБРАТИ | Посилання | З | Довідник.Номенклатура ЯК Спр |ДЕ | Спр.Найменування ПОДІБНО "%\%" СПЕЦСИМВОЛ "\"

Приклад: вибрати товари, найменування яких починає слово "Бак"

ВИБРАТИ | Посилання | З | Довідник.Номенклатура ЯК Спр |ДЕ | Спр.Найменування ПОДІБНО "Бак%"

Приклад: вибрати товари, найменування яких закінчується цифрою

ВИБРАТИ | Посилання | З | Довідник.Номенклатура ЯК Спр |ДЕ | Спр.Найменування ПОДІБНО "%"

У цій статті ми хочемо обговорити з Вами всі функції мови запитів 1с, а також конструкції мови запитів. Чим відрізняється функція від конструкції? Функція викликається з дужками та можливими параметрами у них, а конструкція пишеться без дужок. Безумовно всі конструкції та функції мови запитів 1сроблять процес отримання даних гнучким та багатофункціональним. Дані функції та конструкції застосовні до полів запиту, а деякі також застосовні за умов.

Функції мови запитів 1с

Оскільки зрозумілий опис функцій мови запитів 1страпляється набагато рідше, ніж опис конструкцій, ми вирішили почати розглядати саме функції. Тепер давайте розберемо кожну окремо, описавши її призначення, синтаксис та приклад використання, отже:

1. Функція ДАТА ЧАС- Ця функція створює константне поле з типом "Дата".

Синтаксис: ДАТА ЧАС(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Приклад використання:

2. Функція Різноманітність- Повертає різницю двох дат в одному з вимірювань (рік, місяць, день, година, хвилина, секунда). Вимірювання передається у параметрі.

Синтаксис: РІЗНІСТЬДАТ(<Дата1>, <Дата2>, <Тип>)

Приклад використання:

Запит.Текст = "ВИБРАТИ | РІЗНЕСТЬДАТ(ДАТАВРЕМЯ(2015, 4, 17), ДАТАВРЕМЯ(2015, 2, 1), ДЕНЬ) | ЯК Колводнів";

3. Функція ЗНАЧЕННЯ- задає константне поле з наперед визначеним записом з бази даних, також можна отримати порожнє посилання будь-якого типу.

Синтаксис: ЗНАЧЕННЯ(<Имя>)

Приклад використання:

Запит.Текст = "ВИБРАТИ //зумовлений елемент | ЗНАЧЕННЯ(Довідник.Валюти.Долар) ЯК Долар, //порожнє посилання | ФізОсоба) ЯК ФізОбличчя, / / ​​зумовлений рахунок |

4. Функція ВИБІР- Перед нами аналог конструкції ЯКЩО який використовується в коді, тільки ця використовується у запитах 1С.

Синтаксис: ВИБІР КОЛИ<Выражение>ТОДІ<Выражение>Інакше<Выражение>КІНЕЦЬ

Приклад використання:

Запрос.Текст = //якщо сума більше 7500, тоді має бути знижка 300 рублів, //тому якщо умова спрацьовує то функція //повертає Сума - 300 //інакше запит поверне просто Сума "ВИБРАТИ | ВИБІР | КОЛИ ТЧ Надходження.Сума > 7500 | ТОДІ ТЧНадходження. Сума - ІНШЕ ТЧ Надходження. Сума |

5. Функція ВИРАЗИТИ- дозволяє виразити константне поле певним типом.

Синтаксис: ВИРАЗИТИ(НазваПоля ЯК НазваТипу)

Приклад використання:

Запит.Текст = "ВИБРАТИ РІЗНІ | Продажі.Реєстратор.Номер, | ВИБІР | КОЛИ Продажі.Реєстратор ПОСИЛАННЯ Документ.Видаткова | еалізація | ТОДИ ВИРАЗИТИ(Продажи.Регістратор ЯК Документ.Реалізація) |

Є ще варіант використання функції ВИРАЗИТИ в полях змішаних типах, де такі зустрічаються? Найпростіший приклад це "Реєстратор" у будь-якого регістру. То навіщо нам може знадобитися уточнювати тип у реєстраторі? Давайте розглянемо ситуацію, коли ми з реєстратора вибираємо поле "Номер", з якої таблиці буде обраний номер? Правильна відповідь із усіх! Тому щоб наш запит працював швидко, слід вказувати явний тип за допомогою функції ВИРАЗИТИ

Приклад використання:

Запит.Текст = "ВИБРАТИ | ВИРАЗИТИ(Номенклатура.Коментар ЯК Рядок(300)) ЯК Коментар, | ВИРАЗИТИ(Номенклатура.Сума ЯК Число(15,2)) ЯК Сума |З | Довідник.Номенклатура ЯК

6. Функція ISNULL(альтернативне написання Є NULL) - якщо поле має тип NULL, воно замінюється на другий параметр функції.

Синтаксис: Є NULL (<Поле>, <ПодставляемоеЗначение>)

Приклад використання:

Також відзначимо що тип NULL бажано ЗАВЖДИ замінювати якесь значення, т.к. порівняння з типом NULL завжди дає брехня навіть якщо ви порівнюєте NULL з NULL. Найчастіше значення NULL утворюються внаслідок з'єднання таблиць (всі види з'єднань крім внутрішнього).

Запит.Текст = //Вибираємо всю номенклатуру і залишки по ній //якщо залишокв але якоїсь номенклатури немає то буде поле //NULL яке заміниться значенням 0 "ВИБРАТИ | Ном.Посилання, | Залишок |З |Довідник.Номенклатура ЯК Ном |

7. Функція ПРЕДСТАВЛЕННЯ- дозволяє одержати подання поля запиту.

Синтаксис: ПРЕДСТАВЛЕННЯ(<НаименованиеПоля>)

Приклад використання:

Запит.Текст = "ВИБРАТИ | ПРЕДСТАВЛЕННЯ(ВільніЗалишкиЗалишки.Номенклатура) ЯК Номенклатура, | ПРЕДСТАВЛЕННЯ(ВільніЗалишкиЗалишки.Склад) ЯК Склад, |

Конструкції у мові запитів 1с

Вище ми розглянули з Вами функції мови запитів 1с, тепер настав час розглянути конструкції у мові запитів 1с, вони не менш важливі та корисні, приступаємо.

1. Конструкція ПОСИЛАННЯ- являє собою логічний оператор перевірки типу посилання. Найчастіше зустрічається під час перевірки поля складеного типу на конкретний тип. Синтаксис: ПОСИЛАННЯ<Имя таблицы>

Приклад використання:

Запит.Текст = //якщо тип значення реєстратора документ Прибуткова, //тоді запит поверне "Надходження товарів", інакше "Реалізація товарів" "ВИБРАТИ | ВИБІР | КОЛИ Залишки.Реєстратор ПОСИЛАННЯ Документ. " "Витрата" | КІНЕЦЬ ЯК Вид |РегістрНакопичення.

2. Конструкція МІЖ- Цей оператор перевіряє чи входить значення у вказаний діапазон.

Синтаксис: МІЖ<Выражение>І<Выражение>

Приклад використання:

Запрос.Текст = //отримаємо всю номенклатуру код якої лежить в діапазоні від 1 до 100 "ВИБРАТИ | Номенклатура. Посилання | З | Довідник. Номенклатура ЯК Номенклатура | ДЕ | Номенклатура.

3. Конструкція В та В ІЄРАРХІЇ- перевіряють чи знаходиться значення в списку, що передається (як списку можуть передаватися масиви, таблиці значень і т.д.). Оператор В ІЄРАРХІЇ дозволяє переглядати ієрархію (приклад використання План Рахунків).

Синтаксис: В(<СписокЗначений>), В ІЄРАРХІЇ(<СписокЗначений>)

Приклад використання:

Запрос.Текст = // вибираємо всі субрахунки рахунку "ВИБРАТИ | Госпрозрахунковий. Посилання ЯК Рахунок | З | План Рахунок.Госпрозрахунковий ЯК Хозрозрахунковий | ДЕ | Госпрозрахунковий.

4. Конструкція ПОДІБНО- Ця функція дозволяє нам порівнювати рядок із шаблоном рядка.

Синтаксис: ПОДІБНО "<ТекстШаблона>"

Варіанти шаблону рядка:

% - Послідовність, що містить будь-яку кількість довільних символів.

Один символ довільний.

[...] - будь-який одиночний символ, або послідовність символів із перелічених усередині квадратних дужок. У перерахуванні можуть задаватися діапазони, наприклад a-z, що означають довільний символ, що входить до діапазону, включаючи кінці діапазону.

[^...] - будь-який одиночний символ, або послідовність символів з перелічених усередині квадратних дужок крім тих, які перелічені за значком заперечення.

Приклад використання:

Запрос.Текст = //знайдемо всю номенклатуру яка містить корінь ТАБУР і починається //або з маленької або з великої літери т "ВИБРАТИ | Номенклатура.Посилання |З | Довідник.Номенклатура ЯК Номенклатура |ДЕ | Товари.Найменування ПОДІБНО ""[Тт ]абур%""";

5. Конструкція ДОЗВОЛЕНІ- цей оператор дозволяє вибрати лише записи з БД, куди викликає право читання. Ці права налаштовуються на рівні записів (RLS).

Синтаксис: ДОЗВОЛЕНІ пишеться після ключового слова ВИБРАТИ

Приклад використання:

Запит.Текст = "ВИБРАТИ ДОЗВОЛЕНІ | Контрагенти.Посилання |З | Довідник.Контрагенти ЯК Контрагенти";

6. Конструкція РІЗНІ- дозволяє вибрати записи, у яких відсутні повторні записи.

Синтаксис: РІЗНІ пишеться після ключового слова ВИБРАТИ

Приклад використання:

Запрос.Текст = // вибирає записи на які є права у читача "ВИБРАТИ РІЗНІ | Контрагенти. Найменування | З | Довідник. Контрагенти ЯК Контрагенти";

Також Конструкція РІЗНІ може використовуватися з оператором ДОЗВОЛЕНІ та іншими операторами.

Приклад використання:

Запрос.Текст = // вибирає різні записи на які є права у читача "ВИБРАТИ ДОЗВОЛЕНІ РІЗНІ | Контрагенти. Найменування | З | Довідник. Контрагенти ЯК Контрагенти";

7. Конструкція ПЕРШІ- вибирає вказану в параметрі кількість записів із результату запиту.

Синтаксис: ПЕРШІ<число>

Приклад використання:

Запит. Текст = // Вибирають перші 4 номери ВМД з довідника "ВИБРАТИ ПЕРШІ 4 | Номери ВМД. Посилання | З | Довідник.

8. Конструкція ДЛЯ ЗМІНИ- дозволяє заблокувати таблицю, працює лише у транзакціях (актуально лише автоматичних блокувань).

Синтаксис: ДЛЯ ЗМІНИ<НаименованиеТаблицы>

Приклад використання:

Запит.Текст = "ОБРАТИ |

9. Конструкція ПОРЯДОЧИТИ ПО- впорядковує дані щодо певного поля. Якщо полем є посилання, то при установці прапора Автоупорядкуваннябуде відбуватися сортування за поданням посилання, якщо прапор вимкнено, то посилання сортуються за старшинством адреси посилання в пам'яті.

Синтаксис: ВПОРЯДКУВАТИ ЗА<НаименованиеПоля>Автоупорядкування

Приклад використання:

Запит.Текст = "ВИБРАТИ | Вільні Залишки. Залишки. Залишки. Залишки. ДОЧУВАННЯ";

10. Конструкція ЗГРУПУВАТИ ПО- використовується для угрупування рядків запиту за певними полями. Числові поля повинні використовуватись із будь-якою агрегатною функцією.

Синтаксис: ЗГРУПУВАТИ ПО<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Приклад використання:

Запит.Текст = "ВИБРАТИ | ТовариНа Складах.Номенклатура ЯК Номенклатура, | ТовариНаСкладах.Склад, | складах.

11. Конструкція МАЮЧІ- дозволяє застосувати агрегатну функцію умови вибірки даних, схожа на конструкцію ДДЕ.

Синтаксис: МАЮЧІ<агрегатная функция с условием>

Приклад використання:

Запрос.Текст = // вибирає згруповані записи де поле В наявності більше 3 "Вибрати | Товари на складах. Номенклатура ЯК Номенклатура, | Товари на складах. склад, | ПЗ | ТовариНа Складах.Номенклатура, |ТовариНаСкладах.Склад |

12. Конструкція ІНДЕКСУВАТИ ПО- Використовується для індексації поле запиту. Запит з індексацією довше виконується, але прискорює пошук індексованих полів. Можна використовувати лише у віртуальних таблицях.

Синтаксис: ІНДЕКСУВАТИ ПО<Поле1, ... , ПолеN>

Приклад використання:

Запрос.Текст = " ВИБРАТИ | Тз. Найменування ОС, | Тз. Номер Папки, | Тз. КодОС, | Тз. Термін, | Тз. Тип | ПОМІСТИТИ Дані Тз | .КодОС";

13. Конструкція ДЕ- дозволяє накласти умову будь-які поля вибірки. У результат потраплять записи, що тільки задовольняють умові.

Синтаксис: ДЕ<Условие1 ОператорЛогСоединения УсловиеN>

Приклад використання:

Запит.Текст = //вибираються всі записи у яких КомпенсаціяЗалишок<>0 і //СуммаДляРозчКомпОстаток > 100 " ВИБРАТИ | КомпенсаціяРПОстатки.Контрагент, | КомпенсаціяРпостати.Дитина, | Залишки ЯК КомпенсаціяРПОстатки |ДЕ |<>0 | І КомпенсаціяРПОстатки.

14. Конструкція ПІДСУМКИ... ЗА ЗАГАЛЬНІ- застосовується для підрахунку результатів, у конструкції вказуються поля якими вважатимуться підсумки і агрегатні функції які застосовуються до підсумковим полям. При використанні підсумків на кожне поле наступне після конструкції ПІДСУМКИ проводиться групування даних. Є необов'язкова конструкція ЗАГАЛЬНІ, її використання також забезпечує додаткове угруповання. Приклад результату запиту ви побачите нижче.

Синтаксис: ПІДСУМКИ<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>ПЗ<ОБЩИЕ> <Поле1, ... , ПолеN>

Приклад використання:

Запит.Текст = "ВИБРАТИ | Розрахунки.ДоговірКонтрагенту.ВидДоговіру ЯК ВидДоговіру, | Розрахунки.ДоговірКонтрагенту ЯК Договір, | Розрахунки.Контрагент, | І | СУМА (Залишок) |ПО | ЗАГАЛЬНІ, | ВидДоговору";

На малюнку обведені угруповання які утворилися в ході виконання запиту, найвище відноситься до секції ЗАГАЛЬНІ, а друге до поля ДоговірКонтрагентуВідДоговіру.



Сподобалася стаття? Поділіться їй