![]() |
![]() |
![]() |
|
v8: Можно ли в компоновку данных передать таблицу значений? | ☑ | ||
---|---|---|---|---|
0
hopter
26.09.08
✎
03:27
|
Можно ли передать в компоновку ТЗ? Список значений можно передать как параметр, а ТЗ нет? Может можно передать список списков и выжать из него временную таблицу? Или передать несколько списков и сделать из них ВТ?
Возможно ли подключиться к запросу заданному в компоновке, чтобы использовать его менеджер временных таблиц? Вот такие странные вопросы :) |
|||
1
Гобсек
26.09.08
✎
04:33
|
Можно ли передать в компоновку ТЗ?
Можно. Тип набора данных - объект. На практике я этого делать не пробовал, но такой пример есть в книге "1С Предприятие: от 8.0 к 8.1" Белоусов ,Островерх. Кроме того, в ЗУПе в отчете РасчетныйЛист это используется на практике. |
|||
2
hopter
26.09.08
✎
06:49
|
Спасибо за наводку. Только набор данных мне не нужен. Мне нужна временная таблица чтобы можно было ее юзать в пакете запросов одного набора. Но нашел в этой книге то, что нужно (полезная книжка, надо будет ее в бумажном виде взять). Надо просто создать описание временной таблицы, в качестве имени которой указать параметр.
получится что-то типа ВЫБРАТЬ Тз.поле ИЗ &ТзПараметр КАК Тз Результат помещаем во временную таблицу и используем это все дело далее в пакете как угодно. Компоновка всетаки мощная штука. |
|||
3
hopter
26.09.08
✎
07:12
|
рано обрадовался, не работает :)
|
|||
4
Hitcher
26.09.08
✎
09:17
|
(2) У меня так не получилось
|
|||
5
hopter
26.09.08
✎
09:26
|
так я написал в (3), что рано обрадовался.
похоже так работает только с объектом запрос. Это собственно странно, т.к. не понятно, что мешает использовать такое в компоновке. |
|||
6
Minilaus
26.09.08
✎
09:32
|
А какой смысл тебе отдельно помещать во временную таблицу, если ты передавая ее (таблицу) объектом все получаешь ее же во временной таблице в компоновке, и делай там с ней что захочешь.
|
|||
7
hopter
26.09.08
✎
09:38
|
(6) Не понял. В качестве параметра в компоновку я могу передать только список. В набор-объект я могу передать таблицу. Но как я в одном наборе увижу таблицу из другого набора?
|
|||
8
Hitcher
26.09.08
✎
09:43
|
Бывает, когда уже есть рассчитанная таблица, но при помещении ее в набор с ней или с ее помощью нужно проделать некие манипуляции, используя отборы и параметры СКД. Так вот в этом случае и нужно просто каким то макаром засунуть эту таблицу в СКД
|
|||
9
tor0310
26.09.08
✎
09:44
|
(7) там же связывание наборов данных есть вроде бы
|
|||
10
Minilaus
26.09.08
✎
09:44
|
Да, понял тебя. А что если тебе использовать в качестве параметра запрос к твоей таблице, а потом таким макаром перед формирвоанием отчета устанвоить параметр:
ЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ТвояТабл")); Если ЗначениеПараметра <> Неопределено тогда ЗначениеПараметра.Значение = ТвояТабл; КонецЕсли; |
|||
11
hopter
26.09.08
✎
09:53
|
(10) надо попробовать. но пока я не понял как потом с этой штукой можно работать будет. если б этот параметр можно было во временную таблицу превратить.
|
|||
12
i-rek
26.09.08
✎
10:00
|
блин, да не надо использовать параметры !
Сказали же уже несколько раз, что надо использовать источник данных типа Объект, компоновку запускать вручную, при инициализации передавать эту ТЗ (примеров навалом, получается пол страницы абсолютно невразумительного кода, последовательно создающего пол дюжины высокоабстрактных и никому не нужных объектов обвязки компоновки) |
|||
13
hopter
26.09.08
✎
10:06
|
(12) ткните меня носом в пример, пожалуйста.
я понял, что компоновку вручную и что объект. Но я не могу допереть как увидеть в одном наборе таблицу из другого. похоже надо пересматривать идеологию отчета. |
|||
14
i-rek
26.09.08
✎
10:25
|
(13) Пример можно посмотреть в любой типовой - есть отчёт ШаблонТиповогоОтчёта
Там где-то фигурирует текст подобный // Сгенерируем макет компоновки данных при помощи компоновщика макета КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(ОтчетОбъект.СхемаКомпоновкиДанных, ОтчетОбъект.КомпоновщикНастроек.Настройки, ДанныеРасшифровки); // Создадим и инициализируем процессор компоновки ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; Если ВнешниеНаборыДанных = Неопределено Тогда ПроцессорКомпоновки.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки); Иначе ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки); КонецЕсли; вот ВнешниеНаборыДанных это и есть коллекция таблиц значений, которые попадут в те источники данных, которые при визуальном добавлении в схему были объявлены как Объект |
|||
15
i-rek
26.09.08
✎
10:26
|
вообще кстати целесообразно все отчёты на компоновке делать на базе именно этого шаблона отчёта, тогда и простые вопросы отпадут (зато появится куча новых куда более сложных) ;)))
|
|||
16
hopter
26.09.08
✎
10:29
|
(15) ясно.
Всем спасибо. |
|||
17
i-rek
26.09.08
✎
10:30
|
а, вот ещё стоит посмотреть отчёты в ЗУП - они там почти все сделаны на компоновке и очень многие делаются по таблица значений
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |