Advertisement
GOODPower

Untitled

Dec 17th, 2012
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.79 KB | None | 0 0
  1. ЛАБОРАТОРНАЯ РАБОТА N 3
  2. ТЕМА РАБОТЫ: «ПРИКЛАДНОЙ ФАЙЛОВЫЙ СЕРВЕР В СИСТЕМЕ РАСЧЕТОВ С ПОТРЕБИТЕЛЯМИ»
  3.  
  4. Методика решения задачи учета реализации товарной про-дукции
  5.  
  6. Учет реализации товарной продукции – основная задача ком-плекса задач «Расчеты с потребителями». По сути дела процесс учета продажи товарной продукции за наличный расчет сводится к заполнению базы данных реализация продукции по файлам на-кладных.
  7. Файлы накладных поступают в бухгалтерию из отдела сбыта по локальной сети и записываются в папку «Накладные». Накладная – это таблица, где указаны коды, наименования и количества товарной продукции, отпущенной со склада за наличный расчет. В базе данных заданы все виды товарной продукции, выпускаемой пред-приятием, и объемы реализации каждого вида продукции за отчет-ный период.
  8. Для вычисления объема реализации продукции в базе данных определяются строки, где записаны коды продукции из текущей накладной, и в этих строчках пересчитываются значения поля «Объем реализации продукции» (к текущему значению поля добав-ляется количество отпущенной со склада товарной продукции, ука-занное в текущей накладной).
  9. Информационные объекты, используемые в процессе решения задачи – электронная таблица «База» и таблицы накладных. Первая графа таблицы «База» - код продукции, вторая графа – наименова-ние, третья графа – объем реализации. Первая графа таблицы на-кладной - код продукции, вторая графа – наименование, третья графа – количество.
  10. Для пересчета объема реализации товарной продукции исполь-зуются программы заполнения базы по файлам накладных: про-грамма формирования списка файлов заданной папки, программа преобразования списка файлов (определение файлов, поступивших позже последнего обновления базы), программа пересчета объема реализации товарной продукции.
  11. Цель работы – создать информационные объекты и программы для решения задачи заполнения базы данных по файлам накладных.
  12.  
  13. Описание программ заполнения базы по файлам накладных
  14.  
  15. В программе формирования списка файлов заданной папки ис-пользуются системные функции, определяющие список файлов за-данной папки и время их записи. Эта программа нужна для опреде-ления файлов, поступивших после пересчета базы.
  16. Программа преобразования списка файлов находит имена фай-лов, поступивших после пересчета базы, и вырезает строки, где за-писаны эти имена.
  17. Программа пересчета объема реализации товарной продукции состоит из трех процедур.
  18. Первая процедура записывает значение кодов товарной продук-ции в отдельный массив (эта операция нужна для сокращения объема вычислений).
  19. Вторая процедура открывает в отдельном окне файл накладной и выполняет поиск кодов продукции, указанной в накладной, в таб-лице «База». Для нахождения этих кодов используется процедура быстрого поиска значений в сортированном массиве.
  20. Третья процедура пересчитывает в найденных строчках значение объема реализации товарной продукции.
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27. Тексты программ заполнение базы по файлам накладных
  28.  
  29. Программа формирования списка файлов заданной папки
  30.  
  31. n = 1
  32. Worksheets("список").Cells(1, 1) = Dir("D:\Накладные\", 16)
  33. While Worksheets("список").Cells(n, 1) <> ""
  34. n = n + 1
  35. Worksheets("список").Cells(n, 1) = Dir()
  36. Wend
  37. n = 3
  38. While Worksheets("список").Cells(n, 1) <> ""
  39. c = "d:\Накладные\" + Worksheets("список").Cells(n, 1)
  40. t = FileDateTime(c)
  41. Worksheets("список").Cells(n, 2) = t
  42. n = n + 1
  43. Wend
  44.  
  45. Программа преобразования списка файлов (определение файлов, поступивших позже последнего обновления базы)
  46.  
  47. n = 3: b = FileDateTime("d:\База.xls")
  48. While Worksheets("список").Cells(n, 1) <> ""
  49. c = "d:\Накладные\" + Worksheets("список").Cells(n, 1)
  50. If Dir(c) = "" Then
  51. Worksheets("список").Cells(n, 1) = ""
  52. Worksheets("список").Cells(n, 2) = ""
  53. Else
  54. t = FileDateTime(c)
  55. If t <= b Then
  56. Worksheets("список").Cells(n, 1) = ""
  57. Worksheets("список").Cells(n, 2) = ""
  58. End If: End If: n = n + 1: Wend
  59. Columns("A:B").Select
  60. Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Head-er:=xlGuess,_ OrderCustom:=1, MatchCase:=False, Orienta-tion:=xlTopToBottom, _
  61. DataOption1:=xlSortNormal
  62. Application.CommandBars("Stop Recording").Visible = False
  63.  
  64. Программа пересчета объема реализации товарной продукции
  65.  
  66. n = 1: k = 1: Dim a(100) As Integer: Dim b(100) As Integer
  67. While Worksheets("База").Cells(n, 1) <> ""
  68. a(n) = Worksheets("База").Cells(n, 1): n = n + 1: Wend
  69.  
  70. n = 3
  71. While Worksheets("список").Cells(n, 1) <> ""
  72. e = Worksheets("список").Cells(n, 1)
  73. c = "d:\Накладные\" + e
  74. Workbooks.Open Filename:=c
  75. k = 1: d = "сведения"
  76. While Workbooks(e).Worksheets(d).Cells(k, 1) <> ""
  77. b(k) = Workbooks(e).Worksheets(d).Cells(k, 1)
  78. m(k) = Workbooks(e).Worksheets(d).Cells(k, 2)
  79. k = k + 1: Wend
  80. Windows(e).Close
  81. n1 = 1: n2 = n - 1: While n1 < n2 - 1
  82. c = n1 + Int((n2 - n1) / 2)
  83. If a(c) > b(1) Then
  84. n2 = c
  85. Else: n1 = c: End If: Wend
  86.  
  87. Worksheets("База").Cells(n1, 2)= Worksheets("База").Cells(n1, 2)+m(1)
  88.  
  89. For i = 2 To k - 1
  90. n1 = n1: n2 = n - 1: While n1 < n2 - 1
  91. c = n1 + Int((n2 - n1) / 2)
  92. If a(c) > b(i) Then
  93. n2 = c
  94. Else: n1 = c: End If: Wend
  95.  
  96. Worksheets("База").Cells(n1, 2)= Worksheets("База").Cells(n1, 2)+m(i): Next
  97. n=n+1:Wend
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement