Есеп беру формасын құру және олардың ДҚ-ға қатынауын орнату және мәліметтерді өңдеуді ұйымдастыру
Есеп беру формаларын құруды кез-келген форма деп алуға болады және берілген бөлімге экранды формамен қарауымызға болады. Бірақ есеп беруді форматтаудың өз ерекшеліктері бар. Сонымен қатар есеп беруді форматтау процесін ДҚБЖ сұрақтарынан жеке қарауымызға болады. Есеп беру формасын форматтауына үш түрлі компанент кіреді. Бұл есеп беру экрандық формасы текст және кестелер қағаздық тасығыш шығарған есеп беру формасы графикалық материалдар және материалдар түрінде.
Сондықтан бұл сұрақтардың барлығын жеке бөлімге шығарып әртүрлі түрдегі есеп беруді форматтау сұрақтарын қарап шығамыз .
Жүйе жұмысын тексеруі және жіберілу
Өңделетін жүйені оқтын-оқтын орындауға жіберіп және оны жұмыс істеу қабілетін тексеру керек.Жұмыс істеу қабілетін құрудың кез-келген этапында жүргізуімізге болады оны толық құруды аяқтау міндетті емес тек минимальді конфигурациясын алсақ жеткілікті. Минимальді конфигурациясын ДҚ және ДҚ қатынайтын жалғыз форма құрады.
Жүйені жіберу үшін құрылған барлық компаненттерді есте сақтау керек.
Rиn | Rиn командасы арқылы жүйені жіберу жүзеге асады, ыстық перне F9 батырмасы көмегімен де жіберуге болады.
Жүйе байланысын қалған жағдайда немесе жүйеден шығу мүмкін болмаса оқиғасында немесе жүйеден шығу Rиn | Program Reset командасы көмегімен жұмысты үзуді жүзеге асаруға болады.
Жүйе жұмысын тоқтатқанана кейін оны өңдеуге және жөндеуге болады.
Жүйенің толық вариант жұмысы, есепберу бөлімінсіз, экранда меню формасы бейнеленетімен басталады. Ары қарай жүйені пайдаланушы меню көмегімен кез-келген басқада экранды формаға өтуіне және жүйенің басты менюіне қайтып келе алады.
Егер экрандық форма ережесін бейнелеу тіленілетін вариантқа сәйкес келмесе6 онда оны Project Prgect/Options меню элементі көмегімен Main Form алаңында өзгертуге болады.
Дәріс №14
Тақырыбы: Delphi- де есеп беру формасын құру
Есеп беруді құрудың компоненттері
Есептік форманы құрудың негізгі әдістері
Сабақтың мақсаты: Есептік форманы құрудың негізгі әдістері
Жүйенің жұмыс нәтежесін принтерден шығару немесе файл түрінде сақтау қажет. Бұл мақсатта есеп беру формасы құрылады.
Есеп беру формадағы және процедураның есеп беруін ұйымдастыруын құру экрандық формадағы процедураны құрудан өзгеше сондықтан ол туралы материалдарды жеке қарастырамыз.
Экрандағы жуық бейнелеумен есеп беруді құрудың әртүрлі варианттары бар:
экранда кестені бейнелеу содан кейін есеп беру үшін жазбаны таңдау;
экранда таңдалған жолмен есеп беруді бейнелеу;
- есеп беруді бейнелеу.
Есеп беруді құрудың компоненттері
Delphi 3 есеп беруді құру үшін QReport компонентінің палитра беттерінде жиырмадан астам компанент орналасады. "Басты " компонент болып есеп берудің тәртәбән толығымен анықтайтын TQuickRep,, компаненті есептеліненді. Басқа компаненттер есеп берудің қосыша бөлңктерңн анықтайды:
TQRBand – мәліметтердің, тақырыптардың, титулдардың орналасуына дайындық, есеп беру негізінен TQRBand компанентінен құрылады:
есеп берудің таұырып ауданы;
есеп берудің беттер ауданы;
есеп берудің топтар ауданы;
есеп берудің бағандар атының ауданы;
дитализацияның ең соңғы деңгейінің бейнесңн құру үшін детальді құру ауданы;
подвалдың есептеу ауданы ;
подвалдың беттер ауданы ;
подвалдың топтар ауданы;
TQRSubDetail - ТБД арасындағы қатынастар арқылы Master-Detail есеп берудегі бағынышты кестелердің ауданын анықтайды; TQRGroup – есеп беруде топтастыруды құру үшін қолданылады;
TQRLabel – есеп беруде статикалық текстң орналастыруға мүмкіндік береді;
TQRDBText – есеп беруде мәліметтер жиыннының алаңын орналастыруға мүмкіндік береді;
TQRExpr - өрнектің мәндер қортындысын шығару үшін қолданылады, берілген компаненттің формалар редакторының көмегімен нәтежелер аргоритмі құрылады.
TQRSysDate – есептегіштің, нөмірлердің , беттердің, даталардың басқа да мәндерін шығару үшін қызмет етеді;
TQRMemo – комментари берілген алаңның есеп беруін шығару;
TQRRichText – форматталған комментари алаңының есеп беруін шығару ;
TQRDBRich Text – мәліметтердің құру алаңы болып табылатын форматталған коментари берілген алаңның есеп берун шығару;
TQRShape – есеп беруде графикалық фигураларды шығару үшін қызмет етеді, мысалы тіктөртбұрыш;
TQRImage – есеп беруде мәліметтер алаңының жиынын болып табылатын графикалық ақпараттарды шығару үшін қолданылады;
TQRChart – есеп беруде графиктерді құру үшін қолдану.
TQuickRep компонент
TQuickRep компоненті есеп берудің сипаттамасын толығымен анықтайды. Бұл компанентті формаға орналастырғанда есеп берудің торы пайда болады. Содан кейін бұл торда қосымша бөліктер орналасады, мысалы, TQRBand тобы
TquickRep компоненттерінің негізгі тәсілдерін және оқи,аларын қарастырайқ.
Қасиетті
property Bands: TQuickRepBands;
Көптеген логикалық мәндерден (False/True) тұрады ;
HasColumnHeader – есеп беру бағанының тақырыбы;
HasDetail – детальдік информация;
HasPageFooter –беттердің подвалы;
HasPageHeader –беттердің тақырыбы;
HasSummary – есеп берудің подвалы;
HasTille –есеп берудің тақырыбы.
Сурет-14.1. Есепберудің бос торы. Формеға TQuickRep компонентін орналастырғанан кейін құралады
Сурет-15.2. Есепберу компанентін орналастырғанан кейінгі есепберу торы
property DataSet: TDataSet;
мәліметтер жиынына сілтейді, осының арқасында есеп берулер құрылады. Есеп беруді үлестіру үшін жалғыз НД қолданылады.
Бірнеше БДкестелеріне байланысты ақпараттарды шығару қажет болса, SELECTоператорының көмегімен жалғыз НД да біріктіріледі.Бұл жағдайда есеп беру үшін НД орынына TQUERY компанентін қолдануға болады.
Бірнеше байланысқан НД ақпараттарын есеп беруге қосуға болады, егер бұл мәліметтер жиыны Master-Detail қатынасымен байланыста болса . Бұл жағдайда НД орынына Master-набор көрсетңледі, ал Detail-наборына сәйкес келетін сілтеме TQRSubDetail компанентінде жүзеге асады .Егер есеп беруді мәліметтер наборының байланыс баған ақпаратына қосу керек болса , онда компазитті есеп берудң қолданамыз, ол дегеніміз басқа топтардан құралған есеп беру.
property Frame: TQRFrame;
есеп беру параметрлерінің рамкаларын анықтайды;
Color – рамка сызығының түсі;
DrawBottom – астыңғы сызықты шығару керек пе жоқ па соны анықтайды;
DrawLeft- сол жақтағы сызықты шығару керекпе жоқ па соны анықтайды ;
DrawRight-оң жақтағы сызықты шығару керекпе жоқ па соны анықтайды ;
DrawTop-үстінгі жақтағы сызықты шығару керекпе жоқ па соны анықтайды ;
Style – сызық стилін анықтайды;
Width • пиксельді сызық енін анықтайды.
property Page: TQRPage;
Беттердің параметрлерін анықтайды
property PrinterSettings: TQuickRepPrinterSettings;
принтер параметрлерін анықтайды
property PrintIfEmpty: Boolean;
мәліметтер жоқ болса да есеп беруді басу керектігін көрсетеді (True), Әдістер
procedure NewPage;
Жаңа бетке көшуді орындайды BeforePrint немесе AfterPrint есеп беруде компаненттерді өңдеуде қолдануға болады, .ал OnPrint, OnStartPage және OnEndPage қолдануға болмайды.
procedure Preview;
есеп беруді терезеге жуықтап шығарады
Есеп беруді өңдеу уақытында жуықтап көру терезесңнде баспаға шығрғымыз келсе онда төмендегілер қажет;
Есеп беруді тышқан көмегімен таңдау;
Тышқаннығ оң шертпесін басу;
всплывающи меню інде Preview элементін таңдау.
Ескеретін жағай осы уақытта кейбір мәліметтер мысалға, мәліметтер алаңының жиынын шығару мәні көрінбейді . Олар тек орындалатын уақытты ғана шығарылады.
procedure Print;
есеп беруді принтерде шығару;
procedure PrinterSetup;
обеспечивает установки принтера параметрлерін орнатуды қамтамасыз етеді .
Оқиға
property AfterPreview : TQRAfterPreviewEvent;
есеп беруді жуықтап көретін терезе жабылған кезде орнайды.
property AfterPrint: TQRAfterPrintEvent;
есеп беруді баспадан шығарғаннан кейін кіріседі .
property BeforePrint: TQRBeforePrintEvent;
есеп берудің генерация моментінде кіріседі , есеп берудің жуықтап көру терезесіне берілмейді және есеп беруді шығармай тұрып.
property OnEndPage : procedure(Sender : TObject);
есеп берудің соңғы бетін генерация үшін дайындау моментінде кіріседі property OnStartPage : procedure(Sender : TObject);
есеп берудің бірінші парағын генерацияға дайындау моментінде кіріседі.
Компонент TQRBand
TQRBand компоненты есеп берудің негізгі қосымша бөлігі болып табылады және оларға статикалық текстерді және мәліметтерді орналастыру үшін. Есеп беруде компаненттердің орналасуы және тәртіп қасиеттерімен анықталады.
property BandType : TQRBandType;
Төменде осы қасиеттердің жуық мәндері :
rbTitle – есеп берудің тақырып компанентін анықтайды. TQRBand, компанентінде орналасқан ақпарат есеп берудің барлық басқа бөліктерінде орналасады. Бұл TQRBand компанент түрі bi есеп берудің ақпарат тақырыбында қолданылады.
rbPageHeader – беттердің тақырып компанентін анықтайды. Осы қасиет және мәндер Band орналасқан компанентте ақпарат есептеудің әр жаңа парағы шығарылады.
rbDetail – детальді информация компаненті НД есеп беруіндегі жаңа жазбаға өту үшін әркез шығарылады. Есеп беру барлық НД жазбалары үшін басылады, DataSet, есеп беру қасиетімен анықталған біріншісінен бастап соңғысына дейін TQuickRep автоматты түрде.
rbPageFooter – беттер подвалының компоненті. Есеп берудің барлық беттері үшін шығарылады.
rbSummary – есеп берудің подвал компоненті. Выводится на пост странице отчета после всей иной информации, но перед под последней страницы отчета.
rbGroupHeader – топтың тақырып компоненті. Есеп беруде ақпаратты топтастыру пайдаланылады, әр жаңа топ енгізген кезде шығарылады.
rbGroupFooter – топ подвалының компоненті. Есеп беруде ақпаратты топтастыру үшін пайдаланады , топтың барлық мәліметтерінен кейін топ аяқталғанда шығарылады.
rbSubDetail – бағынышты мәліметтер жиынында детальді ақпарат алу үшін қолданылатын компанент, Master-Detail көмегі арқылы қосымшада есеп беруде екі немесе оданда көп ақпаратты шығару үшін қолданатын компонент. . Бұл мән компанентке TQRBand формаға TQRSubDetail компанентін орналастырған кезде автоматты түрде меншіктеледі. BandType қасиетінде бұл мәнді программа орналастырмау керек .
rbColumnHeader – бағанға тақырыпты орналастыру компаненті Есеп берудің беттердің тақырыбынан кейін әрбір бетте орналасады.
rbOverlay – есеп берудің алғашқы версияларын сәйкестіру үшін қолданылады.
Қасиеті
property Enabled: Boolean;
TQRBand компонентінде есеп беруде ақпарат басу керек пе (True)немесе жоқ па (False) көрсетеді .
Қасиет
property ForceNewPage: Boolean;
TQRBand құрамындағы ақпарат жаңа беттен басылуы керек пе (True) әлде жоқ па (False) екендігін көрсетеді .
Оқиға
property BeforePrint: TQRBeforePrintEvent;
TQRBand компонентінің ауданында орналасатын ақпаратты басу алдында туындайды.
Дәріс №15
Тақырыбы: Қарапайым есеп беруді құру
Баған тақырыбын көрсету үшін TQRBand қолдану
Есепберуде топтық мәліметтер
TQuickRep және TQRBand компоненттер құрамында топтық ақпараты жоқ қарапайым есеп беруді құру үшін жеткілікті болып табылады.
ДҚ Prihod.DB кестесі қоймаға материалдар түсу жөнінде мәліметтә құрайды. ТБД құрамына төмендегідей алаңдар кіреді.
N_Prih – материала келу оқиғасының уникальді нөмірі
DataPrih-түскен күні
MATERIAL – материал аты;
KOLVO –түскен материалдар көлемі.
Түскен материалдардың тақырыбы мен мәліметтерінен тұратын қарапайым есептеу құрайық. Есеп беруге материал түскен барлық фактілер кіреді. Сұрыптау материалдардың түсу нөмірі арқылы жүреді.
TTable (Table1 аты) компанентін №6 формаға орналастырып ДҚ Prihod.DB кестесімен байланыстырып ашайық. (Active = True) QReport компонент палитрасы бетінен TQuickRep ( QuickRep1 аты) компонент формасына орналастырамыз. DataSet қасиетіне Table1 мәнін орнатамыз, осылай мәліметтер жиынын есепберуге шақырамыз. Есепберуге TQRBand (аты QRBand1) компонентін қосамыз.
BandType қасиеті QRBandl компонентіне үнсіздікпен rbTitle, мәні орнатылады, яғни QRBand1 компоненті есепберу тақырыбын анықтайды. Есепберу кеңістігіне QRBand1компонентін, TQRLabel (статикалық текст) компонентін QRLabel1 атымен орнатамыз. Осы компаненттің Caption қасиетін 'Поступление материалов на склад' мәнін орнатамыз, Font қасиетіне 16 пунк биіктіктегі қисық майлы шрифті қоямыз. Есепберу түрі 15.1-суретте көрсетілген.
Сурет-15.1. Есепберуде оның тақырыбы ғана анықталған
Енді есепберуге мәліметтерді Prihod кестесіне сәйкес орналастырамыз. Ол үшін есепберуге жаңа компанент TQRBand (QRBand2 аты) орнатып оған BandType қасиетіне rbDetal мәнін орнатамыз.Содан кейін топқа төрт TQRDBText компанетін QRDBText1 ... QRDBText4 атымен орналастырамыз. Берілген компанеттерді МЖ-ның сәйкес алаңымен байланыстырамыз- N_Prih, MATERIAL, DataPrih, KOLVO. Ол үшін QRDBText әрбір компанентіне DataSet қасиетінде Table1 мәнін орнатамыз, ал DataField қасиетіне сәйкес келетін алаң атын орнатамыз. Есепберу түрі 152 – суретте көрсетілген.
Сурет-15.2. Детальді ақпараттар тобтарымен және тақырыбымен берілген есепберу
Алған есеп беруді қарау үшін оған тышқанның оң жағын басамын және жылжымалы менюдан Preview элементін таңдаймыз. Осылай есепберудің жуықтап көру терезесін аламыз. (15.3-сурет).
Достарыңызбен бөлісу: |