Very simple ABC Report

Обсуждение извечных проблем кларионовских (и не только) отчетов
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3711
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Very simple ABC Report

Сообщение Игорь Столяров » 29 Октябрь 2018, 21:18

Привет всем !

Подскажите пожалуйста, а нет ли у кого-нибудь примера совсем простого ABC отчёта в Source ?
Т.е. надо напечатать несколько строк текста (или картинку), но файлы, window, view, фильтры и т.д. - не нужны.
Но при этом, очень хочется, что бы он поддерживал стандартный Preview отчётов. ;)
Кажется, в SVGraph было, что-то похожее ...

Заранее спасибо ! :)
«V» значит Вендетта !

Yufil
Ветеран движения
Сообщения: 1035
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

Very simple ABC Report

Сообщение Yufil » 29 Октябрь 2018, 22:59

Для начала - без ABC

Код: Выделить всё

PrintProc            PROCEDURE  (Loc:Id,Loc:Control,Loc:SaveMargin) ! Declare Procedure

Report REPORT ... 
Detail DETAIL ... 
       END
     END

Q              PreviewQueue

               CODE
               OPEN(Report)
               Report{Prop:Preview} = Q.FileName
               LOOP .... 
                     PRINT(RPT:DETAIL)
               END
               ENDPAGE(Report)
               Report{PROP:FlushPreview} = True
               CLOSE(REPORT)
               FREE(Q)

Yufil
Ветеран движения
Сообщения: 1035
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

Very simple ABC Report

Сообщение Yufil » 29 Октябрь 2018, 23:16

А теперь с ABC.
Если Clarion не знает, что такое PrintPreViewClass и всё такое,
добавь в модуль пустой report, чтобы всё подключилось

Код: Выделить всё

T
Test            Procedure 
.... 
Previewer   PrintPreviewClass
Q                PreviewQueue
....
                !  Возможно, нужно Previewer.init()  - у меня есть далеко не везде 
                OPEN(Report)
                Report{Prop:Preview} = Q.FileName
                Loop ... 
                  Print(Rpt:Detail)
                End
                ENDPAGE(Report)
                Previewer.AllowUserZoom=1
                Previewer.Maximize=1
                IF Previewer.Display()
                  Report{PROP:FlushPreview} = True
                End
                CLOSE(REPORT)
                ! Возможно, нужно Previewer.Kill () 
                FREE(Q)
                

Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 3711
Зарегистрирован: 07 Июль 2005, 9:19
Откуда: г. Ростов-на-Дону

Very simple ABC Report

Сообщение Игорь Столяров » 29 Октябрь 2018, 23:42

Спасибо ! :)
Вроде бы то, что нужно. Завтра-с буду пробовать … :)
«V» значит Вендетта !

Ответить