|
СКД установить значение в ячейку | ☑ | ||
---|---|---|---|---|
0
skela1c
21.11.17
✎
13:04
|
По нажатию на ячейку необходимо установить значение. Делаю с помощью "расшифровки". В процедуре "РезультатОбработкаРасшифровки" получаю "расшифровку" тип "ИдентификаторРасшифровкиКомпоновкиДанных", а хотелось бы " ЭлементРасшифровкиКомпоновкиДанныхПоля", чтобы получить номер строки. Подскажите как можно получить тип "ИдентификаторРасшифровкиКомпоновкиДанных" или может быть как получить строку отчета по другому?
|
|||
1
skela1c
21.11.17
✎
14:27
|
с типами разобрался, не могу понять как получить строку отчета чтобы выбрать поле, которое мне нужно
|
|||
2
bodri
21.11.17
✎
14:30
|
в СКД в макете назначить нужные данные для расшифровки
|
|||
3
skela1c
21.11.17
✎
14:33
|
(2) а можно конкретнее
|
|||
4
bodri
21.11.17
✎
14:43
|
В консоли СКД на вкладке макеты, назначаешь ячейке параметр расшифровки и там же в параметрах макета указываешь что будет в расшифровке
|
|||
5
skela1c
21.11.17
✎
14:46
|
мне нужно получить строку макета, чтобы в ней получить поле и передать её в расшифровку, как это можно сделать?
|
|||
6
azernot
21.11.17
✎
14:54
|
Опишите задачу, а не предполагаемый метод решения, тем более какой-то промежуточный этап.
|
|||
7
skela1c
21.11.17
✎
15:01
|
Отчет такого вида http://joxi.ru/bmoR8zXTMWkWxr , при нажатии в колонке "установить бизнес регион" открывается справочник "бизнес регионы" выбирается значение и записывается в "партнера"
|
|||
8
azernot
21.11.17
✎
15:19
|
Ага, значит вам нужно понять, что это поле Бизнес-регион и получить значение поля "Партнер" из той же строки группировок.
По идентификатору ПоляРасшифровки = ДанныеРасшифровки.Элементы[ИдентификаторРасшифровкиКомпоновкиДанных].ПолучитьПоля() Убеждаешься, что поле - Установить бизнес региона Далее ПоляРасшифровки = ДанныеРасшифровки.Элементы[ИдентификаторРасшифровкиКомпоновкиДанных].ПолучитьРодителей() получаешь ИД родительского элемента, у него получаешь поля, смотришь значения. Таким образом ищешь среди родителей "Пратнёра" |
|||
9
skela1c
21.11.17
✎
15:41
|
Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
МассивРодителей = Данные.Элементы.Получить(Расшифровка).ПолучитьРодителей(); Для Каждого ИмяРасшифровки Из МассивРодителей Цикл тДанные = Данные.Элементы.Получить(ИмяРасшифровки.Идентификатор).ПолучитьПоля(); Идентификатор = 0 и не работает |
|||
10
azernot
21.11.17
✎
15:51
|
(9) А что вообще есть в Данные.Элементы ?
Вы же в отладчике можете посмотреть, вообще есть там где партнёр? |
|||
11
azernot
21.11.17
✎
15:57
|
+(10) Возможно, если поле находится на том же уровне, придётся перебирать все поля у которых родитель имеет тот же идентификатор.
|
|||
12
skela1c
22.11.17
✎
15:21
|
(11) а как перебрать поля?
|
|||
13
skela1c
22.11.17
✎
17:46
|
решается это дело так:
1 в макете скд надо переопределить расшифровку и указать поле, которое понадобится в моём случае "Партнер"; 2 из процедуры "РезультатОбработкаРасшифровки" переходим на сервер и получаем то, что нужно Данные = ПолучитьИзВременногоХранилища(ДанныеРасшифровки); ПереченьПолей = Данные.Элементы.Получить(пРасшифровка).ПолучитьПоля(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |