Помощь - Поиск - Пользователи - Календарь
Полная версия: Как вытащить значения таблицной части справочника при переборе
"1C-PRO" - форум по 1C > Форумы по платформе "1С:Предприятие 8.x" > (8.х) Отчеты и обработки для платформы "1С:Предприятие 8.x"
andre444
***
Код
СпрРабочий = Справочник.Метаданные(); 
МенеджерСправочника = Справочники[СпрРабочий.Имя];
Выборка = МенеджерСправочника.Выбрать(,,,"Код Убыв");
Пока Выборка.Следующий() Цикл
Если (Счетчик+чНомерПервойСтроки-1) = чНомерСтрокиСДанными Тогда
Для Каждого СтрочкаОписания из тзДанные Цикл
ИмяЯчейкиXLS = СтрочкаОписания.XLS;
НомерЯчейкиXLS = СтрочкаОписания.Номер;
Лист.Cells(чНомерСтрокиСДанными,НомерЯчейкиXLS+чНомерПервойКолонки-1).Value =
СокрЛП(ИмяЯчейкиXLS);
КонецЦикла;
КонецЕсли;
ЭлементСпр = Выборка.ПолучитьОбъект();
Если (ЭлементСпр.ПометкаУдаления = 0) и (ЭлементСпр.Предопределенный=0) и
(ЭлементСпр.Заблокирован()=0) Тогда
Для Каждого СтрочкаОписания из тзДанные Цикл
рр=ложь;
дд=ложь;
Если СокрЛП(СтрочкаОписания.С1С)="Код" Тогда
ЗначениеЯчейки = ЭлементСпр.Код;
ИначеЕсли СокрЛП(СтрочкаОписания.С1С)="Наименование" Тогда
ЗначениеЯчейки = ЭлементСпр.Наименование;
ИначеЕсли СокрЛП(СтрочкаОписания.С1С)="ЭтоГруппа" Тогда
ЗначениеЯчейки = ЭлементСпр.ЭтоГруппа;
ИначеЕсли СокрЛП(СтрочкаОписания.С1С)="ПолныйКод" Тогда
ЗначениеЯчейки = ЭлементСпр.ПолныйКод();
ИначеЕсли СокрЛП(СтрочкаОписания.С1С)= "Родитель" Тогда
ЗначениеЯчейки = ЭлементСпр.Родитель;
ИначеЕсли СокрЛП(СтрочкаОписания.С1С)= "Владелец" Тогда
ЗначениеЯчейки = ЭлементСпр.Владелец;
ИначеЕсли не(рр) Тогда


? Для каждого ТЧ Из ЭлементСпр.Метаданные().ТабличныеЧасти Цикл
? Для каждого Реквизит Из ТЧ.Реквизиты Цикл
? Если СокрЛП(СтрочкаОписания.С1С)=СокрЛП(Реквизит.Имя)Тогда
? ЗначениеЯчейки = ????????????????

Здесь нужно вытащить табличное значение
(Не знаю как это сделать, заклинило) wall.gif
рр=Истина;
прервать;
? КонецЕсли;
? КонецЦикла;
?КонецЦикла;
Код
         дд=Истина;
Если не(рр)и дд Тогда
ЗначениеЯчейки = ЭлементСпр[СтрочкаОписания.С1С];
КонецЕсли;
КонецЕсли;
ИмяЯчейкиXLS = СтрочкаОписания.XLS;
НомерЯчейкиXLS = СтрочкаОписания.Номер;
Лист.Cells(Счетчик+чНомерПервойСтроки-1,НомерЯчейкиXLS+
чНомерПервойКолонки-1).Value = СокрЛП(ЗначениеЯчейки);
КонецЦикла;
КонецЕсли;
КонецЦикла;
Darlock
Попробуй это сделать не перебором всего справочника, а запросом. Только в полях запроса выбирай не "Реквизит.Ссылка", а "ИмяСпрСостав.Ссылка". Т.е. обращайся к ссылке на элемент из состава табличной части.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2008 Invision Power Services, Inc.