![]() |
|
СКД 🠗 (Волшебник 06.06.2013 23:44) |
☑ | ||
---|---|---|---|---|
0
Woiager1984
06.06.13
✎
23:36
|
Подскажите можно ли как-то результат выполнения СКД,дальше обработать программно?
|
|||
1
zladenuw
06.06.13
✎
23:37
|
типа поместить во внешний источник для другого скд ? или для чего ?
|
|||
2
Гобсек
06.06.13
✎
23:38
|
Иногда табличный документ обрабатывают программно перед выводом.
|
|||
3
Woiager1984
06.06.13
✎
23:40
|
Допустим в СКД получаю:
Сотрудник Оклад Ианов И И 3000 Обрабатываю программно оклад *2 получаю Сотрудник Оклад Ианов И И 6000 Типа того! |
|||
4
zladenuw
06.06.13
✎
23:41
|
(3) а в скд сделать
|
|||
5
Woiager1984
06.06.13
✎
23:42
|
ну там немного другое нужно сделать,привел простой пример,просто с скд некогда разбираться!)))
|
|||
6
Woiager1984
06.06.13
✎
23:43
|
Ну вообще скд использовал лишь для того чтобы в отчете можно было сделать отбор по сотрудникам.
|
|||
7
Woiager1984
06.06.13
✎
23:44
|
Просто есть отчет написан не на СКД,но в нем нет отбора по сотрудникам и что -то в 8.2 я никак не пойму как этот отбор сделать без СКД!))
|
|||
8
zladenuw
06.06.13
✎
23:46
|
читай тут
http://1cskd.ru/ |
|||
9
Очкарик
07.06.13
✎
00:33
|
В модуле отчета обрабатывай по самое не хочу
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; МассивЗаголовковРесурсов = Новый Массив; НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки); //Создадим и инициализируем процессор компоновки, предварительно проверим параметры Если НЕ МакетКомпоновки.ЗначенияПараметров.Найти("НачалоПериода") = Неопределено И НЕ МакетКомпоновки.ЗначенияПараметров.Найти("КонецПериода") = Неопределено И НЕ МакетКомпоновки.ЗначенияПараметров["НачалоПериода"].Значение = Дата(1,1,1) И НЕ МакетКомпоновки.ЗначенияПараметров["КонецПериода"].Значение = Дата(1,1,1) И МакетКомпоновки.ЗначенияПараметров["НачалоПериода"].Значение > МакетКомпоновки.ЗначенияПараметров["КонецПериода"].Значение Тогда Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "Дата начала периода не должна превышать дату окончания"; Сообщение.Сообщить(); Возврат; КонецЕсли; ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина); //Создадим и инициализируем процессор вывода результата ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); //Обозначим начало вывода ПроцессорВывода.НачатьВывод(); ТаблицаЗафиксирована = Ложь; ДокументРезультат.ФиксацияСверху = 0; //Основной цикл вывода отчета Пока Истина Цикл //Получим следующий элемент результата компоновки ЭлементРезультата = ПроцессорКомпоновки.Следующий(); Если ЭлементРезультата = Неопределено Тогда //Следующий элемент не получен - заканчиваем цикл вывода Прервать; Иначе // Зафиксируем шапку Если Не ТаблицаЗафиксирована И ЭлементРезультата.ЗначенияПараметров.Количество() > 0 И ТипЗнч(КомпоновщикНастроек.Настройки.Структура[0]) <> Тип("ДиаграммаКомпоновкиДанных") Тогда ТаблицаЗафиксирована = Истина; ДокументРезультат.ФиксацияСверху = ДокументРезультат.ВысотаТаблицы; КонецЕсли; //Элемент получен - выведем его при помощи процессора вывода ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); КонецЕсли; КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); КонецПроцедуры |
|||
10
Очкарик
07.06.13
✎
00:35
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |