Как сделать шапку в 1с

Обновлено: 07.07.2024

Войдите как ученик, чтобы получить доступ к материалам школы

Система компоновки данных 1С 8.3 для начинающих: меняем оформление

Автор уроков и преподаватель школы: Владимир Милькин

Ставим цель

  • Сделать копию отчёта с прошлого урока
  • Изменить его имя на "Урок4.erf"
  • Внести изменения в копию отчёта (сегодня разбираем примеры с условным оформлением)

Делаем копию отчёта с прошлого урока

Делаем копию отчёта с прошлого урока:

Переименовываем копию в "Урок4.erf":

Открываем базу "Гастроном" в конфигуратор:

Открываем отчёт "Урок4.erf":

В форме отчёта меняем имя на "Урок4" и открываем схему компоновки данных:

Давайте вспомним, как выглядит отчёт прошлого урока в режиме пользователя:

Сокращаем длину дробной части

Первая проблема, которую нам предстоит решить, это вывод слишком большого количества цифр после запятой (177,666666. ).

Причиной этого послужило деление при нахождении среднего. Чтобы устранить этот недостаток укажем в настройках поля "СредняяКалорийность" формат вывода чисел, подразумевающий только 2 числа в дробной части.

Для этого переходим на закладку "Настройки", там выделяем пункт "Отчет", далее в самом низу выделяем закладку "Условное оформление" и нажимаем зелёный плюсик, чтобы добавить новую запись:

В появившейся записи настраиваем поле "Оформляемые поля", чтобы указать к каким именно полям мы будем применять условное оформление:

В открывшемся диалоге нажимаем зелёный плюсик, чтобы добавить поле:

Добавляем поле "СредняяКалорийность" (именно в нём выводится слишком много чисел в дробной части), получилось вот так:

Теперь переходим к настройке поля "Оформление":

Наша задача задать правильный числовой формат:

Указываем значение точности равное двум:

Получилось вот так:

Итоговая запись условного оформления выглядит так:

Сохраняем отчёт и открываем (конфигуратор закрывать не нужно) в режиме пользователя:

Отлично, теперь дробная часть округляется до 2 чисел.

Выводим итоги жирным шрифтом

Теперь было бы здорово, чтобы итоговые значения вкуса, калорийности и средней калорийности выводились жирным шрифтом.

Это также легко сделать при помощи условного оформления.

Переходим на закладку "Настройки", далее выделяем пункт "Цвет" (потому что мы делаем настройку оформления, которая будет относится только к группировке цвет), далее переходим на закладку "Условное оформление" и снова нажимаем зелёный плюсик:

В новой записи настраиваем пункт "Оформляемые поля" (кнопка многоточие) и выбираем поля "Вкус", "Калорийность" и "СредняяКалорийность":

Переходим к настройке поля "Оформление":

Здесь находим пункт "Шрифт" и также открываем его по кнопке многоточие:

Начертание шрифта настраиваем вот так:

Нажимаем "Ок" и ещё раз "Ок":

Получилось вот так:

Сохраняем отчёт и формируем в режиме пользователя:

Отлично, но не совсем. Хочется, чтобы жирным выводились только значения итогов напротив цветов, а у нас условное оформление применилось ещё и к заголовкам полей и к общим итогам. Исправим это.

Для этого возвращаемся к записи условного оформления, которую мы только что создали и настраиваем поле "Область использования":

Снимаем галки напротив "В общем итоге" и "В заголовке полей":

Снова сохраняем отчёт и формируем в режиме пользователя:

Выводим жирным шрифтом общие итоги

А теперь давайте добьёмся, чтобы вся общая строка итогов (включая слово "Итого") выводилась жирным шрифтом.

Для этого переходим на закладку "Настройки", выделяем пункт "Отчет" (применяем настройки в целом к отчёту), далее переходим на закладку "Условное оформление" и добавляем ещё одну запись (зелёная кнопка плюс):

В новой записи не указывать "Оформляемые поля", что означает, что мы хотим применить оформление ко всем полям, а вместо этого настраиваем оформление:

Наконец, правильно настраиваем "Область использования" нашей записи:

Оставляем единственный пункт - "В общем итоге":

Получилось вот так:

Сохраняем отчёт и формируем в режиме пользователя:

Мы добились своего

Разукрашиваем фон заголовка полей и общие итоги

А что, если нам разукрасить фон заголовка полей и итоговой строки в зелёный цвет? А текст в белый?

Я покажу как легко это делается.

Вновь переходим на закладку "Настройки", выделяем пункт "Отчет", далее переходим на закладку "Условное оформление" и жмём зелёный плюсик, чтобы добавить ещё одну запись:

Сразу настраиваем "Область использования новой записи (оставляем только "В общем итоге" и "В заголовке полей"):

Далее переходим к полю "Оформление" новой записи, настраиваем цвет фона и цвет текста как на картинке ниже:

Получилось вот так:

Сохраняем отчёт и формируем в режиме пользователя:

Добавляем заголовок

Ну и в качестве завершающего приёма этого урока установим заголовок отчёта (мы это уже делали в прошлых уроках).

Для этого переходим на закладку "Настройки", выделяем пункт "Отчет", далее переходим на закладку "Другие настройки" и там настраиваем пункты "Выводить заголовок" и "Заголовок" вот так:

Сохраняем отчёт и формируем в режиме пользователя:

Эталонная обработка, после выполнения всех шагов этого урока

Войдите на сайт как ученик

Для учеников

Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.

На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .

Google выдал довольно много вариантов исполнения, но ни один из них у меня не сработал.
Поэтому решил написать эту статью, думаю начинающим специалистам будет полезно.

