Имя: Пароль:
1C
1С v8
СКД. Перебор ячеек табличного токумента.
0 GANR
 
04.09.12
09:34
Как перебрать ячейки табличного документа "Результат"? Данные выведены с помощью СКД таким кодом:

   СхемаКомпоновкиДанных = ЭтотОбъект.СхемаКомпоновкиДанных;
   ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
   КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
   
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки);

   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки);
   
   // вот его ячейки и нужно перебрать
   Результат.Очистить();
   
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ПроцессорВывода.УстановитьДокумент(Результат);
   
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
1 Guk
 
04.09.12
09:34
казалось бы, причем тут СКД...
2 GANR
 
04.09.12
09:36
(1) Подсчитать искусственно количество ячеек, как при "дедовском" методе формирования отчетов с перебором выборки из результата запроса уже нельзя.
3 pessok
 
04.09.12
09:38
(2) и правда, причем тут СКД? ПТД и ковыряй себе спокойно. Область()
4 GANR
 
04.09.12
09:41
(3) так, а размерность заполненной области как узнать?
5 pessok
 
04.09.12
09:44
(4)
ТабличныйДокумент (SpreadsheetDocument)
ВысотаТаблицы (TableHeight)
Использование:

Только чтение.
Описание:

Тип: Число.
Содержит количество строк в таблице.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
6 pessok
 
04.09.12
09:44
ТабличныйДокумент.ШиринаТаблицы (SpreadsheetDocument.TableWidth)
ТабличныйДокумент (SpreadsheetDocument)
ШиринаТаблицы (TableWidth)
Использование:

Только чтение.
Описание:

Тип: Число.
Содержит количество колонок в таблице.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
7 pessok
 
04.09.12
09:44
ну а площадь ты и сам вычислишь :)
8 GANR
 
04.09.12
09:47
(7) Спасибо))). Гениально !!!!