Разработка экономической информационной системы материальных оборотных активов
Характеристика объекта исследования. Понятие и значение оборотных фондов. Организация управления экономической информационной системы учета материальных оборотных активов предприятия. Создание MRP системы и автоматизация расчетов по стоимости запасов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 15.08.2010 |
Размер файла | 929,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
-
-
0
28
Сдача проекта
3
29
Обучение пользователей
1
3
2
30
Сдача проекта
0.75
1.5
1
31
Разработка ЭИС учёта МОАП завершена
-
-
0
Примечания:
1. В таблице 2.2 все временные параметры указаны в рабочих днях.
2. При установке временных параметров работ я исходила из того, что график работы стандартный, то есть 5 дней в неделю по 8 часов в день.
3. Жирным шрифтом выделены общие этапы. Их продолжительность рассчитывается как сумма подэтапов.
4. Коды этапов пронумерованы исходя из их порядковых номеров в диаграмме Ганта
Рис 2.4 Диаграмма Ганта
2.3.2 Установление исходных временных оценок
При разработке ЭИС, временные оценки работ приходится устанавливать в условиях полной неопределенности, из-за отсутствия объективных норм продолжительности. В этих случаях невозможно точно предвидеть ход выполнения работ, установить необходимое число исполнителей и т.п. В таких условиях для оценки продолжительности каждой работы применяется вероятностный метод, который позволяет учесть степень неопределенности работы путём распределения вероятности её выполнения в намеченный срок.
Подготовка исходных временных оценок работ сетевого графика заключается в следующем:
1) Устанавливается оптимистическая оценка времени выполнения работы. Это такое минимальное время (указано в колонке «Время min» табл.2.2), которое будет при самом благоприятном стечении обстоятельств.
2) Устанавливается также максимальное (указано в колонке «Время max» табл.2.2) время работы или пессимистическое, которое имеет место при самом неблагоприятном стечении обстоятельств. Это время характеризуется большим, чем обычно числом неудач, срывов и т.п.
3) Математические исследования позволяют на основе ряда допущений получить весьма простую зависимость для статического усреднения времени, в результате чего получается расчетное ожидаемое время (То), которое и вводится в сетевой график.
То=
где То - ожидаемое время, день;
Тmin - минимальное время, при самом благоприятном стечении обстоятельств, день;
Тmax - максимальное время работы или пессимистическое, которое имеет место при самом неблагоприятном стечении обстоятельств, день.
Для работы 2:
То.0-1 = (3*0,75 + 2*1,5)/5=1 день
По аналогии находим ожидаемое время для всех видов работ и заносим в графу «Время вероятное» (табл.2.2)
2.4 Расчет затрат на разработку ЭИС
Таблица 2.3
Смета затрат на разработку ЭИС
№ п/п |
Статьи затрат |
Величина затрат, руб. |
|
1 |
Основная заработная плата разработчиков |
32800 |
|
2 |
Отчисления на социальные нужды |
8528 |
|
3 |
Расходы на содержание и эксплуатацию оборудования (ЭВМ) |
32760 |
|
4 |
Прочие затраты |
7408,8 |
|
Итог: |
81496,8 |
Пояснения к расчёту статей затрат.
1 статья «Основная заработная плата разработчиков» (таблица 2.3).
Таблица 2.4
Численность и загрузка разработчиков ЭИС
Должность |
Коды работ, выполняемых данным разработчиком. |
Суммарное время занятости разработчика, часы. |
|
Руководитель группы |
2; 3; 5; 6; 13; 14; 22; 26; 30; |
104 |
|
Программист |
3; 4; 5; 9; 10; 11; 12; 13; 14; 17; 18; 19; 20; 21; 22; 24; 25; 26; 29; 30 |
280 |
|
Итого: |
384 |
Таблица 2.5
Расчёт основной заработной платы разработчиков ЭИС
Должность |
Время занятости, часы |
Стоимость 1 часа работы, руб. |
Затраты на зарплату разработчика, руб. |
|
Руководитель группы |
104 |
100 |
10400 |
|
Программист |
280 |
80 |
22400 |
|
Итого: |
32800 |
2 статья «Отчисления на социальные нужды» (единый социальный налог) принимается в размере 26% от суммы основной зарплаты разработчиков ЭИС.
Отчисления на социальные нужды =
3 статья «Расходы на содержание и эксплуатацию ЭВК (Электронный Вычислительные Комплекс)»:
Таблица 2.6
Расходы на содержание ЭВК
Название этапа |
Время использования ЭВК (дни) |
Время использования ЭВК (часы) |
Стоимость 1 машино-часа работы ЭВК |
Итог по этапам (руб.) |
|
Анализ |
9 |
72 |
90 (руб.) |
6480 |
|
Решение поставленной задачи |
6 |
48 |
4320 |
||
Программирование |
23 |
164 |
14760 |
||
Тестирование |
7 |
56 |
5040 |
||
Сдача проекта |
3 |
24 |
2160 |
||
Итог: |
48 |
384 |
32760 |
Пояснения:
1. Время использования ЭВК (дни) - берётся исходя из перечня работ и их расположения на диаграмме Ганта
2. Время использования ЭВК (часы) = Время использования ЭВК (дни) * 8
3. Стоимость 1 машино-часа работы ЭВК рассчитана в пункте 3.4.2
4. Итог по этапам (руб.) = Время использования ЭВК (часы) * Стоимость 1 машино-часа работы ЭВК
4 статья «Прочие затраты». Прочие затраты включают канцелярские и почтово-телеграфные расходы, расходы на служебные командировки, охрану труда, транспорт и другие затраты, связанные с содержанием административно-управленческого персонала. Их можно принять в размере 30% от суммы статей 1-3 сметы затрат.
Прочие затраты =
2.5 Экономическое обоснование создания ЭИС исследования рынка сбыта продукции
При определении экономической эффективности сопоставляются технико-экономические показатели, двух вариантов. В качестве базы для сравнения принимаются показатели неавтоматизированной работы. Перечислим выбранные варианты:
1. Использование неавтоматизированной работы
2. Использование самостоятельно разработанного программного продукта
2.5.1 Теория технико-экономического обоснования создания ЭИС
При определении экономической эффективности сопоставляются технико-экономические показатели, характеризующие два варианта -- базовый и проектным. В качестве базы для сравнения принимаются показатели неавтоматизированного проектирования.
Основным показателем экономической эффективности ЭИС, является снижение затрат на проектирование.
Экономия от снижения затрат определяется как:
где
-- себестоимость неавтоматизированного проектирования;
-- то же с помощью ЭИС;
-- годовой объём проектирования (имеется в виду количество обращений к разработанной ЭИС в течение года).
Расчёт себестоимости проектирования ведётся следующим образом:
где
Т1-- фактические затраты времени без использования ЭИС, час (4 часа);
ТЭВМ -- тоже использованием ЭИС, час (0,5 часа);
С -- стоимость 1 часа работы экономиста, руб./час.
Смч -- работа ПЭВМ с установленной ЭИС
где
Фот -- годовой фонд оплаты труда экономиста с отчислениями на социальные нужды;
Тг -- годовой фонд времени работы, час.
где
Кдоп -- коэффициент дополнительной заработной платы (можно принять 0,25);
Кс -- коэффициент отчислений на социальные нужды (0,356);
Зср -- среднемесячная зарплата одного работника;
Ч-- численность персонала, обслуживающего ЭВМ;
12-- число месяцев в году.
3 ам -- годовые амортизационные отчисления
где
Фрд -- число рабочих дней в году; (240)
Тсм -- продолжительность смены; (8 ч)
Фпп -- число предпраздничных дней; (6)
Тск -- сокращение рабочей смены в предпраздничный день (1 час);
Кп -- коэффициент, учитывающий невыходы па работу в связи с отпусками, болезнями, равный 0,9.
2.5.2 Первый вариант
При проведении маркетингового исследования и последующего мониторинга рынка исследователю приходится оперировать большим количеством цифр, что значительно замедляет работу и может привести к различного рода ошибкам. Использование же ПЭВМ и соответствующих программ значительно снижает временные затраты.
Исходя из этого предприятие встаёт перед выбором:
1. Наём большого количества специалистов для оперативного мониторинга рынка и как следствие большие затраты на оплату труда
2. При найме меньшего количества работников возрастает риск значительного снижения оперативности работы подразделения.
Несмотря на указанные недостатки рассчитаем основные технико-экономические показатели эффективности этого варианта.
Для расчёта стоимости 1 часа работы специалиста определим Фот и Тг
Тогда стоимости 1 часа работы равна:
Исходя из этого рассчитаем себестоимость неавтоматизированного проектирования
2.5.3 Второй вариант
Проведём расчёт технико-экономических показателей эффективности варианта 2. Для расчета себестоимости определим стоимость 1 машино-часа работы ЭВМ
где
3 эксп. -- годовые затраты на эксплуатацию ЭВМ;
Т пол -- годовой фонд полезной работы ЭВМ:
где
Ф -- число часов ежесуточной работы ЭВМ; (8 ч)
Т ном -- число рабочих дней в году; (240)
Т проф -- годовые затраты времени на профилактические ремонтные работы (принимаются в размере 15 % от Т ном). (36)
где
3зп -- основная и дополнительная заработная плата персонала, обслуживающего ЭВМ с отчислениями на социальные нужды:
где
Кдоп -- коэффициент дополнительной заработной платы (можно принять 0,25);
Кс -- коэффициент отчислений на социальные нужды (0,26);
Зср -- среднемесячная зарплата одного работника; (7500)
Ч-- численность персонала, обслуживающего ЭВМ; (1)
12-- число месяцев в году.
3 ам -- годовые амортизационные отчисления:
где
а -- норма амортизационных отчислений для вычислительной техники (можно принять 0,2)
К -- стоимость ЭВМ = 21000 руб.
Зм -- затраты на материалы (можно принять в размере 2 % от К). = 420 руб.
Зр -- затраты на текущий ремонт ЭВМ (можно принять б размере 5 % от К). =1050 руб.
Зпр-- прочие затраты (можно принять в размере 30 % от К). = 6300 руб.
Тогда
При этом себестоимость работы при использовании этого варианта составит:
Вывод: Сравнив себестоимости рассмотренных вариантов видно, что 2-ой вариант (использование ЭИС) выгоднее первого (неавтоматизированная работа). Экономия при этом составит:
при этом разработка ЭИС окупится менее чем за полтора года:
При расчете не учитывалась экономия от снижения затрат на хранение запасов. То есть здесь приведён максимальный срок окупаемости.
3 Технологический раздел
3.1 Описание программной среды
Для написания программного кода использовалась среда программирования Visual Basic 6.0. Её использование обусловлено широкими возможностями применения для стандартных компонентов MS Office, так как практически все они имеют встроенный редактор кода Visual Basic. Использование средств разработки приложений одного производителя значительно упрощает весь процесс разработки программного обеспечения (ПО). Кроме того такой подход повышает надёжность и обеспечивает стабильность работы ПО.
Для корректной работы разрабатываемого ПО необходимы встроенные в Windows библиотеки компонентов, что накладывает ограничения на использование её с другими программными средами.
Программное обеспечение состоит из нескольких компонентов:
1. База данных. Разработана с применением СУБД Microsoft Access 2002. Выбор СУБД обусловлен её относительной простотой и доступностью. В данной работе Microsoft Access отводится минимум функций. Единственная её задача состоит в хранении и обновлении информации в режиме on-line.
2. Модуль ввода данных. Включает формы ввода и алгоритм передачи данных в БД. Передача данных осуществляется методом DAO который в свою очередь основан на технологии ODBC. Для работы метода необходимо указать полный путь к БД, и таблицу с которой предстоит работать.
3. Расчётный модуль. Содержит алгоритмы решения MRP системы, расчёта стоимости запасов и подготовки иной информации для отчётов.
4. Модуль подготовки и вывода отчётов. Для подготовки отчётов используется встроенный в Visual Basic редактор отчётов и MS Word. Для корректной работы редактора отчётов используется метод доступа к БД ADO основан на технологии ODBC. Работа этого метода не требует жёсткой привязки к БД, необходимо указать название соединения и провайдера.
3.2 Проектирование базы данных
По указанным в пункте 3.1 мотивам для разработки БД был выбран MS Access. Все таблицы БД можно разбить по функциональным признакам на несколько групп:
1. Таблицы ввода данных. Здесь записана первичная информация, использующаяся для расчётов. К данной категории относятся таблицы:
· «ПродукцияПоставщиков»
· «Предприятие»
· «Конфигурация»
· «Запас»
2. Таблицы хранения информации промежуточных расчетов. Для упрощения алгоритма программного кода приходилось наиболее сложные расчёты разбивать на смысловые части, именно их результаты и хранятся в данных таблицах. К данной категории относятся таблица:
· «ПроизводственныйПлан»
3. Таблицы накопления отчётной информации. Таблицы в которых хранятся результаты расчётов. Кроме того эти результаты используются и для составления отчётов. К данной категории относятся таблицы:
· «ПланЗакупок»
· «ПланПроизводства»
· «СтоимостьЗапаса»
· «Заказ комплектующих»
4. Таблицы служебной информации. Служат для идентификации информации, и обеспечении смысловой связи между таблицами. К данной категории относятся таблицы:
· «КодировкаBOM»
· «ДиаграммаBOM»
Стоит пояснить, что указанные в схеме данных связи несут лишь смысловую нагрузку. Так как все манипуляции с БД осуществляются по средствам программного кода. Схема данных представлена на рисунке 3.1.
Рис3.1 Схема данных
3.3 Работа с программным обеспечением
При разработки интерфейса ПО, была применена технология MDI, что позволяет эффективно работать в приложениях со множеством форм. При применении данной технологии одна форма проекта становится контейнером для всех остальных. Что даёт возможность работать со всеми формами проекта, как с группой, кроме того использование MDI интерфейса увеличивает производительность и гибкость всей программы.
Доступ к функциям программы осуществляется через контекстное меню родительской формы, либо через выбор соответствующей вкладки на «Главной форме» проекта (рис 3.2).
Рис 3.2 Главная форма
Перед началом работы с программой необходимо ввести путь к папке в которую установлена база данных.
3.3.1 Ввод информации
Для ввода информации используются формы: «Предприятие», «Поставщики», «Конфигурация», «Закупки», «Добавить заказ». Все они имеют похожий принцип действия:
1. При загрузке формы, она связывается с БД и происходит первичное заполнение компонентов формы
2. Пользователь меняет или добавляет информацию, которая скапливается в компоненте формы MSFlexGride
3. Происходит запись или замена информации в БД.
Наиболее интересная форма в этой группе это форма «Закупки». Внешний вид представлен на рис 3.3
Рис 3.3 форма «Закупки»
После вызова этой формы происходит автоматическое заполнение компонентов «Группа наименований» и «Выбор поставщика» информацией из базы данных.
Листинг 3.1
Загрузка формы «Закупки»
Private Sub Form_Load()Dim base As DatabaseDim nabor As RecordsetDim Pt As StringDim i As IntegerPt = Form2.Label1.Caption & "Base.mdb"Form5.Width = 7455Form5.Height = 6045Set base = OpenDatabase(Pt)Set nabor = base.OpenRecordset("КодировкаBOM", dbOpenTable)For i = 1 To nabor.RecordCountCombo2.AddItem nabor.Fields(1)nabor.MoveNextNext inabor.CloseSet nabor = base.OpenRecordset("Поставщик", dbOpenTable)Combo1.AddItem "нет"For i = 1 To nabor.RecordCountCombo1.AddItem nabor.Fields(0)nabor.MoveNextNext inabor.Closebase.CloseForm5.MSFlexGrid1.Row = 0Form5.MSFlexGrid1.Col = 0Form5.MSFlexGrid1.Text = "КодBOM"Form5.MSFlexGrid1.Col = 1Form5.MSFlexGrid1.Text = "Наименование"Form5.MSFlexGrid1.Col = 2Form5.MSFlexGrid1.Text = "Количество"Form5.MSFlexGrid1.Col = 3Form5.MSFlexGrid1.Text = "Цена"Form5.MSFlexGrid1.Col = 4Form5.MSFlexGrid1.Text = "Дата"Form5.MSFlexGrid1.ColWidth(1) = 3000End Sub |
Затем после выбора группы наименований и поставщика происходит заполнение компонента «Наименование», причём если поставщик не выбран происходит отбор самой дешёвой комплектующей этой группы.
Листинг 3.2
Подбор наименований
Private Sub Command5_Click()Dim base As DatabaseDim nabor As RecordsetDim Pt As StringDim i As IntegerCombo3.ClearLabel6.Caption = "Подобранно"Pt = Form2.Label1.Caption & "Base.mdb"Set base = OpenDatabase(Pt)Set nabor = base.OpenRecordset("КодировкаBOM", dbOpenTable)For i = 1 To nabor.RecordCountIf Combo2.Text = nabor.Fields(1) Then Kod = nabor.Fields(0)nabor.MoveNextNext inabor.CloseSet nabor = base.OpenRecordset("ПродукцияПоставщиков", dbOpenTable)If Combo1.Text = "" Or Combo1.Text = "нет" ThenFor i = 1 To nabor.RecordCountIf Kod = nabor.Fields(1) Then Combo3.AddItem nabor.Fields(2)nabor.MoveNextNext iElseFor i = 1 To nabor.RecordCountIf Kod = nabor.Fields(1) And nabor.Fields(0) = Combo1.Text Then Combo3.AddItem nabor.Fields(2)nabor.MoveNextNext iEnd IfEnd Sub |
После ввода количества и даты заказ можно переслать в компонент MSFlexGride.
Листинг 3.3
Механизм накопления информации
Private Sub Command1_Click()Dim base As DatabaseDim nabor As RecordsetDim Pt As StringDim i As IntegerDim MinPrise As IntegerPt = Form2.Label1.Caption & "Base.mdb"Set base = OpenDatabase(Pt)Set nabor = base.OpenRecordset("ПродукцияПоставщиков", dbOpenTable)Form5.MSFlexGrid1.Rows = Form5.MSFlexGrid1.Rows + 1Form5.MSFlexGrid1.Row = Form5.MSFlexGrid1.Rows - 1If Combo1.Text = "" Or Combo1.Text = "нет" ThenForm5.MSFlexGrid1.Col = 0Form5.MSFlexGrid1.Text = KodForm5.MSFlexGrid1.Col = 1Form5.MSFlexGrid1.Text = Combo3.TextForm5.MSFlexGrid1.Col = 2Form5.MSFlexGrid1.Text = Text1.TextForm5.MSFlexGrid1.Col = 4Form5.MSFlexGrid1.Text = Text2.TextMinPrise = 9900For i = 1 To nabor.RecordCountIf nabor.Fields(2) = Combo3.Text And nabor.Fields(3) < MinPrise ThenMinPrise = nabor.Fields(3)End Ifnabor.MoveNextNext iForm5.MSFlexGrid1.Col = 3Form5.MSFlexGrid1.Text = MinPriseElseForm5.MSFlexGrid1.Col = 0Form5.MSFlexGrid1.Text = KodForm5.MSFlexGrid1.Col = 1Form5.MSFlexGrid1.Text = Combo3.TextForm5.MSFlexGrid1.Col = 2Form5.MSFlexGrid1.Text = Text1.TextForm5.MSFlexGrid1.Col = 4Form5.MSFlexGrid1.Text = Text2.TextFor i = 1 To nabor.RecordCountIf nabor.Fields(2) = Combo3.Text ThenForm5.MSFlexGrid1.Col = 3Form5.MSFlexGrid1.Text = nabor.Fields(3)End Ifnabor.MoveNextNext iEnd IfEnd Sub |
После нажатия кнопки «Занести в БД» происходит запись информации в базу данных.
Листинг 3.4
Запись информации в БД
Private Sub Command3_Click()Dim base As DatabaseDim nabor As RecordsetDim Pt As StringDim i As IntegerPt = Form2.Label1.Caption & "Base.mdb"Set base = OpenDatabase(Pt)Set nabor = base.OpenRecordset("Запас", dbOpenTable)For i = 1 To Form5.MSFlexGrid1.Rows - 1Form5.MSFlexGrid1.Row = inabor.AddNewForm5.MSFlexGrid1.Col = 0nabor.Fields(0) = Form5.MSFlexGrid1.TextForm5.MSFlexGrid1.Col = 1nabor.Fields(1) = Form5.MSFlexGrid1.TextForm5.MSFlexGrid1.Col = 2nabor.Fields(2) = Form5.MSFlexGrid1.TextForm5.MSFlexGrid1.Col = 3nabor.Fields(3) = Form5.MSFlexGrid1.TextForm5.MSFlexGrid1.Col = 4nabor.Fields(4) = Form5.MSFlexGrid1.Textnabor.UpdateNext iMsgBox "Данные успешно занесены в БД", , "Сообщение"End Sub |
3.3.2 MRP модуль
Основная задача MRP модуля - сформировать план закупки комплектующих. Для этого план заказов разбивается на подневной план производства с учётом производственных мощностей и продолжительности производственного цикла.
Листинг 3.5
Формирование подневного плана производства
Private Sub Command15_Click()Dim base As DatabaseDim nabor As RecordsetDim rezalt As RecordsetDim prmo As RecordsetDim Pt As StringDim i, sam, kol, koldney As IntegerDim dat, prdat As DatePt = Form2.Label1.Caption & "Base.mdb"Set base = OpenDatabase(Pt)Set nabor = base.OpenRecordset("ПроизводственныйПлан", dbOpenTable)Set rezalt = base.OpenRecordset("ПланПроизводства", dbOpenTable)Set prmo = base.OpenRecordset("Предприятие", dbOpenTable)If rezalt.RecordCount > 0 Thenrezalt.MoveFirstFor i = 1 To rezalt.RecordCountrezalt.Deleterezalt.MoveNextNext iEnd Ifsam = 0For i = 1 To nabor.RecordCountsam = sam + nabor.Fields(2)nabor.MoveNextNext iprmo.MoveFirstkoldney = Round(sam / prmo.Fields(4))nabor.MoveFirstFor i = 1 To nabor.RecordCountdat = nabor.Fields(3)kol = nabor.Fields(2)Do While kol > 0rezalt.AddNewrezalt.Fields(0) = nabor.Fields(0)rezalt.Fields(1) = nabor.Fields(1)If kol > prmo.Fields(4) Thenrezalt.Fields(2) = prmo.Fields(4)Elserezalt.Fields(2) = kolEnd IfIf dat < prdat Then dat = prdat + prmo.Fields(5)rezalt.Fields(3) = datdat = dat + prmo.Fields(5)prdat = rezalt.Fields(3)kol = kol - prmo.Fields(4)rezalt.UpdateLoopnabor.MoveNextNext iWith Form2.MSFlexGrid2.Cols = 4.ColWidth(0) = 1000.ColWidth(1) = 1500.ColWidth(2) = 1000.ColWidth(3) = 1000.Row = 0.Col = 0.Text = "Код заказа".Col = 1.Text = "Конфигурация".Col = 2.Text = "Количество".Col = 3.Text = "Дата".Rows = rezalt.RecordCount + 1rezalt.MoveFirstFor i = 1 To .Rows - 1.Row = i.Col = 0.Text = rezalt.Fields(0).Col = 1.Text = rezalt.Fields(1).Col = 2.Text = rezalt.Fields(2).Col = 3.Text = rezalt.Fields(3)rezalt.MoveNextNext iEnd WithEnd Sub |
Следующим этапом станет определение точки заказа комплектующих. Для этого в цикле нарастающим итогом рассчитывается стоимость хранения партии комплектующих, если в како-то итерации сума на хранение превышает издержки на перевозку это и будет временной точкой заказа комплектующих.
Листинг 3.6
Определение времени заказа комплектующих
Private Sub Command6_Click()Dim base As DatabaseDim nabor As RecordsetDim Sthran As RecordsetDim Vrdost As RecordsetDim rez As RecordsetDim Pt As StringDim i, j As IntegerDim dat As DateDim sam As DoubleDim kol As IntegerPt = Form2.Label1.Caption & "Base.mdb"Set base = OpenDatabase(Pt)Set nabor = base.OpenRecordset("ПланПроизводства", dbOpenTable)Set Sthran = base.OpenRecordset("КодировкаBOM", dbOpenTable)Set Vrdost = base.OpenRecordset("Поставщик", dbOpenTable)Set rez = base.OpenRecordset("ПланЗакупок", dbOpenTable)If rez.RecordCount > 0 ThenFor i = 1 To rez.RecordCountrez.Deleterez.MoveNextNext iEnd Ifsam = 0kol = 0nabor.MoveFirstFor i = 1 To nabor.RecordCountdat = nabor.Fields(3) - Vrdost.Fields(4)Sthran.MoveFirstFor j = 1 To Sthran.RecordCountsam = sam * (nabor.Fields(3) - dat) + Sthran.Fields(3) * nabor.Fields(2)Sthran.MoveNextNext jkol = kol + nabor.Fields(2)If sam > Vrdost.Fields(3) Thenrez.AddNewrez.Fields(1) = kolsam = 0kol = 0rez.UpdateEnd Ifnabor.MoveNextNext iDim samzak, sampr As Integernabor.MoveFirstFor i = 1 To nabor.RecordCountsampr = sampr + nabor.Fields(2)nabor.MoveNextNext irez.MoveFirstFor i = 1 To rez.RecordCountsamzak = samzak + rez.Fields(1)rez.MoveNextNext iIf sampr > samzak Thenrez.AddNewrez.Fields(1) = sampr - samzakrez.UpdateEnd Ifkol = 0rez.MoveFirstnabor.MoveFirstFor i = 1 To rez.RecordCountrez.Editrez.Fields(2) = nabor.Fields(3) - Vrdost.Fields(4)Do While rez.Fields(1) > kolkol = kol + nabor.Fields(2)nabor.MoveNextLoopkol = 0rez.Updaterez.MoveNextNext iWith Form2.MSFlexGrid2.Cols = 2.Row = 0.Col = 0.ColWidth(0) = 2000.ColWidth(1) = 1500.Text = "Количество комплектов".Col = 1.Text = "Дата заказа".Rows = rez.RecordCount + 1rez.MoveFirstFor i = 1 To .Rows - 1.Row = i.Col = 0.Text = rez.Fields(1).Col = 1.Text = rez.Fields(2)rez.MoveNextNext iEnd WithEnd Sub |
Заключительным этапом MRP цикла является формирование графика закупок комплектующих, который включает наименование, количество и дату заказа.
Листинг 3.7
Формирование графика закупки комплектующих
Private Sub Command17_Click()Dim base As DatabaseDim PlZa As RecordsetDim PlPr As RecordsetDim rez As RecordsetDim Pt As StringDim i As IntegerPt = Label1.Caption & "Base.mdb"Set base = OpenDatabase(Pt)Set PlPr = base.OpenRecordset("ПланПроизводства", dbOpenTable)Set PlZa = base.OpenRecordset("ПланЗакупок", dbOpenTable)Set rez = base.OpenRecordset("ЗаказКомплектующих", dbOpenTable)If rez.RecordCount > 0 Thenrez.MoveFirstFor i = 1 To rez.RecordCountrez.Deleterez.MoveNextNext iEnd IfFor i = 1 To PlPr.RecordCountrez.AddNewrez.Fields(0) = PlPr.Fields(0)rez.Fields(1) = PlPr.Fields(1)rez.Fields(2) = PlPr.Fields(2)rez.Fields(3) = PlPr.Fields(3)rez.UpdatePlPr.MoveNextNext iDim dat As DateDim k As Integerrez.MoveFirstPlZa.MoveLastdat = PlZa.Fields(2)PlZa.MoveFirstPlZa.MoveNextk = 1For i = 1 To rez.RecordCountDo While rez.Fields(3) < PlZa.Fields(2)rez.EditPlZa.MovePreviousrez.Fields(3) = PlZa.Fields(2)PlZa.MoveNextrez.Updaterez.MoveNextk = k + 1LoopIf dat = PlZa.Fields(2) ThenFor j = k To rez.RecordCountrez.Editrez.Fields(3) = datrez.Updaterez.MoveNextNext jGoTo l1ElsePlZa.MoveNextEnd IfNext il1: With Form2.MSFlexGrid2.Cols = 3.Row = 0.Col = 0.ColWidth(0) = 1500.ColWidth(1) = 1250.ColWidth(2) = 1250.Text = "Комплектов".Col = 1.Text = "Количество".Col = 2.Text = "Дата".Rows = rez.RecordCount + 1rez.MoveFirstFor i = 1 To .Rows - 1.Row = i.Col = 0.Text = rez.Fields(1).Col = 1.Text = rez.Fields(2).Col = 2.Text = rez.Fields(3)rez.MoveNextNext iEnd WithEnd Sub |
3.3.3 Определение стоимости запасов
Стоимость запасов определяется 4-мя различными способами:
1. По стоимости последних по времени закупок LIFO
2. По стоимости первых по времени закупок FIFO
3. По средней цене
4. По средней взвешенной цене
Не смотря на различие в полученных результатах с машинной точки зрения методы расчёта похожи. Поэтому приведём лишь код расчёта с помощью метода LIFO.
Листинг 3.8
Расчёт стоимости запасов
Private Sub Command22_Click()Dim base As DatabaseDim rez As RecordsetDim PrPo As RecordsetDim zap As RecordsetDim Pt As StringPt = Form2.Label1.Caption & "Base.mdb"Set base = OpenDatabase(Pt)Set PrPo = base.OpenRecordset("ПродукцияПоставщиков", dbOpenTable)Set zap = base.OpenRecordset("Запас", dbOpenTable)Set rez = base.OpenRecordset("LIFO", dbOpenTable)If rez.RecordCount > 0 ThenFor i = 1 To rez.RecordCountrez.Deleterez.MoveNextNext iEnd IfDim sam As IntegerDim dat As DateDim prise As IntegerDim Nazv As StringPrPo.MoveFirstFor i = 1 To PrPo.RecordCountzap.MoveFirstFor j = 1 To zap.RecordCountIf PrPo.Fields(2) = zap.Fields(1) And zap.Fields(5) = 0 Thensam = sam + zap.Fields(2)zap.Editzap.Fields(5) = 1zap.UpdateNazv = zap.Fields(1)If dat < zap.Fields(4) Thendat = zap.Fields(4)prise = zap.Fields(3)End IfEnd Ifzap.MoveNextNext jrez.AddNewrez.Fields(0) = Nazvrez.Fields(1) = samrez.Fields(2) = priserez.Updatedat = 1prise = 0sam = 0PrPo.MoveNextNext irez.MoveFirstFor i = 1 To rez.RecordCountIf rez.Fields(1) = 0 And rez.Fields(2) = 0 Then rez.Deleterez.MoveNextNext irez.MoveFirstFor i = 1 To rez.RecordCountrez.Editrez.Fields(3) = rez.Fields(1) * rez.Fields(2)rez.Updaterez.MoveNextNext izap.MoveFirstFor i = 1 To zap.RecordCountzap.Editzap.Fields(5) = 0zap.Updatezap.MoveNextNext iWith Form2.MSFlexGrid3.Cols = 3.Row = 0.Col = 0.ColWidth(0) = 2550.ColWidth(1) = 750.ColWidth(2) = 1700.Text = "Наименование".Col = 1.Text = "Количество".Col = 2.Text = "Стоимость запасов".Rows = rez.RecordCount + 1rez.MoveFirstFor i = 1 To .Rows - 1.Row = i.Col = 0.Text = rez.Fields(0).Col = 1.Text = rez.Fields(1).Col = 2.Text = rez.Fields(3)rez.MoveNextNext iEnd WithEnd Sub |
3.3.4 Подготовка и вывод отчётов
Для вывода отчётов используются компонент Visual Basic Data Report и MS Word.
1. Data Report. Работа с Data Report похожа на работу с подготовкой отчётов в MS Access. На форме отчёта располагаем заголовки и счётчик страниц, в области данных указываем название полей БД. Для формирования отчёта необходимо использовать методику доступа к БД ADO.
Листинг 3.9
Формирование отчёта с использованием Data Report
Sub Отчёт(tbl As String)Dim Pt As StringPt = Form2.Label1.Caption & "Base.mdb"Set ist = New ADODB.Connectionist.Provider = "Microsoft.Jet.OLEDB.4.0"ist.ConnectionString = Ptist.OpenSet zap = New ADODB.Recordsetzap.CursorType = adOpenDynamiczap.Source = tblSet zap.ActiveConnection = istzap.OpenEnd SubPrivate Sub Command13_Click()Отчёт "ПродукцияПоставщиков"Set DataReport3.DataSource = zapDataReport3.ShowEnd Sub |
Рис 3.4 Отчёт с использованием Data Report
2. MS Word. При использовании MS Word необходимо создать файл с расширением “.doc” затем он наполняется необходимой информацией и сохраняется в указанном месте. Естественно программа всё это делает в автоматическом режиме.
Листинг 3.10
Формирование отчёта с использованием MS Word
Private Sub Command9_Click()Dim base As DatabaseDim nabor As RecordsetDim Pt As StringDim objWord As Word.ApplicationDim objDoc As Word.DocumentPt = Form2.Label1.Caption & "Base.mdb"Set base = OpenDatabase(Pt)Set nabor = base.OpenRecordset("Предприятие", dbOpenTable)Set objWord = New Word.ApplicationobjWord.Visible = TrueSet objDoc = objWord.Documents.AddobjDoc.ActivateobjDoc.ActiveWindow.Selection.Font.Size = 20objDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.InsertAfter " Предприятие"objDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.Font.Bold = TrueobjDoc.ActiveWindow.Selection.EndOfobjDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.InsertAfter "__________________________________________________________"objDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.Font.Bold = TrueobjDoc.ActiveWindow.Selection.Font.Size = 14objDoc.ActiveWindow.Selection.EndOfobjDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.InsertAfter "Название предприятия " & nabor.Fields(0)objDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.InsertAfter "Адрес " & nabor.Fields(1)objDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.InsertAfter "ФИО Директора " & nabor.Fields(2)objDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.InsertAfter "ФИО главного бухгалтера " & nabor.Fields(3)objDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.InsertAfter "Производственные мощности предприятия " & nabor.Fields(4) & " штук"objDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.InsertAfter "Производственный цикл для каждого изделия " & nabor.Fields(5) & " дня"objDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.Font.Bold = FalseobjDoc.ActiveWindow.Selection.Font.Size = 14objDoc.ActiveWindow.Selection.EndOfobjDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.InsertAfter "__________________________________________________________"objDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.Font.Bold = TrueobjDoc.ActiveWindow.Selection.Font.Size = 14objDoc.ActiveWindow.Selection.EndOfobjDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.InsertAfter DateobjDoc.ActiveWindow.Selection.InsertParagraphAfterobjDoc.ActiveWindow.Selection.Font.Bold = TrueobjDoc.ActiveWindow.Selection.Font.Size = 10objDoc.ActiveWindow.Selection.EndOfPt = Form2.Label1.Caption & Date & "Предприятие.doc"objDoc.SaveAs PtEnd Sub |
Подобные документы
Обзор и анализ информационных систем по учету материальных ценностей в международной практике. Информационная система для учёта материальных средств ООО "Железногорский комбикормовый завод". Выбор средств, инструментов для создания информационной системы.
дипломная работа [1,2 M], добавлен 23.12.2014Создание информационной системы для предприятия с удобным пользовательским интерфейсом. Автоматизация учета посетителей, персонала и оборудования в интернет-кафе. Описание среды программирования и системы управления базами данных. Справочная система.
курсовая работа [3,3 M], добавлен 23.01.2014Разработка системы учета товарно-материальных ценностей с использованием стандартных методологий функционального и информационного моделирования. Экономические параметры разработки и внедрения информационной системы. Разработка клиентской части системы.
дипломная работа [1,7 M], добавлен 03.04.2013Применение вычислительной техники и локальных сетей для автоматизации документооборота, создания массивов информации. Структура информационной системы предприятия и средства управления. Формирование топологии сети и расчет ее экономической эффективности.
курсовая работа [72,7 K], добавлен 16.11.2009Проведение исследования назначения и области применения информационной системы. Организационная структура объекта автоматизации. Используемые классификаторы и системы кодирования. Характеристика выходной информации. Описание программных модулей.
курсовая работа [1,1 M], добавлен 20.11.2021Обоснование необходимости совершенствования информационной системы (ИС) ООО "Мехсервис". Анализ системы учета деятельности авторемонтного предприятия. Разработка концепции построения автоматизированной ИС. Описание продукта информационной технологии.
дипломная работа [2,7 M], добавлен 22.05.2012Технические средства обеспечения функционирования информационной системы. Проектирование базы данных информационной системы. Разработка веб-приложения – справочно-информационной системы для предприятия. Организация записи информации в базу данных.
дипломная работа [4,4 M], добавлен 16.05.2022Предпроектное обследование предприятия ООО "Уралэнергоцентр". Расчет текущих затрат пользователя. Разработка автоматизированной информационной системы управления ООО "Уралэнергоцентр". Автоматизация информационной системы товарооборота предприятия.
дипломная работа [1,5 M], добавлен 27.12.2009Создание информационной системы автоматизации процесса управления базами данных компании ООО "Роснефть". Требования к характеристикам технических средств. Обоснование выбора CASE-средства. Разработка программного обеспечения, расчет затрат цены и прибыли.
дипломная работа [3,9 M], добавлен 24.03.2012Перечень документов, на основании которых создается система автоматизации бухгалтерского учета товарно-материальных ценностей. Назначение и цели создания системы. Требование к содержанию работ по подготовке объекта автоматизации к вводу системы в действие
курсовая работа [1,1 M], добавлен 05.07.2014