7. Табличная модель прикладного решения
#11

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

Создание соединения таблиц-источников данных в конструкторе запросов допускает:

Соединение необходимого количества таблиц-источников данных
Правильно: В конструкторе запросов можно добавлять несколько источников данных и настраивать связи между ними в зависимости от задачи. Количество соединяемых таблиц не ограничено двумя - можно строить цепочки и «звезды» из нескольких таблиц.
Соединение только двух таблиц-источников данных, причем флажок "Все" обязательно должен быть проставлен хотя бы у одной из таблиц
Неправильно: Ограничения «только две таблицы» нет - в запрос можно включать больше источников. Флажок «Все» не является обязательным: без него соединение будет обычным (внутренним), а «Все» используется, когда нужен вариант соединения с сохранением строк одной из таблиц (внешнее соединение).
Соединение только двух таблиц-источников данных
Неправильно: В одном запросе допускается использовать несколько таблиц-источников и задавать несколько правил соединения. На практике отчеты и обработки часто соединяют 3-5 и более источников (справочники, документы, регистры) для получения нужных аналитик.
Соединение необходимого количества таблиц-источников данных, причем флажок "Все" обязательно должен быть проставлен хотя бы у одной из таблиц
Неправильно: Таблиц действительно может быть сколько угодно, но обязательности флажка «Все» нет. Этот флажок нужен только для внешнего соединения (когда нужно показать строки одной таблицы даже при отсутствии соответствия в другой), а во многих запросах используется внутреннее соединение без «Все».

Пояснение

Расширенная подсказка: В конструкторе запросов 1С вы можете добавить несколько источников данных (таблиц) и настроить между ними связи. Это делается для того, чтобы объединить данные, которые хранятся в разных объектах (например, документ + справочник + регистр). Ключевые моменты: 1) Сколько таблиц можно соединить - В одном запросе можно соединять столько таблиц, сколько нужно для решения задачи: две, три, пять и больше. - При этом каждое конкретное правило соединения связывает пару таблиц по выбранным полям, но таких правил в запросе может быть несколько. 2) Зачем нужен флажок «Все» - Флажок «Все» используется для настройки внешнего соединения (аналог LEFT/RIGHT OUTER JOIN): он означает «показать все строки этой таблицы, даже если соответствий в другой таблице нет». - Если флажок «Все» не установлен ни у одной из таблиц в соединении, соединение фактически становится внутренним: в результат попадут только строки, у которых есть соответствия по условию соединения. - Поэтому «Все» включают только тогда, когда это действительно нужно по смыслу отчета. Практические примеры: - Пример внутреннего соединения (без «Все»): вывести продажи и подтянуть наименование номенклатуры. Если записи продажи нет - строка и не нужна, поэтому достаточно обычного соединения. - Пример внешнего соединения (с «Все»): вывести список всех товаров и их продажи за период. Чтобы показать товары, которые не продавались (с нулевыми продажами), нужно сохранить все строки из справочника товаров - для этого и пригодится флажок «Все» у таблицы товаров. Полезная рекомендация: - Не включайте «Все» «на всякий случай». Внешние соединения могут существенно изменить результат (появятся строки без соответствий) и иногда увеличивают объем данных. Всегда проверяйте, какой смысл должен иметь отчет: «только совпавшие строки» или «показать все из выбранной таблицы».