|   |   | 
| 
 | Как в отчете на СКД закрепить шапку ? | ☑ | ||
|---|---|---|---|---|
| 0
    
        b-dm 27.02.14✎ 10:17 | 
        Есть отчет на СКД, Как сделать так чтобы заголовок таблицы и названия колонок были закреплены ?     | |||
| 1
    
        Лодырь 27.02.14✎ 10:19 | 
        (0) Задумайся над тем как ты вообще закрепляешь шапку у любых отчетов не на СКД и сделай так же.     | |||
| 2
    
        b-dm 27.02.14✎ 10:23 | 
        (1) - там же нет явного макета ?)     | |||
| 3
    
        Wobland 27.02.14✎ 10:23 | 
        обычно СКД - это и есть макет     | |||
| 4
    
        b-dm 27.02.14✎ 10:24 | 
        (3) -может ткнете на ссылку или на пример, пока чето идей нету)     | |||
| 5
    
        Лодырь 27.02.14✎ 10:24 | 
        (2) Результатом является табличный документ. И закрепляешь ты шапку в нем, и этот способ не зависит от способа формирования этого табличного документа.     | |||
| 6
    
        Лодырь 27.02.14✎ 10:25 | ||||
| 7
    
        Cube 27.02.14✎ 10:25 | 
        (0) По-умолчанию и так закреплено...     | |||
| 8
    
        Лодырь 27.02.14✎ 10:26 | 
        (7) Зависит от версии платформы     | |||
| 9
    
        b-dm 27.02.14✎ 10:37 | 
        Нашел вот что:
 ТабличныйДокумент.ФиксацияСверху (SpreadsheetDocument.FixedTop) ТабличныйДокумент (SpreadsheetDocument) ФиксацияСверху (FixedTop) версия платформы 8.2.19.80 не знаю как по умолчанию закреплено. у меня не закреплено :) | |||
| 10
    
        Cube 27.02.14✎ 11:39 | 
        (9) "версия платформы 8.2.19.80"
 Вот, вчера делал отчет на СКД на древней базе. Работает на 8.2.19.83 в режиме совместимости (!) с 8.1. Шапка сама закреплена: при скроллинге отчета вниз, шапка остается на месте. Кода в отчете нет. И это закрепление добавили очень давно. Может года два назад... | |||
| 11
    
        b-dm 27.02.14✎ 11:45 | 
        (10) прям наименование отчета закреплено ? не форма, а то что выводится в макете ?     | |||
| 12
    
        Cube 27.02.14✎ 11:53 | 
        (11) Прямо как будто применили ТабличныйДокумент.ФиксацияСверху()     | |||
| 13
    
        Tolyas 27.02.14✎ 12:20 | ЭлементыФормы.Результат.Очистить();
 | |||
