Учет квартплаты (АРМ бухгалтера-расчетчика)

Автор работы: Пользователь скрыл имя, 23 Апреля 2013 в 18:48, контрольная работа

Описание работы

Предприятие имеет развитую инфраструктуру по обеспечению предприятий и организаций и жилых микрорайонов следующими видами услуг:
установка телефонов и обеспечение телефонной связью
передача электроэнергии через собственную подстанцию
снабжение паром, холодной и горячей водой от собственных источников (ТЭЦ, водозабор)
перевозка нефтепродуктов автотранспортом.

Файлы: 1 файл

АРМ бухгалтера.docx

— 135.40 Кб (Скачать файл)

Пункт меню “ОТЧЕТЫ”

Подготовка и оформление отчетных данных без сомнения являются кульминацией любого делового приложения. Так что стоит приложить усилия для того, чтобы все многообразие данных, записанных в БД приложения, нашло достойное отображение  в отчетах, напечатанных на принтере.

FoxPro имеет мощные средства  построения отчетов для вывода  данных в желательном для пользователя  виде на принтер, экран или  в текстовый файл, но в своей  дипломной работе я не пользовался  этими средствами, а попытался  программированием вручную создать  нужные выводимые данные. Это  связано с тем, что я не  преследовал коммерческой цели, создавая приложение, а также  для того, что бы лучше освоить  язык программирования и задействовать  как можно больше команд и  функций FoxPro.

Все отчеты формируемые с  помощью данных баз построены  по одной схеме, поэтому я разберу  одну из них более подробно, а  в остальных только кратко дам  описание.

“ОТЧЕТЫ”-“Списки по начислению” 

При выборе этого пункта формируется  отчет для каждого жильца с  суммами начислений по каждой услуге и отдельно начисления по льготам, показывается сколько оплачено и остаток если остаток положительный, то это сумму  необходимо заплатить плательщику  за пользование услугами, если отрицательный  то эта сумма должна перейти на следующий месяц в счет будующих платежей за услуги. Также в шапке  по каждому жильцу выводится дата оплаты, количество проживающих, из них  количество льготников, занимаемая площадь. (см. прилож. 3 стр.1). формирование отчета выполняется в процедуре SP_NACH (см. прилож. 1.7 стр. 1). В первых строках  убирается меню отчетов с экрана (HIDE POPUP VIEV), затем проверяется значение переменной _PAD_OTCH, она должна иметь  значение “Истины” (.T.), если ее значение “Ложь” (.F.), то значит выполнялась  процедура “Дополнения\Изменения” и появится системное окно, с просьбой сделать слияния расчетов. (см. выше).

Затем переопределяется клавиша F1 для открытия в окне помощь подсказку  по этой процедуре, в переменную “i”  заносится номер текущего месяца (MONTH(DATE())), для включения его в  имя файла, чтобы в последующем  было легко опознать данные файла  по его имени. Например в переменной формируется имя за март месяц (T=’NACH-’+ALLTRIM(STR(i)))+’.’+’txt’, где “i” это цифра три и  в результате получится файл NACH-3.TXT, что означает отчет за март (3) по начислениям (NACH). Эта переменная нужна  чтобы после завершения формирования отчета его, с помощью макроподстановки (EVALUATE(‘T’)или(&T)) , можно было открыть  в окне для просмотра и(или) редактирования. Ниже определяется это окно, оно  не определяется заранее, для того чтобы  его можно было закрыть с помощью  мыши, щелкнув в левом углу по прямоугольнику (Опции “SYSTEM CLOSE”).

Далее с помощью команды SET ALTERNATE TO <имя файла> создается  альтернативный файл и командой SET ALTERNATE ON он открывается для внесения в  него данных, одновременно командой SET CONSOLE OFF выдача на экран формируемых  данных не производится.

Формирование отчета выполняется  с помощью циклов, а так как  некоторые данные хранятся только в  полях плательщика, то используются переменные для хранения данных которые  будут выводится в файл и переменные позволяющие организовать циклы  это:

Определяются два массива  и переменные для вывода данных в  файл:

NACH(12,1)-для хранения сумм  начислений по квартплате каждой  услуге, итоговых сумм и оплаты, LG(9) – для хранения сумм по  начислениям по льготам каждой  услуге, PL- содержит количество жильцов, L – количество льготников, FM-фамилия  плательщика, OS-значение поля-OST_K (остатка), TB-табельный номер плательщика, KV_MET – значение поля KV_M (квадратные  метры), DAT_OP – значения поля D_OPL (дата  оплаты).

В циклах определяются переменные для систематизированного предъявления данных:

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<формат выводимых данных>]][АТ<номер столбца, с которого должен начинаться вывод>][,<выр2>]…] заполняют открытый альтернативный файл.

После обработки всех записей  БД вывод в альтернативный файл запрещается (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<условие>][FOR<условие>]<список выражений>[TO <переменные>/TO ARRAY <массив>]. Эта команда позволяет вести  математические расчеты в БД. <Список выражений> может содержать любую  комбинацию внутренних для данной команды  функций, которые также выполняют  матаматическую обработку (AVG(<вырN>), CNT(), MAX(<выр>), MIN(<выр>), STD(<вырN>), SUM(<вырN>), VAR(<вырN>), NPV(…)). Здесь  приведена полный перечень возможности  для данной команды, а жирным шрифтом  выделены опции, которые используются в процедуре. Так первая команда CALCULATE подчитывает общие начисления по квартплате (SUM<поле с суммой начислений квартплаты по услуге>), вторая общие  начисления по льготам (SUM<поле с суммой начислений льготы по услуге>) и полученные результаты заносятся в переменные. Затем в переменные заносятся  общие суммы начислений для получения  организацией за предоставления услуг  квартиросъемщикам за месяц. Они  рассчитывается путем вычета из общих  начислений квартплаты по услугам начисления льгот по услугам и полученные результаты выводятся в файл. Распечатка показана в прилож. 3 стр.7).

Пункт меню “ПЕЧАТЬ”

При выборе данного пункта активируется 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. Доступ к  нужной записи в файле помощи происходит очень быстро, поскольку ее не приходиться  искать. Для этого нужно в соответствующих  местах программы делать присвоения переменной К, то есть указывать номер  нужной записи из файла HELP.DBF. В процедурах, где помощь не предусмотрена, переменной К задается значение 6, для вывода общей помощи по программе, которая также закреплена за пунктом меню “Помощь”.

Пункт меню “Выход” 

Для корректного закрытия БД и завершения работы необходимо проконтролировать запросом попытку  пользователя выйти из программы. Данная функция будет содержать обычный  запрос на подтверждение выхода, и  при положительном ответе (кнопка “Да”) осуществит закрытие всех активных файлов БД, сохранит в файле M_ZAR.MEM все  переменные начинающиеся с символа  “_” (SAVE TO m_zar ALL LIKE _*). В приложении зти  переменные определены как глобальные и переменные нормативных ставок и после этого происходит выход  из приложения (QUIT). При выборе кнопки “Нет” происходит возврат в приложение.

Заключение 

В процессе работы над дипломным  проектом был создан комплекс программных  средств для обеспечения работы бухгалтера-расчетчика. Кроме того была разработана концепция проектирования информационно - справочных систем с  применением функций экранного  интерфейса, разработанных в рамках дипломного проекта. Применение специализированных функций позволило сократить  время разработки основного модуля программы и обеспечило высвобождение  времени на создание процедур обработки  данных. В дипломном проекте представлен  один из множества подходов к проектированию программного обеспечения информационного  плана, дающий возможность на ранних этапах разработки учесть все нюансы будущей программы, необходимый  набор функций, состав и структуру  баз данных, что в дальнейшем исключает  необходимость переработки уже  написанных компонентов программы.

Данный дипломный проект разрабатывался не с коммерческой целью, а с целью показать возможности  СУБД FoxPro, используя в приложении как можно больше команд и функций  данной СУБД. Поэтому работа приложения не предусматривает сохранения и  просмотра раннее сделанных расчетов и работа осуществляется только с  текущим месяцем.

Хотя принцип работы приложения и язык программирования не исключают  и коммерческое распространение. Достаточно лишь добавить модули сохранения данных при переходе на следующий месяц  и просмотра из архивов этих данных.


Информация о работе Учет квартплаты (АРМ бухгалтера-расчетчика)