Имя: Пароль:
1C
1С v8
v8: Знатокам СКД. Расшифровка-3 (сиквел)
0 SYS-eva
 
26.09.13
15:29
В продолжении темы v8: Знатокам СКД. Расшифровка-2 (сиквел)
Постановка задачи следующая:
Строится отчет "Динамика цен за период" через набор данных "Объект".
Таблица содержит поля Номенклатура, Период, Цена - ресурс.
Отчет группируется через таблицу где строки это Номенклатура а колонки это Период, на пересечении ресурс- Цена. В качестве расшифровки ресурса нужно открывать пользователю документ который собственно эту цену установил, в алгоритме расшифровки значение цены знать необходимо.

У меня возникла проблема следующего характера:

Если в схеме для поля "Цена" явно не указывать ТипЗначения - то расшифровка работает без проблем.



ПолеРасшифровки = ДанныеРасшифровки.Элементы[157].ПолучитьПоля()[0];
ЗначениеРасшифровки = ПолеРасшифровки.Значение;

Но при этом тогда не получится накладывать отборы по "Цене" т.к. в качестве правого значение можно выбирать только поля компоновки.
Если же для "Цены" указать явно тип Число , то тогда ЗначениеРасшифровки возвращает Null.
За вариант предложенный в предыдущем посте fisher-у огромный респект но увы он мне не подходит т.к алгоритм расшифровки еще должен учитывать значения полей группировок для конкретной ячейки.

Да, все прекрасно работает но только в этом случае в расшифровке будет лежать именно значение самого поля т.е. число а не ЭлементРасшифровкиКомпоновкиДанныхПоля через которое получаем значение полей родителей, как его получить и тем более передать это значение при выводе макета поля я ума не приложу.

Вобщем я выкрутился через дублирования поля "Цена" в наборе данных. Для "Дубля" указал заголовок Цена, явно указал тип и в качестве ограничения Поля оставил только "условие", для Поля цены на оборот тип не указал но запретил выбирать в условиях.

Но по мне это как-то кривовато, может всетаки есть более кашерный способ, а бразы?
1 PiVa123
 
26.09.13
15:33
Для поля ресурса, можно просто указать свой макет с указанием на нем расшифровки, тогда для ресурса расшифровка будет работать без проблем.
Соответственно узнать родителей, там и укажет и номенклатуру и период.
2 SYS-eva
 
26.09.13
15:44
PiVa123 бро - и что мне указать в этом макете в качестве значения расшифровки? Само поле? - я же уже выше написал что в этом случае будет просто значение а не ЭлементРасшифровкиКомпоновкиДанныхПоля - или ты значешь как туда воткнуть именно ЭлементРасшифровкиКомпоновкиДанныхПоля?
3 PiVa123
 
26.09.13
15:50
(2) Да, как ни странно, само поле, только указать в расшифровке, типа, "ЦенаРасшифровка", а в появившемся поле расшифровки поля, указать поле и его же в значении
4 SYS-eva
 
26.09.13
15:58
(3)БРО от всей души спасибо, реально не знал что так можно))