| 14
    
        Cube 27.02.14✎ 12:27 | 
        Ладно, шутки в сторону.
 Вот отчет: http://files.mail.ru/A27BCA8EC6194AD698C7506B7079E54B Вот результат: http://storage8.static.itmages.ru/i/14/0227/h_1393489570_6672934_7ead259d8c.jpg Схема отчета: <?xml version="1.0" encoding="UTF-8"?> <DataCompositionSchema xmlns="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcscom="http://v8.1c.ru/8.1/data-composition-system/common" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <dataSource> <name>ИсточникДанных1</name> <dataSourceType>Local</dataSourceType> </dataSource> <dataSet xsi:type="DataSetQuery"> <name>НаборДанных1</name> <field xsi:type="DataSetFieldField"> <dataPath>Поле1</dataPath> <field>Поле1</field> </field> <field xsi:type="DataSetFieldField"> <dataPath>Поле2</dataPath> <field>Поле2</field> </field> <dataSource>ИсточникДанных1</dataSource> <query>ВЫБРАТЬ "Один" КАК Поле1, 10 КАК Поле2 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Один", 9 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "Два", 10</query> </dataSet> <settingsVariant> <dcsset:name>Основной</dcsset:name> <dcsset:presentation xsi:type="xs:string">Основной</dcsset:presentation> <dcsset:settings xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows"> <dcsset:selection> <dcsset:item xsi:type="dcsset:SelectedItemField"> <dcsset:field>Поле1</dcsset:field> </dcsset:item> <dcsset:item xsi:type="dcsset:SelectedItemField"> <dcsset:field>Поле2</dcsset:field> </dcsset:item> </dcsset:selection> <dcsset:item xsi:type="dcsset:StructureItemGroup"> <dcsset:groupItems> <dcsset:item xsi:type="dcsset:GroupItemField"> <dcsset:field>Поле1</dcsset:field> <dcsset:groupType>Items</dcsset:groupType> <dcsset:periodAdditionType>None</dcsset:periodAdditionType> <dcsset:periodAdditionBegin xsi:type="xs:dateTime">0001-01-01T00:00:00</dcsset:periodAdditionBegin> <dcsset:periodAdditionEnd xsi:type="xs:dateTime">0001-01-01T00:00:00</dcsset:periodAdditionEnd> </dcsset:item> </dcsset:groupItems> <dcsset:order> <dcsset:item xsi:type="dcsset:OrderItemAuto"/> </dcsset:order> <dcsset:selection> <dcsset:item xsi:type="dcsset:SelectedItemAuto"/> </dcsset:selection> <dcsset:item xsi:type="dcsset:StructureItemGroup"> <dcsset:order> <dcsset:item xsi:type="dcsset:OrderItemAuto"/> </dcsset:order> <dcsset:selection> <dcsset:item xsi:type="dcsset:SelectedItemAuto"/> </dcsset:selection> </dcsset:item> </dcsset:item> </dcsset:settings> </settingsVariant> </DataCompositionSchema> Платформа 8.2.19.83. Шапка зафиксирована. | |||
| 15
    
        rozer76 27.02.14✎ 14:24 | 
        сделать кнопку и ...
 Процедура ДействияФормыЗафиксировать(Кнопка) Результат = ЭлементыФормы.Результат; ИмяОбласти = Результат.ТекущаяОбласть.Имя; ПозицияДвоеточия = Найти(ИмяОбласти,":"); Если ПозицияДвоеточия > 0 тогда ВсегоСимволов = СтрДлина(ИмяОбласти); ИмяОбласти = Сред(ИмяОбласти,ПозицияДвоеточия+1,ВсегоСимволов-ПозицияДвоеточия); КонецЕсли; ПозицияС = Найти(ИмяОбласти,"C"); Строк = Сред(ИмяОбласти,2,ПозицияС-2); Столбцов = Сред(ИмяОбласти,ПозицияС+1,СтрДлина(ИмяОбласти)-ПозицияС); Результат.ФиксацияСверху = Число(Строк); Результат.ФиксацияСлева = Число(Столбцов); КонецПроцедуры | |||
| 16
    
        b-dm 27.02.14✎ 15:03 | 
        (14)(15) - спасибо, сейчас посмотрю. 
 ДействияФормыЗафиксировать(Кнопка) в модуле формы добавить, процедура типовая ? | |||
| 17
    
        stepan73 27.02.14✎ 15:12 | 
        если нужно автоматом закрепить шапку, то в процедуре ПриКомпоновкеРезультата нужно. Только там и формировать ПФ нужно будет.
 типо этого ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина); //Создадим и инициализируем процессор вывода результата ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); //Обозначим начало вывода ПроцессорВывода.НачатьВывод(); ТаблицаЗафиксирована = Ложь; ДокументРезультат.ФиксацияСверху = 0; //Основной цикл вывода отчета Пока Истина Цикл //Получим следующий элемент результата компоновки ЭлементРезультата = ПроцессорКомпоновки.Следующий(); Если ЭлементРезультата = Неопределено Тогда //Следующий элемент не получен - заканчиваем цикл вывода Прервать; Иначе // Зафиксируем шапку Если Не ТаблицаЗафиксирована И ЭлементРезультата.ЗначенияПараметров.Количество() > 0 И ТипЗнч(КомпоновщикНастроек.Настройки.Структура[0]) <> Тип("ДиаграммаКомпоновкиДанных") Тогда ТаблицаЗафиксирована = Истина; ДокументРезультат.ФиксацияСверху = ДокументРезультат.ВысотаТаблицы; КонецЕсли; //Элемент получен - выведем его при помощи процессора вывода ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); КонецЕсли; КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |