Как сделать макет 1с

Обновлено: 06.07.2024

В текущих редакциях типовых конфигураций существует по крайней мере три способа изменить стандартные печатные формы. Рассмотрим их.

1. Первый способ не требует разработки на внутреннем языке.

Но изменить получится только часть уже существующей печатной формы. Необходимо зайти в макеты печатных форм и заменить стандартный макет своим (или поменять прямо там). На примере 1С УТ11: Меню "НСИ и Администрирование" - "Печатные формы, отчеты и обработки" - "Макеты печатных форм"

3. Третий способ, с изменением конфигурации.

Рассматриваем конфигурацию УТ11. В конфигурации придется включить возможность изменения. Для того чтобы печатная форма отобразилась надо в вашем разработанном документе (или в типовом документе конфигурации) поместить/допилить процедуры а) регистрации печатной формы б) формирования печатной формы. Где менять: модуль менеджера объекта, модуль формы, общий модуль. Рассмотрим на примере добавления печатной формы в новый документ.

В модуль менеджера объекта добавляем код

В модуль формы обязательно добавляем код

В общий модуль "УправлениеПечатьюУТСервер", в существующую процедуру, добавляем код

Готово, можно печатать документ. Кнопка на форме появится автоматически благодаря коду "ПодключаемыеКоманды.ПриСозданииНаСервере()", а вызываться команда печати будет благодаря "Подключаемый_ВыполнитьКоманду()" в этом же модуле. Выглядит примерно так:


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


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


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


Модуль команды Печать

Модуль менеджера документа


Редактирование макета

Добавим новую область для вывода итоговой суммы документа. Выделим мышью две пустые строки под табличной частью документа и выполним пункт главного меню Таблица > Имена > Назначить имя. Назовем область Всего , нажмем ОК.

В созданной области, в колонке Цена , напишем ВСЕГО , а в колонке Сумма напишем ВсегоПоДокументу :


Вызвав палитру свойств для последней заполненной нами ячейки, в свойстве Заполнение укажем, что в этой ячейке будет находиться не текст, а параметр.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.



skype: live:di-sem

@programmist_1C

1С свой макет в СКД создать и использовать

1С СКД свой макет вывода

Задача:

Сделать свой макет скд вместо стандартного

Решение:

Создадим простейший отчет СКД.

1

тут сразу уберем галочку:

2

Создадим свой макет СКД (макет оформления компановки данных):

3

создать макет оформления компоновки данных 1С

Загрузим в макет стандартный макет и чуть чуть его подправим:

создать макет СКД

Изменим фон заголовков:

изменить макет скд

я еще поправил цвет шрифта группировок

Теперь нужно его как-то загрузить.

Идем в модуль объекта нашего отчета и создаем предопределенную процедуру "ПриКомпоновкеРезультата"

В этой статье мы разберем использование макетов в 1С СКД. При разработке отчетов иногда возникает необходимость в более сложной компоновке результата (в табличный документ) чем это позволяют типовые средства. Например, это может быть формирование печатной формы документа типа ТОРГ-12 – и такое тоже можно сделать средствами СКД, особенно если необходимы такие возможности как произвольные отборы. Или это могут быть какие-то особенные элементы отчета, которые нельзя сделать, используя стандартные возможности 1С – например, собственные итоги.

Сначала рассмотрим с вами стандартные возможности подсистемы СКД в 1С, которые позволяют получить отчет заданной формы.

Первое чем определяется форма (структура) отчета в СКД это настройка группировок

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



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

Итак, вы поняли, что без использования макетов ваш отчет реализовать не получится и приняли решение о его (их) использовании. Должен вас сразу предупредить – применение макетов в отчете на СКД в 1С часто не дает возможность пользователю изменять структуру отчета. То есть макеты, настроенные для одного варианта отчета, могут неправильно работать в другом варианте отчета, если поменялся состав группировок. Если вас устраивает такое ограничение, то продолжим.


Основную сложность при настройке макетов вызывает (в том числе у меня) обилие видов макетов в сочетании с типом макета:


В этой статье я не буду расписывать какое сочетание в каком случае имеет смысл применять, потому что это не сильно интересно – это раз. Два – на этот счет есть документация от 1С и есть также хорошая шпаргалка в виде статьи на ИС.

Если мне нужно сделать отчет с использованием макетов, то я не запоминаю все варианты сочетаний, а руководствуюсь только следующими правилами:

При добавлении любого макета вы можете привязать его к группировке или по имени или по набору полей.

Связывание макета с данными производится через параметры и параметры расшифровки.


В поле выражение вы связываете параметр макета (или параметр расшифровки) с данными. Как видно здесь можно использовать выражения на языке выражений СКД и также имеется доступ через точку к реквизитам объектов.

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

Небольшой пример макета и небольшой лайфхак в этом же отчете. Добавим макеты для отчета, на котором мы тренировались:


Здесь мы добавили макет группировки для группировки первого уровня (настойки отчета на картинке ниже):


И добавили макет заголовка для этой же группировки. Получим результат:


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


И не будем задавать для него область


В этом случае заголовок не выводится как нам было нужно:


Теперь разберем несколько примеров, когда даже с помощью макетов в 1С не получится реализовать задачу.



В итоге получим


Как видно разрыв страницы не выводится. Видимо удаляется при формировании результата. Такое вот странное поведение системы. По крайней мере в релизе платформы 8.3.14.

Для нашего отчета мы поступим немного иначе – добавлять новую группировку не будем. Ее роль будет выполнять макет подвала, в которую мы выведем наш параметр разрыва.



Как видно разрыв страницы теперь выводится.

Шаг 1. Выводим наши наборы с помощью детальных записей вертикально


Аналогично задаются выбранные поля для расхода.

Шаг 2. Нам нужно разделить таблицы друг от друга. Для этого добавляем макеты заголовка группировки.


Шаг 3. Копируем модуль формирования отчета из статьи и дорабатываем его для своего отчета. Тезисно, что мы делаем в модуле:

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