Запросы в 1С обеспечивают табличный способ доступа к данным. Язык запросов заточен под удобное чтение и преобразование больших массивов информации; изменять данные с его помощью нельзя. Язык запросов - это отдельный язык, не являющийся частью встроенного языка 1С:Предприятие; он достаточно сходен с SQL.
Запрос всегда начинается с ключевого слова ВЫБРАТЬ; собственно кроме него в запросе может и не быть других ключевых слов, если секция ВЫБРАТЬ полностью описывает источник и результат запроса, например:
Правильный ответ четвертый. Закладка Порядок для этого предназначена очевидно; поля тут можно двигать стрелками, либо включить Автоупорядочивание (по основному представлению объекта):
Запрос всегда начинается с ключевого слова ВЫБРАТЬ; собственно кроме него в запросе может и не быть других ключевых слов, если секция ВЫБРАТЬ полностью описывает источник и результат запроса, например:
ВЫБРАТЬ Справочник.Контрагенты.ИНН
На практике такая ситуация редка, тексты запросов сложные, и в запросах для этого описываются следующие секции:- группировка
- объединения разных таблиц-источников
- условия, ограничивающие выборку
- порядок представления результата
- расчет итогов по каким-либо полям
Запросы можно набирать просто вручную, но намного удобнее использовать специальный инструмент - конструктор запросов:
Рассмотрим далее вопросы экзамена по общим моментам табличной модели и запросов.
***
Вопрос 07.04 экзамена 1С:Профессионал по платформе. Для повышения скорости выполнения запроса необходимо:
- Задавать параметры большинства реальных таблиц
- Задавать параметры большинства виртуальных таблиц
- Вместо задания параметров у реальной или виртуальной таблицы использовать отбор, заданный конструкцией языка запросов "ГДЕ"
- Верны ответы 1 и 2
Верный ответ второй. Правильно параметризованный запрос работает с таблицей итогов регистра, а не с основной таблицей, такой способ доступа быстрее.
***
Вопрос 07.15 экзамена 1С:Профессионал по платформе. Можно ли, используя конструктор запроса, повлиять на порядок записей в результирующей таблице запроса?
- Нельзя
- Это можно сделать на закладке "Порядок"
- Это можно сделать на закладке "Объединения/Псевдонимы"
- Верны ответы 2 и 3
На закладке Объединения/Псевдонимы также можно регулировать порядок полей:
***
Вопрос 07.34 экзамена 1С:Профессионал по платформе. При описании группировки в тексте запроса:
- Все поля должны делиться на те, по которым производится группировка, и на агрегатные функции (рассчитываемые поля)
- Все поля должны делиться на те, по которым производится группировка, на агрегатные функции (рассчитываемые поля) и на поля вложенных таблиц
- Чем выше определяется группировка, тем выше должно определяться поле в запросе
- Перечисленные ограничения не действуют
Правильный ответ второй. Вложенные таблицы не попадают ни в группируемые, ни в агрегируемые поля.
***
Вопрос 07.35 экзамена 1С:Профессионал по платформе. Левое внешнее соединение означает, что в результат соединения войдут:
- Все данные из таблицы №2 и они будут дополнены данными из таблицы №1, для которых выполняется условие соединения
- Данные из обеих таблиц, для которых выполняется условие соединения, но поля, которые берутся из таблицы №1, будут идти первыми (слева)
- Все данные из таблицы №1 и они будут дополнены данными из таблицы №2, для которых выполняется условие соединения
Правильный ответ первый. Из левой таблицы будет выбрано все, из правой - только совпадающее по ключу с левой.
***
Вопрос 07.36 экзамена 1С:Профессионал по платформе. С помощью какой агрегатной функции можно узнать количество записей в результате запроса?
- КОЛИЧЕСТВО()
- КОЛИЧЕСТВО(*)
- КОЛИЧЕСТВО(Различные …)
- СУММА
Правильный ответ второй - функция КОЛИЧЕСТВО, и в ней нужно специфицировать, по каким полям считать количество (в примере по всем).
Вопрос 7.35 Выделен ответ № 3, а в пояснении "правильный ответ № 1". Так какой правильный?
ОтветитьУдалитьПравильный ответ третий, проверено на edu.1c.ru, пояснение подтверждает правильность третьего ответа
Удалитьвопрос 7.15. Верны ответы 2 и 3. Не согласен. На закладке "Объединения/Псевдонимы" можно менять порядок полей, а не порядок записей.
ОтветитьУдалитьПрисоединяюсь. Тоже непонятен это момент. Порядок полей и порядок записей это как-бы совершенно разные вещи. Я бы на тестировании ответил, что верный вариант 2, но теперь вот вопрос...
УдалитьВозможно, ответ 2 и 3, потому что на закладке Объединения можно менять порядок запросов, и это влечет за собой изменение порядка записей
Удалитьё-моё... а ведь точно! наколоть хотели каверзным вопросом
Удалитьварианты вопроса 7.04 немного изменились:
ОтветитьУдалить7.4 Для повышения скорости выполнения запроса с условием (в случае, когда
это не противоречит прикладной логике) необходимо:
1. Задать соответствующий параметр реальной таблицы
2. Задать соответствующий параметр виртуальной таблицы
3. Вместо задания параметров у реальной или виртуальной таблицы использовать отбор,
заданный конструкцией языка запросов "ГДЕ"
4. Вместо задания параметров у реальной или виртуальной таблицы использовать отбор,
заданный конструкцией языка запросов "ИМЕЮЩИЕ"
5. Верны ответы 1 и 2
ответ тот же - вариант 2, проверено в официальном тренажере 1с
Этот комментарий был удален автором.
ОтветитьУдалить