Реалізовано в версії 8.3.5.1068.
Ми доопрацювали конструктор запиту таким чином, що тепер він може працювати в керованому режимі в тонкому клієнті, товстому клієнті і веб-клієнта. Раніше конструктор запиту не був доступний в режимі керованого застосування.
Більшість дій в керованому режимі виконується так само, як і в «старому» конструкторі. Але є і цілий ряд доробок. наприклад:
- на деяких вкладках ми змінили спосіб редагування виразів (умови, сумарні поля, вирази для підсумкових полів);
- запит, що знищує тимчасову таблицю, редагується тепер на окремій вкладці;
- для зміни поточного запиту і оператора ми використовуємо випадають списки в нижній частині форми, а не перемикаємо вкладки, як раніше.
Але найбільші зміни відбулися у вкладка Зв'язки. Тепер формування зв'язків відбувається перетягуванням таблиць однієї на іншу.
Роботу конструктора запиту ми реалізували в немодальному режимі. Для цього ми додали йому новий метод Показати (). який відкриває немодального блокуючу вікно. А результат «конструювання» (текст запиту) платформа передає в процедуру, що викликається після закриття конструктора.
Об'єктна модель схеми запиту
Періодично у вбудованій мові виникає необхідність зміни тексту запиту в залежності від різних алгоритмічних умов. Раніше подібна задача вирішувалася шляхом безпосереднього формування потрібного тексту запиту у вигляді рядка. А це не завжди зручно і часто дуже громіздко.
Тепер у вбудованому мовою ми реалізували об'єктну модель схеми запиту. Ви можете створити порожню схему запиту конструктором і завантажити в неї наявний текст запиту. Після цього окремі елементи тексту запиту будуть доступні вам як властивості об'єктної моделі.
На малюнку нижче стрілки показують, в яких об'єктах вбудованої мови будуть доступні ті чи інші елементи простого запиту, завантаженого в схему:
Редагування тексту запиту за допомогою об'єктної моделі дозволяє вам простіше і зрозуміліше модифікувати наявні запити. Або навіть створювати їх у вбудованій мові «з нуля». А потім просто отримувати готовий текст запиту зі схеми методом ПолучітьТекстЗапроса ().