Автор работы: Пользователь скрыл имя, 23 Апреля 2013 в 18:48, контрольная работа
Предприятие имеет развитую инфраструктуру по обеспечению предприятий и организаций и жилых микрорайонов следующими видами услуг:
установка телефонов и обеспечение телефонной связью
передача электроэнергии через собственную подстанцию
снабжение паром, холодной и горячей водой от собственных источников (ТЭЦ, водозабор)
перевозка нефтепродуктов автотранспортом.
Пункт меню “ОТЧЕТЫ”
Подготовка и оформление отчетных данных без сомнения являются кульминацией любого делового приложения. Так что стоит приложить усилия для того, чтобы все многообразие данных, записанных в БД приложения, нашло достойное отображение в отчетах, напечатанных на принтере.
FoxPro имеет мощные средства
построения отчетов для вывода
данных в желательном для
Все отчеты формируемые с помощью данных баз построены по одной схеме, поэтому я разберу одну из них более подробно, а в остальных только кратко дам описание.
“ОТЧЕТЫ”-“Списки по начислению”
При выборе этого пункта формируется
отчет для каждого жильца с
суммами начислений по каждой услуге
и отдельно начисления по льготам, показывается
сколько оплачено и остаток если
остаток положительный, то это сумму
необходимо заплатить плательщику
за пользование услугами, если отрицательный
то эта сумма должна перейти на
следующий месяц в счет будующих
платежей за услуги. Также в шапке
по каждому жильцу выводится дата
оплаты, количество проживающих, из них
количество льготников, занимаемая площадь.
(см. прилож. 3 стр.1). формирование отчета
выполняется в процедуре SP_NACH (см.
прилож. 1.7 стр. 1). В первых строках
убирается меню отчетов с экрана
(HIDE POPUP VIEV), затем проверяется значение
переменной _PAD_OTCH, она должна иметь
значение “Истины” (.T.), если ее значение
“Ложь” (.F.), то значит выполнялась
процедура “Дополнения\
Затем переопределяется клавиша
F1 для открытия в окне помощь подсказку
по этой процедуре, в переменную “i”
заносится номер текущего месяца
(MONTH(DATE())), для включения его в
имя файла, чтобы в последующем
было легко опознать данные файла
по его имени. Например в переменной
формируется имя за март месяц (T=’NACH-’+ALLTRIM(STR(i)))+’.
Далее с помощью команды SET ALTERNATE TO <имя файла> создается альтернативный файл и командой SET ALTERNATE ON он открывается для внесения в него данных, одновременно командой SET CONSOLE OFF выдача на экран формируемых данных не производится.
Формирование отчета выполняется с помощью циклов, а так как некоторые данные хранятся только в полях плательщика, то используются переменные для хранения данных которые будут выводится в файл и переменные позволяющие организовать циклы это:
Определяются два массива и переменные для вывода данных в файл:
NACH(12,1)-для хранения сумм
начислений по квартплате
В циклах определяются переменные для систематизированного предъявления данных:
Y-значение поля YL (улицы), D-значение поля DOM (дома) и K- значение поля KW_RA (квартира).
В процедуре используются
четыре цикла, аналогичных описанным
в процедуре слияния квартплаты
с льготами. То есть используются четыре
цикла, где первый WHILE-цикл определяет,
что циклы будут работать пока
не будет попытки выйти за последнюю
запись в БД (DO WHILE !EOF()). Второй предъявляет
записи жильцов, живущих на одной
улице (DO WHILE y=yl). Третий предъявляет
записи жильцов (DO WHILE y=yl AND d=dom). И четвертый
SCAN-цикл предъявляет жильцов одной
квартиры (SCAN WHILE yl=y.and.dom=d.and.kw_ra=k), внутри
которого, с помощью команды управления
IF…ENDIF в зависимости от категории
жильцов, переменным присваиваются
соответствующие значения, которые
затем с помощью команды ?\?? [<выр1>[PICTURE<символы
шаблона предъявления данных>][FUNCTION<формат
выводимых данных>]][АТ<номер
После обработки всех записей БД вывод в альтернативный файл запрещается (SET ALTERNATE OFF) и он закрывается (SET ALTERNATE TO). И созданный файл открывается в окне VEDOM для просмотра(редактирования) (MODIFY COMMAND EVALUATE(‘T’) WINDOW vedom).
После закрытия окна просмотра отчета появляется окно с предложением отправить документ на печать. В случае согласия (кнопка “Да”) опрашивается готовность принтера (PRITSTATUS=.T.) и документ распечатывается (TYPE (T) TO PRINT) иначе (кнопка “Нет”) работа процедуры заканчивается и печать отчета возможна из пункта меню “Печать”.
“ОТЧЕТ”-“Списки по льготам”
Формирует отчет по льготникам не зависимо от периода действия льготы (см. прилож. 1.7 стр 3). Здесь переменные почти не используются, в переменные заносится только фамилия и табельный номер плательщика и переменные для предъявления данных в циклах. Данные выводятся с помощью полей льготников в БД жильцов и БД начислений, где хранятся нужные данные. Распечатка отчета показана в прилож. 3 стр. 4.
“ОТЧЕТ”-“Оплата э\энергии”
Формируется отчет по оплате за электроэнергию, исходя из данных счетчика (см. прилож 1.7 стр.5). Здесь используются переменные только для систематизированного предъявления данных в циклах. Данные выводятся из полей плательщиков, так как льгота по этой услуге не предусмотрена. Распечатка показана в прилож. 3 стр. 5.
“ОТЧЕТ”-“Сальдо по квартиросъемщикам”
Формируется отчет по плательщикам с указанием суммы начислений по квартплате, сумме к оплате и суммы остатка (см.прилож. 1.7 стр. 7). Здесь также используются переменные только для систематизированного предъявления данных в циклах. Распечатка показана в прилож. 3 стр. 6.
“ОТЧЕТ”-“Свод по квартплате за месяц”
Формируется отчет по общим
суммам всех начислений по каждой услуге
и итоговые суммы за месяц (см. прилож.
1.7 стр. 8). В этой процедуре не используются
циклы. Данные получаются с помощью
команды математической обработки
БД: CALCULATE [<границы>][WHILE<условие>][
Пункт меню “ПЕЧАТЬ”
При выборе данного пункта активируется POPUP-меню описанное с опцией PROMPT FILES [LIKE<маска>] – элементами которого будут названия файлов, ограниченных маской (DEFINE POPUP prin_t FROM 1,31 PROMPT FILES LIKE *-1.TXT см.прилож. 1.1 стр.3), которое формирует меню из имен файлов, созданных при выборе соответствующего пункта “ОТЧЕТА” и определение реакции меню выполняется в процедуре print3 (ON SELECTION POPUP prin_t DO print3 WITH PROMPT(),LASTKEY()), куда передаются два параметра это-имя файла (vv - PROMPT()) и код нажатия клавиши (lk - LASTKEY()).
В процедуре (см. прилож. 1.2 стр. 28) в структуре DO CASE анализируются переданные параметры. Если нажата клавиша “Enter” (ВВОД), то код 13 (CASE lk=13) и осуществляется вызов соответствующего текстового файла в окно VEDOM для просмотра с возможностью редактирования (MODIFY COMMAND (vv) WINDOW VEDOM).
Если нажата клавиша “Spacebar” (ПРОБЕЛ), тол код 32 (CASE lk=32), происходит опрос готовности принтера (PRINTSTATUS()) и если он готов, файл печатается (TYPE (vv) TO PRINT), если нет – выдается соответствующее сообщение. Ниже приводятся мена файлов:
файл LG_KW-xx.TXT“Списки по льготам”
файл EL_PL-xx.TXT“Оплата
файл SVOD-xx.TXT“Свод по квартплате за месяц”
Где хх – это номер месяца, за который сформирован отчет.
Пункт меню “ПОМОЩЬ”
Все файлы помощи хранятся в базе данных HELP.DBF, которая имеет только одно MEMO-поле. И по умолчанию имеет восемь, заполненных информацией, полей.
“ПОМОЩЬ”-“Помощь”
при выборе этого пункта командой ON SELECTION … DO HELP WIHT 6 выполняется процедура, в которой в окне открывается текст подсказки записанной в 6-ой записи MEMO-поля. Здесь описывается помощь по пунктам меню. (см прилож. 2 рис. 21)
“ПОМОЩЬ”-“Справка”
при выборе этого пункта командой ON SELECTION … DO HELP WIHT 3 выполняется процедура, в которой в окне открывается текст подсказки записанной в 3-ей записи MEMO-поля. Здесь описывается общее назначение и характеристика приложения.
Работа процедуры помощи будет рассмотрена ниже.
Создание контексно-зависимой экранной подсказки.
Каждое MEMO-поле в БД помощи (HELP.DBF), содержит конкретное описание помощи по работе с отдельными окнами. В начале работы программы, когда баз данных еще нет, описание помощи хранится в текстовых файлах. И при первом запуске приложения, с помощью языка SQL (см. прилож. 1.3 стр. 2), они создаются и в БД помощи последовательно в MEMO-поля переносятся содержимое текстовых файлов (APPEND MEMO HLP FROM HELP1.TXT).
Для экрана помощи определяется окно также с именем HELP, а клавиша F1 и два пункта данного меню закрепляются за процедурой с именем HELP, в которую передается один параметр К (ON KEY LABEL f1 DO help WITH k)
Этот параметр в дальнейшем будет указывать номер записи в файле HELP.DBF, где содержится нужная подсказка. В самой процедуре (см. прилож. 1.2 стр. 21) осуществляется перевод указателя записей в области I (в которой открыта БД помощи) на запись номер К.
Здесь же определяется окно HELP, в которое с помощью команды MODIFY MEMO I.HLP WINDOW HELP NOEDIT выводится текст подсказки. Чтобы исключить случайную возможность порчи содержимого HELP пользователем, возможность редактирования исключена опцией NOEDIT.
В процедурах работы с приложением
вначале переопределяется клавиша
F1 для открытия соответствующей
подсказки (ON KEY LABEL f1 DO help WITH 1(2,4,5,7,8)), а
по завершении работы с любым окном
клавише F1 определяется параметр 6 (…WITH
6). Это позволяет из любого места
программы можно вызвать свою
помощь нажатием клавиши F1. Доступ к
нужной записи в файле помощи происходит
очень быстро, поскольку ее не приходиться
искать. Для этого нужно в
Пункт меню “Выход”
Для корректного закрытия
БД и завершения работы необходимо
проконтролировать запросом попытку
пользователя выйти из программы. Данная
функция будет содержать
Заключение
В процессе работы над дипломным
проектом был создан комплекс программных
средств для обеспечения работы
бухгалтера-расчетчика. Кроме того
была разработана концепция
Данный дипломный проект разрабатывался не с коммерческой целью, а с целью показать возможности СУБД FoxPro, используя в приложении как можно больше команд и функций данной СУБД. Поэтому работа приложения не предусматривает сохранения и просмотра раннее сделанных расчетов и работа осуществляется только с текущим месяцем.
Хотя принцип работы приложения и язык программирования не исключают и коммерческое распространение. Достаточно лишь добавить модули сохранения данных при переходе на следующий месяц и просмотра из архивов этих данных.
Информация о работе Учет квартплаты (АРМ бухгалтера-расчетчика)