Меню

Скд использование временной таблицы



СКД использование временных таблиц в запросах

Создаём в конфигураторе новый отчет. Назовём его НовыйОтчет.

Открываем схему компоновки данных.

Изображение

Выбираем добавить набор данных — запрос.

Изображение

Открывается окно запросов в котором выбираем кнопку конструктора запросов.

Изображение

В конструкторе запросов выбираем нужный нам регистр сведений и поля из таблицы.

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

Изображение

На закладке дополнительно выбираем Тип запроса — Создание временной таблицы. Назовем её КлассАВС.

Можно при необходимости ставить выборки без повторяющихся либо разрешённые ( для ограничения видимости по ролям ) либо первые .

После того, как определили Не нажимаем на ОК , а переходим на закладку Пакет запросов

Изображение

Там нажимаем добавить и попадаем в окно выбора запроса. Изображение

Определяем новый запрос к другому объекту конфигурации и выбираем поля, которые нам необходимы

Изображение

А на закладке Дополнительно определяем имя второй временной таблицы. В нашем случае это будет ТаблицаХарактеристик

Изображение

Пекреходим на закладку Пакет запросов и добавляем ещё один запрос. В этом случе запрос выбираем из временных таблиц, которые назодятся внизу списка конфигурации. Отбираем так же нужные поля и переходим на закладку Связи

Изображение

На закладке связи определяем поля связи для внутреннего соединения таблиц

Изображение

Для выбора Левого соединения ставим галочки

Изображение

После этого переходим на закладку Пакет запросов и добавляем запрос, только сразу переходим на закладку Дополнительно, где выбираем Тип Запроса — Уничтожение временных таблиц и вводим имя таблицы а нашем случае КлассАВС

Изображение

Если сейчас перейти на закладку Пакет запросов, то обнаружим , что еть запрос -КлассАВС, который означаем уничтожение этой временной таблицы

Изображение

Нажимаем ок и смотрив на получившийся текст запроса

Источник

Временные таблицы в запросах 1С 8.3

  1. Временная таблица
  2. Менеджер временных таблиц
  3. Индексы временных таблиц
  4. Получить данные временной таблицы

Временная таблица

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

Создается временная таблица с помощью ключевого слова ПОМЕСТИТЬ:

В данном примере выборка из справочника Бренды будет помещена во временную таблицу ВТБренды, а уже потом данные будут выбраны из временной таблицы.

Читайте также:  10 лучших расширений Chrome для диспетчера загрузок 2019

При создании новой временной таблицы она не сохраняется в базе данных. В файловой базе временные таблицы хранятся в оперативной памяти, в MS SQL Server в специальной служебной базе TempDB.

Также временные таблицы можно использовать для оптимизации работы СУБД. Если вместо временной таблицы использовать вложенный запрос, то оптимизатор не будет знать сколько строк в этой таблице и не сможет оптимизировать план запроса. В случае использования временной таблицы количество строк будет известно, что позволит лучше оптимизировать план запроса.

Но у временных таблиц есть и свои минусы:

  • Во-первых на создание временной таблицы тратится время.
  • Во-вторых, они могут занимать много места на диске.

Менеджер временных таблиц

Менеджер временных таблиц позволяет управлять временными таблицами. Один менеджер временных таблиц может управлять несколькими временными таблицами, но имена временных таблиц в пределах одного менеджера не должны совпадать.

Создать менеджер временных таблиц можно с помощью конструктора:

Источник

Скд использование временной таблицы

Войдите как ученик, чтобы получить доступ к материалам школы

Система компоновки данных 1С 8.3 для начинающих: представление отчёта в виде таблицы

Автор уроков и преподаватель школы: Владимир Милькин

На всех прошлых уроках мы выводили данные в отчет в виде списка. Сегодня разберёмся со вторым типом отчета: «Таблица».

Ставим цель

  • Написать отчёт, который выводит информацию о заказе еды клиентами в виде таблицы.
  • В строках таблицы должна выводиться еда, в колонках — клиенты, а на пересечении количество данной еды заказанной данным клиентом.
  • Информацию будем брать из документов «ЗаказКлиента».

Создаём новый отчёт

Открываем базу «Гастроном» в конфигураторе и через меню «Файл»->»Новый. » создаём новый отчёт:

Вид документа — «Внешний отчет»:

В новой форме отчёта указываем имя «Урок8» и нажимаем кнопку «Открыть схему компоновки данных»:

Имя схемы компоновки данных оставляем по умолчанию:

Составляем запрос

