Страница 1 из 1
Вывод на печать в части .begin ... end.
Добавлено: 10 авг 2005, 15:04
Саша Г.
Уважаемые, коллеги!
Подскажите, есть ли функция и как она называется для вывода на печать информации в теле ard-формы .begin ... end.
Мне нужно при обработке getfirst do .... while getnext выводить на печать ошибки.
Добавлено: 10 авг 2005, 16:33
Sheinina
Для вывода всякой отладочной информации есть функция
LogStrToFile(sFileName, sInfo) - sFileName - имя файла, sInfo - строка вывода. Получающийся файл можно посмотреть и во время работы отчета
Добавлено: 10 авг 2005, 16:37
stray
функции не знаю, ес. ard, попробуй так
.{while условие
.begin
ошибка := ...;
end.
.{?Internal; ошибка<>''
.fields
ошибка
.endfields
^
.}
.}
Re: Вывод на печать в части .begin ... end.
Добавлено: 16 авг 2005, 12:36
Deinis
Саша Г. писал(а):Уважаемые, коллеги!
Подскажите, есть ли функция и как она называется для вывода на печать информации в теле ard-формы .begin ... end.
Мне нужно при обработке getfirst do .... while getnext выводить на печать ошибки.
В разделе .begin ... end. вывод на печать делать нельзя. В Link-формах в этом смысле есть преимущество - хоть и нельзя, но с помощью конструкции INTERNAL можно делать разные анализы и выводить на печать только нужные данные.
Что касается ARD-форм то здесь я выхожу из ситуации так: вначале (в разделе .begin ... end.) организую пометку нужных мне записей - заполняю таблицу Pick ссылками на нужные записи. Затем прохожусь по Pick-у или по самой корневой таблице и вывожу помеченные записи в отчет.
Добавлено: 16 авг 2005, 12:40
san
LogStrToFile будет работать в любом случае, т.к. это атл ф-ция и вывод в файл реализован вне зависимости от типа формы. другое дело что нельзя будет печать в файл ard отчета...в begin end точно не получится печатать, в примере Алексей в begin end запоминаем сообщения об ошибках, далее в цикле .while выводим. можно в begin end заполнять врем таблицу сообщениями об ошибках, если их может больше одной, следом в .{table выводить.
Re: Вывод на печать в части .begin ... end.
Добавлено: 17 авг 2005, 13:23
Sheinina
Deinis писал(а):В разделе .begin ... end. вывод на печать делать нельзя. В Link-формах в этом смысле есть преимущество - хоть и нельзя, но с помощью конструкции INTERNAL можно делать разные анализы и выводить на печать только нужные данные.
Я, конечно, очень извиняюсь, но конструкция INTERNAL в ARD работает!
И в 5.85, и в 7.11.
Добавлено: 17 авг 2005, 18:15
edward_K
могете сделать автономную форму
.avtoform PrERR(w:string)
.fields
w
.endfields
^
.endform
а в своей форме сделать вызов
.begin
Runform(PrErr,'шибка')
end.
Re: Вывод на печать в части .begin ... end.
Добавлено: 19 авг 2005, 14:52
Deinis
Sheinina писал(а):Я, конечно, очень извиняюсь, но конструкция INTERNAL в ARD работает!
И в 5.85, и в 7.11.
Версия 7.11 MS SQL
Код: Выделить всё
.Form 'Hello World'
.ARD
.Var tmp:boolean
.EndVar
.begin
Message('Hello World') ;
end.
.{ INTERNAL tmp
.} // INTERNAL
.EndForm
А вот, что сообщил мне компилятор
Код: Выделить всё
12:44:03 │ Ошибка: В ARD-отчетах не допускается использование конструкций, управляемых событиями (стр.8, поз.12 в HELLO.FRM)
│ .{ INTERNAL tmp
│ ^
Добавлено: 19 авг 2005, 14:55
edward_K
вы б сначала help почитали
такой коннструкции нет.
есть
.{?internal;tmp;
.}
Добавлено: 22 авг 2005, 01:27
Deinis
edward_K писал(а):такой коннструкции нет.
есть
.{?internal;tmp;
.}
Слов нет... как говорится: учите матчасть...
пошел проглядывать свои отчеты...