Онлайн сервис «Найди свою улицу

Конструктор запросов схемы компоновки данных. Работа с конструктором запроса с выводом в табличный документ Конструктор запросов 1с 8.2 обучение

Конструктор запроса состоит из следующих закладок:

1. «Таблицы и поля» - на закладке три иерархических списка:
a. «База данных» - перечислены все доступные объекта, к которым можно сделать за-прос. Также кнопка «Отображать таблицы изменений» , с помощью которой можно получить доступ к таблицам изменений объектов ИБ, если они регистрируются для какого либо плана обмена.
b. «Таблицы» - список выбранных таблиц, к которым будет выполнен запрос. Также в этом окне можно удалить таблицу, переименовать или заменить таблицу, а также добавить внутренний запрос.

Для виртуальных таблиц можно назначать параметры, нажав на кнопку «Параметры виртуальных таблиц»:

Рекомендуется активно использовать параметры виртуальных таблиц для отборов по тем или иным измерениям, поскольку при этом увеличивается скорость выполнения запроса. В параметрах можно использовать внешние переменные, название которых предваряется знаком «&».
c. «Поля» - список полей, которые выбираются из таблиц. Также можно добавить вычисляемые поля, для этого при нажатии кнопки «Добавить» открывается конструктор произвольного выражения:

Слева окно с доступными в выражении полями. Справа подсказку используемых функций. Внизу конструируемое произвольное выражение. В выражениях можно использовать внешние параметры, для их обозначения используется знак «&», например: &Период, &ДатаНач
Нужно быть внимательным, если в окне будет набрано длинное и сложное выра-жение, в котором будет небольшая синтаксическая ошибка, то после нажатия кноп-ки «ОК» система выдаст предупреждение и закроет окно. Весь набранный код бу-дет потерян, поэтому рекомендую, если нет уверены в правильности выражения, то перед закрытием конструктора всегда сохраняйте содержимое в буфер обмена (Ctrl-C).

2. «Связи» - на закладке указываются связи между таблицами.


В таблице указываются связываемые таблицы, отношение между связываемыми таблицами и усло-вие связи. Если условие связи сложно, то можно указать некое вычисляемое выражение, при этом откроется конструктор произвольного поля.

3. «Группировка» - на закладке указываются, какие поля группируются, а какие агрегируются (суммируются).

4. Закладка «Условия» - перечисляются условия которые накладываются на запрос.
В условиях тоже можно писать сложные выражения с помощью конструктора простых выражения и ис-пользованием внешних переменных:

5. «Дополнительно»
Дополнительные параметры, накладываемые на запрос

6. «Объединения и псевдонимы»
На этой закладке можно назначать псевдонимы для полей, а также управлять запросами которые соединяется через конструкции «ОБЪЕДИНИТЬ» или «ОБЪЕДИНИТЬ ВСЕ»

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


Внимание! В низу закладки можно видеть галочку «Автоупорядочивание» - в текущей версии 1С 8.1 в СКД она бесполезна, более того при установленной галочке при записи СКД выдает ошибку, так что ею пользоваться не стоит.

8. «Компоновка данных»
Закладка, в которой определятся служебные поля для СКД. Играет примерно такую же роль, что и закладка «Построитель отчета» в обычном конструкторе отчетов.


a. На закладке «Таблицы» - перечислены таблицы, используемые в запросе, можно указать обязательность включения таблицы в запрос, галочкой «Обязательная». Т.е. если никакие поля в выборку не попадают, то данная таблица в запросе вообще не участвует. Также можно указать параметры для таблиц.

В процессе настройки СКД, мы задаем, какие либо отборы, то все значения отборов будут подставлены в параметры виртуальных таблиц, что снова нам поможет оптимизировать и ускорить запрос.
b. На закладке «Поля» - перечислены поля и их псевдонимы, которые будут добавляться в список полей СКД.
c. «Условия» - в случае указания отборов в настройках СКД, все значения отборов будут добавляться как дополнительные условия, в условия можно также добавлять сложные выражения.

