Как сделать заголовок в скд
Использование предопределенных макетов
Любой предопределенный макет представляет собой область табличного документа. Существуют следующие типы предопределенных макетов :
Примерная структура отчета приведена на указанном ниже рисунке:
Примерная структура отчета, содержащего таблицу, приведена на указанном ниже рисунке:
Макет поля
В данном примере макет поля Контрагент выводится наклонным шрифтом увеличенной высоты.
Макет группировки
Данный макет предназначен для оформления группировок. При создании данного макета необходимо указать либо имя группировки, либо поля группировки, для которой создается макет. Также необходимо указать тип макета. Существуют следующие типы предопределенных макетов :
Структура предопределенных макетов группировки показана на указанном ниже рисунке:
Общий итог заголовок группировки уровень 1 | ||||||
Заголовок группировки уровень 1 | ||||||
Общий итог заголовок группировки уровень 2 | ||||||
Заголовок группировки уровень 2 | ||||||
. | ||||||
Общий итог заголовок группировки уровень N | ||||||
Заголовок группировки уровень N | ||||||
Подвал группировки уровень N | ||||||
Общий итог подвал группировки уровень N | ||||||
. | ||||||
Подвал группировки уровень 2 | ||||||
Общий итог подвал группировки уровень 2 | ||||||
Подвал группировки уровень 1 | ||||||
Общий итог подвал группировки уровень 1 |
Макет заголовка группировки
Данный макет предназначен для оформления заголовков группировок. Заголовком группировки называется область отчета, содержащая имена выводимых в отчете полей. При создании данного макета необходимо указать либо имя группировки, либо поля группировки, для которой создается макет. Также необходимо указать тип макета. Типы макетов такие же, как и для макета группировки. Существует следующее правило вывода макетов заголовка группировки : макет заголовка группировки действует на указанную группировку и на все ее вложенные группировки до момента обнаружения другого макета заголовка группировки. При обнаружении другого макета заголовка группировки начинает использоваться обнаруженный макет заголовка группировки. Тем самым существует возможность создания различных макетов заголовка для различных группировок.
В данном примере для группировок Контрагент и ДетальныеЗаписиНоменклатуры созданы разные макеты заголовка группировки.
Макет ресурсов
Данный макет предназначен для оформления ресурсов таблицы. Ресурсами таблицы называется область отчета, содержащая значения полей ресурсов группировок или детальных записей. На указанном ниже рисунке выделены примеры областей ресурсов.
Для каждого макета ресурсов необходимо указать, для какой группировки строки и колонки таблицы он создается. Таким образом, макет ресурсов создается как бы на пересечении соответствующей строки и колонки таблицы. Например, на указанном ниже рисунке создается макет ресурсов для группировок Контрагент (колонки таблицы) и Номенклатура (строки таблицы).
При создании макета ресурсов необходимо указать либо имя группировки, либо поля группировки, для которой создается макет. Также необходимо указать тип макета. Типы макетов такие же, как и для макета группировки.
На указанном ниже рисунке изображен отчет с таблицей, в которой колонками являются контрагенты, а строками – номенклатура. Для указанной таблицы создано два макета ресурсов : макет ресурсов для колонок (изображен наклонным шрифтом) и макет ресурсов для общих итогов по горизонтали (изображен наклонным жирным шрифтом).
АйТиБложик
Маленький IT блог с характером 1С.
Настройка шапки отчета в СКД
Создадим внешний отчет, который будет выводить отчетную информацию об остатках номенклатуры и её обороте. Требуемая информация запрашивается запросом с помощью набор данных типа «Запрос», который содержит текст запроса:
ВЫБРАТЬ
_ДемоНоменклатура.Ссылка КАК Номенклатура
ПОМЕСТИТЬ АктуальнаяНоменклатура
ИЗ
Справочник._ДемоНоменклатура КАК _ДемоНоменклатура
ГДЕ
НЕ _ДемоНоменклатура.ПометкаУдаления
И НЕ _ДемоНоменклатура.ЭтоГруппа
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
АктуальнаяНоменклатура.Номенклатура,
_ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.МестоХранения,
_ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.КоличествоНачальныйОстаток,
_ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.КоличествоКонечныйОстаток,
_ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.КоличествоПриход,
_ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.КоличествоРасход,
_ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.КоличествоОборот
ИЗ
АктуальнаяНоменклатура КАК АктуальнаяНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления._ДемоОстаткиТоваровВМестахХранения.ОстаткиИОбороты КАК _ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты
ПО АктуальнаяНоменклатура.Номенклатура = _ДемоОстаткиТоваровВМестахХраненияОстаткиИОбороты.Номенклатура
1. Настройка заголовков на вкладке СКД «Наборы данных»
Здесь все просто, ставим галочку напротив свойства поля «Заголовок» (т.е. отменяем автозаголовок) и вводим необходимый текст заголовка (см. рисунок 4).
Рисунок 4. Изменения названия заголовка в наборе данных |
Если требуется задать оформление для всего поля, а не только для его заголовка, то существует свойство поля «Оформление», с помощью которого можно задать некое оформление поля, например, изменить шрифт или задать цвет фона (см. рисунок 5).
Рисунок 5. Оформление полей в наборе данных |
На этом мои знания про вкладку «Наборы данных» заканчиваются.
2. Настройка заголовков полей на вкладке СКД «Настройки»
Для задания заголовка поля, необходимо выделить нужное поле, правой кнопкой мыши вызвать контекстное меню и выбрать пункт «Установить заголовок» (см. рисунок 6)
Рисунок 6. Установка заголовков полей в настройках отчета |
Что бы сгруппировать поля (например, по типу информации), нужно добавить группировочное поле и поместить в него требуемые поля (см. рисунок 7), вложенность неограниченная.
Рисунок 7. Группировка полей в настройках отчета |
Так же можно поиграться со свойством группировочного поля «Расположение», от которого зависит вид группировки полей.
Данные действия можно производить и в режиме 1С:Предприятия, открыв настройки отчета, НО, в состав настроек отчета должен быть включен пункт «Выбранные поля» (см. рисунок 8).
Рисунок 8. Расширение настроек отчета |
После всех проделанных операций внешний вид отчета изменился следующим образом (см. рисунок 9):
Рисунок 9. Внешний вид отчета после настройки СКД |
На этом легкая часть по настройке шапки отчета закончена. Из плюсов выше перечисленных действий: вся настройка выполняется стандартными средствами. Из минусов: отсутствие возможности задания многострочного заголовка поля.
3. Программная установка заголовков полей
Платформа позволяет программно устанавливать заголовки полей, более того, устанавливать многострочные, что в свою очередь дает возможность гибко и динамически задавать заголовки полей при формировании отчета.
Для этого в модуле отчета определим процедуру ПриКомпоновкеРезультата. В этой процедуре напишем код по заданию заголовка полей.
// 1. Получаем пользовательские настройки.
НастройкиКД = ЭтотОбъект.КомпоновщикНастроек.ПолучитьНастройки();
// 2. Получаем значение параметра «Период» из которого определяем дату начала и окончания периода.
ПараметрПериод = Новый ПараметрКомпоновкиДанных(«Период»);
Период = НастройкиКД.ПараметрыДанных.НайтиЗначениеПараметра(ПараметрПериод).Значение;
НачалоПериода = Период.ДатаНачала;
КонецПериода = Период.ДатаОкончания;
// 4. Получим список полей, который находятся в группировке «Остатки» (см. рисунок 7) и
// зададим новый заголовок, обойдя элементы в цикле.
ВыбранныеПоля = НастройкиКД.Выбор.Элементы; // Первый уровень полей.
ВыбранныеПоляОстатки = ВыбранныеПоля[6].Элементы; // Поля группировки остатки.
Для каждого ВыбранноеПоле Из ВыбранныеПоляОстатки Цикл
Для Каждого ЭлементМассива Из СписокПолей Цикл
ПолеКомпоновки = Новый ПолеКомпоновкиДанных(ЭлементМассива.ИмяПоля);
Если ВыбранноеПоле.Поле = ПолеКомпоновки Тогда
ВыбранноеПоле.Заголовок = ЭлементМассива.Заголовок;
КонецЕсли;
КонецЦикла;
КонецЦикла;
// 5. Загрузим измененный пользовательские настройки обратно.
ЭтотОбъект.КомпоновщикНастроек.ЗагрузитьНастройки(НастройкиКД);
Результат отчета (см. рисунок 10):
Рисунок 10. Многострочный текст заголовка |
Способ потяжелее, чем все выше перечисленные, но мне нравится.
4. Задание шапки отчета с помощью макета
Для более гибкой настройки внешнего вида отчета в СКД предусмотрено создание макетов. В настройках отчета создадим еще одну группировку «детальные записи» и установим имя «СтрокаДЗ» для этой группировки (см. рисунок 11).
Рисунок 11. Установка имени для группировки |
На вкладке «Макеты» добавим макет заголовка группировки. Для макета в табличном документе создадим шапку отчета (шапка отчета должна содержать столько заголовков полей, сколько выводит полей детальная запись) и укажем область табличного документа для макета (см. рисунок 12).
Рисунок 12. Маке заголовка группировки |
В итоге отчет имеет следующего вида шапку(см. рисунок 13):
Рисунок 13. Макет СКД в качестве шапки отчета |
По моему мнению, макеты имеют один большой минус, это невозможность перестраиваться под заданную пользовательскую группировку, поэтому их следует использовать в том случае, если отчетная форма регламентированная и не может быть изменена. Попробуйте задать группировку для группировки «СтрокаДЗ» и увидите, что макет сбился.
На сайте информационно-технологического сопровождения приведена статья Использование предопределенных макетов, которая подробно описывает приемы использования макетов в СКД.
5. Доработка результата (табличного документа)
В этом способе используется замечательный метод табличного документа НайтиТекст(), но для применения данного способа требуется отключение стандартной обработки формирования результата отчета.
Рисунок 14. Изменение табличного документа |
Так же для найденной ячейки можно задать форматирование, см. свойства ячейки табличного документа в синтакс-помощнике.
Данный способ я обнаружил для себя недавно, он прост и позволяет очень гибко работать с шапкой отчета, главное, что бы текст ячейки имел уникальный текст.
Как сделать заголовок в скд
Войдите как ученик, чтобы получить доступ к материалам школы
Система компоновки данных 1С 8.3 для начинающих: меняем оформление
Автор уроков и преподаватель школы: Владимир Милькин
Ставим цель
- Сделать копию отчёта с прошлого урока Изменить его имя на «Урок4.erf» Внести изменения в копию отчёта (сегодня разбираем примеры с условным оформлением)
Делаем копию отчёта с прошлого урока
Делаем копию отчёта с прошлого урока:
Переименовываем копию в «Урок4.erf»:
Открываем базу «Гастроном» в конфигуратор:
Открываем отчёт «Урок4.erf»:
В форме отчёта меняем имя на «Урок4» и открываем схему компоновки данных:
Давайте вспомним, как выглядит отчёт прошлого урока в режиме пользователя:
Сокращаем длину дробной части
Первая проблема, которую нам предстоит решить, это вывод слишком большого количества цифр после запятой (177,666666. ).
Причиной этого послужило деление при нахождении среднего. Чтобы устранить этот недостаток укажем в настройках поля «СредняяКалорийность» формат вывода чисел, подразумевающий только 2 числа в дробной части.
Для этого переходим на закладку «Настройки», там выделяем пункт «Отчет», далее в самом низу выделяем закладку «Условное оформление» и нажимаем зелёный плюсик, чтобы добавить новую запись:
В появившейся записи настраиваем поле «Оформляемые поля», чтобы указать к каким именно полям мы будем применять условное оформление:
В открывшемся диалоге нажимаем зелёный плюсик, чтобы добавить поле:
Добавляем поле «СредняяКалорийность» (именно в нём выводится слишком много чисел в дробной части), получилось вот так:
Теперь переходим к настройке поля «Оформление»:
Наша задача задать правильный числовой формат:
Указываем значение точности равное двум:
Получилось вот так:
Итоговая запись условного оформления выглядит так:
Сохраняем отчёт и открываем (конфигуратор закрывать не нужно) в режиме пользователя:
Отлично, теперь дробная часть округляется до 2 чисел.
Выводим итоги жирным шрифтом
Теперь было бы здорово, чтобы итоговые значения вкуса, калорийности и средней калорийности выводились жирным шрифтом.
Это также легко сделать при помощи условного оформления.
Переходим на закладку «Настройки», далее выделяем пункт «Цвет» (потому что мы делаем настройку оформления, которая будет относится только к группировке цвет), далее переходим на закладку «Условное оформление» и снова нажимаем зелёный плюсик:
В новой записи настраиваем пункт «Оформляемые поля» (кнопка многоточие) и выбираем поля «Вкус», «Калорийность» и «СредняяКалорийность»:
Переходим к настройке поля «Оформление»:
Здесь находим пункт «Шрифт» и также открываем его по кнопке многоточие:
Начертание шрифта настраиваем вот так:
Нажимаем «Ок» и ещё раз «Ок»:
Получилось вот так:
Сохраняем отчёт и формируем в режиме пользователя:
Отлично, но не совсем. Хочется, чтобы жирным выводились только значения итогов напротив цветов, а у нас условное оформление применилось ещё и к заголовкам полей и к общим итогам. Исправим это.
Для этого возвращаемся к записи условного оформления, которую мы только что создали и настраиваем поле «Область использования»:
Снимаем галки напротив «В общем итоге» и «В заголовке полей»:
Снова сохраняем отчёт и формируем в режиме пользователя:
Выводим жирным шрифтом общие итоги
А теперь давайте добьёмся, чтобы вся общая строка итогов (включая слово «Итого») выводилась жирным шрифтом.
Для этого переходим на закладку «Настройки», выделяем пункт «Отчет» (применяем настройки в целом к отчёту), далее переходим на закладку «Условное оформление» и добавляем ещё одну запись (зелёная кнопка плюс):
В новой записи не указывать «Оформляемые поля», что означает, что мы хотим применить оформление ко всем полям, а вместо этого настраиваем оформление:
Наконец, правильно настраиваем «Область использования» нашей записи:
Получилось вот так:
Сохраняем отчёт и формируем в режиме пользователя:
Разукрашиваем фон заголовка полей и общие итоги
А что, если нам разукрасить фон заголовка полей и итоговой строки в зелёный цвет? А текст в белый?
Я покажу как легко это делается.
Вновь переходим на закладку «Настройки», выделяем пункт «Отчет», далее переходим на закладку «Условное оформление» и жмём зелёный плюсик, чтобы добавить ещё одну запись:
Сразу настраиваем «Область использования новой записи (оставляем только «В общем итоге» и «В заголовке полей»):
Далее переходим к полю «Оформление» новой записи, настраиваем цвет фона и цвет текста как на картинке ниже:
Получилось вот так:
Сохраняем отчёт и формируем в режиме пользователя:
Добавляем заголовок
Ну и в качестве завершающего приёма этого урока установим заголовок отчёта (мы это уже делали в прошлых уроках).
Для этого переходим на закладку «Настройки», выделяем пункт «Отчет», далее переходим на закладку «Другие настройки» и там настраиваем пункты «Выводить заголовок» и «Заголовок» вот так:
Сохраняем отчёт и формируем в режиме пользователя:
Войдите на сайт как ученик
Авторизуйтесь, чтобы получить доступ ко всем материалам школы
Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.
Войдите как ученик, чтобы получить доступ к материалам школы