Пошаговый пример создания печатной формы по шаблону Excel

Материал из Fabius NET DEV
Перейти к: навигация, поиск

Есть некий двухэтажный документ, для которого нужно создать печатную форму, в верхней части которой указаны некоторые реквизиты шапки документа, а в нижней части - содержимое подчинённого уровня (например, список номенклатуры).

1) Из Конфигуратора запускаем FabiusClient "в режиме отладки".
Открываем (как для обычного ввода документов) нужный тип документа и тут же - на уровне "шапок" - нажимаем иконку Печать:

Print101.PNG


2) В окне открывшегося списка печатных форм нажимаем на "Расширенный режим":

Print102.PNG

Кнопки в голубых рамках относятся к уже созданным ранее формам, а кнопки в зелёных рамках - это создание новых форм.

Print103.PNG

С помощью "Мастера" можно построить "стандартный отчёт".

Нажимаем на "Мастер" (Создать форму с помощью мастера) и заполняем "Имя" (группа Прочие) в нижней части карточки и, при необходимости, другие свойства новой печатной формы, в частности "Отдельный отчёт по отмеченным", "Признак отпечатанности", "Редактирование предпросмотра", шрифты, ... .
Кнопка "Дальше" внизу.

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

в шапке будет наименование организации

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

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

в СписаниеТМЦ (это шапки документов списания) нам нужны "получатель" ТМЦ, "дата" и "номер" документа - помечены красным на рисунке ниже;
на уровне номенклатуры (это НоменклатураДокументаКоллекция) тоже помечаем нужные реквизиты - помечены зелёным:

Print104.PNG



Следующее окно "Формирование групп элементов отчёта" пропускаем кнопкой Дальше внизу.

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


3) Открывается заготовка печатной формы, в которой в детальную полосу помещено наше "любое поле", выбранное выше. Переходим на закладку Макет:

Print03.PNG

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

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


4) Загружаем свой шаблон - самая первая кнопка закладки Макет на предыдущем рисунке.

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

Print04.PNG


5) Привязываем реквизиты первичного документа (_ОсновнойИсточник), перетаскивая их из окна Список полей на шаблон.


Print05.PNG


В том числе - при необходимости - привязываем к шаблону и реквизиты будущей детальной полосы, заполняя её реквизитами подчинённого уровня (например, списка номенклатуры):

В любом порядке
- перетаскиваем реквизиты списка номенклатуры на шаблон в строку детальной полосы
- обозначаем местоположение детальной полосы (в нашем примере она есть):
выделяем ячейки, образующие детальную полосу, и на закладке макет нажимаем на кнопку Детальная полоса.


Print06.PNG


Если ошиблись в указании детальной полосы, кликаем на голубую метку Detail текущей детальной полосы и удаляем её, как на рисунке в пункте 3).

Обратите внимание - справа внизу на этом рисунке: в окне Уровни привязки нужно указать, что Детальная полоса "привязана" к подчинённому уровню нашего документа.


6) Выходим с сохранением своей печатной формы:

Print14.PNG

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

...\FabiusNet\ExeOut\Server\SYSTEM\PrintTemplate\имяПечатнойФормы.repx и в reps.xlm на одну папку выше.
В этом случае позже в Конфигураторе обязательно нужно выполнить сохранение (закладка Дерево - Сохранить).

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

...\FabiusNet\ExeOut\Server\PRIVATE\PrintTemplate\имяПечатнойФормы.repx и в reps.xlm на одну папку выше.

Если выйти из шаблона обычным крестиком завершения работы справа вверху, изменения будут сохранены как частные (в каталоге PRIVATE).


Если выполнить сохранение в списке печатных форм:

Print15.PNG

изменения будут сохранены "в Entity" (SYSTEM).

Если удалить печатную форму из этого списка (красный крестик рядом с дискетой сохранения), удаление произойдёт "из Entity" (из каталога SYSTEM).


7) Для продолжения работы по созданию печатной формы снова нажимаем иконку Печать - см. пункт 1) этого описания.

Выбираем в левой части нужную печатную форму (пока она всего одна) и нажимаем кнопку Редактировать.


Print07.PNG


А далее см. пункт 5).


8) При необходимости можно править С#-текст, который автоматически генерируется для описания печатной формы:
на закладке Главная нажимаем кнопку Генерируемый источник:


Print08.PNG


Выбираем (если будет предложен выбор) Visual Studio и справа в окне Solution Explorer встаём на GenericPrintFormSource.cs. Если умеете, можете править текст слева.


Print09.PNG

Смотрите также

Инструкция по разработке Печатных форм