Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / проблема с печатью отчетов / 18 сообщений из 18, страница 1 из 1
07.12.2010, 14:17
    #36999450
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
Добрый день всем, проблема с печатью отчетов.
У одной из пользователей документы уходят на принтер не по умолчанию, хотя в программе стоит

SET PRINTER TO default
REPORT FORM &report_name PREVIEW &&на экран

Электронщик утверждает что принтер у нее настроен, тот который у нее на столе стоит, а у ходит все-таки к соседям.

Вроде в файле win.ini должно быть прописано имя принтера по умолчанию, но я что-то не вижу.

А можно как-то узнать имя компьютера к которому подключен принтер, на который уходит документ?
...
Рейтинг: 0 / 0
07.12.2010, 20:14
    #37000515
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
Сравните два значения

Код: plaintext
?SET("Printer", 2 ) == SET("Printer", 3 )

2 - это какой принтер установлен как принтер по умолчанию в системе Windows
3 - это какой принтер установлен как принтер по умолчанию в среде FoxPro

Обычно принтер в среде FoxPro может быть изменен если используется опция PROMPT в команде REPORT или вызван диалог SYS(1037).

Также, теоретически, может влиять "Printer Environment", если оно сохранено в настройках отчета. Проверьте, не совпадает ли тот принтер куда идет печать с тем принтером, который был настроен как принтер по умолчанию в момент сохранения отчета после модификации. Точнее, конечно, драйвер принтера.

Информацию о том, какой принтер к какому порту подключен можно получить через функцию APrinters(). "Родной" порт - это обычно "LPT1:"
...
Рейтинг: 0 / 0
08.12.2010, 13:02
    #37001776
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
ВладимирМ,

Вот загвоздка то и заключается в "Printer Environment". ставится галочка "Seva printer environment" в свойствах отчета и все тут. Если ее забыли снять, то печать идет на наш принтер, поднадоело уже.
...
Рейтинг: 0 / 0
08.12.2010, 13:50
    #37001928
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
Можно принудительно вычищать эти настройки перед сборкой проекта из всех отчетов. Класс ProjectHook событие BeforeBuild
...
Рейтинг: 0 / 0
08.12.2010, 14:01
    #37001962
Aleksey-K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
НадеждаМВладимирМ,

Вот загвоздка то и заключается в "Printer Environment". ставится галочка "Seva printer environment" в свойствах отчета и все тут. Если ее забыли снять, то печать идет на наш принтер, поднадоело уже.
Надо поступит как сказал ВладимирМ. А вот пример кода события BeforeBuild моего ProjectHook:
Код: plaintext
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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
*-- Определение функций в Win32API для управления атрибутами файлов
DECLARE INTEGER SetFileAttributes IN Win32API STRING FileName, INTEGER Attributes
DECLARE INTEGER GetFileAttributes IN Win32API STRING FileName
#DEFINE FILE_ATTRIBUTE_NORMAL	 128 

LOCAL m.oFile AS Object, m.lnFileAttributeDBF AS Integer, m.RetVal AS Integer, m.lcFileName
#DEFINE FILE_ATTRIBUTE_NORMAL	 128 
#DEFINE CRLF					CHR( 13 ) + CHR( 10 )

LOCAL lnFileAttributeFRX AS Integer, lnFileAttributeFRT AS Integer, RetVal AS Integer, m.lnLineORIENT AS Integer, ;
	m.lnLinePAPERSIZE AS Integer, m.lnLineCOLOR AS Integer, m.lcNewStr AS Character