9. «Характеристики»
Закладка, не имеющая аналога в обычном конструкторе выходной фор-мы.

Даная закладка обеспечивает расширение работы запросов с характеристиками. Таблица на закладке состоит из нескольких полей:
a. «Тип значения» - тип для которого будут выбираться характеристики. Например если указать «СправочникСсылка.Номенклатура», то в запросе будут выбираться все характеристики для номенклатуры.
b. «Источник» - источник для свойств видов характеристик, может быть запрос или таблица. В данном поле мы можем написать запрос выборки только тех свойств, которые нам нужны.
c. «Список характеристик» - поле в котором указывается источник для свойств характери-стик. Чаще всего это план видов характеристик или запрос. Также нужно указать поля, которые отвечают за «Идентификатор», «Имя» и «Тип» свойства.
d. «Источник» - следующее поле, в котором указываем источник значений характеристик, тоже может быть или таблица или запрос.
e. «Значение характеристик» - таблица или запрос, которые получает значения характери-стик. Например, таблицей значений характеристик может служить регистр сведений «ЗначенияСвойствОбъектов». Мы также должны указать те поля из таблицы (или запро-са), что отвечают за «Объект», «Свойство» и «Значение» характеристики.
После редактирования запроса, текст запроса можно видеть в окне под список полей. Ниже галочкой «Автозаполнение» мы можем регулировать заполнение дополнительных параметров для полей определенных в запросе. Следует обратить внимание, что состав полей определяется только в самом запросе.

Платформа предлагает разработчику собственно Конструктор запроса и Конструктор запроса с обработкой результата. В первом случае, конструктор позволяет чисто визуальными средствами определить выборку данных из таблиц системы:

Во втором случае с результатом выборки могут быть сделаны определенные манипуляции:

Конструктор запросов работает как в режиме Предприятие (как обработка Консоль запросов), так и в Конфигураторе. Использование в режиме Предприятие позволяет квалифицированным пользователям самостоятельно получать выборки данных, для которых нет типовых отчетов.

Из Конфигуратора, конструктор может быть вызван правой кнопкой прямо из текста модуля:

либо стоя в модуле, из главного меню Текст:

Вопрос 04.41 экзамена 1С:Профессионал по платформе. Использование конструктора запросов позволяет:
  1. Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса и получение результата выполнения запроса
  2. Верны ответы 1 и 3
  3. Все вышеперечисленное
Правильный ответ четвертый - программный код обычный конструктор не создает, его создает Конструктор запроса с обработкой результата.

Вопрос 04.42 экзамена 1С:Профессионал по платформе. Использование конструктора запроса с обработкой результата позволяет:

  1. Сформировать текст нового запроса
  2. Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса, получение и обработку результата выполнения запроса
  3. Отредактировать текст имеющегося запроса
  4. Все вышеперечисленное
  5. Верны ответы 1 и 3
Правильный ответ четвертый, см. выше.
Вопрос 04.43 экзамена 1С:Профессионал по платформе. При сохранении текста запроса, открытого повторно с помощью конструктора запроса, без внесения в этот текст изменений:
  1. Весь первоначальный текст остается без изменений
  2. Из первоначального текста будут удалены только комментарии
  3. В первоначальном тексте комментарии останутся, а будут удалены только конструкции языка запросов построителя отчетов
  4. Из первоначального текста будут удалены и комментарии, и конструкции языка запросов построителя отчетов
Правильный ответ второй. Добавим в текст запроса комментарий вручную:

Откроем данный запрос через Конструктор и закроем конструктор по Ок. Комментарий затрется:

Вопрос 04.44 экзамена 1С:Профессионал по платформе. Конструктор запросов может быть вызван:
  1. С помощью пункта главного меню "Текст - Конструктор запроса…"
  2. С помощью кнопки "Конструкторы - Конструктор запросов" на закладке "Макеты" из окна редактирования объекта
  3. С помощью пункта всплывающего контекстного меню "Конструктор запроса…", появляющегося при нажатии в тексте модуля правой клавиши мыши
  4. Верно все вышеперечисленное
  5. Верны ответы 1 и 3
