Вывод на печать в части .begin ... end.

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Саша Г.
Местный житель
Сообщения: 281
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Пермь

Вывод на печать в части .begin ... end.

Сообщение Саша Г. »

Уважаемые, коллеги!

Подскажите, есть ли функция и как она называется для вывода на печать информации в теле ard-формы .begin ... end.

Мне нужно при обработке getfirst do .... while getnext выводить на печать ошибки.
Sheinina
Местный житель
Сообщения: 366
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение Sheinina »

Для вывода всякой отладочной информации есть функция
LogStrToFile(sFileName, sInfo) - sFileName - имя файла, sInfo - строка вывода. Получающийся файл можно посмотреть и во время работы отчета
stray
Постоянный гость
Сообщения: 90
Зарегистрирован: 29 мар 2005, 17:49

Сообщение stray »

функции не знаю, ес. ard, попробуй так
.{while условие
.begin
ошибка := ...;
end.
.{?Internal; ошибка<>''
.fields
ошибка
.endfields
^
.}
.}
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Вывод на печать в части .begin ... end.

Сообщение Deinis »

Саша Г. писал(а):Уважаемые, коллеги!

Подскажите, есть ли функция и как она называется для вывода на печать информации в теле ard-формы .begin ... end.

Мне нужно при обработке getfirst do .... while getnext выводить на печать ошибки.
В разделе .begin ... end. вывод на печать делать нельзя. В Link-формах в этом смысле есть преимущество - хоть и нельзя, но с помощью конструкции INTERNAL можно делать разные анализы и выводить на печать только нужные данные.
Что касается ARD-форм то здесь я выхожу из ситуации так: вначале (в разделе .begin ... end.) организую пометку нужных мне записей - заполняю таблицу Pick ссылками на нужные записи. Затем прохожусь по Pick-у или по самой корневой таблице и вывожу помеченные записи в отчет.
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

LogStrToFile будет работать в любом случае, т.к. это атл ф-ция и вывод в файл реализован вне зависимости от типа формы. другое дело что нельзя будет печать в файл ard отчета...в begin end точно не получится печатать, в примере Алексей в begin end запоминаем сообщения об ошибках, далее в цикле .while выводим. можно в begin end заполнять врем таблицу сообщениями об ошибках, если их может больше одной, следом в .{table выводить.
Sheinina
Местный житель
Сообщения: 366
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Вывод на печать в части .begin ... end.

Сообщение Sheinina »

Deinis писал(а):В разделе .begin ... end. вывод на печать делать нельзя. В Link-формах в этом смысле есть преимущество - хоть и нельзя, но с помощью конструкции INTERNAL можно делать разные анализы и выводить на печать только нужные данные.
Я, конечно, очень извиняюсь, но конструкция INTERNAL в ARD работает!
И в 5.85, и в 7.11.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

могете сделать автономную форму
.avtoform PrERR(w:string)
.fields
w
.endfields
^
.endform
а в своей форме сделать вызов
.begin
Runform(PrErr,'шибка')
end.
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Re: Вывод на печать в части .begin ... end.

Сообщение 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
         │            ^
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

вы б сначала help почитали
такой коннструкции нет.
есть
.{?internal;tmp;

.}
Deinis
Местный житель
Сообщения: 783
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва
Контактная информация:

Сообщение Deinis »

edward_K писал(а):такой коннструкции нет.
есть
.{?internal;tmp;
.}
Слов нет... как говорится: учите матчасть... :) пошел проглядывать свои отчеты...
Ответить