|   |   | 
| 
 | Выгрузить результат из отчета на СКД в ТаблицуЗначений | ☑ | ||
|---|---|---|---|---|
| 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     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |