Следует иметь в виду, что если в конструкции ПЕРИОДАМИ() не указать даты отчетного периода, в пределах которых должно происходить дополнение отчета периодами, то будет выполнено дополнение пустых периодов только внутри результата отчета (если пустые периоды там присутствуют).
Затем обратите внимание, что выборка ВыборкаПериод получается из результата запроса методом Выбрать() с типом обхода ПоГруппировкам, списком группировок для обхода "Период" (второй параметр метода) и списком значений группировок для обхода "ВСЕ" (третий параметр метода). Если при получении выборки третий параметр опустить, то в нее не попадут дополненные периоды, то есть те периоды, за которые не было продаж.
Чтобы получить доступ к этим данным, используется объект встроенного языка МенеджерВременныхТаблиц, предназначенный для хранения данных временных таблиц. Для этого следует создать программный объект МенеджерВременныхТаблиц, затем создать объект Запрос и связать его с созданным менеджером временных таблиц через свойство запроса МенеджерВременныхТаблиц
Вспомним, что временная таблица не существует в базе данных, это просто некоторая область в памяти компьютера, которая создается и заполняется данными на ограниченное время.
Также использование временных таблиц вместо вложенных запросов почти всегда делает запрос более оптимальным. С точки зрения эффективности исполнения запросов крайне не рекомендуется использовать соединения с вложенными запросами, так как в этом случае СУБД может выбрать неоптимальный план запроса, что на больших объемах данных приводит к временным задержкам и другим неприятностям при выполнении таких запросов.
В общем случае при объединении в запросе результатов нескольких запросов следует использовать конструкцию ОБЪЕДИНИТЬ ВСЕ, а не ОБЪЕДИНИТЬ, поскольку во втором варианте при объединении запросов полностью одинаковые строки заменяются одной, на что затрачивается дополнительное время – даже в случаях, когда одинаковых строк в запросах заведомо быть не может.
Возможность обращения к полям через точку позволяет значительно упростить написание запросов. Рекомендуется всегда пользоваться разыменованием полей там, где это возможно, чтобы не усложнять запросы лишними конструкциями. Конечно, количество ссылочных полей, перечисленных в цепочке разыменования, должно быть ограничено разумными пределами, чтобы не снижать эффективность исполнения запроса.