Итак есть два способа задать место для картинки в макете:
1) Вставить картинку в макет, как отдельный объект, обращение будет происходить по Имени



2) Привязать её к конкретной ячейке, обращение будет происходить по Параметру Картинки



В первом случае картинка не может быть больше выделенной области и при этом может быть перемещена пользователем при просмотре печатной формы.

-Пример перемещения картинки при просмотре:



-Вот так будет выглядеть изменение размера в свойствах картинки с Пропорционально на Реальный размер

Во втором случае картинка будет жестко привязана к ячейке и может растягиваться пропорционально ширине колонки. (*будет растягиваться по ширине картинки пропорционально ширине ячейки. )
Ниже пример с картинками разных размеров и пропорций.

Далее перейдем непосредственно к коду обработки

Функция, формирующая печатную форму:


Здесь нас интересует только вторая и третья (закомментированная) строки.

необходима для того, чтобы картинки не выходили за границы листа при печати


позволят распечатать макет в альбомной ориентации по умолчанию.

Вывод картинки на форму рассмотрим на примере табличной части так как в обоих случаях код практически идентичен.

В 4ой строке находим файл картинки в базе

ТекущаяСтрока.Номенклатура - Ссылка на необходимый элемент справочника

“ФайлКартинки” – Наименование реквизита содержащего картинку

В 5ой строке проверяем наличие картинки в вышеуказанном реквизите. Без этого при попытке печати форма выдаст ошибку, если хоть одна из картинок не заполнена.



ФайлКартинки . Наименование – проверяемый реквизит, если файла картинки нет, то его наименование будет не заполнено.

С 6-ой по 13-ую строки (как и 4-ая) фрагмент типового кода УТ 11.4 отвечающего за печать картинок

И наконец непосредственно помещение картинки на макет:
Для первого способа:

Для второго способа:

Всё готово, вы великолепны !
Образец обработки будет в прикрепленных файлах.

Условное оформление формы в 1с 8 служит для управления видимостью, доступностью, цветом элементов таблиц управляемой формы (а также оно используется в СКД и динамических списках). Удобство его использования заключается в том, что вы один раз задаете условие по которому должно меняться оформление вашей формы. После этого при работе пользователя с формой, при срабатывании условия оформление будет меняться автоматически. Не нужно использовать события формы и писать лишний код.

Следует заменить, что условное оформление форм работает только в конфигурациях использующих управляемое приложение (Бухгалтерия 3.0, ЗУП 3.0/3.1, Управление торговлей 11 и т.п.)

Условное оформление 1с. Интерактивная настройка

  • Открыть свойства формы -> вкладка оформление -> УсловноеОформление Открыть;

Открыть условное оформление формы

  • Откроется таблица Настройка условного оформления;
  • В первом столбце необходимо выбрать оформление (или сразу несколько);
  • Во втором столбце задать условие, по которому будет срабатывать выбранное оформление;
  • С третьем столбце необходимо выбрать элементы формы на которые будет действовать выбранное оформление.

Настройка условного оформления

Обратите внимание, что условное оформление действует только на колонки таблиц формы. Другие элементы формы вы тоже можете выбрать в колонке Оформляемые поля, но это не даст никакого результата.

Условное оформление формы. Пример интерактивной настройки

Форма обработки выглядит так:

Настроим следующее условное оформление данной формы: при установке реквизита СкрытьКолонку1 в значение Истина, в таблице форме скрывать реквизит Колонка1.

  • Откроем настройку условного оформления формы;
  • Добавим в таблицу новую строку;
  • В колонке Оформление нажмем на кнопку с тремя точками и выберем параметр Видимость, значение Нет;


  • В колонке Оформляемые поля нажмем на кнопку с тремя точками, в открывшемся окне добавим новый элемент, и выберем значение ТаблицаФормыКолонка1;
  • В итоге у нас должна получиться настройка условного оформления, такая же как на следующем рисунке;
  • Нажмем кнопку Ок, сохраним нашу обработку и запустим ее в режиме 1С Предприятие;
  • При установке флажка Скрыть колонку 1, будут происходить следующие изменения в оформлении формы.

Условное оформление 8.3. Пример программной настройки

Используя ту же внешнюю обработку, что и в предыдущем пункте, приведем пример программной настройки условного оформления. Необходимо сделать следующее: при установке реквизита ПоменятьЦветКолонки2 в значение Истина, в таблице формы раскрашивать фон Колонки 2, при установке реквизита СделатьНедоступнойКолонку3 в значение Истина, в таблице формы делать недоступным реквизит Колонка3.

В модуле формы создадим серверную процедуру, назовем ее УстановитьУсловноеОформление и сразу же допишем ее вызов в процедуре ПриСозданииНаСервере.

Весь следующий код будем писать в процедуре УстановитьУсловноеОформление. Нам необходимо добавить новый элемент условного оформления формы, для этого используем стандартную коллекцию формы УсловноеОформление.

Также как и в интерактивном варианте, нам необходимо в созданном элементе заполнить оформления, условия и поля. Для того чтобы указать поле мы должны создать поле компоновки данных с именем колонки на которую будет распространяться оформление. Если полей несколько, добавляем нужное количество полей компоновки данных. Для отборов создаем элементы отбора компоновки данных и заполняем для них левое значение, правое значение и вид сравнения. Для того, чтобы задать нужные оформления заполним значения параметров доступных оформлений. В нашем примере получается следующий код:

Таким образом мы создали оформление для второй колонки таблицы. Для третьей колонки оно делается аналогичным образом, поэтому не будем на нем подробно останавливаться. Итоговый код процедуры УстановитьУсловноеОформление будет выглядеть следующим образом:

Напомню, что скачать обработку написанную на основе разобранных примеров можно Здесь.

Читайте также: