Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Рис.99 – Мастер создания отчета на основе двух таблиц, шаг 1
шаг 2 – выбор полей подчиненной таблицы, в данном случае, таблицы Sostav (рис. 100):
Рис.100 – Мастер создания отчета на основе двух таблиц, шаг 2
шаг 3 – выпор поля для связи таблиц, обычно определяется автоматически (рис. 101):
Рис.101 – Мастер создания отчета на основе двух таблиц, шаг 3
шаг 4 – определение параметров сортировки (рис. 81), сортировка в данном отчете не нужна; шаг 5 – выбор стиля отчета (рис. 102), при необходимости здесь можно указать необходимость проведения итоговых вычислений; в данном отчете итоговые вычисления не нужны;
Рис.102 – Мастер создания отчета на основе двух таблиц, шаг 5
шаг 6 – завершение создания отчета (рис. 84); укажите заголовок отчета Договор № и сохраните отчет под именем dogovor. frx. Выполните просмотр отчета и убедитесь, что они принял вид, представленный на рис. 103 (содержимое полей может отличаться). Обратите внимание, что в отчете отображается информация обо всех оформленных договорах.
Рис. 103 – Отчет dogovor. frx в режиме просмотра
В режиме конструктора окно настройки группировки отчета, используя контекстно меню свободной области отчета → команда Properties→ вкладкаDataGrouping или контекстно меню свободной области отчета → команда DataGrouping (рис. 104). Установите режим отображения каждой группы с новой страницы, используя переключатель NewPage.
Рис. 104 – Окно настройки параметров группировки

Рис. 105 – Панель Print Preview
Поскольку создаваемый отчет по структуре должен быть похож на форму oformlenie, то следует добавить в него поля из других таблиц базы данных, а для этого нужно отредактировать источник данных отчета DataEnvironment. Приведите DataEnvironment к виду, представленному на рис. 106, добавив новые таблицы и изменив связи между ними. Обратите внимание: нельзя менять связь между исходными таблицами Prokat и Sostav.8
Рис. 106 –Источник данных отчета dogovor
Перетаскиванием из DataEnvironment добавьте недостающие поля в отчет и отредактируйте его таким образом (ЗАДАНИЕ 23), чтобы его структура приняла вид, представленный на рис. 107: в процессе редактирования периодически выполняйте просмотр отчета командой контекстного меню Print Preview; обратите внимание, что в отчете отсутствуютполя ключей таблиц: kod_pr из таблицы Sostav, kod_kl из таблицы Klient, kod_sotr из таблицы Sotr – не удаляйте их, а используйте белый цвет шрифта; в отчет добавлены или изменены надписи; в отчете не используются области Title и PageHeader; для числовых полей установите выравнивание содержимого по левому краю, используя флажок Leftjustify вкладки Format диалогового окна FieldProperties; измените формат отображения дат (ЗАДАНИЕ 23, п.7).
Рис. 107 – Структура отчета Dogovor

Рис. 108 – Макет отчета Disk-1.frx
Завершите работу с проектом.5.7. Фильтрация данных отчета
При просмотре отчета, разработанного в ЗАДАНИИ 24, в нем отображается информация обо всех оформленных договорах проката дисков. В реальности этот документ должен выдаваться клиенту на руки непосредственно после оформления выдачи дисков. Представим себе ситуация – оформляется прокат дисков с номером 250, и требуется вывести на печать соответствующий договор. Что получится при использовании разработанного отчета? Отобразится документ из 250 листов, в котором надо сначала перейти к последней странице, а потом напечатать ее. Но это еще не самая сложная ситуация. Предположим, что при оформлении этого договора была допущена ошибка, и клиент ее заметил не сразу, а спустя несколько часов. Клиент возвращается в прокат, чтобы откорректировать и перепечатать договор, после которого, возможно, было оформлено достаточное количество выдач дисков в прокат. И в отчете придется искать страницу с номером 250. Конечно, существует возможность перейти к странице договора с заданным номером, но все же гораздо удобнее после оформления или редактирования проката нажатием одной кнопки «Печать» видеть на экране (и в дальнейшем распечатать) только один договор с нужным номером. Такую возможность предоставляет использование фильтрации в отчете.
Фильтрация возможно при наложении условия на отображаемые данные при помощи параметра FOR условие, где условие – выражение логического типа, и в отчете будут отображены только те записи, для которых условие верно.
ЗАДАНИЕ 25. Привязка отчета к текущей записи формы
Запустите проект dvd. pjx. Выполните просмотр отчета dogovor. frx. Закройте отчет. Обратите внимание на содержание окна Command (если оно не отображается на экране, то воспользуйтесь кнопкой
Рис. 109 – Команда просмотра отчета в окне Command
Установите курсор внутри строки с командой и нажмите клавишу Enter. Обратите внимание, что произошел запуск просмотра отчета. Снова установите курсор внутри строки с командой и отредактируйте ее (рис. 110):
Рис. 110–Отредактированная команда просмотра отчета
Запустите отредактированную команду. Обратите внимание на содержимое появляющегося отчета – в нем отображается информация о договоре №2 – т. е. запись из таблицы Prokat, где kod_pr=2. Это и есть применение фильтра к содержимому отчета. Скопируйте последнюю выполненную команду в буфер обмена. Откройте для редактирования форму oformlenie. Выделите панель управляющих кнопок, вызовите на ней контекстное меню и выберите команду Edit, в результате чего вокруг панели появится голубая рамка ограничителя и кнопки станут доступны для редактирования по отдельности. Выделите кнопку
Рис. 111 – Вызов отчета для текущего окна формы
Запустите отредактированную форму и с ее помощью оформите договор проката дисков, на основе следующих данных:№ договора 3
Клиент
Сотрудник
Начало проката 25.10.2014
Окончание проката 27.10.2014
Выданы диски №4, №15
Нажмите кнопку5.7. Размещение вычисляемых полей в отчете
Вычисляемые поля могут быть созданы в отчете при использовании режима конструктора. Выражения для вычислений могут быть введены для вновь создаваемого поля или для уже существующего поля отчета.
Для создания поля в отчете следует использовать инструмент
Field панели ReportControls. Процедура добавления поля подобна добавлению поля на форме.
После выбора инструмента Field на панели ReportControls и размещения нового поля на форме автоматически откроется окно свойств поля FieldProperties(рис. 112). Если выражение для вычисления будет добавлено в уже существующее поле отчета, то следует отобразить окно свойств этого поля.
Написание выражения выполняется в поле Expression. При написании выражения могут быть использованы названия полей таблиц баз данных, от которых зависит будущее вычисляемое поле, и различные функции FoxPro.

Рис. 112 – Окно свойств вычисляемого поля
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |


