|
СКД. Как определить имя параметра расшифровки? | ☑ | ||
---|---|---|---|---|
0
MUXACb
23.06.14
✎
15:27
|
В отчет выводится информация, сгруппированная по сотрудникам. При расшифровке для каждой ячейки с данными должен запускаться свой отчет, в который нужно передать сотрудника
|
|||
1
MUXACb
23.06.14
✎
15:27
|
+(0) Не УФ
|
|||
2
acsent
23.06.14
✎
15:39
|
Функция ПолучитьЗначениеРасшифровки(ЭлементРасшифровки, ИмяПоля)
МассивРодителей = Новый Массив; Родители = ЭлементРасшифровки.ПолучитьРодителей(); Пока Родители.Количество() > 0 Цикл Если ТипЗнч(Родители[0]) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда МассивРодителей.Добавить(Родители[0].ПолучитьПоля()); КонецЕсли; Родители = Родители[0].ПолучитьРодителей(); КонецЦикла; Для Счетчик = 1 по МассивРодителей.Количество() Цикл // Обойдем в обратном порядке, чтобы поставить условия в порядке группировок Поля = МассивРодителей[МассивРодителей.Количество() - Счетчик]; Для каждого Поле из Поля Цикл Если Поле.Иерархия Тогда Продолжить; КонецЕсли; Если Поле.Поле = ИмяПоля Тогда Возврат Поле.Значение; КонецЕсли; КонецЦикла; КонецЦикла; КонецФункции |
|||
3
MUXACb
23.06.14
✎
16:54
|
(2) Код интересный, только возвращает не то что нужно
У меня в макете есть ячейка, в которую я вывожу значение. У ячейки указан параметр расшифровки "РасшифроватьЗначение". При двойном нажатии на этой ячейке мне нужно получить строку: "РасшифроватьЗначение" |
|||
4
sanja26
23.06.14
✎
17:03
|
у ТабДок только просмотр установи
|
|||
5
MUXACb
24.06.14
✎
15:39
|
(4) Только просмотр стоит. Результата нет. Что нужно передавать в ИмяПоля? Может я что не так делаю? Параметр расшифровки задан в макете СКД
|
|||
6
MUXACb
24.06.14
✎
15:59
|
Ап
|
|||
7
sanja26
24.06.14
✎
16:10
|
(6) вот так я вывожу картинку
ПроцессорВывода.НачатьВывод(); ТаблицаЗафиксирована = Ложь; Если ТипЗнч(КомпоновщикНастроек.Настройки.Структура[0]) = Тип("ДиаграммаКомпоновкиДанных") тогда // В этом случае не надо ничего фиксировать ТаблицаЗафиксирована = Истина; КонецЕсли; ТабДокумент.ФиксацияСверху = 0; ПолеПоКоторомуНеобходимоПолучитьЗначение = "Номенклатура"; Пока истина Цикл ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); Если ЭлементРезультата = Неопределено Тогда прервать; КонецЕсли; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); Если ЭлементРезультата.ЗначенияПараметров.Количество() > 0 Тогда ЗначениеВыводимыхДанных = Неопределено; Для каждого ЗначениеПараметра из ЭлементРезультата.ЗначенияПараметров Цикл Если ТипЗнч(ЗначениеПараметра.Значение) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда ПоляРасшифровки = ДанныеРасшифровки.Элементы[ЗначениеПараметра.Значение].ПолучитьПоля(); Для Каждого ПолеРасшифровки из ПоляРасшифровки Цикл Если ПолеРасшифровки.Поле = ПолеПоКоторомуНеобходимоПолучитьЗначение Тогда ЗначениеВыводимыхДанных = ПолеРасшифровки.Значение; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; Если ЗначениеЗаполнено(ЗначениеВыводимыхДанных) Тогда Рис = ТабДокумент.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); Рис.РазмерКартинки = РазмерКартинки.Пропорционально; Индекс = ТабДокумент.Рисунки.Индекс(Рис); Если ЗначениеВыводимыхДанных.ЭтоГруппа Тогда ТабДокумент.Рисунки[Индекс].Картинка = БиблиотекаКартинок.ГруппаИЭлемент; Иначе Если ЗначениеЗаполнено(ЗначениеВыводимыхДанных.ОсновноеИзображение) тогда ТабДокумент.Рисунки[Индекс].Картинка = ЗначениеВыводимыхДанных.ОсновноеИзображение.Хранилище.Получить(); КонецЕсли; КонецЕсли; ВысотаТабДок = ТабДокумент.ВысотаТаблицы; ОбластьДляКартинки = ТабДокумент.НайтиТекст("#Картинка"); ОбластьДляКартинки.ВысотаСтроки = 100; ОбластьДляКартинки.ШиринаКолонки = 22; Если ОбластьДляКартинки <> Неопределено Тогда ТабДокумент.Рисунки[Индекс].Расположить(ОбластьДляКартинки); ОбластьДляКартинки.Текст = "%КартинкаДобавлена%" КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); |
|||
8
sanja26
24.06.14
✎
16:13
|
смотри это:
ПолеПоКоторомуНеобходимоПолучитьЗначение = "Номенклатура"; |
|||
9
sanja26
24.06.14
✎
16:15
|
хотя тут обработка расшифровки)
смотри, что акцент написал... |
|||
10
sanja26
24.06.14
✎
16:28
|
ДанныеРасшифровки.Элементы[2].получитьРодителей()[0].ПолучитьПоля()
у мня вывело все поля строки названиями и значениями |
|||
11
MUXACb
24.06.14
✎
16:37
|
(10) Это все поля. Их я использую для настройки отборов.
В макете СКД указаны несколько ячеек. В зависимости от названия параметра расшифровки мне нужно открывать свои различные варианты расшифровки |
|||
12
sanja26
24.06.14
✎
16:51
|
ПараметрРасшифровки - это свойство табличного документа
ТабДокумент.ТекущаяОбласть.ПараметрРасшифровки ------------------------------------------------------- ОбластьЯчеекТабличногоДокумента.ПараметрРасшифровки (SpreadsheetDocumentRange.DetailsParameter) ОбластьЯчеекТабличногоДокумента (SpreadsheetDocumentRange) ПараметрРасшифровки (DetailsParameter) Использование: Чтение и запись. Описание: Тип: Строка. Имя параметра, используемого для заполнения расшифровки при выводе области. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. |
|||
13
MUXACb
24.06.14
✎
17:00
|
(12) Смотрел. Возвращает пустую строку
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |