Отображает используемый по умолчанию диалоговый блок Visual FoxPro или диалоговый блок Page Setup отчета, или устанавливает установки используемого по умолчанию принтера для Visual FoxPro или для принтера окружения отчета.
SYS(1037 [, nValue]) |
Параметры
- nValue
-
Указывает значение, которое определяет функциональность SYS(1037).
В приведенной ниже таблице перечислены возможные значения для nValue.
nValue Описание 0 или опущен
Открывает диалоговый блок Page Setup используемый по умолчанию.
1
Открывает диалоговый блок Page Setup отчета.
2
Устанавливает установки принтера, используемого в окружении отчета в значения установок принтера, используемого по умолчанию.
3
Устанавливает установки принтера, используемого по умолчанию в значения установок принтера, используемого в окружении отчета.
![]() |
---|
Когда nValue установлено в значение 1, 2 и 3, таблица отчета или курсор должны быть открыты эксклюзивно. |
Возвращаемое значение
Символьный тип данных. SYS(1037) возвращает "1", если Visual FoxPro производит любые действия воздействующие на окружение принтера или его установки; в противном случае возвращается "0".
![]() |
---|
В некоторых случаях, если пользователь щелкает по OK в диалоговом блоке, бе производства каких-либо явных выборок установок, то из этого не следует, что изменения непременно произойдут. Однако, Visual FoxPro исследует любые аспекты окржения принтера или его установок в файле отчета и обновляет что-нибудь в тех установках, которые не соответствует полному списку аттрибутов, доступных из предоставляемых диалоговым блоком Page Setup. Если такое действие происходит, то возвращается "1." |
Примечания
SYS(1037) отображает диалоговый блок Page Setup с тем, чтобы вы могли изменить установки принтера, такие как размер бумаги и ее ориентацию. Установки, доступные через диалоговый блок Page Setup зависят от инсталлированного в системе принтера. SYS(1037), кроме того, устанавливает установки среды принтера для отчета в установки принтера, используемого по умолчанию или наоборот. Для получения более подробной информации смотрите описание Диалоговый блок Page Setup (Visual FoxPro).
SYS(1037,<N>) и отчеты
SYS(1037,1), SYS(1037,2) и SYS(1037,3) и отчеты в первую очередь полезны разработчикам, работающим с особенностями расширений Visual FoxPro 9.0 Report System. Для получения подробной информации об этих расширениях смотрите Расширения функциональности отчетов в Visual FoxPro.
Все три, связанные с отчетами, SYS(1037,<N>) варианты требуют доступа к курсору или открытой таблице с тем же самым расшмрение, что и файлы определений отчетов (.frx) или этикеток (.lbx). Отчет должен быть выбран, как курсор или открыт как таблица до вызова функции, и Visual FoxPro требует, чтобы таблица отчета была открыта в монопольном (exclusive) режиме. В противном случае, при вызове функции произойдет ошибка. Для получения более подробной информации о структуре таблиц отчетов и этикеток смотрите их описание в Таблица структур табличных файлов (.dbc, .frx, .lbx, .mnx, .pjx, .scx, .vcx).
SYS(1037,1) предоставляет разработчикам путь для внедрения расширений Report Builder с целью вызова родного диалогового блока установки страницы и сохранения выбора пользователя непосредственно в файле определения отчета или этикетки. Для получения более подробной информации смотрите Расширения отчетов в Design Time.
Созранение текщего принтерного окружения
SYS(1037,2) преподносится как путь временного сохранения текущего принтерного окружения в курсоре, с тем чтобы вы смогли восстановить это окружение в дальнейшем. По существу, эта функция всегда сохраняет все детали в курсоре, которые вы предоставите. Если курсор представляет собой реальный отчет и не имеет сохраненного принтерного окружения перед использованием SYS(1037,2), то оно будет сохранено в дальнейшем. Если вы не желаете, чтобы описание принтерного окружения оставалось в курсоре, то под вашу ответственность вы можете позже очистить эти поля. Для избежания необходимости задачи очистки этих полей, просто предоставьте курсор требуемого формата с единственной записью, вместо того, чтобы использовать реальный отчет или этикетку с функцией SYS(1037,2). Для получения более подробной информации смотрите описание задачи Как: сохранить принтерное окружение для отчетов.
SYS(1037,2) сохраняет любую информацию, уже находящуюся в установках принтерного окружения отчета. Она просто добавляет установки, которых еще нет и не переписывает существующие новым содержанием.
Например, если описание отчета включает в себя ORIENTATION=1
и COPIES=3
, для указания ландшафтной ориентации листа и требования печати трех копий, то эти установки не будут переписаны установками с потретной ориентацией листа. Однако, если вы удалите строку, указывающую количество копий COPIES=3
из описания отчета до вызова функции, то после ее вызова описание отчета будет содержать строку COPIES=<N>
. Эта строка будет соответствовать текущей установке Visual FoxPro, используемой по умолчанию.
Поскольку такое поведение явлется дополнительным, и если вы хотите использовать полный набор установко Visual FoxPro, используемый по умолчанию, то с этой функцией вы должны использовать пустой курсор, или убедиться в том, что соответствующие поля действительно пустые перед вызовом SYS(1037,2).
Восстановление текущего принтерного окружения
SYS(1037,3) восстанавливает установки принтера из описания отчета в установки Visual FoxPro, используемые по умолчанию. Хотя это может показаться counter-intuitive, использование этого варианта функции требует полной информации о принтерном окружении в отчете или этикетке, и поэтому в курсор могут быть записаны данные или изменены установки принтерного окружения. Если ваш отчет или этикета не имеют полной информации перед вызовом этой функции, она заполнит ее полной информацией, после ее вызова.
Учет переписи пользователем принтерных установок
В предыдущих версиях Visual FoxPro, сохранение установок принтера в отчете использовало три поля в первой записи таблицы: а именно поля EXPR, TAG и TAG2. В Visual FoxPro 9.0, если вы выбрали "не сохранять окружения принтера в отчете", то в этим полях хранится значительно меньше информации, что дает возможность вашему отчета более точно работать с широким диапазоном принтеров.
В Visual FoxPro 9.0 при создании отчета, вы, кроме того переписываете любые установки в этих полях, используя четвертое поле первой записи PICTURE. Ваши установки, сохраняемые в поле PICTURE, переписывают любые установки для тех же самых аттрибутов в полях EXPR и TAG. Отметьте, что эти установки регистро-чувствительные.
SYS(1037) знает об пользовательских установках в поле PICTURE и учитывает их при восстановлении принтерного окружения из файла отчета или этикетки.
Когда вы запускаете отчеты или этикетки, пользователи могут иметь уже другой уровень переписи хранимых установок принтера получаемый через опцию PROMPT команд REPORT FORM и LABEL. Если вы используете это ключевое слово, или предоставляете аналогичную инструкцию с членом CommandClauses.Prompt объекта ReportListener, то любые установки, предоставленные пользователем в runtime имеют преимущество над установками, хранящимися в отчете и над установками принтера, используемыми Visual FoxPro по умолчанию. Для получения более подробной информации смотрите описание Команда REPORT FORM, Команда LABEL и Свойство CommandClauses.