СКД и различные произвольные периоды в кросс-таблице #799138


#0 by SiAl-chel
Доброго дня, коллеги. Вопросы есть к тем, кто хорошо знает СКД, либо сталкивался с похожей задачей. Задача такова: 1. Есть отчет на СКД с какими-то суммовыми показатели, есть какие-то группировки. 2. Есть таблица значений "периоды" с началом и окончанием периодов, которую пользователь заполняет произвольно. 3. Нужно сделать так, чтобы эти строки из ТЗ "Периоды" стали доступны как поля в СКД, чтобы  по ним можно было выводить колонки с суммовыми показателями. Какие могут быть решения? Я пока вижу только два: 1. Программно менять текст запроса, используя ПОЛНОЕ СОЕДИНЕНИЕ для каждого периода. 2. Выгрузить таблицу периодов во временную таблицу, и потом ее уже соединять с таблицами существующим запросом, чтобы можно было сделать группировки по произвольным периодам. Что делать, чтобы работало быстрее и меньше было бы кода?
#1 by PiotrLoginov
мало исходных данных. склоняюсь к 2. И еще: зачастую приходится выбирать между "чтобы работало быстрее" и "меньше было бы кода"
#2 by SiAl-chel
Проще говоря это обороты по продаже за период. Нужен сравнительный анализ за произвольное количество произвольных периодов, список которых пользователь сам создает и редактирует. Могут быть как стандартные периоды типа Месяц, Неделя, так и произвольные - два или девять дней.
#3 by d4rkmesa
Какой-нибудь справочник с настройкой периодов, аналогичный к примеру, справочнику "Настройка интервалов [просроченной задолженности]" в УПП. Либо программно заполнять группировку по интервалам. Можно использовать 2 схемы компоновки, одна - "пустышка" для пользователя с источником данных из ТЗ, где он сможет задавать отборы и параметры, и вторая с запросом по оборотным данным(с группировкой по какому-нибудь стандартному минимальному интервалу, к примеру, по дням), который выводится в ТЗ и приводится к нужному виду(к примеру, добавляются колонки с датой и представлением периодов, по которым сможем группировать). Отборы и периоды, конечно же, не забываем заполнять программно из первой схемы.
#4 by mistеr
Я за решение 2. СКД соединять по вхождению в период не умеет (позор!), поэтому только в запросе. Программно формировать запрос  - однозначно больше кода. А производительность ИМХО будет одинаковая.
#5 by SiAl-chel
Плохо знаю СКД. Для данного решения надо два макета схемы КД и потом в модуле обработки переназначить отборы и периоды? А зачем вторая схема КД, если все это можно наложить на первую?
#6 by d4rkmesa
Вторая схема для заполнения отборов, параметров и вывода в нужном виде, к примеру, в виде кросс-таблицы. Хотя, может можно воспользоваться одной, программно переназначая источники и группировки, однако мне кажется это сложнее.
#7 by Defender aka LINN
2 набора данных. Первый - набор данных-объект, в котором даты начала и окончания, и поле группировки (представление периода, например). Второй набор - запрос. И настроить соединение наборов примерно как тут:
#8 by SiAl-chel
Спасибо. Еще вчера сделал.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С