УДК 004.42
05.00.00 Технические науки
ИНФОРМАЦИОННАЯ СИСТЕМА УЧЕТА РАСХОДА КОРМОВ В МОЛОЧНОТОВАРНОЙ ФЕРМЕ
Галиев Карим Сулейманович к.т.н., доцент
РИНЦ SPIN-^=8093-5110 E-mail: [email protected]
Печурина Елена Каримовна старший преподаватель РИНЦ SPIN-код: 1952-4286 E-mail: [email protected]
Кубанский государственный аграрный университет имени И.Т.Трубилина, Краснодар, Россия
Компьютерная программа, как информационная система, предназначена для ежедневного заполнения экранной формы, имитирующей форму СП 20. По этому документу указывают поголовье скота, лимит расхода кормов по видам и половозрастным группам на одну голову и общий лимит на месяц на все поголовье. Компьютерная программа создана на основе электронной таблицы Excel, которая весьма просто осваивается пользователем (бухгалтер, учетчик, заведующий). Компьютерная программа разработана с использованием языка VBA, что позволяет автоматизировать все вычислительные операции по обработке данных. Пользователь вводит только известные исходные данные (группы скота, вид и количество кормов)
Ключевые слова: РАСХОД КОРМОВ, МОЛОЧНОТОВАРНАЯ ФЕРМА, УЧЕТНАЯ ФОРМА СП 20, КОМПЬЮТЕРНАЯ ПРОГРАММА, EXCEL, ЯЗЫК VBA
Doi: 10.21515/1990-4665-130-003
UDC 004.42 Technical sciences
INFORMATION SYSTEM FOR THE ACCOUNTING OF FEED CONSUMPTION IN A DAIRY FARM
Galiyev Karim Suleymanovich Cand.Tech.Sci., associate professor RINTs SPIN code =8093-5110 E-mail: [email protected]
Pechurina Elena Karimovna senior lecturer
RINTs SPIN code: 1952-4286 E-mail: [email protected]
Kuban state agrarian University named after I. T. Trubilin, Krasnodar, Russia
A computer program, as an information system, is designed to fill in the daily form that simulates the form of SP 20. This document indicates the number of livestock, the feed consumption limit by species and sex and age groups per head and the total limit for a month for all livestock. The computer program is created on the basis of an Excel spreadsheet, which is easily mastered by the user (accountant, accountant, manager). The computer program is developed using the VBA language, which allows you to automate all computing operations for data processing. The user enters only known initial data (cattle groups, species and number of feeds)
Keywords: FEED CONSUMPTION, DAIRY FARM, ACCOUNTING FORM SP 20, COMPUTER PROGRAM, EXCEL, VBA LANGUAGE
Введение
Корма - это основа для производства отрасли животноводства. Кормление крупного рогатого скота является одним из наименее механизированных процессов, в то время как на него приходится 30-40% общих трудозатрат на молочно-товарной ферме [1].
Производственный учет в животноводстве необходим для учета поголовья скота; учета производства и расходования продукции; планирования развития отрасли; контроля и организации выполнения государствен-
ных заданий производства продукции; планирования производства и расхода корма, нормирования кормления скота; организации и оплаты труда на фермах. Для решения указанных задач используют компьютерные технологии управления производством животноводческой продукции. Имеется большое количество литературных источников по разработке компьютерных программ [2].
Целью работы является разработка компьютерной программы для ежедневного заполнения экранной формы, имитирующей форму СП-20. По этому документу указывают поголовье скота, лимит расхода по видам и половозрастным группам на одну голову и общий лимит на месяц на все поголовье. В ведомости ежедневно делают отметку об отпущенных и полученных на ферму кормах. В конце месяца подсчитывают фактический расход кормов по видам и группам скота. Кроме того, на основании формы СП-20 составляется Журнал сводного учета расхода кормов на ферме [3].
Компьютерная программа создана на основе электронной таблицы Excel, которая весьма просто осваивается пользователем (бухгалтер, учетчик, заведующий). Компьютерная программа разработана с использованием языка VBA (Visual Basic for Application [4] ), что позволяет автоматизировать ряд операций, связанных с обработкой данных (более подробно это будет показано ниже).
Работа с программой состоит из трёх частей:
1) подготовительная часть для разработки/редактирования программы;
2) непосредственно разработка/редактирование программы;
3) обработка данных (ввод исходных данных, формирование результатов расчета).
Для пользователя (бухгалтер, учетчик, заведующий) необходимо освоить только третью часть программы - обработку данных.
Часть 1 (подготовка для разработки/редактирования программы)
Для разработки/редактирования программы необходимо выполнить два действия: снять защиту листов и включить в меню инструмент "Разработчик" .
1.1 Снятие/установка защиты листов (рис 1 ).
да №
Защитить
КНИГ/"
Разрешения
^ Один или несколько листов этой книги были заблокироЕаны, чтобы запретить нежелательные изменения дгнных.
Инструкция Снять защиту
Нормы Снять защиту
день1 Снять защиту
день2 Снять ; а щиту
деньЗ Снять защиту
Рисунок 1 - Снятие/установка защиты листов (меню Файл - Сведения).
1.2 Включение в меню инструмента "Разработчик": Меню Файл Параметры - Настройка ленты (рис. 2).
Рисунок 2 - Элементы инструмента "Разработчик" (фрагмент).
Часть 2 (разработка/редактирование программы) 2.1. Вкладки/листы
Программа содержит следующие вкладки/листы (рис. 3): ^ Инструкция
^ Нормы ^ день1,..., день10 ^ Группа ^ Сводная ^ вп1,..., вп10 ^ впСвод
Рисунок 3 - Название листов (фрагмент).
Содержание листов следующее:
2.1.1 Инструкция по заполнению данных о МТФ: фамилии сотрудников, календарный период, последовательность заполнения остальных данных (рис. 4).
2.1.2 Суточная норма необходимых кормов для каждой группы скота с указанием количества голов (рис. 5).
2.1.3 Формы для каждого дня декады: наименование кормов, группы скота, количество суточного поступления каждого вида кормов, суточный расход кормов по группам скота, суточный расход по видам кормов. При этом имеется возможность просмотра всех видов кормов, в том числе не использованных, для чего нажать на кнопку "Отобразить все корма" (рис. 6).
2.1.4 Форма для просмотра движения кормов для выбранной группы скота по дням декады (рис. 7).
2.1.5 Сводная ведомость движения кормов с учетом всех дней декады (рис. 8).
2.1.6 Формы ежедневного внутреннего перемещения кормов между группами скота (рис. 9).
2.1.7 Аналогично разработана вкладка просмотра сводной ведомости внутреннего перемещения кормов с учетом всех дней декады.
Общие сведения по учету кормов в ОАО "Имени Ильича"
Ферма МТФ-1
Наименование Мопочно-товарная ферма №1
Заведующий Бондарь Эдуард Анатольевич
Зоотехник Блики н Андрей Валентинович
Бухгалтер Князева Софья Андреевна
Скотник группы Сидоров Василий Алексеевич
Скотники
А&рамов А&рам Петрович
Иванов Иван Иванович
Петров Петр Петрович
Сидоров Василий Алексеевич
]л
Даты декады
21.03.2013
22.03.2013
23.03.2013
24.03.2013
25.03.2013
26.03.2013
27.03.2013
28.03.2013
29.03.2013
30.03.2013
31.03.2013
Инструкция:
1. Исправлять можно только желтые ячейки
2. Проверить все ФИО. Выбрать скотника группы (нажать на Фио скотника).
3. Проверить дату начала декады.
4. При смене даты обновляются все данные и появится лист "Нормы".
5. На листе "Нормы" заполнить/уточнить кол- во голов и норму кормов.
6. На всех листах "день1 ,..2." заполнить приход кормов, кол-во голов, расход кормов.
7. На листе Труппа" нажать кнопку "Собрать расход кормов"
8. На листе "Сводная" нажать кнопку "Формировать Сводную"
9. На листах "вп1, вп2," заполнить внутреннее перемещение кормов
10. На листе "впСвод" нажать кнопку "Формировать Сводную"
Рисунок 4 - Лист "Инструкция".
А BCD£FGHIJKL^Jt^lO
1 21.03.2013 К(К ПКИ-2 к/к ПКвЯ-З ПК61 кк пкн к>к сп! ПК сп 2 к;к гран К'К 0-2 к!к2-в кои ййнйк жои сук сана лкц лгец
3 15 16 Мазз0-20аи 18 4 1 3 3 5
ЭфЗ&'йДО 50 2,5 1П ? ? 5
Эфвн Л 5-20 31 4.5 Сдвинуть в старому 23 5
17 Зфа:а' 20-25 1С € _ 5
13 19 Обстой 1псп 45 1. После смены декады, здесь на листе "Нормы" отредактировать кол-во голов и нормы расхода. 2. Затем нажать кнопку 6
сумстой 2гоп 42 1 5
20 21 22 23 24 25 Короаы откорм 0 2.5 5
НетеПн 2-Змес 35 5
негепн В-9м ас 5 1 5
тепки о-? нес 1
Телки 2-6 нес 0 2 1 |рррног иинмы в дни 5
ТвГКИ 6-12 МВС 40 г Перенос НОРМЫ в дни 5
26 21 26 24 30 Тегкн ст. 12 мае 45 0 5 5
йычки 0-2 мк 1 -
бычки €-12 мйс
Всего 526 15.5 65 6.5 3 3.1 100 45 62.fi 120
Рисунок 5 - Лист "Нормы".
Рисунок 6 - Лист "день1" (,..день10).
ВЕДОМОСТЬ учета расхода кормов
Оргжнмция ОАО "Имени Ильича"
ОтДЗКНКа (УЧКТОЕ)
Фарна Мол очно-товарная ферма N21 СЕОТ. ГГГНЦа МЕрЕОНМЫ м Сидоров Василий Апежюеек
Б^нщ
Группа скота 2фаза 1 20-25 Продуктивность, п 20-25 Возраст 121-21.0 дн Код [В111 1ШГ
Нораа на одку гитову 6 0,3 10 3 2 5 5 13 1.5 0,5 0.05 0,08 0,7
ЕДККЫ^Э КДНраНХЯ ЕТ ЕГ ЕГ ЕГ ЕГ :ег ЕГ I кг ЕГ ЕГ ЕГ ЕТ ЕГ
Дата Коп гоше наименование нсш^тыованЕыгс кормов
к|'к гкео-з к'к со 2 жом :е ЖИМ отс СБЕ!) Л К □ лют сенаж [нлс: патока шрот [ с ге С{Ш мел
кслнчеггбс ншсльэсбзлньп кщшоб
21.03^013 22 132 6,6 220 66 44 110 110 396 33 11 1,76 15,4
22.03.2013 22 132 <5,6 220 66 3« 33 11 1,76 15,4
23.03.2013 22 132 6Т6 220 66 СоБ :ать ра ЛОБ ПО сначал рать гр СХОД 396 33 11 1,76 15,4
24.03:2013 22 132 6.6 220 66 кор| дням а 3 96 33 11 1,76 15,4
25.03 ^013 22 132 6,6 220 66 выб уппу} 3 96 33 11 1,76 15,4
26.03.2013 22 132 <5,6 220 66 396 33 11 1,76 15,4
Рисунок 7 - Расход кормов за декаду для группы скота.
Map. 2013 декада3 Ii1'к ПК60-2 К''К ПК60-3 к/к ПК64 к/к сп1 К'К сп2 жом свеж жом сух сено ЛЕОЦ эел/м люц
Приход кормов = 4070 13200 1155 770 660 24200 11000 16500 29700
МТФ-1 ПрИХОД KOf
Группа скота кол голов Израсходован*:
Офаэа 0-20дн 18 792 198 594 594 990
Офаэа 21-40дн 46 2530 253 1518 1518 2530
1 фаза / до15 7 192.5 - - 5Ä. 54 154 385
1 фаза/15-20 12 594 1_двинуть Б сторона --Ш 64 396 660
1 фаза У 20-25 31 2046 23 1023 1705
Сформировать Сводную расхода кормов
1фаэа У25-30 17 1309 61 561 935
1фаэа У св.30 8 616 64 264 440
2фаэа У до15 9 247.5 98 198 495
2фаэа У15-20 27 1336.5 94 594 1485
2фаэа У 20-25 22 1452 26 484 1210
2фаэа У25-30 14 1078 tenu оыпи исправления в "деньГ, "день2" и т.д., то повторно нажать "Сформировать" 62 308 770
2фаааУ св.30 3 231 ¡9 66 165
Зфаэа У до15 50 1375 100 1100 2750
Зфаэа У15-20 31 1534.5 82 682 1705
Зфаэа У 20-25 16 1056 5? 352 880
сухостой 1пол 46 506 3036 2530
бычки 6-12 мес 0
Всего 526 3965,5 12942 1128 715 658,9 23870 10494 16423 28820
Рисунок 8- Сводная ведомость расхода кормов.
30.03.2013 KÎK ПК60-2 кк ПКвО-3 KiK ПК64 KÎK сп1 к'к сп2 жом свеж жом сух сено лгац зеш'м лгац сенаж силос патока
Группа скота ¡нутреннее перемещение карг/
Офаза 0-20дн
Офаэа 21-40дн
1 фаза У до15
Зфаза/до15 100
Зф аза /15-20 -70
Зф аза/20-25 40
сухостой 1пол 79
сухостой 2пол
Коровы откорм -50
бычки 6-12 мес
Всего 19
Рисунок 9 - Лист "вп10" (внутреннее перемещение кормов).
2.2. Программирование
Некоторые операции, связанные с просмотром данных или формированием сводных сведений, автоматизированы путем использования языка программирования VBA. Покажем некоторые из них.
2.2.1 Формы на всех листах с заголовком "Сдвинуть в сторону", разработаны на объектах "Forms", а текст программы указан в объекте "Modules" и доступен через кнопку "Перенос НОРМЫ в дни" (рис. 10, 11).
Project - VBAProject Ш Л LJ
Ц МТФ-l.^lsnn - U^erForrnl [UserFormJ
ВЖ VBAProject (МТФ-1 Jtlsm)
В- |Й Microsoft Excel Objects □ с« Forms
1=1! UserFormZ И LlserForm3 IHi UserFormS Modules <& Module J
ШГ|| &
СдЕИНуТЬ E сторону
Ш
1. После смены декады, здесь на листе "Нормы" отредактировать
: кол-во голов и нормы расхода.
2. Затем нажать кнопку п "Перенос НОРМЫ в дни"
Перенос НОРМЫ в дни
СП МТФ-l.jdsm - UserForml [Code] пг.Ц-Щ : £a:
|ПереносНормы r Cfick w
—
Ficuvste Sub Пере^.осНоркь: Click >
Call БорыуЗ fliiii —
E^.d Sub
m ^jlU 2П
Рисунок 10 - Объект "Forms".
Sub НормуВ_Дни() Dim k As Integer Call впОчистка Call НормуВ_День1 Call ИменаЛистов UserForm1.Hide Sheets("deHb1").Select Application. Goto Reference: = "Расход 1" Selection.Copy For k = 2 To kolList
Sheets(SheetNames(k)).Select Range ("B6"). Select
Selection.PasteSpecial Paste: =xlPasteFormulas, Operation: =xlNone, SkipBlanks: =False, Transpose: =False Range ("C4 "). Select Next k
For k = 2 To kolList
Sheets(SheetNames(k)).Select ActiveSheet.Protect Next k
Sheets("HopMbi"). Visible = False
Sheets(" Сводная "). Select
Application. Goto Reference: = "КормаПриходСвод " ActiveSheet. Unprotect Selection. ClearContents
Application. Goto Reference: = "КормаРасходСвод " Selection. ClearContents Range ("C6 "). Select ActiveSheet.Protect Sheets("впСвод ").Select Application. Goto Reference: = "впСводКорм " ActiveSheet. Unprotect Selection. ClearContents Range("C6").Select ActiveSheet.Protect Sheets("дeнь1").Select Application.CutCopyMode = False Range("C4 "). Select End Sub
Рисунок 11 - Текст модуля в объекте "Module1".
2.2.2 Указание только первого дня декады; при этом даты остальных дней декады формируются автоматически. Текст модуля такой операции следующий (рис. 12):
Public Sub ДатыДекады()
Dim den As Integer, mes As Integer, god As Integer
Dim rov As Integer, col As Integer, i As Integer
Dim s1 As String, visok As Boolean
Sheets("дeнь9").Visible = True
Sheets("дeнь10").Visible = True
Sheets("дeнь11").Visible = True
Sheets("вп9").Visible = True
Sheets("вп10").Visible = True
Sheets("вп11").Visible = True
Sheets("Инструкция ").Activate
ActiveSheet. Unprotect
rov = Range("ДатаНач ").Row
col = Range("ДатаНач").Column
s1 = Range("ДатаНач")
den = Val(Mid(s1, 1, 2))
mes = Val(Mid(s1, 4, 2))
god = Val(Mid(s1, 7, 4))
If Not (den = 1 Or den = 11 Or den = 21) Then MsgBox "Ошибка! Первый день декады =1 или 11 или 21" Exit Sub End If
For i = 1 To 10
Cells(i + rov, col) = Cells(i + rov - 1, col) + 1 Next i
If den = 1 Or den = 11 Then Cells(rov + 10, col) = " " 'den11 Select Case mes Case 2, 4, 6, 9, 11
Cells(rov + 10, col) = " " 'den11 End Select visok = False
If god = 2012 Or god = 2016 Or god = 2020 Then visok = True If mes = 2 And den = 21 Then Cells(rov + 9, col) = " " 'den10 If visok = False Then Cells(rov + 8, col) = " " 'den9 End If
Call ИменаЛистов If kolList = 8 Then
Sheets("день9").Visible = False Sheets("день10").Visible = False Sheets("день11").Visible = False Sheets("вп9").Visible = False Sheets("вп10").Visible = False Sheets("вп11"). Visible = False End If
If kolList = 9 Then
Sheets("день10").Visible = False Sheets("день11").Visible = False Sheets("вп10").Visible = False Sheets("вп11"). Visible = False End If
If kolList = 10 Then
Sheets("день11").Visible = False Sheets("вп11"). Visible = False End If
Sheets("Нормы").Visible = True Sheets("Нормы ").Activate ActiveSheet.Protect End Sub
Рисунок 12 - Текст модуля формирования дат декады.
Этот текст находится в объекте Моёи1е1, вызов модуля выполняется соответствующей подпрограммой, относящейся к листу «Инструкция» (рис. 13).
VBAPrûJeit (Г-ТТФ-Lxkm)
■ j> Ntcrpsofi Ечое! 0b]«u
ЛИСТУ ; {^ГфуКЦ*^
Sg] ЛистОЗ lî ЛйстОЗ (fl№3|) Щ Лиет04 ПЯТ JThîtOS {де-1ьЭ) Ш (день*) Щ Лиет07{демъ5)
Fiiv&te Sut мтдДаткО
but rav Ai Integer, col Ал m-tqtr гот = Range ("Д-ата^ач") .Sou eol ш Etaàg« Г "ДДФ4НДЧ" ) . Col 'лей If Not (Cellairov, col) = Cells(rov
Call ДатыД'гкэдъ; ERd îf End Sub
col)
1 ) Tïien
Рисунок 13 - Вызов модуля формирования дат декады.
2.2.3 Формирование сводной ведомости расхода кормов: Объект Forms - UserForm3. Через кнопку "Сформировать Сводную расхода кормов" вызывается подпрограмма "КормаСводная", текст которой написан в объекте "Module1".
2.2.4 Аналогично можно просмотреть тексты программ на языке VBA для остальных листов/вкладок.
Часть 3 (обработка данных - ввод исходных данных, формирование результатов расчета).
Работа с этой частью программы выполняется достаточно просто и легко осваивается пользователем. Для этого надо следовать десяти пунктам "Инструкции".
Заключение
Данная компьютерная программа (информационная система) предназначена для исполнителя-пользователя (бухгалтер, учетчик, заведующий). Пользоваться программой просто - надо вводить только известные исходные данные (группы скота, вид и количество кормов), остальная обработка данных производится автоматически за счет использования программных модулей, созданных на основе языка программирования VBA.
Литература
1. Хазанов, Е. Е. Технология и механизация молочного животноводства / Е. Е. Хазанов, В. В Гордеев, В. Е Хазанов. - СПб.: Лань, 2010. — 352 с.
2. Галиев, К. С. Основы алгоритмизации и программирования: учеб.-метод. пособие / К. С. Галиев, Е .К. Печурина. - Краснодар: КубГАУ, 2013. - 94 с.
3. Альбом специализированных форм первичной учетной документации. - М.: МСХ РФ, 2003.
4. Уокенбах Дж. Профессиональное программирование на VBA в Excel 2003.: Пер. с англ. -М.: Издательский дом "Вильямс", 2005. -800 с.
References
1. Hazanov, E. E. Tehnologija i mehanizacija molochnogo zhivotnovodstva / E. E. Haza-nov, V. V Gordeev, V. E Hazanov. - SPb.: Lan', 2010. — 352 s.
2. Galiev, K. S. Osnovy algoritmizacii i programmirovanija: ucheb.-metod. posobie / K. S. Galiev, E .K. Pechurina. - Krasnodar: KubGAU, 2013. - 94 s.
3. Al'bom specializirovannyh form pervichnoj uchetnoj dokumentacii. - M.: MSH RF, 2003.
4. Uokenbah Dzh. Professional'noe programmirovanie na VBA v Excel 2003.: Per. s angl. -M.: Izdatel'skij dom "Vil'jams", 2005. -800 s.