Правильный ответ пятый, на закладке Макеты конструктора запроса нет, только :
Вопрос 04.45 экзамена 1С:Профессионал по платформе. Кем может использоваться конструктор запросов?
  1. Разработчиками, так как необходимо знание языка запросов
  2. Квалифицированными пользователями без использования конфигуратора
  3. Верно все вышеперечисленное
  4. Нет верного ответа
Правильный ответ третий.

Вопрос 04.46 экзамена 1С:Профессионал по платформе. На закладке "Таблицы и поля" конструктора запросов задают:

  1. Источники данных запросов, в качестве которых могут выступать реальные и виртуальные таблицы
  2. Набор полей из таблиц - источников данных запроса
  3. Поля в виде произвольного выражения
  4. Верны ответы 1 и 2
  5. Верно все вышеперечисленное
Правильный ответ пятый - можно задавать таблицы реальные, виртуальные (типа Среза последних), и произвольно вычисляемые поля:
Вопрос 04.47 экзамена 1С:Профессионал по платформе. Для создания в конструкторе запросов вложенного запроса необходимо:
  1. Открыть закладку "Таблицы и поля". В командной панели над деревом "База данных" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  2. Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  3. Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  4. В конструкторе запросов создать вложенный запрос нельзя
Правильный ответ второй. Добавляем запрос:

Результат:

Вопрос 04.48 экзамена 1С:Профессионал по платформе. Для создания в конструкторе запросов вычисляемого поля необходимо:
  1. Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Изменить текущий элемент". В открывшемся окне добавить новое поле
  2. Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  3. Открыть закладку "Объединения/Псевдонимы". В командной панели над списком полей нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  4. Создать вычисляемое поле, можно только изменив текст запроса "вручную"
Правильный ответ второй:
Вопрос 04.49 экзамена 1С:Профессионал по платформе. Для создания в запросе строк, сгруппированных с помощью агрегатных функций, на закладке "Группировка" конструктора запросов обязательно должны быть заполнены:
  1. Только список групповых полей. Указание суммируемых полей не обязательно
  2. Только список суммируемых полей, при этом остальные поля автоматически попадут в секцию СГРУППИРОВАТЬ ПО в тексте запроса
  3. Обязательным является указание как групповых, так и суммируемых полей
Правильный ответ второй. Укажем в конструкторе одно суммироемое поле:

По остальным полям будет произведена группировка в тексте запроса:

Вопрос 04.50 экзамена 1С:Профессионал по платформе. В конструкторе запросов условия на значения агрегатных функций можно накладывать:
  1. На закладке "Группировка", в списке суммируемых полей при выборе агрегатной функции
  2. На закладке "Условия"
  3. На закладке "Итоги", в списке итоговых полей при выборе агрегатной функции
  4. В конструкторе запросов задать условия на значения агрегатных функций нельзя
Правильный ответ второй - на закладке Условия можно прописать функцию языка запросов Имеющие, которая и сделает отбор по агрегатам:

Рассмотрим как можно соединить эти две таблицы по полю КодТовара с использованием
конструктора запросов (код по формированию временных таблиц для примера приводить
не буду. Его можно взять по вышеуказанной ссылке).

Открываем окно конструктора, встаем на закладку «Таблицы и поля» , в раздел
«Таблицы» выбираем обе наши таблицы, а в раздел «Поля» -
те поля из обоих таблиц, которые мы хотим видеть в результате выполнения запроса.

Переходим на закладку «Связи» . Добавляем новую строку. В поле Таблица1
из выпадающего списка выбираем таблицу с товарами, а в поле Таблица2 Таблицу
со странами.

Для Таблицы1 устанавливаем флажок Все . Для
Tаблицы2 этот флажок не ставим. Это означает, что из Таблицы1
будут выбраны все записи, а из Таблицы2 только те для которых выполняется
условие соединения, то есть при такой комбинации флажков мы получаем
ЛЕВОЕ СОЕДИНЕНИЕ . Далее необходимо заполнить Условие связи .
Здесь мы выбираем поля таблиц из выпадающих списков и знак сравнения также из выпадающего
списка.

В результате такого соединения получим следующий текст запроса:

ВЫБРАТЬ ВТ_Товар.КодТовара, ВТ_Товар.Наименование, ВТ_Страна.Страна ИЗ ВТ_Товар КАК ВТ_Товар ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Страна КАК ВТ_Страна ПО ВТ_Товар.КодТовара = ВТ_Страна.КодТовара

Теперь рассмотрим подробнее некоторые моменты.
Давайте попробуем поменять местами флажок Все .


Казалось бы в итоге должно получиться ПРАВОЕ СОЕДИНЕНИЕ , но если мы
посмотрим на текст запроса, сформированный конструктором, то увидим, что таблицы
поменялись местами, а соединение все равно осталось левым:

ВЫБРАТЬ ВТ_Товар.КодТовара, ВТ_Товар.Наименование, ВТ_Страна.Страна ИЗ ВТ_Страна КАК ВТ_Страна ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Товар КАК ВТ_Товар ПО ВТ_Товар.КодТовара = ВТ_Страна.КодТовара

Посмотрим, что будет, если снимем оба флажка

В итоге получаем внутреннее соединение.

ВЫБРАТЬ ВТ_Товар.КодТовара, ВТ_Товар.Наименование, ВТ_Страна.Страна ИЗ ВТ_Товар КАК ВТ_Товар ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Страна КАК ВТ_Страна ПО ВТ_Товар.КодТовара = ВТ_Страна.КодТовара

И наконец, если установлены оба флажка


получаем полное соединение

ВЫБРАТЬ ВТ_Товар.КодТовара, ВТ_Товар.Наименование, ВТ_Страна.Страна ИЗ ВТ_Товар КАК ВТ_Товар ПОЛНОЕ СОЕДИНЕНИЕ ВТ_Страна КАК ВТ_Страна ПО ВТ_Товар.КодТовара = ВТ_Страна.КодТовара

Можно задавать несколько строк на закладке Связи . В этом случае несколько
строк соединяются по условию И . Причем строки не обязательно
каждый раз вбивать заново. Их можно копировать с использованием клавиши F9 .
А в новой строке менять только условие соединения. Это существенно ускоряет разработку.
Также в условии связи необязательно использовать только предопределенные поля из
выпадающих списков. Можно использовать произвольное выражение, удовлентворяющее
языку запросов 1С. Для этого необходимо установить флажок Произвольное
и вписать условие непосредственно в поле, либо открыть вспомогательное окно, в
котором можно воспользоваться шаблонами с функциями языка запросов.


Конечно на практике встречаются гораздо более сложные запросы, где соединяются
несколько таблиц с разнообразными связями между собой. Но в конструкторе запросов
можно воспроизвести соединения любой сложности.

Платформа предлагает разработчику собственно Конструктор запроса и Конструктор запроса с обработкой результата. В первом случае, конструктор позволяет чисто визуальными средствами определить выборку данных из таблиц системы:

Во втором случае с результатом выборки могут быть сделаны определенные манипуляции:

Конструктор запросов работает как в режиме Предприятие (как обработка Консоль запросов), так и в Конфигураторе. Использование в режиме Предприятие позволяет квалифицированным пользователям самостоятельно получать выборки данных, для которых нет типовых отчетов.

Из Конфигуратора, конструктор может быть вызван правой кнопкой прямо из текста модуля:

либо стоя в модуле, из главного меню Текст:

Вопрос 04.41 экзамена 1С:Профессионал по платформе. Использование конструктора запросов позволяет:
  1. Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса и получение результата выполнения запроса
  2. Верны ответы 1 и 3
  3. Все вышеперечисленное
Правильный ответ четвертый - программный код обычный конструктор не создает, его создает Конструктор запроса с обработкой результата.

