Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

СКД установить значение в ячейку

СКД установить значение в ячейку
Я
   skela1c
 
21.11.17 - 13:04
По нажатию на ячейку необходимо установить значение. Делаю с помощью "расшифровки". В процедуре "РезультатОбработкаРасшифровки" получаю "расшифровку" тип "ИдентификаторРасшифровкиКомпоновкиДанных", а хотелось бы " ЭлементРасшифровкиКомпоновкиДанныхПоля", чтобы получить номер строки. Подскажите как можно получить тип "ИдентификаторРасшифровкиКомпоновкиДанных" или может быть как получить строку отчета по другому?
 
 
   skela1c
 
1 - 21.11.17 - 14:27
с типами разобрался, не могу понять как получить строку отчета чтобы выбрать поле, которое мне нужно
   bodri
 
2 - 21.11.17 - 14:30
в СКД в макете назначить нужные данные для расшифровки
   skela1c
 
3 - 21.11.17 - 14:33
(2) а можно конкретнее
   bodri
 
4 - 21.11.17 - 14:43
В консоли СКД на вкладке макеты, назначаешь ячейке параметр расшифровки и там же в параметрах макета указываешь что будет в расшифровке
   skela1c
 
5 - 21.11.17 - 14:46
мне нужно получить строку макета, чтобы в ней получить поле и передать её в расшифровку, как это можно сделать?
   azernot
 
6 - 21.11.17 - 14:54
Опишите задачу, а не предполагаемый метод решения, тем более какой-то промежуточный этап.
   skela1c
 
7 - 21.11.17 - 15:01
Отчет такого вида http://joxi.ru/bmoR8zXTMWkWxr , при нажатии в колонке "установить бизнес регион" открывается справочник "бизнес регионы" выбирается значение и записывается в "партнера"
   azernot
 
8 - 21.11.17 - 15:19
Ага, значит вам нужно понять, что это поле Бизнес-регион и  получить значение поля "Партнер" из той же строки группировок.
По идентификатору
ПоляРасшифровки = ДанныеРасшифровки.Элементы[ИдентификаторРасшифровкиКомпоновкиДанных].ПолучитьПоля() 

Убеждаешься, что поле - Установить бизнес региона

Далее
ПоляРасшифровки = ДанныеРасшифровки.Элементы[ИдентификаторРасшифровкиКомпоновкиДанных].ПолучитьРодителей()  получаешь ИД родительского элемента, у него получаешь поля, смотришь значения. Таким образом ищешь среди родителей "Пратнёра"
   skela1c
 
9 - 21.11.17 - 15:41
Данные          = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
МассивРодителей = Данные.Элементы.Получить(Расшифровка).ПолучитьРодителей();
Для Каждого ИмяРасшифровки Из МассивРодителей Цикл
    тДанные = Данные.Элементы.Получить(ИмяРасшифровки.Идентификатор).ПолучитьПоля();

Идентификатор = 0 и не работает
   azernot
 
10 - 21.11.17 - 15:51
(9) А что вообще есть в Данные.Элементы ?
Вы же в отладчике можете посмотреть, вообще есть там где партнёр?
 
 Рекламное место пустует
   azernot
 
11 - 21.11.17 - 15:57
+(10) Возможно, если поле находится на том же уровне, придётся перебирать все поля у которых родитель имеет тот же идентификатор.
   skela1c
 
12 - 22.11.17 - 15:21
(11) а как перебрать поля?
   skela1c
 
13 - 22.11.17 - 17:46
решается это дело так:
 1 в макете скд надо переопределить расшифровку и указать поле, которое понадобится в моём случае "Партнер";
 2 из процедуры "РезультатОбработкаРасшифровки" переходим на сервер и получаем то, что нужно 

Данные          = ПолучитьИзВременногоХранилища(ДанныеРасшифровки);
ПереченьПолей   = Данные.Элементы.Получить(пРасшифровка).ПолучитьПоля();

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует