|
СКД: как получить данные из "стандартной" расшифровки? | ☑ | ||
---|---|---|---|---|
0
mikecool
24.03.15
✎
11:02
|
В отчет выводится список ресурсов вида:
Описание 1 ресурса Значение Описание 2 ресурса Значение ... Описание N ресурса Значение При выборе поля расшифровки стандартно выходит отчет вида: Клиент 1 Знач 1 ресурса Знач 2 ресурса .... Знач N ресурса .... Клиент N Знач 1 ресурса Знач 2 ресурса .... Знач N ресурса мне хотелось бы перехватить этот вывод, получить список Клиентов с отбором по ресурсу, по которому идет расшифровка и вывести другой отчет Можно ли это сделать и если да, то как? |
|||
1
mikecool
24.03.15
✎
11:03
|
то бишь - нужен набор данных расшифровки, чтобы им воспользоваться для формирования своего отчета
|
|||
2
cons74
24.03.15
✎
11:08
|
можно
|
|||
3
mikecool
24.03.15
✎
11:13
|
(2) замечательно
как? |
|||
4
mikecool
24.03.15
✎
11:14
|
в данных расшифровки Элементы[Расшифровка].ПолучитьПоля() - только одна запись с описанием поля, по которому идет расшифровка
|
|||
5
Новиков
24.03.15
✎
11:15
|
А у тебя расшифровку получать для группировочных записей нужно или для детальных?
|
|||
6
mikecool
24.03.15
✎
11:17
|
(5) получается - нужно для группировочных, поскольку клиент выступает в группировке
|
|||
7
mikecool
24.03.15
✎
11:19
|
можно переформировать тот же запрос с отбором, что и первоначальный, но он достаточно громоздкий
в расшифровке нужен отчет другой структуры, хотелось бы поиметь в него отборы из первого запроса без переформирования |
|||
8
cons74
24.03.15
✎
11:23
|
(4) все правильно, так и есть. Только ячейка, по которой щелкнул пользователь.
Отправная точка - процедура РезультатОбработкаРасшифровки (ты вроде уже там). А далее уже в коде смотри - где идет вызов нового отчета с передачей в него параметров. Ну или возможен второй вариант: в макете схемы в запросе есть Контрагент, но он изначально не выводится в отчет- а только в расшифровке. Но это уже механизм платформы. Т.е. в таком случае в коде ничего не найдешь - только писать свой код. |
|||
9
mikecool
24.03.15
✎
11:25
|
(8) то бишь получается - надо ставить отбор на исходный запрос, переформировывать его и использовать его результат?
думал как то можно получить результат стандартной расшифровки, забрать его и использовать |
|||
10
cons74
24.03.15
✎
11:31
|
Я не вижу код отчета.
А потому не ясно: "результат стандартной расшифровки" - ТабДок - формируется при создании описанного в коде отчета (нового). Или же вызывается платформой. Короче - вместо тысячи слов: http://www.spec8.ru/kurs-po-skd-besplatno |
|||
11
mikecool
24.03.15
✎
11:33
|
(10) уроки 106-109 просмотрел )
но как всегда у Гилева с Насиповым - что по накатанному работает, чуть в сторону - нет под "результат стандартной расшифровки" имею ввиду таб док, который формируется платформой |
|||
12
mikecool
24.03.15
✎
11:41
|
попробовал переформировать с выводом результата в ТЗ, получил "не можем выводить вложенные запросы блабла"
понял, что проще выполнить упрощенный вариант запроса ) |
|||
13
Новиков
24.03.15
✎
11:45
|
(5) Если для группировочных записей то для Элементы[Расшифровка] нужно посмотреть родителей по иерархии группировок, и там уже поискать нужные тебе поля. Или рисовать свой макет, и уже в нем определять параметры.
|
|||
14
fisher
24.03.15
✎
12:02
|
(0) 1С на самом деле для расшифровки формирует новые настройки компоновки на основании текущей схемы и выполняет новую компоновку. Т.е. списка клиентов в данных расшифровки нет.
Список клиентов тебе придется получать или аналогично 1С-ой расшифровке, или уже в твоем отчете. |
|||
15
fisher
24.03.15
✎
12:05
|
Можно, конечно, исхитриться в самом отчете и попробовать догадаться, что текущий вывод отчета - это расшифровка на самом деле. Только это всё равно извратнее в итоге выйдет, чем прямой путь.
|
|||
16
mikecool
24.03.15
✎
12:06
|
пробую
СхемаКомпоновкиДанных = ОтчетОбъект.ПолучитьМакет("РасшифровкаПоКлиентам"); Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных)); Компоновщик.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек.ПолучитьНастройки()); Настройки = Компоновщик.Настройки; при выполнении ругается на "это поле не могу использовать в группировке" однако в макете "РасшифровкаПоКлиентам" нет таких полей, значит тянутся из Отчет.КомпоновщикНастроек.ПолучитьНастройки() думал, что получу только доступные параметры и отборы, а оно воно но как ( |
|||
17
mikecool
24.03.15
✎
12:12
|
забыл про Восстановить
|
|||
18
mikecool
24.03.15
✎
13:08
|
вот какого результат компоновки пустой?
параметры устанавливаются правильные, отборы тоже в консоли с такими данными результат есть что еще проверить? |
|||
19
echo77
24.03.15
✎
13:18
|
Элементы[Расшифровка].ПолучитьРодителей()
|
|||
20
Новиков
24.03.15
✎
13:25
|
>>для Элементы[Расшифровка] нужно посмотреть родителей по иерархии группировок, и там уже поискать нужные тебе поля
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |