Имя: Пароль:
1C
1С v8
Как перебрать в цикле значения областей табДок из СКД
,
0 oleg_prg
 
26.01.14
17:37
Уважаемые форумчане, доброго времени суток.
Задача - создать отчет на скд, в отчете сделать кнопку рассылка на почту. При нажатии на кнопку должна произойти рассылка на mail контрагентам попавшим в отчет.
Вопрос - как достучаться до выведенных данных в табличный документ Результат? (отчет сделан (схема компоновки данных + форма с выводом), заготовка для рассылки есть, а вот с получением данных из результата беда...)
Заранее спасибо!
1 Yea-Yea
 
26.01.14
17:39
либо программно сфомировать и сохранить результат, либо сохранить уже сформированный табличный документ и отправить
2 oleg_prg
 
26.01.14
17:41
В табличном документе будет список контрагентов и прочего, надо как-то этих контрагентов отловить, неужели это нереально...
3 Yea-Yea
 
26.01.14
17:41
(2) че?
4 oleg_prg
 
26.01.14
17:49
Может как-то вот так можно перебрать значения Результат.Области.Найти("R14C4") ???
5 zippygrill
 
26.01.14
17:57
вычисляешь общее количество строк ТабДока, потом шапку, потом Итоги, остальное данные :)
6 oleg_prg
 
26.01.14
19:35
Неужели ни кто не знает? Как считать данные из выведенного табличного документа? Может я непонятно описал ситуацию

&НаСервере
Функция СКДПрограммно()
    
    Схема = Отчеты.АнализОбращений.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    Настройки = Новый КомпоновщикМакетаКомпоновкиДанных;
    КомпоновщикМакета = новый КомпоновщикМакетаКомпоновкиДанных;
    Макет = КомпоновщикМакета.Выполнить(Схема, Отчет.КомпоновщикНастроек.Настройки);
    
    ПроцессорКомпоновки = новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(Макет);
    
    ПроцессорВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ТабДок = Новый ТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ТабДок);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
//Здесь как-то надо считать все данные которые были выведены в ТабДок - как это сделать?
    
    Возврат ТабДок;
    
КонецФункции
//********************************************************************
&НаКлиенте
Процедура СформироватьОтчет(Команда)
    ТД = СКДПрограммно();
КонецПроцедуры
7 echo77
 
26.01.14
19:38
На хера из табличного документа? СКД может результат в таблицу значений компоновать
8 oleg_prg
 
26.01.14
19:39
ПОЖАЛУЙСТА не спрашивайте нахера и т.д. киньте кодом плиз, я зае...ся уже с этой задачей. Крик души!
9 echo77
 
26.01.14
19:47
Для row=1 по табдок.высотаттаблицы() цикл
   Для кол=1 по табдок.ширинатаблицы цикл
      Ячейка = табдок.область(row, col)
      Массиврасшифровок =Типовыеотчеты.получитьмассиврасшифровок(ячейка, данныерпасшифровки)



Как-то так
10 oleg_prg
 
26.01.14
20:04
(9) Спасибо!!! То что надо! Я делал ТабДок.Области.Поиск("R1C1 и т.д.") не работает, а табдок.область(row, col) все ок!!!
Еще раз спасибо!
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой