|
Как поймать вывод строки в отчет при программном формировании отчета на СКД? | ☑ | ||
---|---|---|---|---|
0
DSSS
22.09.11
✎
16:32
|
Доброго дня. Или вечера?..
Если отчет на СКД формируется программно, как достучаться до свойств выводимых в отчет ячеек и изменить их? т.е. как вот в этом месте ПроцессорВывода.НачатьВывод(); Пока Истина Цикл ЭлементРезультата = ПроцессорКомпоновки.Следующий(); Если ЭлементРезультата= Неопределено Тогда Прервать; КонецЕсли; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); получить ячейки таб документа? Спасибо. |
|||
1
Maxus43
22.09.11
✎
16:34
|
а задача какая? СКД-хой почти всё можно сделать без доп плясок с бубном...
|
|||
2
Defender aka LINN
22.09.11
✎
16:35
|
(0) Нахрена? О_о
|
|||
3
Maxus43
22.09.11
✎
16:40
|
у меня был такой случай, но я тогда и скд готовить не умел, а к ТабДоку уже после вывода обращался и поиском искал ячейки :)
|
|||
4
DSSS
22.09.11
✎
16:42
|
(1), (2) Я сейчас объясню. Если подскажите иное решение сабжа, буду благодарен. Итак.
Есть внешняя обработка, у нее есть 2 СКД (не макеты! эти СКД получаются в форме при формировании отчета из внешних источников), на базе которых формируется 2 отчета, и эти отчеты выводятся в один табличный документ на форме обработки. Все формируется программно. Вопрос вот в чем: вот после того как отчеты сформированы, как сделать разную расшифровку, в зависимости от того, по какой ячейке кликает пользователь: по ячейке, которая относится к СКД 1 или по ячейке, которая относится к СКД 2? Вот я не знаю, как имея в параметрах процедуры РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка) только Элемент понять, к какой скд он относится. Вот и подумалось, что если установить всем ячейкам относящимся к СКД 1 какое-то общее свойство, то потом по этому свойству можно понять к какой СКД относится ячейка. Это в примере 2 отчета, на самом деле их больше. |
|||
5
DSSS
22.09.11
✎
16:43
|
Это общее св-во и предполагаю установить при программном формировании. Если есть способ установить на все ячейки разом, тогда вообще отлично:)
|
|||
6
DSSS
22.09.11
✎
16:46
|
(3) У задачи, что я описал в (4) есть решения, но вот элегантного я пока не знаю:)
|
|||
7
IronDemon
22.09.11
✎
16:53
|
Поля есть уникальные для двух СКД?
|
|||
8
DSSS
22.09.11
✎
16:56
|
(7) Если речь идет о том, что в одном отчете ведомость по остаткам на складах, а в другом ведомость по взаиморасчетам, то нет - и там и там в строках номенклатура, только разная, в ресурсах количество из разных источников. Или речь о другом?
|
|||
9
IronDemon
22.09.11
✎
16:58
|
(8) Об этом :(
|
|||
10
IronDemon
22.09.11
✎
17:00
|
(8) Но, "количество из разных источников" можешь по разному назвать?
|
|||
11
DSSS
22.09.11
✎
17:02
|
(9) Назвать по разному? скорее да чем нет) Даже если они везде называются остаток, то пусть "Остаток" будет в шапке, а на самом деле это будет "Остаток1", "Остаток2" и т.п. тоже с полями. А как это может помочь?
|
|||
12
IronDemon
22.09.11
✎
17:08
|
(11) Вот :)
|
|||
13
IronDemon
22.09.11
✎
17:09
|
Контрагент = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей()[0].ПолучитьПоля().Найти("Контрагент");
ДоговорКонтрагента = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьРодителей()[0].ПолучитьПоля().Найти("ДоговорКонтрагента"); |
|||
14
IronDemon
22.09.11
✎
17:09
|
||||
15
DSSS
22.09.11
✎
17:13
|
(13) Спасибо большое! сейчас попробую.
|
|||
16
DSSS
22.09.11
✎
17:29
|
Похоже что не помогает... дело вот в чем:
//ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; ДанныеРасшифровки = Неопределено; КомпоновщикМакета=Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки, ДанныеРасшифровки); выполняется несколько раз. Разная только СКД. В ДанныеРасшифровки попадают разные данные, но как обратиться к ним, имея уже сформированные отчеты и ячейку табличного документа, относящуюся непонятно к какому отчету?... та же проблема что и с получением схемы, похоже свернули на те же рельсы.. |
|||
17
DSSS
22.09.11
✎
17:47
|
подниму
|
|||
18
Shurjk
22.09.11
✎
17:48
|
(0) Месье знает толк в извращениях.
|
|||
19
DSSS
22.09.11
✎
17:49
|
(18) А по делу есть что сказать?
|
|||
20
Shurjk
22.09.11
✎
17:50
|
(19) можешь после вывода пробегать табличный документ и изращаться.
|
|||
21
DSSS
22.09.11
✎
18:00
|
(20) Лучше сразу записать св-во ячейки, чтобы потом, зная его расшифровать.
|
|||
22
DSSS
22.09.11
✎
18:21
|
Если у кого есть иные мысли насчет того, как имея ячейку таб. документа получить СКД из которой сформирован этот участок отчета, поделитесь.
|
|||
23
acsent
22.09.11
✎
18:23
|
После вывода первой скд запоминать высоту таблицы
|
|||
24
DSSS
22.09.11
✎
18:24
|
(23) Тоже вариант, один пока что из самых простых и красивых:)
|
|||
25
Defender aka LINN
22.09.11
✎
18:55
|
(16) Запоминай высоту документа и храни все ДанныеРасшифровки отдельно. Делов-то.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |