Учебные Курсы Ярослава Рябинина
|
|
Язык запросов 1С: |
|
Данный курс является продолжением начального курса по программированию, не стоит
начинать изучение 1С сразу с этого курса. Кстати, для выполнения заданий мы
используем конфигурацию, созданную на первом курсе. Методика чтения курса отличается в различных ситуациях: в Центрах Сертифицированного Обучения фирмы 1С я обязан её читать строго по методике ЦСО. На других площадках я предпочитаю придерживаться методики Хрусталёвой Елены Юрьевны. При индивидуальном обучении мы следуем по пути, наиболее оптимальному для конкретного слушателя. |
|
На курсе рассматриваются темы:Общая схема выполнения запросов в 1С
|
Записаться на курс можно по телефонам: ☎ +7 999 669 90 09; +7 908 290 11 19 или через портал "профи": |
Контрольные задания по курсу "Язык запросов": |
1. |
-
Получите запросом и посмотрите состав ВСЕХ полей справочников: Номенклатура,
Контрагенты. Сравните состав полей у иерархических и подчинённых справочников, а
также справочников без иерархии и подчинения, или без кода и наименования. - Получите запросом одно или несколько полей справочника Номенклатура. - Упорядочите результат запроса по полю Наименование. |
2. |
Напишите текст запроса, который позволит просмотреть состав полей и наполнение таблиц, определённых в конфигурации планов видов характеристик. |
3. |
Напишите текст запроса, который выведет перечень основных единиц измерения, используемых в записях справочника "Номенклатура". |
4. |
Опробуйте на практике возможности, предоставляемые конструкциями "Первые" и
"Различные". Попробуйте объяснить результат применения конструкции "Различные" (запрос по основным единицам измерения справочника номенклатуры должен выдавать два "пустых" значения). |
5. |
Напишите текст запроса, который при выполнении выдаст номенклатурные позиции справочника, у которых в поле основной единицы измерения находится значение Null. |
6. |
Напишите текст запроса, который при выполнении выдаст номенклатурные позиции справочника, наименование которых состоит из трёх слов. |
7. |
1) Напишите текст запроса, позволяющий посмотреть поля таблицы
документа "ПоступлениеТоваров". Найдите несоответствие с таблицей,
представленной в методике. |
8. |
Напишите текст запроса, выполнение которого привело бы к получению данных о суммовых оборотах по поставщикам (какой контрагент, на какую сумму поставил товара). |
9. |
Напишите текст запроса, который выдавал бы список покупателей и документов, где количество строк в табличной части было бы меньше 3. |
10. |
Необходимо написать текст запроса, выполнение которого привело бы к получению следующих данных: список фамилий, имён, отчеств сотрудников компании и данных об их родственниках. |
Конструкция Разрешенные позволяет исключить те строки таблиц баз данных, к которым нет доступа пользователя, запрос исключает из работы эти блоки |
11. |
Вывести перечень из пяти самых продаваемых (по количеству) товаров). |
12. |
Вывести контактные данные сотрудников компании (только сотрудников). |
13. |
Вывести поставщиков пяти самых дорогих (по ценам продажи) номенклатурных позиций. |
14. |
1) Вывести документы только за указанный период. Можно
использовать конструкцию "Между &НачПериода и
&КонПериода" или используя конструкцию ДатаВремя. |
15. |
1) Просмотреть наполнение регистров сведений "Валюты", "Цены
поставок". |
16. |
Получить наиболее актуальные цены номенклатуры по поставщикам (РегистрСведений "ЦеныПоставщиков"). |
17. |
1) Получить данные о курсах различных валют на выбранную
дату. |
18. |
1) Получить остаток выбранной номенклатуры на конкретную
дату. |
19. |
Вывести позиции номенклатуры, по которым ни разу не оформлялся ни один документ. Применить пакетный запрос по таблицам документов ПоступлениеТоваров, РеализацияТоваров. |
20. |
По таблице оборотов между счетами получите данные, необходимые для построения шахматного отчета. |
21. |
Получить данные, необходимые для расчета оклада и сам рассчитанный оклад (вычисляемое поле). |
22. |
|
23. |
1) Получить данные о том, какой поставщик какой товар
закупает. |
24. |
Откорректируйте в соответствии с новыми возможностями запрос в обработке проведения документа "РеализацияТоваров". |
25. |
Получите элементы справочника "Номенклатура" у которых не заполнена основная единица измерения. |
26. |
1) Получите предыдущий курс указанной валюты (предшествующий актуальному). 2) Получите предыдущие курсы всех валют (когда-либо внесенных в регистр сведений). 3) Получите данные о номенклатуре, текущему остатку этой номенклатуры, по которой эти остатки изменялись (соответствующая информация должна браться из планов обмена). 4) Дополнительно к данным, получаемым по пункту 4, в результате запроса должны присутствовать данные о документе сделавшем изменение остатки и величине изменения. 5) Напишите текст запроса, который выдавал бы список покупателей, покупавших не более двух позиций в каждом документе (во всех документах было не более 2х строк в табличной части). При этом нельзя (с точки зрения усложнения задачи) использовать конструкцию "Имеющие". |
Ответы на часто задаваемые вопросы: |
В запросе нельзя: |
- использовать строки неограниченной длины |
Можно ли в тексте одного запроса определить два раздела Где? |
Нет. Если надо задать несколько условий - то они указываются в одном разделе, и разделяются логическими операндами И, ИЛИ, НЕ. |
Можно ли при написании текста запроса не пользоваться псевдонимами таблиц? |
Можно, если нет неоднозначности определения полей. (Если среди выбираемых полей нет повторяющихся имён в разных таблицах). |
Если не использовать конструкцию Автоупорядочивание по какому полю происходит упорядочивание (если указан ссылочный тип)? (5-3638) |
Как написал Максим Радченко в книге "1С для начинающих" (стр. 621): "Что значит
отсортировать ссылку по возрастанию? Непонятно". "Поэтому в тех случаях, когда хотите отсортировать результат запроса по ссылочному полю, устанавливайте всегда флажок Автоупорядочивание. Тогда платформа отсортирует результат по тому полю, которое является основным представлением для этой ссылки. Автоупорядочивание - это такой дополнительный сервис, который позволяет вам не задумываться.". |
Все ли поля таблицы попадают в результат запроса, если вместо описания полей выборки указать символ *? |
Если вместо списка полей в запросе указать * - то запрос выберет все поля
которые есть в таблице, за исключением виртуальных полей исходных таблиц
(Руководство разработчика, гл.8, стр.515; Хрусталёва "ЯзыкЗапросов", стр.29). Виртуальные поля - как раз и отличают
реальную таблицу от физической. пример: ВЫБРАТЬ * ИЗ Справочник.Номенклатура |
В чем отличие между левым и правым внешними соединениями? |
Только в удобстве построения запроса - для написания и для чтения. Разница в
производительности бывает между внутренним и внешним соединением, но не между
внешними левым и правым. Хотя есть ничем не подтверждённое мнение, что левый запрос работает быстрее - обоснованное тем, что при повторном запуске конструктор правое соединение приводит к левому. |
Может ли у таблицы справочника отсутствовать поле Наименование? |
Состав полей любой таблицы зависит от настройки объекта конфигурации. Может. Если при создании справочника длина наименования справочника указана ноль. Набор полей таблицы справочника соответствует реквизитам (стандартным, и созданным). |
Как обратиться к предопределенному элементу, если ему в конфигураторе задано имя ПустаяСсылка? |
Никак. Поскольку "ПустаяСсылка" - это ключевое слово - то она при обращении и вернётся. Пустая ссылка, а вовсе не ссылка на неправильно названный предопределённый элемент. |
|
Вопросы теста: |
1. В объединяемых запросах: показать ответ на вопрос |
2. Как организовать отбор по типу значения Null показать ответ на вопрос |
3. Укажите некорректно выполненный запрос: показать ответ на вопрос |
4. В тексте запроса параметр определяется: показать ответ на вопрос |
5. При описании группировки в запросе все поля должны делиться: показать ответ на вопрос |
6. Укажите некорректно написанный запрос: показать ответ на вопрос |
7. Параметр в запрос (значение для условия и т.д.) . (5-3665) показать ответ на вопрос |
8. При объединении запросов раздел "Упорядочить По"... определяется показать ответ на вопрос |
9. Левое внешнее соединение означает, что в результат соединения войдут: показать ответ на вопрос |
10. Как определить несколько полей выборки в тексте запроса - показать ответ на вопрос |
11. Если вместо указания перечня полей выборки в тексте запроса прописать символ *, то в результат запроса войдут данные: из всех полей таблицы, за исключением виртуальных полей таблиц. |
12. Псевдонимы полей в языке описания запросов нельзя использовать при описании... показать ответ на вопрос |
13. Конструкция "Для изменения" (при использовании автоматического режима работы с транзакционными блокировками)... показать ответ на вопрос |
14. При установке флага "Для изменения" (в режиме автоматических транзакционных блокировок) на закладке "Дополнительно" конструктора запросов блокировка записей происходит: показать ответ на вопрос |
15. Самым первым сработает условие, определенное в параметре виртуальной таблицы. показать ответ на вопрос |
16. При сохранении текста запроса, открытого повторно с помощью конструктора запроса, без внесения в этот текст изменений: показать ответ на вопрос |
17. В конструкторе запросов на закладке "Таблицы и поля": показать ответ на вопрос |
18. На закладке "Таблицы и поля" конструктора запросов задают: показать ответ на вопрос |
19. Для создания в конструкторе запросов вложенного запроса необходимо: показать ответ на вопрос |
20. Можно ли, используя конструктор запроса, получить итоги по иерархии? показать ответ на вопрос |
21. Создание соединения таблиц-источников данных в конструкторе запросов допускает: показать ответ на вопрос |
22. При объединении двух запросов на закладке "Объединения/Псевдонимы" конструктора запросов условие связи между запросами: показать ответ на вопрос |
23. При работе с временными таблицами менеджер временных таблиц: показать ответ на вопрос |
24. Время жизни временной таблицы: показать ответ на вопрос |
25. При создании временной таблицы, после ключевого слова "Поместить" указывается имя временной таблицы. Это имя должно быть: показать ответ на вопрос |
26. При написании текста запроса в качестве источника данных можно использовать внешний источник (передаваемый как параметр): показать ответ на вопрос |
27. При использовании в качестве источника данных для запроса внешнего источника (данные которого передаются через параметр) в качестве такого источника может использоваться: показать ответ на вопрос |
если не получается открыть вопросы теста - то можно записаться ко мне на занятие по подготовке к экзамену. |
|
↑Старт | Учебники | Запросы |
|
© 2024. Учебный центр Ярослава Рябинина в Санкт-Петербурге. |