WITH THIS
	IF TYPE("Application.ActiveProject") == "O"
		FOR EACH m.oFile IN Application.ActiveProject.Files
			IF m.oFile.Type == "R"
				WAIT WINDOW "Обработка отчета: " + m.oFile.Name NOWAIT
				*-- у отчета удаляем окружение
				m.lnFileAttributeFRX = GetFileAttributes(m.oFile.Name)
				m.lnFileAttributeFRT = GetFileAttributes(FORCEEXT(m.oFile.Name, "FRT"))
				*-- Устанавливаем атрибуты в "нормальный" у файла FRX
				m.RetVal = SetFileAttributes(m.oFile.Name, FILE_ATTRIBUTE_NORMAL)
				*-- Устанавливаем атрибуты в "нормальный" у файла FRT
				m.RetVal = SetFileAttributes(FORCEEXT(m.oFile.Name, "FRT"), FILE_ATTRIBUTE_NORMAL)
				*-- Открываем отчет, как DBF - файл
				USE (m.oFile.Name) IN  0  ALIAS temp_report
				SELECT temp_report
				LOCATE FOR Objtype =  1  AND Objcode =  53 
				IF FOUND()
					REPLACE Tag  WITH ""
					REPLACE Tag2 WITH ""
					m.lnLineORIENT = ATCLINE("ORIENTATION", Expr)
					m.lnLinePAPERSIZE = ATCLINE("PAPERSIZE", Expr)
					m.lnLineCOLOR = ATCLINE("COLOR", Expr)
					m.lcNewStr = MLINE(Expr, m.lnLineORIENT) + CRLF + MLINE(Expr, m.lnLinePAPERSIZE) + CRLF + MLINE(Expr, m.lnLineCOLOR)
					REPLACE Expr WITH m.lcNewStr
				ENDIF
				*-- Закрываем отчет, как DBF - файл
				USE
				*-- Восстанавливаем атрибуты у файлов
				m.RetVal = SetFileAttributes(m.oFile.Name, m.lnFileAttributeFRX)
				m.RetVal = SetFileAttributes(FORCEEXT(m.oFile.Name, "FRT"), m.lnFileAttributeFRT)
			ENDIF
		ENDFOR
		WAIT CLEAR
	ENDIF
ENDWITH
С уважением, Алексей
...
Рейтинг: 0 / 0
08.12.2010, 15:13
    #37002269
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
ВладимирМ,

Куда мне этот класс прицепить?
...
Рейтинг: 0 / 0
08.12.2010, 15:20
    #37002305
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
Правой кнопкой мыши по окну проекта \ в открывшемся меню выбрать пункт "Project info" \ перейти на закладку "Project" \ Поставить галку в пункте "Project Class" и выбрать собственный класс на базе класса ProjectHook
...
Рейтинг: 0 / 0
08.12.2010, 15:28
    #37002336
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
ВладимирМ,

Спасибо, сейчас попробую.
...
Рейтинг: 0 / 0
08.12.2010, 15:50
    #37002428
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
Что-то галочка не снимается.
...
Рейтинг: 0 / 0
08.12.2010, 15:56
    #37002451
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
НадеждаМ,

Точнее с этим классом не получилось, а в prg перенесла, и галочка снялась.
...
Рейтинг: 0 / 0
08.12.2010, 16:55
    #37002677
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
почему с классом не получается, не поняла...
...
Рейтинг: 0 / 0
08.12.2010, 17:01
    #37002696
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
Надеюсь, библиотека классов, в которую входит класс ProjectHook не включен в тот проект, события которого он и обрабатывает?
...
Рейтинг: 0 / 0
09.12.2010, 08:21
    #37003573
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
ВладимирМ,

нет, не включен (Exclude)
...
Рейтинг: 0 / 0
09.12.2010, 11:15
    #37003863
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
НадеждаМВладимирМ,

нет, не включен (Exclude)
Его вообще не должно быть внутри PJX. Не должно быть в списке файлов. Ведь чтобы "собрать" проект он должен получить доступ к файлу. А для этого класс должен быть выгружен из памяти. Как следствие, он не сможет "отработать"
...
Рейтинг: 0 / 0
09.12.2010, 11:27
    #37003897
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
ВладимирМ,

Нету его у меня в списке файлов.
...
Рейтинг: 0 / 0
09.12.2010, 11:42
    #37003958
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
В принципе, все есть в справке

ProjectHook, Объект

Загрузка экземпляра класса выполняется (должна выполняться) в момент открытия окна проекта. Если настройка была изменена, когда проект был открыт, то для вступления ее в силу надо переоткрыть проект.

Кстати, факт наличия класса VCX внутри проекта, как оказалось, на работу не влияет. Инициализация (загрузка) ProjectHook выполняется в момент открытия окна проекта.
...
Рейтинг: 0 / 0
10.12.2010, 11:30
    #37006535
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
ВладимирМ,

класс отработал, но slfk вот такую ошибку:
Дата и время: 10/12/2010 10:14:43;Номер ошибки: 1238;Сообщение: No PARAMETER statement is found.;Строка с ошибкой: DECLARE INTEGER SetFileAttributes IN Win32API STRING FileName, INTEGER Attributes;Номер строки с ошибкой: 2;Название программы с ошибкой: PH.BEFOREBUILD
...
Рейтинг: 0 / 0
10.12.2010, 11:58
    #37006633
НадеждаМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблема с печатью отчетов
А сейчас не выдает ошибок.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / проблема с печатью отчетов / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]