|
Как в СКД в шапке макета задать ячейку - параметр и при выводе заполнить | ☑ | ||
---|---|---|---|---|
0
egorover
28.07.11
✎
13:25
|
Задаю Заголовке группировки ячейку параметр <Дата1>,но при выводе даёт ошибку
{Форма.ФормаОтчета(9)}: Ошибка при вызове метода контекста (Выполнить): Ошибка компоновки макета МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); по причине: Ошибка компоновки макета по причине: Ошибка в выражении по причине: Синтаксическая ошибка а сам код вывода таков Процедура СформироватьОтчет(Кнопка) Настройки = КомпоновщикНастроек.Настройки; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; //Попытка МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); //Исключение // Сообщить(ОписаниеОшибки()); //КонецПопытки; ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки); ЭлементыФормы.Результат.Очистить(); ДокументРезультат = ЭлементыФормы.Результат; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.ОтображатьПроцентВывода = Истина; ПроцессорВывода.НачатьВывод(); ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); Пока ЭлементРезультата <> Неопределено Цикл |
|||
1
egorover
28.07.11
✎
13:26
|
вопрос - как правильно организовать заполнение макета Заголовка?
|
|||
2
egorover
28.07.11
✎
14:22
|
жаль, что так никого и не удалось услышать
|
|||
3
PVV65
28.07.11
✎
14:33
|
После вывода отчета можно написать следующее
Область=ЭлементыФормы.Результат.НайтиТекст("Регистратор"); Область.текст = "КУКУ"; |
|||
4
egorover
28.07.11
✎
14:58
|
сейчас попробую
|
|||
5
egorover
28.07.11
✎
15:17
|
(3) нет не находит
{Форма.ФормаОтчета(66)}: Значение не является значением объектного типа (Текст) Область.Текст = ТекущаяДата() |
|||
6
egorover
28.07.11
✎
15:17
|
Процедура СформироватьОтчет(Кнопка)
Настройки = КомпоновщикНастроек.Настройки; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки); ЭлементыФормы.Результат.Очистить(); ДокументРезультат = ЭлементыФормы.Результат; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.НачатьВывод(); ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); Пока ЭлементРезультата <> Неопределено Цикл Если ЭлементРезультата.Макет = "Макет6" Тогда КонецЕсли; ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); Область=ЭлементыФормы.Результат.НайтиТекст("Долг1"); Область.Текст = ТекущаяДата() //ВывестиСводнуюТаблицу(ДокументРезультат, ДокументРезультат.ВысотаТаблицы + 1, 1); //ВывестиСводнуюТаблицу(ДокументРезультат, ДокументРезультат.ВысотаТаблицы + 1, 2); КонецПроцедуры |
|||
7
Axel2009
28.07.11
✎
15:19
|
в схеме компановки данных в макетах заполняй то что тебе надо
|
|||
8
egorover
28.07.11
✎
15:21
|
(7) значение переменное зависит от параметра ДатаНач допустим
|
|||
9
egorover
28.07.11
✎
15:22
|
неделя1 = Строка(Формат(ДатаК, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели, "ДФ=dd.MM.yyyy"));
неделя2 = Строка(Формат(КонНедели+60 * 60 * 24, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 7, "ДФ=dd.MM.yyyy")); неделя3 = Строка(Формат(КонНедели+60 * 60 * 24 * 8, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 14, "ДФ=dd.MM.yyyy")); неделя4 = Строка(Формат(КонНедели+60 * 60 * 24 * 15, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 21, "ДФ=dd.MM.yyyy")); неделя5 = Строка(Формат(КонНедели+60 * 60 * 24 * 22, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 28, "ДФ=dd.MM.yyyy")); неделя6 = Строка(Формат(КонНедели+60 * 60 * 24 * 29, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 35, "ДФ=dd.MM.yyyy")); неделя7 = Строка(Формат(КонНедели+60 * 60 * 24 * 36, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 42, "ДФ=dd.MM.yyyy")); неделя8 = Строка(Формат(КонНедели+60 * 60 * 24 * 43, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 49, "ДФ=dd.MM.yyyy")); неделя9 = Строка(Формат(КонНедели+60 * 60 * 24 * 50, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 56, "ДФ=dd.MM.yyyy")); неделя10 = Строка(Формат(КонНедели+60 * 60 * 24 * 57, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 63, "ДФ=dd.MM.yyyy")); неделя11 = Строка("с "+Формат(КонНедели+60 * 60 * 24 * 64, "ДФ=dd.MM.yyyy")+" и более"); |
|||
10
egorover
28.07.11
✎
15:23
|
у меня
Неделя1 Неделя2 .... Неделя11 |
|||
11
egorover
28.07.11
✎
15:24
|
при выводе шапки Заголовка необходимо проставить значения недель
|
|||
12
Axel2009
28.07.11
✎
15:28
|
СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[0].Элементы[0].Значение и подставляй что тебе надо.
|
|||
13
Axel2009
28.07.11
✎
15:30
|
(11) не проще ли недели задать группировку столбцов - период понеделям?
|
|||
14
Fragster
гуру
28.07.11
✎
15:30
|
А через макет не айс, чтоли?
|
|||
15
egorover
28.07.11
✎
15:34
|
(13) нет, там в запросе
ВЫБОР КОГДА ОстаткиПоПериодам.СуммаВзаиморасчетовОстаток > 0 И ДОБАВИТЬКДАТЕ(ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ОстаткиПоПериодам.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) >= &КонецПериода И ДОБАВИТЬКДАТЕ(ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ОстаткиПоПериодам.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) <= КОНЕЦПЕРИОДА(&КонецПериодаОплата, НЕДЕЛЯ) ТОГДА ОстаткиПоПериодам.СуммаВзаиморасчетовОстаток ИНАЧЕ 0 КОНЕЦ КАК ПросроченныйДолг1, 0 КАК ПросроченныйДолг1План, ВЫБОР КОГДА ОстаткиПоПериодам.СуммаВзаиморасчетовОстаток > 0 И ДОБАВИТЬКДАТЕ(ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ОстаткиПоПериодам.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) > КОНЕЦПЕРИОДА(&КонецПериодаОплата, НЕДЕЛЯ) И ДОБАВИТЬКДАТЕ(ОстаткиПоПериодам.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ОстаткиПоПериодам.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности) <= ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(&КонецПериодаОплата, НЕДЕЛЯ), ДЕНЬ, 7) ТОГДА ОстаткиПоПериодам.СуммаВзаиморасчетовОстаток ИНАЧЕ 0 КОНЕЦ КАК ПросроченныйДолг2, |
|||
16
egorover
28.07.11
✎
15:36
|
и вот у меня в шапке значениях таблицы
ПросроченныйДолг1 ПросроченныйДолг2 .. ПросроченныйДолг41 |
|||
17
egorover
28.07.11
✎
15:36
|
и вместо этих значений нужно подставить значения недель
|
|||
18
egorover
28.07.11
✎
15:43
|
(12) Как это? Это же Заголовок без значений, я знаю только что он выводится в макете6
|
|||
19
PVV65
28.07.11
✎
15:44
|
(5) Проверь. Должно находить. У меня работает.
|
|||
20
Axel2009
28.07.11
✎
15:45
|
(18)
Макеты[0] - твой макет (определить тебе его нужно или задать имя макета, что гемор) Макет[0] - первая строка твоего макета Ячейки[0] - первая ячейка первой строки макета Элементы[0] - элемент ячейки Значение - тут хранится либо параметр либо строка, если строка - то тупо текст будет. |
|||
21
PVV65
28.07.11
✎
15:46
|
+(19) ИМХО. Это очень простой способ редактирования результата.
|
|||
22
egorover
28.07.11
✎
15:52
|
(21) можно полный текст кода...
|
|||
23
egorover
28.07.11
✎
15:57
|
(20)Получение элемента по индексу для значения не определено
Сообщить(ЭлементРезультата.Макет[6].Макеты[0].Ячейки[0].Элементы[0].Значение); ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); Пока ЭлементРезультата <> Неопределено Цикл Если ЭлементРезультата.Макет = "Макет6" Тогда Сообщить(ЭлементРезультата.Макет[6].Макеты[0].Ячейки[0].Элементы[0].Значение); КонецЕсли; ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); КонецЦикла; |
|||
24
PVV65
28.07.11
✎
15:57
|
(22) Так полный приведен.
Такое сообщение об ошибке будет если текст не найден. В этом случае ЭлементыФормы.Результат.НайтиТекст возвращает Неопределено. |
|||
25
egorover
28.07.11
✎
15:58
|
(24) так оно и есть, почему не находит мне и непонятно
|
|||
26
egorover
28.07.11
✎
15:59
|
(24) Вот что тут не так?
Процедура СформироватьОтчет(Кнопка) Настройки = КомпоновщикНастроек.Настройки; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки); ЭлементыФормы.Результат.Очистить(); ДокументРезультат = ЭлементыФормы.Результат; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.НачатьВывод(); ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); Пока ЭлементРезультата <> Неопределено Цикл Если ЭлементРезультата.Макет = "Макет6" Тогда Сообщить(ЭлементРезультата.Макет[6].Макеты[0].Ячейки[0].Элементы[0].Значение); КонецЕсли; ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); Область=ЭлементыФормы.Результат.НайтиТекст("Долг1"); Область.Текст = ТекущаяДата(); //ВывестиСводнуюТаблицу(ДокументРезультат, ДокументРезультат.ВысотаТаблицы + 1, 1); //ВывестиСводнуюТаблицу(ДокументРезультат, ДокументРезультат.ВысотаТаблицы + 1, 2); КонецПроцедуры |
|||
27
Axel2009
28.07.11
✎
15:59
|
(23) делать это нужно не в момент вывода результата. а до формирования макета компоновки. после этого оперировать можно только параметрами..
|
|||
28
Axel2009
28.07.11
✎
16:00
|
СхемаКомпоновкиДанных.Макеты[6].Макет[0].Ячейки[0].Элементы[0].Значение = "ТЕСТ";
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); и далее по тексту без обработки процессора компоновки данных.. |
|||
29
Axel2009
28.07.11
✎
16:01
|
(26) плюс ко всему элементрезультата может быть как Начало, Начало и Конец, Конец. обрабатывать надо только "Начало и Конец". остальные пропускать для обработки..
|
|||
30
Axel2009
28.07.11
✎
16:02
|
плюс ко всему где
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); ? |
|||
31
egorover
28.07.11
✎
16:04
|
(30) исправил
|
|||
32
Axel2009
28.07.11
✎
16:11
|
(31) получилось в итоге то?
|
|||
33
egorover
28.07.11
✎
16:11
|
(28) Получилось
Процедура СформироватьОтчет(Кнопка) СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[0].Элементы[0].Значение = "ТЕСТ"; Настройки = КомпоновщикНастроек.Настройки; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки); ЭлементыФормы.Результат.Очистить(); ДокументРезультат = ЭлементыФормы.Результат; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.ОтображатьПроцентВывода = Истина; ПроцессорВывода.НачатьВывод(); ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); Пока ЭлементРезультата <> Неопределено Цикл Если ЭлементРезультата.Макет = "Макет6" Тогда КонецЕсли; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); //Область=ЭлементыФормы.Результат.НайтиТекст("Долг1"); //Область.Текст = ТекущаяДата(); //ВывестиСводнуюТаблицу(ДокументРезультат, ДокументРезультат.ВысотаТаблицы + 1, 1); //ВывестиСводнуюТаблицу(ДокументРезультат, ДокументРезультат.ВысотаТаблицы + 1, 2); КонецПроцедуры |
|||
34
egorover
28.07.11
✎
16:12
|
Только с номера Макетов
|
|||
35
egorover
28.07.11
✎
16:12
|
нужно разбираться
|
|||
36
Axel2009
28.07.11
✎
16:14
|
(35) какой уровень содержит информацию по неделям?
|
|||
37
egorover
28.07.11
✎
16:22
|
(36) СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[10].Элементы[0].Значение = "ТЕСТ";
|
|||
38
egorover
28.07.11
✎
16:22
|
вот тут только попадает
|
|||
39
egorover
28.07.11
✎
16:24
|
а нельзя через цикл все значения просмотреть всех уровней дерева?
|
|||
40
egorover
28.07.11
✎
16:25
|
а потом
СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[13].Элементы[0].Значение = "ТЕСТ"; и т.д. у меня ячейки объединены |
|||
41
Axel2009
28.07.11
✎
16:25
|
(39) ответа на (36) я не увидел.
уровни что у тебя получатся в выводе содержатся в МакетКомпоновки. там Тело ищи самый последний реквизит. |
|||
42
egorover
28.07.11
✎
16:28
|
(41) уровень группировки в макете? то первый
|
|||
43
Axel2009
28.07.11
✎
16:40
|
смотри СхемаКомпоновкиДанных.МакетыГруппировок, там ищи имя макета для своей группировки.
потом в СхемаКомпоновкиДанных.Макеты ищи этот макет и запоминай его индекс. и его правь. если ячейки объединены, значит они объединены в макете СКД? |
|||
44
egorover
28.07.11
✎
16:46
|
(43) да, они объединены в макете
|
|||
45
Axel2009
28.07.11
✎
16:55
|
(44) ну так разъедини.. а те что надо объединить по циклу объединишь потом
ОписаниеМакета[Индекс].Ячейки[8].Элементы.Очистить(); ТиповыеОтчеты.УстановитьПараметр(ОписаниеМакета[Индекс].Ячейки[8].Оформление.Элементы, "ОбъединятьПоГоризонтали", Истина); |
|||
46
egorover
28.07.11
✎
16:56
|
(45) Да это я обошёл
СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[10].Элементы[0].Значение = "ТЕСТ"; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[13].Элементы[0].Значение = "ТЕСТ"; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[16].Элементы[0].Значение = "ТЕСТ"; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[19].Элементы[0].Значение = "ТЕСТ"; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[22].Элементы[0].Значение = "ТЕСТ"; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[25].Элементы[0].Значение = "ТЕСТ"; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[28].Элементы[0].Значение = "ТЕСТ"; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[31].Элементы[0].Значение = "ТЕСТ"; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[34].Элементы[0].Значение = "ТЕСТ"; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[37].Элементы[0].Значение = "ТЕСТ"; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[40].Элементы[0].Значение = "ТЕСТ"; |
|||
47
egorover
28.07.11
✎
16:58
|
Тут в понимании проблема, почему Макеты[0]?
или Макеты[0].Макет[0], как определить индекс правильно? |
|||
48
egorover
28.07.11
✎
17:00
|
а здесь ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий();
Пока ЭлементРезультата <> Неопределено Цикл ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); макет по номером Макет6 |
|||
49
Axel2009
28.07.11
✎
17:12
|
(47) в макетах СКД у тебя какие группировки?
|
|||
50
egorover
28.07.11
✎
17:15
|
Первая
Вторая Третья |
|||
51
Axel2009
28.07.11
✎
17:15
|
нет, я про основную схему компоновки данных. там макеты какие созданы?
|
|||
52
egorover
28.07.11
✎
17:17
|
Только один
|
|||
53
egorover
28.07.11
✎
17:17
|
ОсновнаяСхемаКомпановки и все
|
|||
54
Axel2009
28.07.11
✎
17:18
|
так. открываем основную схему компоновки данных. там закладка макеты. там чтонить заведено?
|
|||
55
egorover
28.07.11
✎
17:19
|
ааа, ну конечно
|
|||
56
egorover
28.07.11
✎
17:20
|
там макет Заголовок по первой группировке
|
|||
57
egorover
28.07.11
✎
17:21
|
как раз эта шапка которая должна выходить
|
|||
58
Axel2009
28.07.11
✎
17:26
|
вот, значит отладчиком смотри
СхемаКомпоновкиДанных.МакетыЗаголовковГруппировок. тип макета там всегда заголовок. а полягруппировки - там массив (имя твоей группировки первой). там в реквизите Макет хранится ИмяМакета. по этому имени в СхемаКомпоновкиДанных.Макеты ищешь нужный макет. и отсюда у тебя получается Макеты[0]. Макет[0] номер строки твоего макета. |
|||
59
egorover
28.07.11
✎
18:04
|
||||
60
egorover
28.07.11
✎
18:04
|
выложил
|
|||
61
egorover
28.07.11
✎
18:05
|
буду в дальнейшем редактировать
|
|||
62
Axel2009
28.07.11
✎
18:09
|
(61) публикация неактивна..
|
|||
63
egorover
29.07.11
✎
10:35
|
(62) извините, загрузил по новой.
|
|||
64
egorover
29.07.11
✎
11:42
|
Ну как бы вот так получилось, спасибо Axel2009
Процедура СформироватьОтчет(Кнопка) КонНедели = КонецНедели(КонецДня(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериодаОплата").Значение)); неделя1 = Строка(Формат(КонецДня(КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("КонецПериодаОплата").Значение), "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели, "ДФ=dd.MM.yyyy")); неделя2 = Строка(Формат(КонНедели+60 * 60 * 24, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 7, "ДФ=dd.MM.yyyy")); неделя3 = Строка(Формат(КонНедели+60 * 60 * 24 * 8, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 14, "ДФ=dd.MM.yyyy")); неделя4 = Строка(Формат(КонНедели+60 * 60 * 24 * 15, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 21, "ДФ=dd.MM.yyyy")); неделя5 = Строка(Формат(КонНедели+60 * 60 * 24 * 22, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 28, "ДФ=dd.MM.yyyy")); неделя6 = Строка(Формат(КонНедели+60 * 60 * 24 * 29, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 35, "ДФ=dd.MM.yyyy")); неделя7 = Строка(Формат(КонНедели+60 * 60 * 24 * 36, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 42, "ДФ=dd.MM.yyyy")); неделя8 = Строка(Формат(КонНедели+60 * 60 * 24 * 43, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 49, "ДФ=dd.MM.yyyy")); неделя9 = Строка(Формат(КонНедели+60 * 60 * 24 * 50, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 56, "ДФ=dd.MM.yyyy")); неделя10 = Строка(Формат(КонНедели+60 * 60 * 24 * 57, "ДФ=dd.MM.yyyy")+"-"+Формат(КонНедели+60 * 60 * 24 * 63, "ДФ=dd.MM.yyyy")); неделя11 = Строка("с "+Формат(КонНедели+60 * 60 * 24 * 64, "ДФ=dd.MM.yyyy")+" и более"); СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[10].Элементы[0].Значение = неделя1; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[13].Элементы[0].Значение = неделя2; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[16].Элементы[0].Значение = неделя3; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[19].Элементы[0].Значение = неделя4; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[22].Элементы[0].Значение = неделя5; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[25].Элементы[0].Значение = неделя6; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[28].Элементы[0].Значение = неделя7; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[31].Элементы[0].Значение = неделя8; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[34].Элементы[0].Значение = неделя9; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[37].Элементы[0].Значение = неделя10; СхемаКомпоновкиДанных.Макеты[0].Макет[0].Ячейки[40].Элементы[0].Значение = неделя11; Настройки = КомпоновщикНастроек.Настройки; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,, ДанныеРасшифровки); ЭлементыФормы.Результат.Очистить(); ДокументРезультат = ЭлементыФормы.Результат; ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.ОтображатьПроцентВывода = Истина; ПроцессорВывода.НачатьВывод(); ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); Пока ЭлементРезультата <> Неопределено Цикл ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); //ВывестиСводнуюТаблицу(ДокументРезультат, ДокументРезультат.ВысотаТаблицы + 1, 1); //ВывестиСводнуюТаблицу(ДокументРезультат, ДокументРезультат.ВысотаТаблицы + 1, 2); КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |