Доброго дня, коллеги!
Хороший специалист 1С должен обязательно видеть за объектами метаданных некую реляционную структуру БД. Это облегчает понимание работы многих механизмов платформы 1С.
Поэтому публикуем ответ на вопрос от слушателя курса Разработка и оптимизация запросов в 1С:Предприятие 8.3.
Вопрос
Ответ
Добрый день!
Да, _AccumRgTnX – это физическая таблица, которая на самом деле хранится в базе данных. В ней хранятся итоги – обороты ресурсов в разрезе измерений с периодичностью месяц. Но обратиться непосредственно к этой таблице из программного кода или из языка запросов невозможно. Для получения данных из базы в запросах используются виртуальные таблицы, которые “скрывают” от разработчика, как именно данные будут получены из базы, разработчику не нужно думать про физическое хранение данных в базе.
Например, нужно получить данные из оборотного регистра с 15.01.2020 по 10.03.2020. При этом платформа получит из таблицы итогов обороты за февраль 2020 года, затем из таблицы движений выберет данные с 15.01.2020 по 31.01.2020, а также с 01.03.2020 по 10.03.2020, объединит полученные данные.
Разработчику про эти особенности устройства регистра не нужно помнить, он просто указывает в параметрах виртуальной таблицы, за какой период нужно получить обороты регистра, а платформа сама формирует необходимый текст запроса к СУБД. Кроме этого регистр накопления может быть остаточным. В таком случае физически в базе у него в принципе нет итоговой таблицы оборотов, но в запросе можно обратиться к виртуальной таблице Обороты так же, как и для оборотного регистра. При этом платформа преобразует такой запрос в SQL-запрос к СУБД, данные будут получены из базы.
P.S.
Понимать, как работают запросы и уметь их строить - обязательный навык для всех, кто дорабатывает и внедряет 1С.
После курса Вы сможете:
- Строить сложные запросы с несколькими источниками данных
- Уверенно задействовать вложенные запросы и временные таблицы
- Использовать встроенный язык для обработки результатов запроса
- Учитывать особенности соединений и объединений нескольких таблиц.
- Разрабатывать запросы на уровне задач Аттестации 1С:Специалист по платформе.