Добавляем новый набор данных — запрос:

Выделяем новый набор данных и вызываем конструктор запроса:

Будем выбирать из табличных частей документа «ЗаказКлиента» следующие поля:

Получился следующий текст запроса:

Сначала пробуем список

Перейдём на закладку «Настройки» и нажмём волшебную палочку, чтобы вызвать конструктор:

Читайте также:  Таблица слепцова для проверки зрения

Вначале попробуем по старинке выбрать тип отчета «Список. «:

Укажем поля, которые будут отображаться в отчете:

Сохраним наш отчёт в конфигураторе и сформируем в режиме пользователя:

Получился привычный нам список с тремя колонками: Клиент, Еда и Количество.

Выводим в виде таблицы

Ах как замечательно было бы представить эти же самые данные в виде таблицы, в строках которой перечислена еда, в колонках — клиенты, а на пересечении количество данной еды, которое заказал данный клиент:

Сделать это действительно легко. Для этого вернёмся на закладку «Настройки» и вновь вызовем конструктор настроек через волшебную палочку:

На этот раз в качестве типа отчета выберем «Таблица..»:

Из полей, которые будут отображаться в отчёте уберём «Клиент» и «Еда», так как эти поля по нашей задумке уйдут в столбцы и строки соответственно:

Оставим только количество, которое будет отображаться на пересечении строк и столбцов:

Здесь нужно указать конструктору какие поля будут отображаться в строках, а какие в столбцах. Для нас очевидно (см. рисунок выше), что строки — это еда, а колонки — клиенты:

Получилось вот так:

Итоговая структура отчёта будет такой:

Сохраняем наш отчёт в конфигураторе и формируем в режиме пользователя:

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

А причина в том, что строки и столбцы у нас сгруппированы, а показатели нет! Поэтому и такой разлад.

Чтобы сгруппировать количество нужно подвести по нему итоги (вычислить ресурсы). Это мы уже делать умеем.

Забыли подвести итоги

Переходим на закладку «Ресурсы» и перетаскиваем поле «Количество» из левой колонки в правую:

Выражение «Сумма(Про. » оставляем без изменения:

Снова сохраняем отчет и формируем в режиме пользователя:

То, что надо! Мы хорошо поработали. А на следующем уроке — мы модифицируем этот отчёт (вернее его копию) и представим эти же данные в виде диаграммы.

Войдите на сайт как ученик

Авторизуйтесь, чтобы получить доступ ко всем материалам школы

Читайте также:  Зенит спартак турнирная таблица 2020

Для учеников

Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.

На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .

Войдите как ученик, чтобы получить доступ к материалам школы

Источник

Профессия — 1С

  • Конструктор запросов. Обзор
  • Соединение таблиц в конструкторе запросов 1С
  • Объединение таблиц в конструкторе запросов
  • Неоднозначное поле в конструкторе запросов
  • Временные таблицы в конструкторе запросов
  • Вложенные запросы в конструкторе
  • Замена таблиц в конструкторе запросов

Временные таблицы в конструкторе запросов

рубрики: Конструктор запросов | Дата: 4 августа, 2017

Рассмотрим создание временных таблиц при помощи конструктора запросов. Рассмотрим несколько ситуаций.

Как поместить результат запроса во временную таблицу

Создадим с помощью конструктора вот такой простейший запрос:

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

Но мы хотим поместить результат запроса во временную таблицу, которую назовем ВТ_Товары, то есть привести наш запрос вот к такому виду

Для этого нам необходимо перейти на закладку Дополнительно, установить тип запроса в положение Создание временной таблицы и заполнить поле с именем таблицы

Как прочитать временную таблицу из другого запроса

Очень часто при проектировании запросов большого объема возникает необходимость передавать временные таблицы из одного запроса в другой с использованием объекта МенеджерВременныхТаблиц. То есть вот такая ситуация:

Чтобы выбрать данные из временной таблицы, необходимо на закладке Таблицы и поля нажать на кнопку Создать описание временной таблицы и в открывшейся форме заполнить наименование таблицы и ее поля:

Как создать временную таблицу из параметра запроса

А теперь представим, что мы хотим выбрать данные во временную таблицу без использования менеджера временных таблиц — из внешнего источника данных, например, из таблицы значений. Такая ситуация уже рассматривалась ранее в статье о том как правильно поместить таблицу значений во временную. Применительно к текущей статье текст запроса выглядит вот так:

В этом случае нам надо сначала создать описание временной таблицы. А затем прописать ее имя на закладке Дополнительно.

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

Источник