Можно ли сделать такое программно: отборы для регистров в отчёте СКД #808029


#0 by razbiralshik
Существуют определенные расчеты, которые делаются запросами. Расчетов очень много, запросов соответственно тоже. Грубо говоря 80% расчетов и запросов им соответствующих похожи вот чем: Блок запроса шапка состоящий из 4 пакетов у них всех одинаковый. у 40% блок тела состоит из выборки данных с различных регистров - это один пакет. У остальных 40% блок тела состоит также из выборки с различных регистров - это один пакет + выборка с других реигстров - это второй пакет, и потом они соеденяются - это тртий пакет. Потом идет блок подвала, где результат выборки тела соеденятсяе с результатом выборки с шапки. Так вот структура одинаковая, но отборы дял регистров тела разные. Планируется сделать так, чтобы дать юзверю самому для каждого регистра вводить отборы интерактивно. Потом запрос должен будет сам программно собраться в оидное целое с теми отборами что юзверь задал и отработаться. Такое реально реализовать через СКД? Я вот думал что можно задать для каждого регистр свой СКД, потом эти СКД должны будут както соеденится и потом они должны будут соеденится с шапкой и с подвалом. Но вот можно ли такое сделать программно? Например создать программно СКД, тело будет как схемы объеденные, потом через связи наборов данных это все опять же программно должно будет склеиться. Такое реально? Есть у кого пример?
#1 by asady
можно. можно тупо разные схемы сделать и собирать отчет из xml - типа загрузить настройки или получить схему
#2 by VladZ
Жуть какая. Три раза прочитал - ничего не понял. Давай то же самое, но в картинках.
#3 by rphosts
сферический расчет в вакууме делать только на абаке. Без хоть минимальной конкретики не взлетает
#4 by razbiralshik
Ну вот представьте 10000 Запров. Структура запросов: Шапка запроса + Тело запроса (отборы в ГДЕ и в Виртуальных параметрах) + Подвал запроса ("Шапка запроса" по определенным полям соеденяется левым соеденением с "Тело запроса") Так понятней?
#5 by 1dvd
шапку и подвал СКД сама рисует, отдельные запросы для этого не нужны
#6 by razbiralshik
врятли СКД читает мысли, там надо задавать что именно мне надо! я условно назвал запрос шапкой + Телом + подвалом, чтобы разделить логику
#7 by dmpl
Не надо пользователю лишние крутилки давать - 99% это только запутывает. Это не те шапка и подвал. Шапка - подготовительная часть (упрощенно - сбор общей справочной информации), подвал - соединение данных основного тела запроса со справочной информацией из шапки.
#8 by VladZ
ну и дальше что?
#9 by razbiralshik
дальше как я описал в даем юзверю право делать отборы на тело в интерфейсе и потом все собираем хз каким-то чудо образом через скд в коде... вы хотите помочь или просто спрашивайте чтобы сказать что это бред?
#10 by dmpl
Проще всего, наверно, собирать через набор данных - таблица. Но расшифровки придется самому писать.
#11 by VladZ
Пользователю нужно готовое решение. Он не должен "греть голову" на тему где и что брать. Все должно быть просто и понятно, чтобы даже "лопата с глазами" могла разобраться. А тут даже я не понимаю, что ты хочешь замутить.
#12 by FIXXXL
собирай таблицу и подсовывай ее как источник в СКД
#13 by razbiralshik
есть пример как это программно реализуется, особенно момент с связями наборов данных?
#14 by FIXXXL
связи наборов данных можешь замутить на закладке СКД соответствующей
#15 by VladZ
Так у него для разных отчетов будут разные связи (если я правильно понял). И тут нужно программная организация "связи".
#16 by FIXXXL
ну хз, я понял так, что просто три набора различны :)
#17 by razbiralshik
Это не отчеты буду, а программные СКД, и связи буду разные лишь в нескольких видах запросах, т.к. для 50% будет один тип связи, для других 50% другой тип связи.
#18 by FIXXXL
а занафига тебе тогда именно СКД?
#19 by razbiralshik
Тогда расскажи как можно в моем случае сделать, коли не СКД?
#20 by МимохожийОднако
При такой постановке ответ один - не взлетит
#21 by FIXXXL
дык программно хочешь - динамически строй текст запроса, хочешь программно обсчитывай без конкретной задачи трудно решать
#22 by FIXXXL
а хошь - регистры нарисуй грамотно, что бы одним запросом собирать :)
#23 by razbiralshik
это все не то еще раз конкретика: + + . что именно неконкретного то?
#24 by DrShad
а я бы сделал через вложенные схемы
#25 by stix2010
генеришь программно запрос, выкидываешь в ТЗ, ПриКомпоновкеРезультата выкидываешь ТЗ в СКД, с указанием схемы, если их необходимо не 1
#26 by VladZ
Ты описываешь порядок разработки. А что хочешь в итоге получить? Универсальную "фишку", которая позволит генерировать любые отчеты с любым набором регистров? Я правильно понял?
#27 by razbiralshik
в ТЗ нельзя, т.к. строк бывает до миллиона.
#28 by stix2010
зачем и кому нужен отчет на 1 млн строк?
#29 by razbiralshik
это будет справочник с кучей элементов, каждый элемент это свой запрос, реализованный через настройку отборов, специальный юзверь задал отборы по нужным ему регистрам, сохранил и нажал например кнопочку перегрузить расчет и пошла перегрузка расчета, а ночью все элементы будут отрабатываться регламентом, в итоге все расчеты будут сделаны. Единственный вариант реализации я вижу через программное СКД, программно инициализируем СКД и пишем программно же результаты расчетов в нужные регистры. ЭТО НЕ ОТЧЕТ!!!!!!!! И мне это не нужно, начальству нужно, думаю что реализовав такое у меня появится куча куч времени заниматься чем-то другим, хотя я думаю что у меня будет все время уходить на отладку этого механизма.
#30 by razbiralshik
а как ты будешь эти схемы соединять друг с другом?
#31 by DrShad
а как соединяются вложенные схемы? так и буду
#32 by dmpl
Есть еще ПостроительОтчета, ПостроительЗапроса.
#33 by dmpl
А может просто добавить нужные регистры?
#34 by razbiralshik
это не то поделись подробнее
#35 by VladZ
Не взлетит.
#36 by dmpl
Если приходится долго и упорно выбирать данные - может стоит завести регистры, где данные будут лежать в более удобном виде?
#37 by razbiralshik
там по сути они и лежат "В ТЕЛЕ" в удобном виде, какое хошь отборы такие и делай там
#38 by razbiralshik
откуда такая мысль?
#39 by VladZ
Из опыта.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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