Вопрос 04.42 экзамена 1С:Профессионал по платформе. Использование конструктора запроса с обработкой результата позволяет:

  1. Сформировать текст нового запроса
  2. Сформировать программный код, содержащий создание объекта встроенного языка Запрос, текста запроса, получение и обработку результата выполнения запроса
  3. Отредактировать текст имеющегося запроса
  4. Все вышеперечисленное
  5. Верны ответы 1 и 3
Правильный ответ четвертый, см. выше.
Вопрос 04.43 экзамена 1С:Профессионал по платформе. При сохранении текста запроса, открытого повторно с помощью конструктора запроса, без внесения в этот текст изменений:
  1. Весь первоначальный текст остается без изменений
  2. Из первоначального текста будут удалены только комментарии
  3. В первоначальном тексте комментарии останутся, а будут удалены только конструкции языка запросов построителя отчетов
  4. Из первоначального текста будут удалены и комментарии, и конструкции языка запросов построителя отчетов
Правильный ответ второй. Добавим в текст запроса комментарий вручную:

Откроем данный запрос через Конструктор и закроем конструктор по Ок. Комментарий затрется:

Вопрос 04.44 экзамена 1С:Профессионал по платформе. Конструктор запросов может быть вызван:
  1. С помощью пункта главного меню "Текст - Конструктор запроса…"
  2. С помощью кнопки "Конструкторы - Конструктор запросов" на закладке "Макеты" из окна редактирования объекта
  3. С помощью пункта всплывающего контекстного меню "Конструктор запроса…", появляющегося при нажатии в тексте модуля правой клавиши мыши
  4. Верно все вышеперечисленное
  5. Верны ответы 1 и 3
Правильный ответ пятый, на закладке Макеты конструктора запроса нет, только конструктор печати :
Вопрос 04.45 экзамена 1С:Профессионал по платформе. Кем может использоваться конструктор запросов?
  1. Разработчиками, так как необходимо знание языка запросов
  2. Квалифицированными пользователями без использования конфигуратора
  3. Верно все вышеперечисленное
  4. Нет верного ответа
Правильный ответ третий.

Вопрос 04.46 экзамена 1С:Профессионал по платформе. На закладке "Таблицы и поля" конструктора запросов задают:

  1. Источники данных запросов, в качестве которых могут выступать реальные и виртуальные таблицы
  2. Набор полей из таблиц - источников данных запроса
  3. Поля в виде произвольного выражения
  4. Верны ответы 1 и 2
  5. Верно все вышеперечисленное
Правильный ответ пятый - можно задавать таблицы реальные, виртуальные (типа Среза последних), и произвольно вычисляемые поля:
Вопрос 04.47 экзамена 1С:Профессионал по платформе. Для создания в конструкторе запросов вложенного запроса необходимо:
  1. Открыть закладку "Таблицы и поля". В командной панели над деревом "База данных" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  2. Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  3. Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  4. В конструкторе запросов создать вложенный запрос нельзя
Правильный ответ второй. Добавляем запрос:

Результат:

Вопрос 04.48 экзамена 1С:Профессионал по платформе. Для создания в конструкторе запросов вычисляемого поля необходимо:
  1. Открыть закладку "Таблицы и поля". В командной панели над деревом "Таблицы" нажать кнопку "Изменить текущий элемент". В открывшемся окне добавить новое поле
  2. Открыть закладку "Таблицы и поля". В командной панели над деревом "Поля" нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  3. Открыть закладку "Объединения/Псевдонимы". В командной панели над списком полей нажать кнопку "Добавить" или выбрать одноименный пункт контекстного меню
  4. Создать вычисляемое поле, можно только изменив текст запроса "вручную"
Правильный ответ второй:
Вопрос 04.49 экзамена 1С:Профессионал по платформе. Для создания в запросе строк, сгруппированных с помощью агрегатных функций, на закладке "Группировка" конструктора запросов обязательно должны быть заполнены:
  1. Только список групповых полей. Указание суммируемых полей не обязательно
  2. Только список суммируемых полей, при этом остальные поля автоматически попадут в секцию СГРУППИРОВАТЬ ПО в тексте запроса
  3. Обязательным является указание как групповых, так и суммируемых полей
