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