Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОД ЛАБ ПОЭИС.doc
Скачиваний:
0
Добавлен:
22.08.2019
Размер:
491.52 Кб
Скачать

Лабораторная работа 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, Header:=xlGuess,_ OrderCustom:=1, MatchCase:=False, Orientation:=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

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