Имя: Пароль:
1C
1С v8
Выгрузить результат из отчета на СКД в ТаблицуЗначений
0 tixis
 
29.10.15
15:51
Всем привет. СКД знаю прям чуть чуть)) Надо реализовать выгрузку результата сформированного отчета  в документ.
Отчет простого вида
Номенклатура(с Иерархией)
      Номенклатура              Количество.
Есть форма отчета, на форме есть ТабличноеПоле с результатом.
Пытаюсь обойти этот результат
    КоличествоСтрок = ЭлементыФормы.Результат.ВысотаТаблицы;
    КоличествоКолонок = ЭлементыФормы.Результат.ШиринаТаблицы;
    ТабличныйДокумент = ЭлементыФормы.Результат;
    
    Для й=1 по КоличествоСтрок Цикл
        Для м=1 По КоличествоКолонок Цикл
            Область = ТабличныйДокумент.ПолучитьОбласть(й,м,й,м);
            ТекущаяОбласть = Область.ТекущаяОбласть;
            Попытка
                Значение = ТекущаяОбласть.Значение;
            Исключение
                Значение = ТекущаяОбласть.Текст;
            КонецПопытки;            
        КонецЦикла;        
    КонецЦикла;


Могу получить текст, но не могу получить саму ссылку на номенклатуру, а в базе с одинаковым названием может быть несколько номенклатур(бывает что и код задвоен). Как получить ссылку на номенклатуру при обходе табличного документа, или как правильно обойти результат отчета?
1 Naumov
 
29.10.15
15:53
искать в данных расшифровки.
2 Nuobu
 
29.10.15
15:53
СКД = Новый СхемаКомпоновкиДанных;
    
//Опишем источники как они есть в отчете

ИсточникДанных = СКД.ИсточникиДанных.Добавить();
ИсточникДанных.Имя = "ИсточникДанных1";
ИсточникДанных.ТипИсточникаДанных = "Local";

НаборДанных = СКД.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
НаборДанных.Имя = "НаборДанных1";
НаборДанных.ИсточникДанных = "ИсточникДанных1";
НаборДанных.Запрос = ТекстЗапроса;
    
Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных;
Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));
Компоновщик.ЗагрузитьНастройки(КомпоновщикНастроек.Настройки);//Настрой получим из настоящего отчета

Компоновщик.Восстановить();
        
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СКД, Компоновщик.Настройки,,, Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));

ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);

ТаблицаЗначений = Новый ТаблицаЗначений;
    
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(ТаблицаЗначений);
    
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
3 User_Agronom
 
29.10.15
16:00
(0) А табличное поле одним махом разве нельзя сохранить?
4 User_Agronom
 
29.10.15
16:04
ЭлементыФормы.Результат.Записать(
5 tixis
 
29.10.15
16:09
(2) Спасибо тебе дружище,все работает. Где ты нашел все это?
6 rozer76
 
29.10.15
16:15
(5) например 1cskd.ru
Программист всегда исправляет последнюю ошибку.