Автоматизированная система ведения бухгалтерского и оперативного учета
Анализ языков программирования и выбор среды разработки. Обзор этапов программирования, серверные процедуры, структурная база данных. Описание функциональной структуры программного комплекса. Описание методики тестирования, пользовательский интерфейс.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 21.11.2010 |
Размер файла | 4,9 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
and gpm.date_=TempTab.temp_date_of_moving);
insert into TempTab(temp_code_operation,
temp_sale_punkt_code,
temp_contragent_code,
temp_payment_type,
temp_number,
temp_good_code,
temp_type_of_moving,
temp_date_of_moving,
temp_rur,
temp_usd)
select operation.code_operation,
operation.sale_punkt_code,
operation.contragent_code,
operation.payment_type,
good_pos.number,
good_pos.good_code,
5,
good_pos.date_of_saling,
get_rur(good_pos.total,good_pos.total_rur,operation.course),
good_pos.total
from dbo.good_pos
,dbo.operation
where(operation.sale_punkt_code=good_pos.sale_punkt_code)
and(operation.code_operation=good_pos.code_operation)
and(good_pos.saled=1)
and(good_pos.date_of_saling between begindate and enddate);
update TempTab set temp_type_of_moving=2 where temp_type_of_moving in(3,4);
select TempTab.temp_code_operation,
TempTab.temp_sale_punkt_code,
contragent.type_contragent_code,
TempTab.temp_contragent_code,
contragent.contragent_name,
TempTab.temp_payment_type,
goodfullnameforkassa.good_code,create procedure GoodInsertLevel(in ParentID integer,in ChildID integer)
begin atomic
declare maxlevel integer;
declare newparent integer;
if ParentID is not null then
if not exists(select* from Good where Good.Good_Code=ParentID) then
return
end if
select "Max"(HLevel) into maxlevel
from Good
where(Tag1=ParentID
or Tag2=ParentID
or Tag3=ParentID
or Tag4=ParentID
or Tag5=ParentID
or Tag6=ParentID);
if maxlevel=7 then
return
end if
end if
;
if ChildID is not null then
if not exists(select* from Good where Good.Good_Code=ChildID) then
return
end if
end if
-- Parent e Child i?eiaaea?ao e iaiie aaoea
if(ParentID is not null) and(ChildID is not null) then
if not exists(select* from Good as Good_p,Good as Good_c
where(Good_p.Good_Code=ParentID)
and(Good_c.Good_Code=ChildID)
and(Good_p.Hlevel+1=Good_c.Hlevel)
and((Good_p.Tag1=Good_c.Tag1)
or Good_p.Tag1 is null)) then
return
end if
end if
; -- Anee Parent = Null, oi Child - yeaiaio ia?aiai o?iaiy
if(ParentID is null) and(ChildID is not null) then
if not exists(select* from Good
where Good.Good_Code=ChildID
and Good.HLevel=1) then
return
end if
;
select "Max"(HLevel) into maxlevel
from Good
where(Tag1=ChildID
or Tag2=ChildID
or Tag3=ChildID
or Tag4=ChildID
or Tag5=ChildID
or Tag6=ChildID);
if maxlevel=7 then
return
end if
end if
;
-----------------------------------------
-- Anoaaea iiaie aa?oeiu - ?aaaiea Parent
insert into Good(Good_Name,Tag1) values('---',
ParentID);
-- Iieo?a? aa eia
select "Max"(Good.Good_Code) into newparent
from Good;
if ParentID is not null then
if ChildID is not null then
-- 1-e neo?ae
-- UPDATE
update Good set
HLevel=0,Tag1=newparent
where Good_Code=ChildID;
return
else
-- 2-e neo?ae
-- Iieo?a? o?iaaiu ?iaeoaey
select Good.HLevel into plevel
from Good where Good_Code=ParentID;
-- UPDATE
update Good set
HLevel=0,Tag1=newparent
where HLevel=plevel+1
and Good_Code<>newparent
and(Tag1=ParentID
or Tag2=ParentID
or Tag3=ParentID
or Tag4=ParentID
or Tag5=ParentID
or Tag6=ParentID);
return
end if
else
if ChildID is not null then
-- 3-e neo?ae
-- UPDATE
update Good set
HLevel=0,Tag1=newparent
where Good_Code=ChildID;
return
end if
end if
end;
Описание методики тестирования
Процесс отладки является неотъемлемой частью создания любой программы. При программировании могут быть допущены ошибки, которые принадлежат к одному из следующих типов:
1. Синтаксические ошибки. Они связаны с применением в программе конструкций, не отвечающих требованиям используемого языка.
2. Логические ошибки. Они связаны с несоответствием программы алгоритму решения поставленной задачи.
Тестирование системы проводилось на всем протяжении разработки системы.
На первых этапах, в процессе разработки таблиц, проверялось правильность назначения типов полей для соответствующих данных. После разработки структуры базы и интерфейсной части проводилась проверка на предмет ввода информации в соответствующие поля, соответствующих таблиц, а также, чтобы она правильно показывалась в нужных окнах интерфейса. Это проводилось путем сравнения информации в окнах интерфейса и непосредственно в полях таблиц.
Выполнение алгоритмов тестировалось путем ввода в местах ветвлений различных значений и проверялось, чтобы дальнейшее выполнение программы происходило по нужной ветви. При проверке корректности ввода информации проверялось, чтобы при не заполнении одного из полей «Номер документа», «Дата документа», «Наименование организации» запись данных в таблицу не производилась.
Пользовательский интерфейс
язык программирование база данные
Описание кнопок общего назначения
В разных окнах Автоматизированной системы имеются кнопки на панели инструментов (Toolbar), выполняющие одинаковые функции:
- Выводит список номенклатуры
- Выводит список контрагентов
- Добавление нового элемента
- Редактирование элемента
- Удаление элемента
- Сохранение изменений
- Обновить
- Удалить дерево
- Движение в верх по дереву
- Движение в вниз по дереву
- Пронумеровать.
Окно «Регистрации в системы»
Автоматизированная система работает на нескольких пунктах продаж (торговых точках), на каждом пункте есть пользователи, которые имеют права на доступ к программе, например администраторы, бухгалтера и т.д. Окно регистрации пользователя в системе.
Основное окно программы
После прохождения регистрации открывается главной окно программы. Окно содержит меню программы и является основным путеводителем по справочникам, документам и отчетам.
Описание основного меню программы
Система
· Сменить пароль - предназначен для смены пароля пользователем.
· Создать реплику - запускается процесс создания файлов реплики. Реплика- это изменения произошедшие в базе данных в течении какого-то промежутка времени. Создаются файлы объемом 30Kb.
· Переслать реплику - происходит вызов почтовой программы и формирования сообщения для отправки.
· Принять реплику - получатель файлов реплики производит операцию принятие реплики в базу т.е. обновляет данные базы.
· Архивирование - процесс резервного копирования базы. Производится перед каждым обновлением базы (принятием реплики).
· Выход - выход из системы.
НСИ
· Пункты продаж - магазины, салоны, дилерские отделы.
· Курсы валют пунктов продаж. Каждый пункт продажи имеет свой собственный курс валют.
· Прайс-листы пунктов продаж - для каждого пункта продаж формируется отдельный прайс-лист.
· Контрагенты
· Контрагенты курсы валют.
· Контрагенты прайс-листы. Если контрагент является дилером, то на него заводится отдельный прайс-лист
· Товары.
· Склад.
Задачи
· Продажи - производится оформление заказа, т.е. заполнение шапки и введения товарных позиций, а так же производится оплата заказа и просмотр движения заказа.
· Касса - производятся кассовые операции, такие как приход денежных средств, расход денежных средств и т. д.
· Карточка наличия товара - производятся операции по складу. приход, перемещение, списание и т. д.
Отчеты
· Заказ на завод - формируются отчеты по которым производится изготовление заказа для клиента. Формируются такие отчеты как «Заявка на завод» «Технологические карты» «Метки для продукции».
· Текущие - формируются отчеты по складам, приходы товаров, уходы товаров, перемещение товаров.
· Бухгалтерские - отчеты по движению денежных средств.
Окно смены пароля пользователем
После входа в систему пользователь имеет возможность поменять свой пароль. Для этого необходимо выбрать пункт меню «Сменить пароль» после чего высветится окно смены пароля.
Окно «Создать реплику»
В окне отображается информация о процессе формирования реплики. Реплика - эта та часть информации которая была изменена в базе в течении какого то промежутка времени . Измененные данные помещаются в отдельный файл объемом 30Kb, и таких файлов может быть несколько.
После того как реплика была сформирована, окно формирования реплики закроется автоматически.
С помощью пункта меню «Переслать реплику» происходит вызов почтовой программы, формирования сообщения и отсылка сообщения адресату. Перед приемом реплики в базу необходимо произвести архивирование базы, для этого выбирается пункт меню «Архивирование». При выборе этого пункта меню откроется окно с информацией о процессе архивирования базы.
Архивирование или создание резервной копии базы, необходима для того, что бы в случае ошибки при приеме реплики имелась возможность восстановить данные базы и попробовать принять реплику еще раз. Архивирование базы производится перед каждым приемом реплики. Операцию архивирования можно производить, даже если пользователи находятся в системе.
После того как получатель получает реплику по электронной почте, он копирует файлы в определенную папку, после чего выбирает пункт меню «Принять реплику» тем самым, запуская процесс принятия реплики. При успешном принятии реплики в окне показанном загорается кнопочка Shutdown которую необходимо нажать для завершения принятия реплики.
Окно «Пункты продаж»
В окне показанном высвечивается список с названиями пунктов продаж и типом пунктов продаж. Тип пункта продаж классифицирует пункты продажи на салоны, магазины, заводы и т.д.
Окно «Пункты продажи: Курсы Валют»
Каждый из пункт продажи имеет свой собственный внутренний курс валют. В окне «Пункты продаж: Курсы Валют» отражаются данные о курсах валют выбранного пункта продажи, а также биржевой курс валют. Также можно выбрать любой другой пункт продажи и посмотреть данные по этому пункту.
Окно просмотра и редактирования прайс листов пунктов продаж «Прайс-листы пунктов продаж».
В окне отображается информация о прайс-листах по выбранному пункту продаж.
Для заведения нового прайс-листа для пункта продажи, необходимо нажать кнопку «Новый». Если товар не конкретизирован. т.е. в поле «тип товара» и в поле «класс» стоит значение «Все», то прайс-лист сформируется по всем позициям справочника «Товары». По окончании заполнения табличной части, автоматически проставляется дата формирования прайс-листа, если щелкнуть на дате, то высветится список дат, когда формировались прайс-листы по выбранному пункту продаж, при выборе даты, данные окна обновятся и в окне высветится прайс-лист заведенный выбранной датой. Также в форме доступны кнопки «Размножить» при нажатии происходит копирование либо одной строки прайс-листа либо всего прай-листа, кнопка «Удалить» предназначена для удаления позиции из прайс-листа, кнопка «Печать» выводит прайс лист на печать, можно выбрать в какой валюте печатать прайс-лист. При нажатии на кнопку «Выход» будет выдан запрос на сохранение изменений и произойдет закрытие окна.
Окно просмотра и редактирования контрагентов «Контрагенты»
В окне отображается список контрагентов выбранного пункта продаж.
В этом окне можно посмотреть всю интересующую информацию о контрагенте, его название, адрес, телефоны, банковские реквизиты, а также тип контрагента кто он, агент, дилер, магазин, клиент и т.д. Так же из этого окна можно создавать новых контрагентов, нажав при этом на кнопку добавить на панели инструментов, отредактировать контрагента, щелкнув при этом дважды на интересующей записи, или нажать кнопочку редактировать на панели инструментов . При этом откроется окно создания и редактирования.
А также можно удалять запись , при удалении соответственно запрос на подтверждение на удаление.
сохранять изменения , обновлять данные нажимая соответствующие кнопки на панели инструментов (Toolbar).
Окно «Контрагенты: Курсы валют»
Также предусмотрена возможность вести торговлю с контрагентом по его собственному курсу валют.
Необходимо выбрать контрагента и нажать кнопку «Добавить», добавится строка с автоматически проставленной датой заведения курса и пустым полем «Курс» которое необходимо заполнить. В дальнейшем при заведении заказа на этого контрагента заказ будет пересчитываться по последней дате заведения курса. Соответственно кнопка «Удалить» предназначена для удаления строки курса валют.
Окно просмотра и редактирования прайс-листов контрагентов «Прайс-лит дилера».
В окне отображается прайс-лист выбранного контрагента.
Прайс-лист заводится только на контрагента, который является дилером, на конечного клиента прайс лист не заводится. Для того, что бы завести новый прайс-лист для контрагента необходимо, нажать кнопку «Новый». Если товар не конкретизирован т.е. в поле «тип товара» и в поле «класс» стоит значение «Все», то прайс-лист сформируется по всем позициям справочника «Товары». По окончанию заполнения табличной части автоматически проставляется дата формирования прайс-листа если щелкнуть на дате, то высветится список дат когда формировались прайс- листы по контрагенту, при выборе даты, данные окна обновятся и в окне высветится прайс-лист заведенный выбранной датой. Также в форме доступны кнопка «Печать» выводит прайс-лист на печать. При нажатии на кнопку «Выход» будет выдан запрос на сохранение изменений и произойдет закрытие окна.
Окно просмотра и редактирования справочника товаров
В окне отображается информация о товарных позициях.
В окне выводится общий список товаров для всех пунктов продаж, причем пункты продаж не могут вводить новые позиции товара и редактировать уже введенные. Это связанно с тем чтобы избежать повторений наименований товаров. Справочник пополняется на центральном складе во время прихода товара на склад. После чего изменения рассылаются репликой по пунктам продаж. Манипуляции с данными: - добавить, - редактировать, - удалить элемент, - сохранить изменения, - обновить, - удалить дерево, - движение вверх по дереву, - движение вниз по дереву, - пронумеровать.
Окно просмотра и редактирования справочника «Список складов»
В окне отображается информация о складах.
В окне выводится список действующих складов. Так как организация довольно большая, она имеет несколько складов например центральный склад, склад производства, склад готовой продукции и т.д. Список складов не ограничен.
Окно оформления заказов «Продажи»
Окно «Продажи» этом окне можно ввести новый заказ нажав на кнопку «Ввод», после чего откроется форма для ввода шапки заказа или нажать кнопку «Просмотр» и откроется окно выбора заказа Рис. 2.6.18. После того как найден заказ необходимо выделить заказ и нажить кнопку «Выбрать» после чего откроется форма показанная на Рис. 2.6.17 только заполненная.
Для удобства поиска заказов были сделаны кнопки «Поиск», производит поиск данных по значению, есть возможность создавать сложные выражения для поиска «Сортировка» производит сортировку данных по возрастанию или убыванию
Окно поиска
Окно сортировки
Из основного окна «Продажи» можно выпустить основные нормативные документы, такие как Счет, Счет-фактура, ТОГР-12, товарная накладная. А также, можно произвести оплату заказа, нажав на кнопку «Оплата». При нажатии откроется окно «Оплата».
После открытия окна появляется список оплат по выбранному в окне «Продажи» контрагенту. В форме доступны кнопки «Ввод», для ввода новой оплаты, «Редактирование» для редактирование ранее введенной оплаты, «Удалить» удаление позиции из оплат, а также кнопка печати приходного кассового ордера.
Окно «Движение по товарной позиции»
Кнопка «Движение» в окне «Продажи» показывает данные по движению товарных позиций в заказе, на какой стадии та или иная позиция находится. Информация отображается в окне показанном на рисунку.
Стадий может быть несколько (в производстве, отправлено в СЦ, отложено и т.д.). Стадию на которой находится товарная позиция можно поменять выделив нужную позицию и нажав на кнопку «Ввод». После чего откроется окно «Тип движения».
Кнопка «Позиции» в окне «Продажи» открывает окно для ввода новой товарной позиции.
В окне показаны товарные позиции по заказу и дана возможность добавлять новые товарные позиции, нажав при этом на кнопку «Добавить», при нажатии на кнопку откроется окно для ввода товарной позиции. Соответственно, кнопка «Редактировать» предназначена для редактирования товарной позиции, необходимо сначала выделить нужную позицию, а затем щелкнуть на кнопку редактировать, откроется окно показанноес заполненными данными. Также из этой формы показанной можно распечатать «Договор-заказ». Договор-заказ это документ, который не является платежным документом, он подробно показывает клиенту, из чего состоит его заказ.
Окно «Операции по кассе»
Из окна «Операции по кассе» производится учет денежных средств. Форма доступна только бухгалтерам и финансовым контролерам. Выполняются следующие операции: 1. Приход денежных средств от клиентов, если деньги приходят в счет погашения дебиторской задолжности, то соответственно деньги проводятся на основании заказа, если же это аванс, то деньги проводятся как авансовый платеж и деньги ложатся на баланс клиента. 2. Расходы денежных средств с указанием статьи расходов 3. Обмен - учет потери денежных средств при обмене (рубли-доллары или доллары-рубли). 4. Остаток денежных средств на конец дня.
Окно «Карточка наличия товара».
Так как программа также ведет и складской учет, то форма показанная предназначена именно для этого. Для удобства ведения все основные операции по складам были введены в одну форму. Из формы доступны кнопки: 1. «Приход» - приход товара на склад, при нажатии на кнопку открывается окно для ввода товарных позиций (в дальнейшем эта форма будет использоваться во всех остальных складских операциях). 2. «Перемещение» - перемещение товара с одного склада на другой. 3. «Перемещение брака» или списание брака производит списание брака со склада. 4. «Резервирование» резервирование товара на определенный промежуток времени, форма заполнения резервирования товара показана «Остатки» ввод остатков на складе. Применяется в основном в самом начале работы системы или для корректировки остатков на складе Рис. 2.6.29. Так же из формы можно оперативно получить такие отчеты как, «Остатки на складе», «Уход товара со склада», «Приход товара».
Заключение
В данной дипломной работе была разработана автоматизированная система ведения бухгалтерского и оперативного учета, предназначенная для оперативного ввода и хранения данных, а так же для получения соответствующей отчетности.
База данных представляет собой реляционную модель, в настоящее время реализованную на платформе PowerBuilder, которая включает структуры для хранения документации и справочников используемых при заполнении документов.
В ходе выполнения дипломной работы, были проведены следующие работы:
1. Проведен анализ языков программирования, по результатам которого был выбран язык программирования PowerBuilder.
2. Проведено более глубокое изучение предметной области.
3. В процессе анализа предметной области были определены сущности предметной области и связи между ними, для создания логической схемы базы данных.
4. Разработаны алгоритмы по формированию основных отчетов, например, «движение товаров по складу», «движение денежных средств» и т.д.
5. Согласно сформулированному заданию с использованием выбранных технологий (PowerBuilder, архитектура клиент/сервер), была реализована автоматизированная система ведения бухгалтерского и оперативного учета, которая в настоящее время проходит эксплуатацию в торговой организации.
Данная дипломная работа выполнена в соответствии с техническим заданием и в полном объеме.
Размещено на Allbest.ru
Подобные документы
Описание языков программирования высокого уровня. Стандартные структуры данных, обзор принципов структурного программирования. Построение математической модели и выбор структуры данных для решения задачи. Тестирование и отладка программного кода.
курсовая работа [1,3 M], добавлен 05.12.2020Характеристика объектно-ориентированного, процедурного, функционального программирования. Выбор языка программирования для создания программного обеспечения для управления справочником "Спортсмены". Алгоритм работы приложения, пользовательский интерфейс.
курсовая работа [1,6 M], добавлен 23.02.2016Основные этапы разработки и внедрения программного обеспечения. Понятие, функции и классификация баз данных. Проектирование базы данных "Библиотека" для ведения картотеки и учета выдачи книг. Пользовательский интерфейс программы, методика ее тестирования.
дипломная работа [2,6 M], добавлен 09.06.2012Требования к пользовательскому интерфейсу программного продукта. Выбор инструментальных средств разработки программы. Описание функциональной схемы, модульной структуры, структурной схемы. Технология разработки справочной системы программного продукта.
дипломная работа [2,7 M], добавлен 12.05.2016Исследование принципов объектно-ориентированного программирования на базе языка программирования С++. Разработка программного комплекса для ведения учёта памятников города. Описание процессов сортировки, поиска, формирования статистики по памятникам.
курсовая работа [782,4 K], добавлен 26.05.2014Обоснование языка программирования Object Pascal и среды разработки Delphi. Создание интерфейса пользователя. Проектирование структуры и описание компонентов, использованных при разработке программного продукта. Составление инструкции пользователя.
курсовая работа [888,7 K], добавлен 20.05.2015Разработка информационной системы, выбор языка программирования, физическое описание базы данных, выбор типа и описание таблиц базы данных. Техническое проектирование, ограничения и значения по умолчанию, представления, хранимые процедуры и триггеры.
курсовая работа [519,8 K], добавлен 25.05.2010Разработка программного обеспечения для автоматизированной системы калибровки и поверки комплекса технических средств ПАДК "Луг-1". Аналитический обзор аналогов. Проектирование пользовательского интерфейса. Средства разработки программного обеспечения.
дипломная работа [1,4 M], добавлен 17.12.2014Общая характеристика и описание математической модели. Выбор и обоснование среды программирования, анализ входных и выходных данных. Структурное проектирование приложений и интерфейса пользователя. Реализация и оценка защитного программирования.
курсовая работа [564,9 K], добавлен 26.09.2014Теоретические основы разработки программного обеспечения. Рассмотрение языков и среды программирования. Разработка программного продукта "Справочник стран мира и городов"; описание интерфейса. Составление терминологического словаря, диаграммы модуля.
курсовая работа [1,5 M], добавлен 09.08.2015