Добавление новых данных в печатную форму

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск

В данном примере рассмотрим добавление в накладную «Расход перемещение» новую колонку c названием поставщика. Для добавления новых данных в отчет необходимо открыть на редактирование саму печатную форму (рис.1). Для открытия на редактирование печатной формы щелкаем левой кнопкой мыши по кнопке «Печать» с изображением принтера, одновременно зажав кнопку Shift на клавиатуре

Рис.1 Открыть печатную форму на редактирование

Откроется Дизайнер пакета отчетов(рис.2), он разбит на четыре окна, рассмотрим каждое из них:

Рис.2 Дизайнер пакета отчетов

1.В окне Отчеты список всех формирующихся шаблонов данной печатной формы. Именно этот список отчетов программа формирует при нажатии на кнопку «Печать» (рис.3).

Рис.3 Формирующиеся отчеты

Чтобы просмотреть интересующий шаблон, нужно открыть его на редактирование правой кнопкой мыши выбрав из выпадающего списка пункт «Редактировать шаблон» (рис. 4).

Рис.4 Открытый на редактирование шаблон отчета

Мы можем добавить шаблон нового отчета, щелкнув правой кнопкой мыши в любом месте окна «Отчеты», и выбрав из выпадающего списка «Новый шаблон» (рис.5).

Рис.5 Создание нового шаблона

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

Рис.6 Статус отчета

•Статус «Не создавать» обозначает, что отчет не будет формироваться;

•Статус «С запросом» обозначает, что отчет будет формироваться с вызовом запроса пользователя;

•Статус «Без запроса» создает отчет автоматически.

2.В окне «Данные» дизайнера пакета отчетов создаются запросы на SQL, наборы данных, на основе которых формируются печатные формы. Для редактирования или просмотра какого-либо запроса нужно щелкнуть по нему правой кнопкой мыши и выбрать «Редактировать» (рис. 7).

Рис.7 Открыть запрос на редактирование

Откроется окно, содержащее запрос, в котором можно внести изменения (рис. 8):

Рис.8 Запрос «Заголовок документа»

Для создания нового запроса нужно щелкнуть правой кнопкой мыши по «Новое подключение» и выбрать «Новый запрос» (рис. 9):

Рис.9 Новый запрос

Чтобы проверить какие данные выдает тот или иной запрос, необходимо выполнить его в IBExpert.

3. Окно «Текстовые макроподстановки» содержит значения параметров, которые подставляются в запросы из окна «Данные» для задания дополнительных условий (рис. 10).

Рис.10 Окно «Текстовые макроподстановки»

Так, например, в запросе Детализация при выполнении запроса :doc_detail: заменится на VW_DOC_DETAIL_ACTIVE, а :doc_id: присвоится значение 10048 (рис. 11).

Рис.11 Запрос «Детализация документа»

4. В окне «Данные пользователя» отображаются параметры, значение которых задаются пользователем при формировании отчета. Например, если отчет необходимо сформировать с учетом данных в определенный период, то при создании отчета появится диалоговое окно, которое спросит у пользователя дату начала и дату конца периода. В данной печатной форме никаких дополнительных данных не требуется, поэтому окно пустое.

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

Рис.12 Открыть шаблон на редактирование

Откроется редактор отчета (рис. 13). Он состоит из заголовка отчета (ReportTitle), заголовка страницы (Header), набора данных (MasterData), подвала (Footer).

Рис.13 Редактор отчета

Источником данных является doc_detail_fr, то есть таблица заполняется данными, которые являются результатом выполнения запроса «Детализация документа» (рис. 14).

Рис.14 Источник данных отчета

Откроем запрос на редактирование, чтобы проверить, формируются ли при его выполнении необходимые данные (рис. 15).

Рис.15 Запрос «Детализация документа»

В IBExpert создаем новый запрос и копируем туда содержимое из окна запроса (рис. 16).

Рис.16 Запрос в IBExpert

Заменяем на макроподстановки :doc_detail: и :doc_id: на данные из окна «Текстовые макроподстановки» Дизайнера пакета отчетов: 10048 и VW_DOC_DETAIL_ACTIVE соответственно. Получаем следующий работающий запрос: выбор всех данных из представления VW_DOC_DETAIL_ACTIVE, и поля nds из таблицы DEPS, при условии, что doc_id в представлении VW_DOC_DETAIL равен 10048 (рис. 17).

Рис.17 Выполнение запроса в IBExpert

Выполняем запрос. Как мы видим, в результате его выполнения нужные данные не формируются. Следовательно, добавим выборку новых данных, а именно – наименование контрагента из таблицы AGENTS. Так как после оприходования на позицию могли создаваться документы корректировки, то выбор контрагента будем осуществлять через процедуру pr_motherpart, которая возвращает первоначальную партию (рис. 18):

Рис.18 Изменение запроса

Выполним запрос по кнопке F9, убеждаемся, что нужные данные выбираются (рис. 19).

Рис.19 Результат выполнения отчета

Копируем наш рабочий запрос и вставляем в печатную форму, убрав макроподстановки (рис. 20):

Рис.20 Измененный запрос в FastReport

Сохраняем кнопкой «ОК», и снова открываем на редактирование шаблон отчета. Теперь нужно добавить колонку. Для этого воспользуемся выносными линиями, их можно вытащить либо с верхней линейной разметки, либо с боковой слева: встать на линейную разметку, и вытянуть, зажав левую кнопку мыши . С их помощью настраиваем ширину колонок, и освобождая место для новой. Для того, чтобы отрегулировать размер колонки, нужно выделить ее, навести курсор мыши на ее границу, чтобы он превратился в двойную стрелку, далее зажимая левую кнопку мыши перетаскиваем границу на нужное расстояние.(рис. 21). Если нужно подвинуть текстовый объект, или несколько объектов, то необходимо выделить его и передвигать с помощью клавишей на клавиатуре «Вверх», «Вниз», «Вправо», «Влево» и зажатой кнопкой Ctrl.

Рис.21 Работа с выносными линиями

Теперь создадим заголовок для новой колонки: создаем новый объект «Текст» (рис. 22):

Рис.22 Объект «Текст»

В нем название заголовка колонки – Поставщик (рис. 23).

Рис.23 Заголовок колонки

Регулируем длину и ширину данного объекта, обрамляем рамками с помощью панели

Регулируем длину ширину.jpg
Рис.24 Заголовок колонки

Теперь необходимо добавить колонку с данными. В нашем случае – это информация документа прихода у каждой позиции, добавленной в документ перемещения. Для этого аналогично создаем объект «Текст» и нажимаем на кнопку «Вставить выражение» (рис. 25).

Рис.25 Вставить выражение

Открывается «Редактор выражений», в нем выбираем источник данных doc_detail_fr и выбираем данные SAGENT– название поставщика, ,щелкаем по ним два раза левой кнопкой мыши и нажимаем ОК (рис. 26, 27, 28).

Рис.26 Добавление данных
Рис.27 Добавление данных
Рис.28 Добавление данных
Рис.29 Добавление данных

Подтверждаем кнопкой «ОК». Редактируем объект по ширине и высоте, обрамляем линиями. Выравниваем текст для эстетичного вида (рис. 30).

Рис.30 Настройка положения текста

Чтобы сохранить изменения в отчете нужно нажать на значок дискеты. Для предварительного просмотра – значок лупы (рис. 31).

Рис.31 Сохранение и предварительный просмотр изменений
Рис.32 Предварительный просмотр

После того, как все изменения были сохранены, закрываем окно редактирования отчета. В окне дизайнера пакета отчетов обязательно сохраняем изменения нажатием на кнопку «Сохранить» с эмблемой дискеты, в противном случае никакие изменения не сохранятся! (рис. 33). Закрываем дизайнер.

Рис.33 Сохранение изменений в Дизайнере пакета отчетов

Теперь, при формировании документа Накладная в расходе перемещением появилась колонка, содержащая информацию по приходной накладной позиции.