Навчальні статті. Урок - Прості запити та умови в BAS

Ця стаття була оновлена 03 Червня 2022, Пт
Зміст
  1. Запити в мові програмування BAS
  2. Конструкція запиту
  3. Простий запит до довідника номенклатура
  4. Прості запити і умови в BAS
  5. Простий запит до довідника номенклатура з умовою

Запити в мові програмування BAS

Сьогодні ми дізнаємося, що таке запити в BAS і з чим їх їдять.

Запити в мові програмування BAS найбільш важлива частина. Запит, це якийсь текст команд, записаних в строковому вираженні для звернення до бази денних. Як ми пам'ятаємо з теоретичної частини курсу - база BAS це набір таблиць тісно пов'язаних один з одним. Запит якраз і потрібен, щоб отримати вибірку якихось даних з певної таблиці або навіть декількох таблиць, об'єднуючи це в один результат.

Конструкція запиту

Запрос = Новый Запрос;
Запрос.Текст = «<Текст запроса>»;
РезультатЗапроса = Запрос.Выполнить.Выгрузить();

Давайте розберемо. У першому рядку ми присвоїли змінну «Запрос» нового типу Запрос.

Далі вказали сам текст запиту, який, до речі, теж може бути змінної, організованої раніше. Третин рядком ми вказали запиту «виконати», а потім «Выгрузить()» результат в змінну «РезультатЗапроса». Підсумком наших дій стане таблиця значень в змінної «РезультатЗапроса». Метод «Выгрузить()» чимось схожий на метод таблиці значень «ВыгрузитьКолонку()».

Текст запиту. Щоб не писати все вручну, нам на допомогу приходить конструктор запитів BAS.
Відкрити його можна через контекстне меню в будь-якому місці модуля. Після завершення конструювання на цьому місці буде текст запиту.

Пример запроса.

Зверніть увагу, з якого місця я викликав контекстне меню, між двома лапками.

Конструктор задасть питання, чи потрібно нам в зазначеному місці створити текст запиту - погоджуємося.

Сам конструктор виглядає так:

Конструктор запроса

Давайте пройдемося коротко по закладках.

Таблицы и поля – тут ми вкажемо, які саме нам потрібні таблиці, звідки ми збираємося отримати дані. І поля це власне дані, наприклад найменування. Це основна закладка

Группировка – бувають такі ситуації, коли потрібно згрупувати кілька рядків з однаковими значеннями, в цьому випадку вам на цю закладку. Тут так само можна підсумувати деякі вирази.

Условия – на цій закладці можна задавати певні умови запитів.

Дополнительно – тут можна вказати параметри вибірки, наприклад, вибрати тільки один запис або тільки дозволені або зробити вибірку в віртуальну таблицю. Віртуальна таблиця це теж таблиця BAS, ось тільки її ніде не існує поза цим запиту. Цей інструмент буде нам корисний в складних запитах.

Объединения и псевдонимы. Об'єднання - за допомогою цього механізму ми можемо вказати на об'єднання деяких полів, якщо у них однакове значення. Цей механізм буде потрібен при вибірці з двох і більше таблиць, тобто в складному запиті. Псевдоніми - ви можете назвати відібрані поля, так як вам захочеться. Це корисно якщо у вас є джерело, куди потрібно завантажити вибірку з запиту з певними колонками. Цими псевдонімами можна задати відповідність колонок і полів. Так само псевдоніми можуть допомогти не заплутатися в обраних полях.

Порядок – на цій закладці можна встановити сортування даних, що виводяться. Ця закладка візуалізація методу «Сортувати ()» від таблиці значень.

Итоги – тут можна вказати, по якому полю зробити підсумки і що підсумовувати. Отриманий результат запиту, буде мати вигляд дерева. Підсумки теж можна віднести до складних запитів.

Построитель – цю закладку поки пропустимо, для неї буде окрема тема.

Пакет запросов – тут будуть розташовані пакети запитів, якщо їх декілька.

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

Конструктор запроса. Формирование текста

Простий запит до довідника номенклатура

Текст запроса

Запит можна змінювати, якщо повторно викликавши, конструктор, перебуваючи курсором на тексті запиту. Сам текст запиту можна редагувати по кнопці «Запрос» в лівому нижньому кутку конструктора запитів.

Що ж, давайте запустимо налагодження і подивимося на нашу таблицю, отриману в результаті Виконання і Вивантаження запиту.

Результат выгрузки запроса

В результаті отримуємо знайому вже нам таблицю значень з одного колонкою «Найменування». Якщо розкрити саму таблицю всередині неї знайома рядок таблиці значень зі значенням найменування однієї з номенклатур. Ось так просто працює запит в BAS.

Прості запити і умови в BAS

Давайте детально розберемо закладку «Умови» у конструктора запитів. Відкрийте її.

З минулого уроку ми вже знаємо, що ліва колонка це набір полів з обраної вами таблиці. Ці поля необов'язково відбирати в результат запиту, але умови до них все одно можна зробити.

Для чого потрібні умови? Для зменшення кількості даних, що виводяться в результаті запиту. Якщо ви робите запит до довідника номенклатура і хочете знайти одну єдину позицію з певною назвою або ознакою, то вам не потрібно вибирати весь довідник в результат запиту. Це буде велика помилка.

Давайте спробуємо на практиці. Візьмемо запит із завдання № 1 минулого уроку і додамо умову. Базова одиниця виміру, її код, дорівнює «2009» (перевірте наявність цього коду в режимі підприємства, якщо такого немає, вкажіть той, що є у вас). Таким чином, до вибірки запиту потраплять тільки ті позиції, у яких код дорівнює «2009».

Почнемо з конструктора запиту. Відкриваємо його як на попередньому уроці і переходимо на закладку умови:

Пример конструктора запросов

Розгорнемо таблицю Номенклатура, далі знайдемо поле «БазоваяЕденицаИзмерения», розгорнемо і її, знайдемо в ній уже поле «Код» і два рази кликнемо на ньому. У списку умов буде автоматично сформовано умова і його текст, як на картинці вище. Розберемо рядок з умовою. Колонка «Номер» просто відображає номер умови, цей номер ні на що не впливає. Колонка «Произвольный», якщо встановити тут галочку, то текст умови можна відредагувати вручну. Ще не будемо так робити. Колонка «Условие», власне текст умови. У мимовільної формі в цій колонці існує міні конструктор. Текст колонки розділений на кілька колонок, перша: це поле до якого буде йти умова. Друга: це вид порівняння і третя-це псевдонім умови. Ім'я користувача довільний, він чимось схожий на той псевдонім, який ми знаходили на закладці «Объединение/ Псевдоним». Збережемо запит.

У тексті запиту з'явиться блок з оператором «ГДЕ» цей оператор вказує на наявність умов в запиті. Але це ще не все. Для того щоб задати значення псевдоніма нашого умови, поза текстом запиту, будемо використовувати таку конструкцію:

Пример условия

Весь текст виглядає так:

Простий запит до довідника номенклатура з умовою

Листинг кода 1

Повернемося в конструктор запитів на закладку умови і розберемо значення колонки «Вид сравнения».

Колонка Вид сравнения

Оператори порівняння ми розбирали ще на уроках логічних умов, а от починаючи з виду умови «В» у нас відкриваються нові можливості порівнянь.

«В» - як можна логічно припустити позначає «в чомусь» в масиві, в списку значень.

«В Иерархии» - дуже схожий на вигляд порівняння «В», тільки відбирає значення групі і в підлеглих групах, наприклад, довідника номенклатури.

«Между» - в основному використовується для дат. Наприклад, вам потрібно відібрати документи за місяць, зробити це можна так: ‘20160701’ МЕЖДУ ‘20160801’.

«Подобно» - цей вид порівняння дозволяє порівняти строкове значення, наприклад найменування з шаблоном пошуку. Шаблон може містити один або кілька операторів:

  1. % (процент): послідовність, що містить будь-яку кількість довільних символів
  2. _ (подчеркивание): один довільний символ
  3. [...] (в квадратных скобках один или несколько символов): будь-який одиночний символ з перерахованих всередині квадратних дужок. У перерахуванні можуть задаватися діапазони, наприклад a-z, які означають довільний символ, що входить в діапазон, включаючи кінці діапазону
  4. [^...] (в квадратных скобках значок отрицания, за которым следует один или несколько символов): будь-який одиночний символ, крім тих, які перераховані слідом за значком заперечення

Наприклад, така конструкція "[Cc]тул%"поверне Стул, стул, стульчик, стул офисный і т.д.

Також, наша компанія проводить навчання за курсами:

Навчання проводиться у вечірній час, що дозволить вам не відриватися від роботи або навчання, практикуючим програмістом нашої компанії.

Якщо у вас залишилися питання, Ви завжди можете звернутися до наших аналітиків за телефонами:
(093) 090-70-20
(095) 090-70-20
(068) 090-70-20

( 18 )
Коментарі
Поки немає відгуків
Написати коментар

Зв'яжіться з нами

Якщо ви хочете отримати більше інформації, заповніть цю форму. Ми зв'яжемося з вами найближчим часом.

(095) 090-70-20 (068) 090-70-20 (093) 090-70-20 info@finsoft.ua