Правильный ответ второй. Укажем в конструкторе одно суммироемое поле:

По остальным полям будет произведена группировка в тексте запроса:

Вопрос 04.50 экзамена 1С:Профессионал по платформе. В конструкторе запросов условия на значения агрегатных функций можно накладывать:
  1. На закладке "Группировка", в списке суммируемых полей при выборе агрегатной функции
  2. На закладке "Условия"
  3. На закладке "Итоги", в списке итоговых полей при выборе агрегатной функции
  4. В конструкторе запросов задать условия на значения агрегатных функций нельзя
Правильный ответ второй - на закладке Условия можно прописать функцию языка запросов Имеющие, которая и сделает отбор по агрегатам:

Консолью запросов очень удобно пользоваться, когда необходимо отладить какой-либо сложный , либо оперативно получить выборку определенных данных.

В интернете вы можете найти много различных консолей. Для обычных и управляемых форм обычно это совершенно разные консоли. По данной вы можете скачать универсальную консоль запросов 1С 8.3 и 8.2, которая будет работать в обоих случаях. Только учтите, что консоль на управляемом интерфейсе у вас откроется только в толстом клиенте.

Работа с консолью запросов

В программе 1С консоль запросов открывается точно так же, как и любая внешняя обработка: меню «Файл» — «Открыть», либо при помощи комбинации горячих клавиш «Ctrl + O». При частом использовании ее можно добавить во внешние обработки самой информационной базы.

В левой части консоли запроса представлен сам список ваших запросов. Это позволяет вам хранить не один запрос, а сразу несколько. Дерево запросов имеет иерархическую структуру, что очень удобно для их группировки.

Нажав на кнопку «Добавить» вы можете добавить новый запрос, самостоятельно задав ему имя. Так же встроенный функционал позволяет создавать запросы с копированием, перемещать вверх или вниз по списку и многое другое.

Сам текст запроса отображается в правой части формы обработки. Его можно написать вручную, либо при помощи конструктора запросов. Конструктор запросов работает только в толстом клиенте.

Правее кнопки конструктора находится кнопка «Вставить операторы запроса». Она сразу добавит пустую конструкцию запроса с условием, группировкой, порядком и итогами.

Правее расположены очень полезные кнопки, которые помогут, если данный запрос вы используете при разработке решений на 1С.

Кнопка позволяет преобразовать написанный вами запрос в текст. В нашем случае это будет выглядеть так, как показано на рисунке ниже.

Сами запросы вы можете сохранять в файл либо подгружать из него. Это очень удобно для возможности дальнейшего использования.

Перед непосредственным выполнением запроса необходимо установить его входные параметры (при их наличии), далее нажать на кнопку «Выполнить запрос». Так же здесь есть возможность выполнять запросы не целиком, а отдельно какой-либо пакет.

Режим просмотра определяет то, как будет выведен результат запроса: списком, иерархическим списком, либо деревом.

Результат выполнения будет отображен в самом низу консоли запроса. Так же там отображается количество полученных строк и время выполнения. При необходимости вы можете перемещать строки результата запроса.

Очень часто пользователи просят сделать выборку каких-либо данных и сохранить их в Excel. Это может понадобиться и вам. Для выполнения задачи вам всего-навсего достаточно в меню «Еще» выбрать пункт «Вывести список». Программа предложит отметить необходимые колонки.

Кроме задания перечня колонок для вывода тут так же можно и указать конкретные строки. Это реализуется путем выделения строк в самом запросе. Далее в форме выбора колонок достаточно установить флаг в настройке «Только выделенные».

В нашем примере мы вывели все данные результата запроса. Сохранить их во внешний файл, можно скопировав из открывшегося табличного документа, либо при помощи комбинации горячих клавиш «Ctrl+O». Вариантов форматов для сохранения много, мы выбрали «*. xlsx».

Как видите, работа в консоли запросов очень удобна и полезна, поэтому настоятельно рекомендуем ее скачать и применять на практике.