Интернет-журнал «Науковедение» ISSN 2223-5167 http ://naukovedenie.ru/ Том 8, №4 (2016) http ://naukovedenie. ru/index.php?p=vol8-4 URL статьи: http://naukovedenie.ru/PDF/12TVN416.pdf Статья опубликована 08.07.2016. Ссылка для цитирования этой статьи:
Голубничий А.А., Моргачева Д.А., Свинцова С.Е. Разработка программного обеспечения расчета платы за негативное воздействие на водные объекты // Интернет-журнал «НАУКОВЕДЕНИЕ» Том 8, №4 (2016) http://naukovedenie.ru/PDF/12TVN416.pdf (доступ свободный). Загл. с экрана. Яз. рус., англ.
УДК 004.91+351.713:504
Голубничий Артем Александрович
ФГБОУ ВПО «Хакасский государственный университет им. Н.Ф. Катанова», Россия, Абакан1
Ассистент кафедры «Инженерной экологии и основ производства»
E-mail: artem@golubnichij.ru РИНЦ: http://elibrary.ru/author items.asp?authorid=683836
Моргачева Дарья Анатольевна
ФГБОУ ВПО «Хакасский государственный университет им. Н.Ф. Катанова», Россия, Абакан Магистрант кафедры «Программного обеспечения вычислительной техники и автоматизированных систем»
E-mail: lacydar@yandex.ru
Свинцова Светлана Евгеньевна
ФГБОУ ВПО «Хакасский государственный университет им. Н.Ф. Катанова», Россия, Абакан
Студентка кафедры «Инженерной экологии и основ производства»
E-mail: svetuly_girl@mail.ru
Разработка программного обеспечения расчета платы за негативное воздействие на водные объекты
Аннотация. В статье рассматривается процесс создания программного обеспечения расчета платы за негативное воздействие на водные объекты. Дается правовая основа расчеты платы за негативное воздействие, рассматривается структура платежей на основании федерального законодательства. Обосновывается выбор языка программирования и среды разработки. В качестве языка программирования выбирается Python. В качестве среды разработки Qt Designer. Авторами предлагаются три основных принципа реализации программного продукта: 1. Соответствие работы программы утвержденным нормативным требованиям; 2. Наличие полной базы нормативов платежей и лимитов; 3. Принцип работы с программой конечного пользователя должен быть основан на заранее установленном алгоритме. У пользователя отсутствует выбор в порядке заполнения форм, переход к последующей форме возможен лишь при корректном заполнение предыдущей. Описываются основные стадии разработки программного продукта. Дается подробное описание работы создаваемых форм, а также описывается процесс компиляции итогового продукта.
Ключевые слова: экологические платежи; негативное воздействие на окружающую среду; свободное программное обеспечение; автоматизация расчета платы
1 655017, Республика Хакасия, г. Абакан, ул. Ленина, д. 90
Введение
Расчет платы за негативное воздействие на окружающую среду представляет собой сложную задачу [1-3]. Наличие большого количества данных, необходимых для расчета, зачастую приводит к соответствующим ошибкам, которые в свою очередь или увеличивают платежи предприятий, или создают дополнительную работу по корректировки данных.
Существующее программное обеспечение в области расчета платы за негативное воздействие на окружающую среду [4-7] имеет ряд недостатков: значительная стоимость лицензии и технического обслуживания, ограниченность бесплатных версий, недостаток функционала или наоборот излишек функций, усложняющий интерфейс программного продукта.
Актуальность работы связаны с отсутствием специализированных программных продуктов, позволяющих рассчитать плату за негативное воздействие на отдельную компоненту окружающей среды для малого предприятия.
Цель исследования является разработка программного обеспечение позволяющего производить расчет платы за сбросы загрязняющих веществ в водные объекты.
Правовая основа реализации программного обеспечения
На основании действующего законодательства Российской Федерации для субъектов предпринимательской деятельности, оказывающих негативное воздействие на окружающую среду, предусмотрена система платежей2.
К субъектам предпринимательской деятельности в данном случае законодатель относит юридических лиц и индивидуальных предпринимателей, осуществляющих хозяйственную и иную деятельность непосредственно на территории РФ, а также континентальном шельфе и в исключительной экономической зоне РФ. При этом нормы законы исключают необходимость внесения платежей для объектов IV категории (объекты, оказывающие минимальное негативное воздействие на окружающую среду).
В общем виде структура платежей предприятия за негативное воздействие на окружающую среду в настоящее время представлена основными компонентами воздействия (рисунок 1).
Шата за негативное воздействие на окружающую среду
1 0 1 1
Плата за выбросы загрязняющих веществ в атмосферный воздух стационарными источниками
Плата за сбросы загрязняющих веществ в составе сточных вод в водные объекты
Плата за размещение отходов производства и потребления
Рисунок 1. Структура формирование платежей за негативное воздействие на окружающую
среду (составлено авторами)
Федеральный закон от 10.01.2002 № 7-ФЗ «Об охране окружающей среды».
Система платежей за негативное воздействие на водные объекты, как и любая другая практическая область экологического права строится на принципах, установленных рамочным законом № 7-ФЗ «Об охране окружающей среды» и ряде нормативно-правовых актов, поясняющих принципы правоприменения данных норм.
Соответствующим Постановлением Правительства РФ от 12.06.2003 № 344 «О нормативах платы за выбросы в атмосферный воздух загрязняющих веществ стационарными и передвижными источниками, сбросы загрязняющих веществ в поверхностные и подземные водные объекты, в том числе через централизованные системы водоотведения, размещение отходов производства и потребления»3 (далее - Постановление №344) утверждены нормативы платы за воздействие на каждую компоненту окружающей среды отдельно взятым веществом. В настоящее время законодатель определяет плату за сбросы 142 загрязняющих веществ в водные объекты, 50 из которых относятся к пестицидам.
Также в Постановлении №344 описывается процедура изменения платежей с учетом экологической ситуации (экологических факторов). В соответствии с требованиями для территорий, имеющих статус особо охраняемым природных территорий4 при расчетах добавляется коэффициент 2, такой же коэффициент используется в случае воздействия источника на территории лечебно-оздоровительных местностей и курортов, районов Крайнего Севера и приравненных к ним местностей, зонам экологического бедствия, а также к объекту особого природного значения - Байкальской природой территории5.
Для объектов, не относящихся к вышеназванным территориям применяется принцип определения коэффициента по отнесению к соответствующему бассейну моря, бассейну реки и конкретному региону, на котором находится водный объект.
Перечень соответствующих коэффициентов представлен в приложении 2 Постановления №344 «Коэффициенты, учитывающие экологические факторы (состояние водных объектов), по бассейнам морей и рек». Пример нахождения соответствующего коэффициента представлен на рисунке 2.
3 Постановление Правительства РФ от 12.06.2003 № 344 «О нормативах платы за выбросы в атмосферный воздух загрязняющих веществ стационарными и передвижными источниками, сбросы загрязняющих веществ в поверхностные и подземные водные объекты, в том числе через централизованные системы водоотведения, размещение отходов производства и потребления».
4 Федеральный закон от 14 марта 1995 г. № 33-ФЗ «Об особо охраняемых природных территориях».
5 Федеральный закон от 1 мая 1999 г. № 94-ФЗ «Об охране озера Байкал».
Бассейны морей Северного Ледовитого и Тихого океанов
Бассейн Балтийского моря
Бассейн Каспийского моря
Бассейн р. Печоры
Бассейн р. Северной Двины
Бассейн р. Невы
Прочие реки бассейна Балтийского моря
Бассейн р. Енисей
Бассейн р. Лены
[Бассейн р. Волги
Бассейн р. Терек
Бассейн р. Урал
Бассейн р. Амур
Прочие реки бассейна Каспийского моря
Бассейн р. Оби
Республика Алтай 1,04
Республика Хакасия 1,03
Алтайский край 1,04
Красноярский край 1,03
Кемеровская область 1,16
Курганская область 1,05
Новосибирская область 1,08
Омская область 1,1
Свердловская область 1,18
Томская область 1,03
Тюменская область 1,04
Челябинская область 1,13 Ханты-Мансийский автономный округ 1,04 Ямало-Ненецкий автономный округ 1,03
Л
Бассейн Азовского моря
БассейнЧерного моря
Бассейн р. Дон
Бассейен р. Кубани
Прочие реки бассейна Азовского моря,
включая реки Республики Крым и г. Севастополя
Бассейн р. Днепр
Прочие реки бассейна Черного моря, включая реки Республики Крым и г, Севастополя
Рисунок 2. Выбор значения коэффициента, учитывающего состояние водных объектов, по бассейнам морей и рек (на примере бассейнов морей Северного Ледовитого и Тихого океанов)
(составлено авторами)
При расчете платежей за негативное воздействие на водные объекты, важным является определение структуры платежей. В соответствии с правилами «установления для абонентов организаций, осуществляющих водоотведение, нормативов допустимых сбросов загрязняющих веществ, иных веществ и микроорганизмов в водные объекты через централизованные системы водоотведения и лимитов на сбросы загрязняющих веществ, иных веществ и микроорганизмов»6, установленными Постановлением Правительства РФ от 30.04.2013 № 393, обязанность утверждения нормативов и лимитов на сбросы закреплена за Федеральной службой по надзору в сфере природопользования. При этом данные правила указывают на необходимость расчетов таких нормативов природопользователем (абонентом)
6 Федеральный закон от 07.12.2011 № 416-ФЗ «О водоснабжении и водоотведении».
"789
самостоятельно по утвержденной методике''8'9, при условии отнесения его к соответствующей категории абонентов закрепленной законодательно10.
В зависимости от количественных показателей воздействия (объема (массы) выбросов, сбросов загрязняющих веществ, либо объема (массы), размещенных отходов производства и потребления) меняется структурная составляющая платежа.
Так в настоящее время в зависимости от установленных нормативов и лимитов все платежи делятся на три категории: в пределах нормативов, в пределах лимитов, сверхлимитные платежи (рисунок 3).
Плата за негативное воздействие сверх установленных лимитов Расчет платежной базы проводится умножением количественного показателя воздействия на пятикратный размер платы по лимиту (5*лимит)
Плата за негативное воздействие в пределах установленных лимитов Расчет платежной базы проводится умножением количественного показателя воздействия на соответствующий размер платы по лимиту (5*норматив)
Плата за негативное воздействие в пределах установленных нормативов Расчет платежной базы проводится умножением количественного показателя воздействия на соответствующий размер платы по нормативу
Рисунок 3. Структура платежной базы предприятия в зависимости от количественного показателя воздействия (составлено авторами)
Расчет платежной базы проводится по ступенчатому принципу. В случае массы (объема) загрязняющих веществ М и, соответствующих, установленных нормативов X и лимитов Y расчет платежной базы по структуре компонентов (рисунок 3) будет проводиться по трем составляющим:
X - в пределах нормативов;
У-Х - в пределах установленных лимитов (временно согласованных показателей воздействия);
М-У - сверх установленных лимитов.
В случае отсутствия временно согласованных показателей негативного воздействия из ступенчатой структуры выпадает второй элемент расчета, таким образом условно Y=X и соответственно вся масса загрязняющих веществ, превышающая норматив, считается как сверхлимитная.
7 Постановление Правительства РФ от 23.07.2007 № 469 (ред. от 08.06.2011) «О порядке утверждения нормативов допустимых сбросов веществ и микроорганизмов в водные объекты для водопользователей».
8 Приказ МПР России от 12.12.2007 N 328 «Об утверждении Методических указаний по разработке нормативов допустимого воздействия на водные объекты».
9 Приказ МПР России от 17.12.2007 N 333 «Об утверждении методики разработки нормативов допустимых сбросов веществ и микроорганизмов в водные объекты для водопользователей».
10 Постановление Правительства РФ от 18.03.2013 № 230 «О категориях абонентов, для объектов которых устанавливаются нормативы допустимых сбросов загрязняющих веществ, иных веществ и микроорганизмов».
Обоснование выбора языка программирования и среды реализации проекта
В качестве языка для разработки был выбран язык программирования Python [8]. Основными преимуществами языка Python, послужившими для выбора его в качестве языка реализации проекта стали:
1. Простота и скорость разработки. Разработка программных продуктов на языке Python в случае необходимости создание небольшой программы с минимальным графическим интерфейсом требует меньше временных ресурсов в сравнении с такими языками как С, С++, С#, Java.
2. Открытость. Python является открытым проектом и разрабатывается большим количеством программистов. Интерпретатор языка распространяются бесплатно, также в свободном доступе доступно значительное количество кодов программ, написанных без использования специализированных технологий.
3. Кроссплатформенность. Программы, написанные на языке Python, могут быть «собраны» под большинство современных операционных систем. Так без особых проблем получается реализовать в рамках Windows, OS X и Linux одни и те же программные продукты, написанные на Python.
4. Значительное количество открытых библиотек и модулей. В настоящее время в свободном доступе находится значительное количество сторонних библиотек для работы с файлами, базами данных и т.д.
В качестве среды для разработки проекта был выбран Qt Designer. Qt Designer -инструмент для проектирования и создания графических пользовательских интерфейсов (GUI) из компонентов Qt. Принцип работы работы в среде реализуется по принципу «What you see is what you get», WYSIWYG, «что вы видите, то и получаете» (рисунок 4).
Рисунок 4. Интерфейс среды разработки Qt Designer (рисунок авторов)
Виджеты и формы, созданные с помощью Qt Designer, интегрированы с управляющим кодом, использующий механизм сигналов и слотов Qt, который позволяет легко установить
поведение к графическим элементам. Все свойства, установленные в Qt Designer можно изменить динамически внутри кода. Кроме того, такие возможности как продвижение (promotion) виджетов и пользовательские подключаемые модули позволяет использовать с Qt Designer собственные компоненты [9].
Есть два подхода, которые можно использовать при построении графического пользовательского интерфейса, используя виджеты Qt:
• создать, настроить виджеты и разместить их на форме в соответствующих компоновках с помощью программного кода;
• воспользоваться визуальным редактором форм Qt Designer, который создаст файл формы (он будет описывать ее внешний вид, размещение, размеры, настройки, компонование и т.д.). В дальнейшем из файла формы на этапе компиляции будет создан файл с кодом программы, будет программно создавать этот интерфейс и предоставлять программисту доступ к элементам на форме.
Файлы формы имеют расширение .ui. Qt Designer позволяет редактировать файлы форм, содержащих настройки вида виджетов. Данную среду можно использовать как отдельную программу или воспользоваться интеграцией с оболочкой Qt Creator - редактором форм.
Алгоритм и программная реализация проекта
Исходя из имеющихся недостатков специализированных программ расчета платы за негативное воздействие были разработаны основные принципы построения программы, исключающие недостатки, существующих программ:
1. Программа должна базироваться на существующих нормативно-правовых актах в области оценки платы за негативное воздействие на окружающую среду.
2. Программа должна содержать базу данных о нормативах платежей в пределах установленных нормативах и лимитов.
3. Принцип работы с программой конечного пользователя должен быть основан на заранее установленном алгоритме. У пользователя отсутствует выбор в порядке заполнения форм, переход к последующей форме возможен лишь при корректном заполнение предыдущей.
Алгоритм реализации программы включает три основных этапа:
1 Построение Формы 1, для сбора информации об объекте природопользования.
2. Построение Формы 2, для указания данных о загрязняющих веществах.
3. Расчет платы с последующем формированием файла MS Excel.
Формирование первого окна осуществляется с помощью класса MainWindow.
Данный класс включает в себя набор из 11 методов:
1. MainWindow._init_(self)
Метод инициализации класса, производит инициализацию интерфейса, загрузку констант, инициализацию сигналов и слотов обработки событий графических элементов.
2. MainWindow.loadConstants(self)
Метод, осуществляющий загрузку констант из внешних файлов:
.. ./resource/substance.txt - данные по ПДВ и ВСВ .. ./resource/region.txt - данные по регионам .. ./resource/payyear.txt - коэффициенты инфляции
3. MainWindow.showTipWarning(self, msg, widget, anchor = None)
Служебный метод, отображающий сообщение поверх виджета, переданном ему в качестве аргумента.
Здесь msg - текст сообщения, widget - ссылка на виджет.
4. MainWindow.showError(self, msg): Служебный метод, отображающий сообщение об ошибке.
5. MainWindow.getSelectedParameter(self, treeWidget):
Метод, возвращающий значение, выбранное в списке веществ в главном окне программы.
6. MainWindow.getAllParametersData(self, treeWidget):
Метод, возвращающий все значения в списке веществ в главном окне программы.
7. MainWindow.addSubstance(self): MainWindow.deleteSubstance(self): MainWindow.addAllSubstance(self): MainWindow.deleteAllSubstance(self): MainWindow.moveSubstanceUp(self): MainWindow.moveSubstanceDown(self): MainWindow.filterSubstance(self):
Манипулации с веществами: перенос в выбранные, удаление из выбранных, фильтрация, и т.д.
8. MainWindow.exampleForm(self): Заполнение формы главного окна тестовыми данными.
9. MainWindow.resetForm(self): Сброс формы.
10. MainWindow.validate(self):
Валидация формы. В случае если одно из полей формы не заполнено, вызывается метод showTipWarning по данному полю и отображается сообщение о необходимости заполнения.
11. MainWindow.calculate(self):
Основной метод, выполняющий вычисления и сохранение в файл Excel. Для получения данных о нормативах сбросов, метод вызывает экземпляр класса SubstanceForm.
Второй класс предназначен для действий с набором веществ и заполнения формы 2
Класс SubstanceForm имеет следующий набор методов:
1. SubstanceForm._init_(self)
Метод инициализации класса, производит инициализацию интерфейса, загрузку констант, инициализацию сигналов и слотов обработки событий графических элементов.
2. Методы showTipWaming(self, msg, widget, anchor = None) и showWarning(self, msg) аналогичны методам класса MainWindow, но и отвечают за вывод предупреждающих сообщений.
3. SubstanceForm.initTable(self) и SubstanceForm.fillTable(self)
Инициализация и заполнение таблицы для ввода ПДС, ВСС и фактических сбросов.
4. SubstanceForm.getTableData(self)
Считывает заполненные данные из таблицы и возвращает их в виде двумерного массива типа list. [[], [], []]
5. SubstanceForm.validate(self):
Валидация данных в таблице. В случае если одна из ячеек содержит нечисловое значение, вызывается метод showWarning по данной ячейке и отображается предупреждение.
6. Методы accept и go являются служебными методами класса QDialog, и их переопределение, в данном случае позволяет произвести ввод данных от пользователя в модальном режиме. Т.е. окно будет блокировать остальное приложение до тех пор, пока не будет закончен ввод данных и не будет нажата кнопка сохранения.
Для выполнения манипуляций с файлами Excel (чтение, запись, сохранение) была выбрана библиотека openpyxl, которая позволяет читать, писать и редактировать в режиме чтение/запись файлы формата *.xlsx (Excel 2010) [10].
Основные функции для работы с файлами:
1. wb = load_workbook('документ.xlsx')
Загрузка книги документ^^.
2. ws = wb.get_sheet_by_name(" Лист1")
Получение листа книги по имени.
3. c = ws['A4']
Чтение данных из ячейки в переменную с.
4. ws['A4'] = "Тестовая строка"
Запись данных в ячейку.
5. wb.save()
Сохранение книги.
Процесс компиляция программного обеспечения
Итоговый код программы содержится в следующих файлах:
1. main.py - главный файл программы, содержащий классы MainWindow и SubstanceForm, а также служебный код.
2. interface.ui - файл интерфейса главного окна программы для QtDesigner;
3. interface.py - скомпилированный файл главного окна;
4. substform.ui - файл интерфейса формы ПДС, ВСС для QtDesigner;
5. substform.py - скомпилированный файл интерфейса формы ПДС, ВСС;
6. template.xlsx - шаблон эксель-формы;
7. icons.qrc - XML-файл ресурсов (иконок);
8. icons.py - скомпилированный файл ресурсов.
Помимо прочего для выбора условий сбросов загрязняющих веществ, а также значение платежей в пределах установленных нормативов и лимитов содержатся в папке Source три основных файла:
1. substance.txt - файл с данными по нормативам ПДС и ВСС для заданных веществ;
2. region.txt - данные по бассейнам рек и океанов;
3. payyear.txt - данные по коэффициентам инфляции за 2016, 2017 годы.
Представление данных в виде текстовых файлов было принято для дальнейшей возможности правки значений, без поиска нужных величин в тексте программы. Такого рода подход удобен, с учетом постоянного изменения коэффициента инфляции.
Особенностью добавления новых веществ в перечень является необходимость соблюдения пунктуации в следующем виде:
Наименование вещества | норма ПДС | норма ВСС.
Изменение знаков разделителей в тексте файла приведет к некорректности чтения значений.
Использование и распространение программы в виде разрозненных файлов не очень удобно по следующим причинам: требуется установка интерпретатора Python, сторонних библиотек (PyQt, openpyxl), настройка среды интерпретатора. Поэтому, удобнее скомпилировать программу в один или несколько исполняемых файлов, подключив интерпретатор как динамическую библиотеку. Для этих целей служит пакет py2exe.
Установка: cmd - > pip install py2exe.
Для компиляции программы выполнялись следующие действия:
1. создание в директории с программой файла setup.py
2. В файле setup.py указывались основные директивы для компилятора. Стоит остановиться подробнее на одной из них:
"py2exe": {"includes":["sip", "sys", "os", "openpyxl", "PyQt4"]}
Здесь перечисляются библиотеки, которые должны быть импортированы в дистрибутив. Так, необходимо импортировать стандартные библиотеки os, sys для работы с операционной системой, а также библиотеку sip для работы с C/C++ классами. Директива includes также должна включать библиотеки PyQt4 и openpyxl.
3. Компиляция выполняется следующей командой:
cmd -> setup.py py2exe
По окончании компиляции в директории dist появляется исполняемый файл программы, а также ряд вспомогательных файлов. Нужно отметить, что директорию resources а также файл template.xlsx нужно скопировать вручную, т.к. компилятор их не использует.
Для создания инсталлятора использовалась программа WinRar. По сути инсталлятором в данном случае мы называем SFX архив с опциями создания ярлыка и записи с правами администратора. Для создания инсталлятора нужно выполнить следующие шаги:
1. Выбрать все файлы и директории программы и в выпадающем меню выбрать add to archive.
2. В появившемся окне выбрать SFX архив.
3. Далее перейти на вкладку Advanced и нажать SFX options.
4. В появившемся окне вводим следующие данные:
Вкладка General, вводим путь для распаковки, в данном случае это C:\Program Files\ONVreport.
5. На вкладке Advanced вводим следующую команду
D, ONV.exe, "ONVreport program", Расчет по объекту негативного воздействия, icon.ico.
В данном случае мы помещаем ярлык на рабочий стол с иконкой icon.ico, который ссылается на файл ONVreport.exe.
Заключение
Проанализировав нормативно-правовую базу исчисления вреда за негативное воздействие на водные объекты были выделены ключевые документы, используемые в расчетах и в формирование отчетности, к ним относятся: Постановления Правительства РФ № 344 и № 469, а также Приказ Федеральной службы по экологическому, технологическому и атомному надзору № 204. Нормы данных документов использовались для составления принципа расчета программным продуктом.
Существующее программное обеспечение в области расчета платы за негативное воздействие на водные объекты или является слишком дорогим для малых предприятий или же не содержит полный функционал для расчета, более того, зачастую логика работы программы (по фиксации данных) сложна для понимания конечному пользователю.
Итоговый программный продукт разработан на языке программирования Python с использованием среды для разработки Qt Designer, выбор данных инструментов обоснован решаемыми задачами. Полученный программный продукт лишен недостатков бесплатных аналогов, при этом дает идентичный результат с точки зрения построения итоговых файлов и может быть использован для сдачи отчетности предприятия в соответствующие органы Федерального надзора в сфере природопользования.
ЛИТЕРАТУРА
1. Суслова, Ю.А. Экологические платежи / Ю.А. Суслова // Бухгалтерский учет №1. - М.: Редакция журнала «Бухгалтерский учет», 2012. - №1. - С. 107-112.
2. Гладун, И.В. Расчет платы за негативное воздействие на окружающую среду: учебное пособие / И.В. Гладун, Л.П. Майорова, О.А. Мищенко. - Хабаровск: Амурпринт, 2011. - 117 с.
3. Кечкина, О.В. Расчет платы за негативное воздействие на окружающую среду / О.В. Кечкина // Сборник статей Международной научно-практической конференции «Наука и современность». - Уфа: Омега Сайнс, 2015. - С. 55 - 57.
4. Программа ЭКО-эксперт. Плата за загрязнение окружающей среды и экологическая отчетность [Электронный ресурс] URL: http://www.airsoft-bit.ru/programecologs/147-eco-expert-vozmojnosti (дата обращения: 08.06.2016).
5. Расчет платы за негативное воздействие на окружающую среду. Заполнение и отправка через 1С-Отчетность [Электронный ресурс] URL: http://buh.ru/articles/documents/35487/ (дата обращения: 08.06.2016).
6. Долматов, О.В. Электронное обращение природопользователей с Росприроднадзором / О.В. Долматов // Справочник эколога [Электронный ресурс] URL: http://www.profiz.ru/eco/1_2013/modul/ (дата обращения: 08.06.2016).
7. Модуль природопользователя [Электронный ресурс] URL:http://rpn.gov.ru/node/5523 (дата обращения: 08.06.2016).
8. TIOBE Software Index. «TIOBE Programming Community Index Python». Retrieved 10 September 2015.
9. Qt Designer Manual | Qt 4.8 [Электронный ресурс]. URL: http://doc.qt.io/qt-4.8/designer-manual.html (дата обращения: 08.06.2016).
10. Openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files [Электронный ресурс]. URL: http://openpyxl.readthedocs.io/en/default/ (дата обращения: 08.06.2016).
Golubnichiy Artem Aleksandrovich
Katanov Khakass state university, Russia, Abakan E-mail: artem@golubnichij.ru
Morgacheva Daria Anatolevna
Katanov Khakass state university, Russia, Abakan E-mail: lacydar@yandex.ru
Svincova Svetlana Evgenevna
Katanov Khakass state university, Russia, Abakan E-mail: svetuly_girl@mail.ru
Development of software for calculating charges for a negative
impact on the water bodies
Abstract. The article discusses the process of creating software for calculating charges for negative impact on water bodies. We give a legal basis for calculations of charges for negative impact and consider payments pattern based on the federal legislation. The choice of programming language and development environment was justified. Python was selected as a programming language. Qt Designer was selected as a development environment. The authors suggest three basic principles for the software program implementation: 1. Compliance of program operation with the approved normative requirements; 2. The presence of overall base of standard payments and limits; 3. The principle of working with the end-user program must be based on a preset algorithm. The user has no choice in the order of fill-out form. The jumps to the following form is possible only in the case of correct filling the previous one. It describes the main stages of the software program development are described. We give a detailed description of the forms being created and describe a process of the final product compilation.
Keywords: environmental payments; negative impact on the environment; free software; charge calculation automation
REFERENCES
1. Suslova, Yu.A. Ekologicheskie platezhi / Yu.A. Suslova // Bukhgalterskiy uchet №1. - M.: Redaktsiya zhurnala «Bukhgalterskiy uchet», 2012. - №1. - S. 107-112.
2. Gladun, I.V. Raschet platy za negativnoe vozdeystvie na okruzhayushchuyu sredu: uchebnoe posobie / I.V. Gladun, L.P. Mayorova, O.A. Mishchenko. - Khabarovsk: Amurprint, 2011. - 117 s.
3. Kechkina, O.V. Raschet platy za negativnoe vozdeystvie na okruzhayushchuyu sredu / O.V. Kechkina // Sbornik statey Mezhdunarodnoy nauchno-prakticheskoy konferentsii «Nauka i sovremennost'». - Ufa: Omega Sayns, 2015. - S. 55 - 57.
4. Programma EKO-ekspert. Plata za zagryaznenie okruzhayushchey sredy i ekologicheskaya otchetnost' [Elektronnyy resurs] URL: http://www.airsoft-bit.ru/programecologs/147-eco-expert-vozmojnosti (data obrashcheniya: 08.06.2016).
5. Raschet platy za negativnoe vozdeystvie na okruzhayushchuyu sredu. Zapolnenie i otpravka cherez 1S-Otchetnost' [Elektronnyy resurs] URL: http://buh.ru/articles/documents/35487/ (data obrashcheniya: 08.06.2016).
6. Dolmatov, O.V. Elektronnoe obrashchenie prirodopol'zovateley s Rosprirodnadzorom / O.V. Dolmatov // Spravochnik ekologa [Elektronnyy resurs] URL: http://www.profiz.ru/eco/1_2013/modul/ (data obrashcheniya: 08.06.2016).
7. Modul' prirodopol'zovatelya [Elektronnyy resurs] URL:http://rpn.gov.ru/node/5523 (data obrashcheniya: 08.06.2016).
8. TIOBE Software Index. «TIOBE Programming Community Index Python». Retrieved 10 September 2015.
9. Qt Designer Manual | Qt 4.8 [Elektronnyy resurs]. URL: http://doc.qt.io/qt-4.8/designer-manual.html (data obrashcheniya: 08.06.2016).
10. Openpyxl - A Python library to read/write Excel 2010 xlsx/xlsm files [Elektronnyy resurs]. URL: http://openpyxl.readthedocs.io/en/default/ (data obrashcheniya: 08.06.2016).