Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Добавить флажок "Добавлять в запросы ведущего объекта" объекту метаданных регистра #298

Open
tormozit opened this issue Sep 28, 2024 · 0 comments
Labels

Comments

@tormozit
Copy link
Collaborator

tormozit commented Sep 28, 2024

https://partners.v8.1c.ru/forum/t/2204446/m/2204446
При активном использовании выноса хранения часто меняющихся атрибутов ссылочных объектов в регистры сведений - появляется множество регистров с единственным измерением соответствующего ссылочного типа и обычно периодическими. Например это может быть какая то часто пересчитываемая классификация объектов или курс валюты или какие то итоговые показатели по объекту. В таких случаях пользователи часто просят делать поля этих регистров доступными для выбора в большинстве мест, где такие объекты присутствуют в доступных полях компоновки (например в динамических списках и отчетах). Платформа в текущем виде не позволяет эффективно решать такие задачи, т.к. приходится явно прописывать вручную соединения с этими регистрами в большом числе запросов и схем компоновки. Но и даже это иногда не дает достаточной универсальности, т.к. требующее соединения поле может находиться где то в глубине дерева доступных полей компоновки, и для всех таких вариантов прописывать эти соединения становится слишком затратно.

Зато платформа позволяет решать достаточно универсально похожую более сложную задачу - добавлять динамические дочерние доступные поля ссылочному полю через механизм Характеристики . При этом она неявно добавляет в запросы компоновки соединения обычно с таблицами регистров и эти доступные поля появляются в списке дочерних полей ссылочного поля на любом уровне дерева доступных полей. Вот пример описания характеристик в конфигурации

изображение

Предлагаю добавить флажок "Добавлять в запросы ведущего объекта" регистровым объектам метаданных в случае если у них задано единственное измерение. При установке этого флажка к любому полю таблице в языке запросов любого запроса ссылочного типа, совпадающего с типом из измерения этого регистра, будет динамически добавляться необязательное соединение с таблицей этого регистра по этому измерению. Если регистр периодический, то при активном флажке "Разрешить итоги срез последних" флаг "Добавлять в запросы ведущего объекта" тоже должен быть доступен и приводить к соединению с виртуальной таблицей среза последних. При раскрытии дерева доступных полей у ссылочного поля с типов ведущего измерения регистра появляется дочерняя папка доступных полей, внутри которой находятся все поля этого регистра.

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

Пример.
Есть справочник "Контрагенты", периодический регистр сведений ABCКлассификацияПокупателей с единственным измерением "Контрагент" того же типа и включенной таблицей итогов среза последних. При включенном у регистра ABCКлассификацияПокупателей флажке "Добавлять в запросы ведущего объекта":

  1. В настройках компоновки данных при раскрытии доступного поля типа "Контрагенты" будет видна дочерняя папка доступных полей с заголовком из представления регистра ABCКлассификацияПокупателей с добавкой "СрезПоследних" и дочерними полями из полей этого регистра. При выборе такого дочернего поля компоновка сама добавит в запрос явное соединение с этим регистром аналогично тому, как делает механизм "Характеристики".
  2. В конструкторе запросов программист при раскрытии доступного поля типа "Контрагенты" будет видеть дочернюю папку доступных полей с заголовком из представления регистра ABCКлассификацияПокупателей с добавкой "Срез последних" и дочерними полями из полей этого регистра. При выборе такого дочернего поля в запрос должно добавляться явное соединение с этим регистром.

Иллюстрации (см. вложенные картинки) из ограниченной прикладной реализации этой идеи в инструменте "Подбор и обработка объектов ИР"

изображение

изображение

Запрос, полученный в результате наложения отбора на такое неявное дочернее поле:

ВЫБРАТЬ
	Т.Ссылка КАК Ссылка,
	ABCКлассификацияПокупателейТ.ABCКлассПокупателя КАК ABCКлассификацияПокупателей_ABCКлассПокупателя,
ИЗ
	Справочник.Контрагенты КАК Т
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ABCКлассификацияПокупателей.СрезПоследних(, ) КАК ABCКлассификацияПокупателейТ
		ПО Т.Ссылка = ABCКлассификацияПокупателейТ.Контрагент
ГДЕ
	ABCКлассификацияПокупателейТ.ABCКлассПокупателя = &П
@tormozit tormozit changed the title Добавить флажок "Добавлять в запросы ведущего объекта" объекту метаданных Добавить флажок "Добавлять в запросы ведущего объекта" объекту метаданных регистра Sep 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant