Пакетний запит 1с 8

Використання пакетних запитів

Призначення пакету запитів

Платформа дозволяє працювати з пакетами запитів. Отримуємо можливість виконати кілька запитів «за раз». У пакетному запиті тексти запитів поділяються символом «;» (крапка з комою).

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

Пакети запитів дозволяють досягти поетапного виконання запиту. Для цього в пакетному запиті спочатку відбувається створення тимчасових таблиць, далі - їх спільне використання (з'єднання, об'єднання, фільтри) для отримання підсумкового результату запиту. Також важливо відзначити, що використання тимчасових таблиць в пакетних запитах дозволяє поліпшити Новомосковскемость тексту запиту.

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

Існують методики оптимізації продуктивності запитів, засновані на заміні вкладених запитів на тимчасові таблиці.

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

Створення пакету запитів за допомогою конструктора

Окремі запити, що входять в пакет, відокремлюються в тексті символом «;» (крапка з комою). Щоб не розділяти текст запиту вручну, можна використовувати для цього конструктор запитів.
У конструкторі запитів є окрема закладка для пакетів запитів. Запити в пакет можна додавати за допомогою відповідної кнопки на командній панелі, а також пересувати вгору або вниз.

Візуальне відображення окремих запитів - закладки в правій частині конструктора, за допомогою яких можна перейти до редагування тексту окремого запиту. На цих закладках для тимчасових таблиць виводяться імена, для запитів на вибірку даних - «Запит пакета 2» і т.п. на знищення - «- ІмяВТ».

Пакетний запит 1с 8

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

Виконання запитів пакета

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

У тексті пакетного запиту можливе використання і знищення тимчасових таблиць, які існували в установленому менеджері тимчасових таблиць на момент запуску пакета на виконання.

Крім методу Виконати (). послідовно виконує всі запити пакета і повертає результат останнього запиту в пакеті, в платформі існує ще один метод - ВиполнітьПакет ().

Цей метод послідовно виконує всі запити і повертає масив результатів для кожного запиту з пакету в послідовності розташування запитів в тексті пакета.

Результатом виконання запиту на знищення тимчасової таблиці є значення Не визначено. яке також міститься в масив результатів.

PDF-версія статті для учасників групи ВКонтакте

5 Responses to "Використання пакетних запитів» - безкоштовні матеріали з курсу «Розробка та оптимізація запитів в 1С: Підприємство 8.2 і 8.3»