|
Как в СКД в расшифровку передать список значений? | ☑ | ||
---|---|---|---|---|
0
toypaul
гуру
18.02.13
✎
16:41
|
По типу того как в 7ке передавался список значений. А то не пойму логику работы методов ПолучитьПоля и ПолучитьРодителей.
|
|||
1
Defender aka LINN
18.02.13
✎
16:47
|
(0) Для нафига?
|
|||
2
toypaul
гуру
18.02.13
✎
16:51
|
форма управляемая.
(1) нужно вызвать обработку по данным из строки отчета и по верхним группировкам. |
|||
3
toypaul
гуру
18.02.13
✎
16:54
|
если более точно, то при клике на ресурсе, нужно произвести запись в регистр сведений по измерениям, которые могут быть как в строке так и в группировках.
|
|||
4
also
18.02.13
✎
16:54
|
а что не понятно в ПолучитьПоля и ПолучитьРодителей?
|
|||
5
Defender aka LINN
18.02.13
✎
16:55
|
(2) Ну, ПолучитьПоля() / ПолучитьРодителей(), да
|
|||
6
toypaul
гуру
18.02.13
✎
16:57
|
ну ПолучитьПоля мне выдает только это поле. как получить данные из строки? ПолучитьРодителей ересь какую-то выдает = выдает группировку, у которой даже метода ПолучитьПоля нет.
|
|||
7
also
18.02.13
✎
16:59
|
хы) ну примерно так: Расш = лДанныеРасшифровки.Элементы[ИндексРасшифровки].ПолучитьРодителей()[0].ПолучитьРодителей()[0].ПолучитьРодителей()[0].ПолучитьПоля().Найти("ИмяГруппировки");
|
|||
8
also
18.02.13
✎
17:00
|
количество ПолучитьРодителей()[0] соотвественно - уровень вложенности группировок
|
|||
9
also
18.02.13
✎
17:01
|
В самом простом варианте:
лДанныеРасшифровки.Элементы[ИндексРасшифровки].ПолучитьРодителей()[0].ПолучитьПоля().Найти("ИмяГруппировки"); |
|||
10
toypaul
гуру
18.02.13
✎
17:03
|
(9) ересь какая-то. в том-то все и дело. плюс у меня ПолучитьРодителей возвращает группировку в массиве. а у нее ПолучитьПоля нет.
|
|||
11
toypaul
гуру
18.02.13
✎
17:05
|
может через макет как-то можно сделать ... чтобы ПолучитьПоля выдвал все нужное.
|
|||
12
also
18.02.13
✎
17:05
|
что за группировка в массиве?
|
|||
13
also
18.02.13
✎
17:06
|
так у меня везде и написано ПолучитьРодителей()[0]
|
|||
14
toypaul
гуру
18.02.13
✎
17:07
|
ТипЗнч(ПолучитьРодителей()[0]) = "ЭлементРасшифровки...Группировка"
чо не ясно-то? |
|||
15
newfantom
18.02.13
✎
17:58
|
Вот нашел. Думаю то самое:
http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=551762&threadtype=0&print=1 |
|||
16
GANR
18.02.13
✎
18:31
|
(0) как в бухгалтерских отчетах 1С:Бухгалтерия 3.x?
|
|||
17
toypaul
гуру
18.02.13
✎
19:57
|
(16) не знаю не видел. надо посмотреть.
|
|||
18
toypaul
гуру
19.02.13
✎
11:15
|
разобрался. с ПолучитьПоля и ПолучитьРодителей. вроде получилось универсальный алгоритм наклепать.
РасшифровкаОбъект = ПолучитьИзВременногоХранилища(ДанныеРасшифровки); Элемент = РасшифровкаОбъект.Элементы[Расшифровка]; Если ТипЗнч(Элемент) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда Если Элемент.ПолучитьПоля()[0].Поле = "Доступно" Тогда ПараметрыРасшифровки = Новый Структура(); Родители = Элемент.ПолучитьРодителей(); Если Родители.Количество() > 0 Тогда ИдРодителя = Родители[0].Идентификатор; Для н=Расшифровка+1 По ИдРодителя-1 Цикл ЭлементСтроки = РасшифровкаОбъект.Элементы[н]; Если ТипЗнч(ЭлементСтроки) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда Для каждого Поле Из ЭлементСтроки.ПолучитьПоля() Цикл ПараметрыРасшифровки.Вставить(Поле.Поле,Поле.Значение); КонецЦикла; КонецЕсли; КонецЦикла; КонецЕсли; Пока Истина Цикл Если ТипЗнч(Элемент) = Тип("ЭлементРасшифровкиКомпоновкиДанныхПоля") Тогда Для каждого Поле Из Элемент.ПолучитьПоля() Цикл ПараметрыРасшифровки.Вставить(Поле.Поле,Поле.Значение); КонецЦикла; КонецЕсли; Родители = Элемент.ПолучитьРодителей(); Если Родители.Количество() = 0 Тогда Прервать; КонецЕсли; Элемент = Родители[0]; КонецЦикла; КонецЕсли; КонецЕсли; два условия только выкинуть из этого алгоритма - это уже специфика. |
|||
19
toypaul
гуру
19.02.13
✎
11:21
|
тьфу. вот это
Для н=Расшифровка+1 По ИдРодителя-1 Цикл поменять на Для н=ИдРодителя+1 По Расшифровка-1 Цикл |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |