Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ЛАБОРАТОРНАЯ РАБОТА N 3
- ТЕМА РАБОТЫ: «ПРИКЛАДНОЙ ФАЙЛОВЫЙ СЕРВЕР В СИСТЕМЕ РАСЧЕТОВ С ПОТРЕБИТЕЛЯМИ»
- Методика решения задачи учета реализации товарной про-дукции
- Учет реализации товарной продукции – основная задача ком-плекса задач «Расчеты с потребителями». По сути дела процесс учета продажи товарной продукции за наличный расчет сводится к заполнению базы данных реализация продукции по файлам на-кладных.
- Файлы накладных поступают в бухгалтерию из отдела сбыта по локальной сети и записываются в папку «Накладные». Накладная – это таблица, где указаны коды, наименования и количества товарной продукции, отпущенной со склада за наличный расчет. В базе данных заданы все виды товарной продукции, выпускаемой пред-приятием, и объемы реализации каждого вида продукции за отчет-ный период.
- Для вычисления объема реализации продукции в базе данных определяются строки, где записаны коды продукции из текущей накладной, и в этих строчках пересчитываются значения поля «Объем реализации продукции» (к текущему значению поля добав-ляется количество отпущенной со склада товарной продукции, ука-занное в текущей накладной).
- Информационные объекты, используемые в процессе решения задачи – электронная таблица «База» и таблицы накладных. Первая графа таблицы «База» - код продукции, вторая графа – наименова-ние, третья графа – объем реализации. Первая графа таблицы на-кладной - код продукции, вторая графа – наименование, третья графа – количество.
- Для пересчета объема реализации товарной продукции исполь-зуются программы заполнения базы по файлам накладных: про-грамма формирования списка файлов заданной папки, программа преобразования списка файлов (определение файлов, поступивших позже последнего обновления базы), программа пересчета объема реализации товарной продукции.
- Цель работы – создать информационные объекты и программы для решения задачи заполнения базы данных по файлам накладных.
- Описание программ заполнения базы по файлам накладных
- В программе формирования списка файлов заданной папки ис-пользуются системные функции, определяющие список файлов за-данной папки и время их записи. Эта программа нужна для опреде-ления файлов, поступивших после пересчета базы.
- Программа преобразования списка файлов находит имена фай-лов, поступивших после пересчета базы, и вырезает строки, где за-писаны эти имена.
- Программа пересчета объема реализации товарной продукции состоит из трех процедур.
- Первая процедура записывает значение кодов товарной продук-ции в отдельный массив (эта операция нужна для сокращения объема вычислений).
- Вторая процедура открывает в отдельном окне файл накладной и выполняет поиск кодов продукции, указанной в накладной, в таб-лице «База». Для нахождения этих кодов используется процедура быстрого поиска значений в сортированном массиве.
- Третья процедура пересчитывает в найденных строчках значение объема реализации товарной продукции.
- Тексты программ заполнение базы по файлам накладных
- Программа формирования списка файлов заданной папки
- n = 1
- Worksheets("список").Cells(1, 1) = Dir("D:\Накладные\", 16)
- While Worksheets("список").Cells(n, 1) <> ""
- n = n + 1
- Worksheets("список").Cells(n, 1) = Dir()
- Wend
- n = 3
- While Worksheets("список").Cells(n, 1) <> ""
- c = "d:\Накладные\" + Worksheets("список").Cells(n, 1)
- t = FileDateTime(c)
- Worksheets("список").Cells(n, 2) = t
- n = n + 1
- Wend
- Программа преобразования списка файлов (определение файлов, поступивших позже последнего обновления базы)
- n = 3: b = FileDateTime("d:\База.xls")
- While Worksheets("список").Cells(n, 1) <> ""
- c = "d:\Накладные\" + Worksheets("список").Cells(n, 1)
- If Dir(c) = "" Then
- Worksheets("список").Cells(n, 1) = ""
- Worksheets("список").Cells(n, 2) = ""
- Else
- t = FileDateTime(c)
- If t <= b Then
- Worksheets("список").Cells(n, 1) = ""
- Worksheets("список").Cells(n, 2) = ""
- End If: End If: n = n + 1: Wend
- Columns("A:B").Select
- Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Head-er:=xlGuess,_ OrderCustom:=1, MatchCase:=False, Orienta-tion:=xlTopToBottom, _
- DataOption1:=xlSortNormal
- Application.CommandBars("Stop Recording").Visible = False
- Программа пересчета объема реализации товарной продукции
- n = 1: k = 1: Dim a(100) As Integer: Dim b(100) As Integer
- While Worksheets("База").Cells(n, 1) <> ""
- a(n) = Worksheets("База").Cells(n, 1): n = n + 1: Wend
- n = 3
- While Worksheets("список").Cells(n, 1) <> ""
- e = Worksheets("список").Cells(n, 1)
- c = "d:\Накладные\" + e
- Workbooks.Open Filename:=c
- k = 1: d = "сведения"
- While Workbooks(e).Worksheets(d).Cells(k, 1) <> ""
- b(k) = Workbooks(e).Worksheets(d).Cells(k, 1)
- m(k) = Workbooks(e).Worksheets(d).Cells(k, 2)
- k = k + 1: Wend
- Windows(e).Close
- n1 = 1: n2 = n - 1: While n1 < n2 - 1
- c = n1 + Int((n2 - n1) / 2)
- If a(c) > b(1) Then
- n2 = c
- Else: n1 = c: End If: Wend
- Worksheets("База").Cells(n1, 2)= Worksheets("База").Cells(n1, 2)+m(1)
- For i = 2 To k - 1
- n1 = n1: n2 = n - 1: While n1 < n2 - 1
- c = n1 + Int((n2 - n1) / 2)
- If a(c) > b(i) Then
- n2 = c
- Else: n1 = c: End If: Wend
- Worksheets("База").Cells(n1, 2)= Worksheets("База").Cells(n1, 2)+m(i): Next
- n=n+1:Wend
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement