Анализ и оценка надежности и эффективности АИС "Бюджет"
Анализ и оценка надежности и эффективности АИС "Бюджет"
1
Содержание
Введение…………………………………………………………………..……….2
1. Принципы эффективности АИС………………………………………...…….5
1.1 Системный анализ информационных систем………………………..…...5
1.2 Назначение и функциональность АС «Бюджет»…………………………7
1.3 Используемые технологии и архитектура АС «Бюджет»…………..….10
2. Анализ эффективности АС «Бюджет»……………………………………....12
2.1 Характеристики АС «Бюджет………………………..…………………..12
2.2 Наращиваемость АС «Бюджет»………………………..………………...14
2.3 Инструментальные средства АС «Бюджет»……………..……………...18
2.4 Определение экономической эффективности АС «Бюджет».…………35
3. Принципы надежности АИС………………………………………...……….38
3.1 Роль надежности информационных систем……………………..………38
3.2 Система защиты информации…......................…………………………..44
3.3 Обеспечение защиты АС «Бюджет»…………..................………………46
Заключение………………………………………………………......…………...60
Глоссарий……………………………………………………………..……….…63
Список использованных источников…………………………………………...65
Приложение А………………………………………………….……..………….70
Приложение Б…………………………………………………………...……….71
Приложение В……………………………………………………………...…….72
Приложение Г………………………………………………………...……...…..73
Приложение Д……………………………………………………………............76
Введение
За последние двадцать лет объём и оборот информации значительно возрос во всех сферах жизнедеятельности человека: экономической, финансовой, политической, духовной. И процесс накопления, обработки и использования знаний постоянно ускоряется. Учёные утверждают, что каждые десять лет количество информации увеличивается вдвое. В связи с этим возникает необходимость использования автоматических средств, позволяющих эффективно хранить, обрабатывать и распределять накопленные данные. В настоящее время все предприятия испытывают настоятельную потребность в расширении аналитических работ, связанных с разработкой перспектив развития, комплексной оценкой эффективности применения различных форм хозяйствования, своевременной выработкой оперативных управленческих решений. Современный период цивилизации характеризуется повышением роли информации в развитии общества, средств связи, компьютеризацией всех сторон жизни, появлением более совершенных информационных технологий, необходимых для сбора и обработки информации. С развитием такого общества возникает необходимость в создании информационных систем, которые позволяют руководителям организаций получать достоверные и оперативные сведения и в любой момент времени формировать отчеты, содержащие краткую структурированную информацию о деятельности организации Тельнов Ю.Ф. Интеллектуальные информационные системы в экономике - М.: "Синтег", 2002.
При выборе программного продукта для конкретной организации нужно учитывать, что в мире информационных технологий хорошо работают только демонстрационные примеры на больших презентациях. Слишком много внимания уделяется процессу презентации на идеальных данных - и слишком мало - процессу обращения в системе реальных данных. Процесс идет обычно по одному из следующих сценариев. Покупается готовый программный продукт. Продукт дорог. Купить его может только крупное предприятие. Приспособить процесс к программе можно лишь отчасти. В конечном счете, все равно приходится приспосабливать программу к процессу. Если предприятие крупное, но не очень богатое, оно пытается довести продукт своими силами. Вариант, реально существующий в жизни средних предприятий. Частные задачи существуют сами по себе. Чем больше задач и чем шире они реально используются, тем хуже качество информации в целом. Для мелких предприятий наиболее вероятным является использование локальных приложений в среде типа Microsoft Office. Анфилатов В.С. и др. Системный анализ в управлении - М: "Финансы и статистика", 2002
Финансовый орган Сегежского муниципального района для комплексной автоматизации деятельности выбрал АИС «Бюджет». Целью АИС является создание единой информационной сети, позволяющей эффективно хранить, обрабатывать, анализировать и использовать информацию управленческого бюджетного учета и отчетности финансового органа. Главное назначение автоматизированной системы обработки информации в данном случае - повысить эффективность выполнения перечисленных функций, поскольку, как можно увидеть, функционирование финансового органа связано с очень большим документным и информационным потоком. Кроме того, АИС призвана улучшить оперативность принятия решений, повысить производительность труда, снизить количество вычислительных ошибок при помощи автоматизации процесса обработки информации, содействовать эффективному и безопасному хранению и доступу к информации. Вендров A.M. Проектирование программного обеспечения экономических информационных - М: "Финансы и статистика" 2006 Внутри данного подразделения документопоток циркулирует в электронном виде (бухгалтерские документы, отчёты, казначейские выписки, инструкции, приказы и распоряжения и т.д.) для облегчения и ускорения работы на этапе накопления, систематизации, обработки и отображения данных.
Целью данной работы является проведение анализа и оценки надежности и эффективности АИС «Бюджет». Задачи исследования - выявить, насколько данная система отвечает предъявляемым требованиям, определить функциональность системы, готовность финансового управления к использованию АИС в полном объеме.
Основными методами исследования в данной работе стали изучение и обобщение научной литературы, сравнение с АИС, используемыми в других регионах, практическая работа (администрирование) с АС «Бюджет».
Актуальность поставленных задач обусловлена необходимостью полной автоматизации организации исполнения бюджета в рамках среднесрочного финансового планирования в соответствии с действующим бюджетным законодательством.
Практическая значимость заключается в возможности использовать информационную систему с наибольшей отдачей, исключить ручную обработку документов, создать условия для перехода к безбумажной технологии обработки аналитических данных, снизить трудоемкость, сократить время, затрачиваемое на обработку данных, сократить численность специалистов, занятых рутинной работой.
1 Принципы эффективности АИС
1.1 Системный анализ информационных систем
Распространено представление, что ИС «живут» не долго: от трех до семи лет. На самом деле ИС характеризуются высокой динамичностью - в течение этого времени система остается эффективной. Далее она должна развиваться или перестанет быть конкурентоспособной, а значит - эффективной. Задачей разработчиков является создание ИС «на вечные времена». Т.е. в виде, допускающем развитие, совершенствование, трансформацию по всем подсистемам и компонентам без утраты способности функционировать. В противном случае при радикальных изменениях в функционировании предприятие может полностью лишиться информационной базы.
Ситуация когда базы данных, программы, форматы и структуры, технические и технологические правила невозможно использовать в новой ИС является поистине катастрофичной. Учитывая высокую стоимость комплексной ИС, ее потеря ведет к серьезным убыткам. В том случае, когда ИС является средством производства (предприятия связи, банки, финансовые компании и т.д.) потеря ИС может фактически привести к остановке основной производственной деятельности.
Следует принять, что ИС являются сложными системами. Это определение применимо не только к комплексным ИС предприятий, отраслей, учреждений, но и системе построенной на одном ПК. Необходимо учитывать, что ИС являются искусственными, т.е. создаваемыми человеком системами. Кригер А.Б. «Информационный менеджмент». Владивосток 2004 Следовательно, имеется возможность управления и планирования жизненного цикла ИС. Жизненным циклом ИС называют стадии и этапы, которые проходит ИС от момента принятия решения о создании ИС до момента прекращения функционирования ИС. По сути, жизненный цикл является моделью создания и использования ИС. Этапы жизненного цикла ИС в принципе отражают весь период функционирования ИС. Однако, требование создания системы на «вечные времена» требует развития ИС. Т.е. изначально, начиная со стадии проектирования, в ИС должна быть заложена возможность развития. Под развитием следует понимать возможность изменения ИС в соответствии с возможностью изменения самого предприятия. Если возможность развития заложена на создания ИС, то осуществляется она на стадии эксплуатации. Здесь развитие ИС выражается, во-первых, в замене существующего технологического обеспечения ИС, на технологическое обеспечение нового поколения, во-вторых, в изменении структуры ИС с учетом изменения деятельности предприятия. Смирнова Г.Н., Сорокин А.А. Проектирование экономических информационных. - М.: "Финансы и статистика", 2005. АИС организаций не всегда создается с «нуля». Совершенно обычна ситуация, когда АИС или отдельные функциональные подсистемы в компании уже существуют. Естественно, в каждом конкретном случае, организации сталкиваются с совершенно разными проблемами. Конкретные задачи, возникающие при необходимости развития АИС, зависят от профиля предприятия, уровня реализации существующей системы, месте существующей АИС в системе управления компанией, и во многом от объема финансовых ресурсов необходимых для развития системы. Эффективность ИС определяется как свойство ИС, характеризуемое степенью достижения целей, поставленных при ее создании. Надежность АИС - комплексное свойство АИС сохранять во времени в установленных пределах значения всех параметров, характеризующие способность АИС выполнять свои функции в заданных режимах и условиях эксплуатации.
1.2 Назначение и функциональность АС «Бюджет»
Для того чтобы провести анализ и оценку эффективности выбранной АИС, нужно определить цели, поставленные при ее создании. АС «Бюджет» предназначена для комплексной автоматизации деятельности финансовых органов субъектов РФ и муниципальных образований на всех этапах исполнения бюджета. Позволяет организовать исполнение бюджета в рамках среднесрочного финансового планирования в соответствии с действующим бюджетным законодательством, обеспечивает создание системы управленческого бюджетного учета и отчетности финансового органа, поддерживает различные варианты кассового обслуживания исполнения бюджета в органах Федерального казначейства.
Цели внедрения автоматизированной системы «Бюджет»:
внедрение новых форм и методов управления общественными финансами на основе современных информационных технологий;
создание единого централизованного хранилища данных ФО;
повышение эффективности работы сотрудников ФО и оперативности их взаимодействия благодаря использованию специализированного программного обеспечения и методов групповой обработки данных в едином централизованном хранилище;
существенное сокращение объема трудоемких рутинных операций, минимизация количества ошибок, допускаемых при ручной обработке информации, благодаря механизмам автоматического контроля и экспорта/импорта данных;
внедрение казначейских принципов организации исполнения бюджета, обеспечение большей прозрачности и эффективности бюджетных расходов, экономии бюджетных средств;
внедрение технологии конвейерной обработки и множественного визирования электронных документов различными исполнителями в пределах зоны их ответственности, учитывающую существующую нормативно-правовую базу и обеспечивающую защищенность, управляемость и доступность документов;
получение достоверной оперативной информации и необходимой аналитической отчетности в режиме реального времени.
Функциональные возможности АС «Бюджет»:
Ведение бюджетной росписи доходов, расходов и источников финансирования дефицита бюджета на интуитивно понятном интерфейсе, позволяющее формировать сводную бюджетную роспись в разрезе ГРБС, РБС, ПБС с поквартальным или помесячным распределением сумм, автоматическую помесячную разбивку квартальных сумм согласно процентным соотношениям, использовать дополнительную классификацию, формировать варианты сводной бюджетной росписи, ввод и анализ сумм в рублях или в тысячах рублей, формировать уведомления о бюджетных ассигнованиях в форме выписок из сводной бюджетной росписи, уточнять сводную бюджетную роспись уведомлениями, формировать журнал регистрации изменений, автоматически контролировать допустимость перемещений, автоматически формировать бухгалтерские проводки по учтенным данным, анализировать исполнение уточненной сводной бюджетной росписи, на любую указанную дату, с включением/исключением разных типов уведомлений. Возможен учет лимитов бюджетных обязательств и объемов финансирования, включающий формирование лимитов бюджетных обязательств на основании утвержденных бюджетных ассигнований в соответствии с классификацией расходов и источников финансирования дефицитов бюджетов с поквартальным или помесячным распределением сумм, изменение лимитов бюджетных обязательств при изменении бюджетных ассигнований, блокировку расходов, доведение лимитов бюджетных обязательств до распорядителей и получателей бюджетных средств, автоматическое формирование проводок по учтенным данным, анализ исполнения лимитов бюджетных обязательств на любую указанную дату с учетом и без учета изменения, распределение объемов финансирования по главным распорядителям бюджетных средств и перераспределение объемов финансирования на подведомственных РБС и ПБС, формирование уведомления по кассовым выплатам по источникам подготовка реестров на финансирование и расходных расписаний для Федерального казначейства. Также реализован учет исполнения бюджета по доходам и расходам, построенный на автоматической обработке ведомостей кассовых поступлений и кассовых выплат, выписки из лицевого счета финансового органа, учет поступивших доходов в разрезе кодов доходов, плательщиков и дополнительной классификации, учет сумм в пути, возврата сумм доходов, излишне уплаченных в бюджет, невыясненных и неклассифицированных поступлений, учет операций по кассовым выплатам из бюджета, формирование уведомления об уточнении вида и принадлежности платежа и уведомления об уточнении кода бюджетной классификации для ФК, учет кассовых выплат с лицевых счетов ПБС, открытых в ФК, отслеживание состояния лицевых счетов ГРБС, РБС, ПБС, открытых в ФК, организация выдачи наличных денег, оплата расходов за счет средств от предпринимательской и иной приносящей доход деятельности, учет выдачи и погашения кредитов в разрезе видов кредитов, сроков и договоров, автоматическое формирование бухгалтерских проводок по учтенным данным, формирование ежедневного отчета о поступлении доходов, другой отчетной информации о доходах. Предусмотрено составление собственных отчетов финансового органа в автоматическом или ручном режиме, импорт отчетов нижестоящих финансовых органов, главных распорядителей бюджетных средств, распорядителей бюджетных средств и получателей бюджетных средств в форматах АС «Смета», «1С-Бухгалтерия», «СКИФ», шаблон MS Excel, автоматическая консолидация собственных отчетов и отчетов нижестоящих ФО, ГРБС, РБС и ПБС, определение организаций, не предоставивших отчеты в указанный срок, контроль правильности составления собственных и принимаемых отчетов согласно правилам проверки и контрольным соотношениям, возможность ввода собственных правил проверки.
1.3 Используемые технологии и архитектура АС «Бюджет»
Платформа: PC.
Операционная система для сервера БД: Linux;
Операционная система для рабочей станции: Windows 95/98/ME, Windows NT/2000/2003/XP.
Архитектура информационной системы:
архитектура Клиент/Сервер;
2 уровня обеспечения целостности и обработки данных: логика базы данных (реализуют триггера) и логика интерфейсов ввода данных (реализует программный код);
единый интерфейс доступа к данным, независимо от используемой СУБД на основе MIDAS. Большинство компонентов системы не зависит от типа СУБД;
SDI (Single Document Interface) интерфейс клиентского приложения с настраиваемым наполнением;
встраивание новых интерфейсов с использованием ActiveX (клиентское приложение - контейнер);
расширение функций и индивидуальная настройка интерфейсов посредством встроенного макроязыка ABL;
использование кэширования изменений при вводе данных (короткие транзакции);
единая, открытая система хранения настроек «Удаленный реестр»;
разграничение прав, как на уровне базы данных, так и на уровне логики приложения по различным критериям;
встроенная оригинальная система отчетов на основе шаблонов и макропрограмм различных форматов;
встроенный отладчик макросов на языке ABL - используется для написания и отладки макропрограмм на языке ABL. АС «Бюджет». Руководство администратора. - Рыбинск: НПО «Криста», 2007. - с.11
2 Анализ эффективности АС «Бюджет»
2.1 Характеристики АС «Бюджет
Система характеризуется такими свойствами, как функциональная масштабируемость, конфигурируемость рабочих мест, распределенность, наращиваемость, корпоративность, тиражируемость, настраиваемость, модульность, объективность (реальность и актуальность), ответственность, безопасность, относительно низкая зависимость от разработчика в задаче расширения набора аналитических и отчетных форм, интегрируемость, унифицированность, мобильность.
Рассмотрим некоторые свойства более детально. Система позволяет объединить все структурные подразделения финансового органа, обеспечив их электронное взаимодействие и распределенное управление бизнес-процессами. Распределенность означает, что данные могут возникать в одних местах системы, обрабатываться в других, а использоваться в третьих. Разграничение прав доступа пользователей организовано через конфигурируемые рабочие места. Конфигурируемое рабочее место - это набор предметных областей системы, назначенный для работы некоторому пользователю или группе пользователей, исходя из его должностных обязанностей. Набор рабочих мест, а также предметных объектов, составляющих рабочее место, может быть изменен (расширен/сокращен) администратором системы. Настраиваемость системы позволяет производить гибкую настройку функций на специфику объекта путем изменения ее параметров, в том числе шаблонов отчетов и документов. Все отчетные и аналитические документы формируются непосредственно на основе введенных первичных документов. Дисциплина своевременного ввода документов контролируется с помощью механизма закрытия операционного дня. Все это обеспечивает объективность информации о состоянии финансов. Помимо стандартных форм первичных и отчетных документов, соответствующих законодательству Российской Федерации, система имеет пакет специализированных и отчетных форм (свыше 200 форм) и инструментарий для его наращивания - генератор отчетов. Генератор отчетов от известных аналогов отличают следующие существенные особенности: высокая динамичность и малое время построения отчетов, возможность изменения не только шаблонов вывода, но и алгоритмов формирования данных, возможность не только изменять существующие отчеты, но и создавать на их основе новые. Сегодня трудно найти учреждение, в котором бы не использовались программные системы разных разработчиков, поэтому интегрируемости системы придается большое значение. Интегрируемость обеспечивается встроенным механизмом универсального экспорта-импорта, который позволяет передавать и принимать данные из любого блока системы, взаимодействовать с произвольными базами данных, обрабатывать разнообразные форматы данных, в том числе текстовые документы различных кодировок и форматирования. Имеется возможность промежуточной обработки и контроля передаваемых/принимаемых данных (например, на уникальность записей, соответствие нормативно-справочной информации и т.д.). Процедура импорта/экспорта информации, как правило, предусматривает создание протокола об ошибках и проведенных операциях, включая скорость обработки и пр. Внешний вид всех интерфейсов и правила работы с ними однотипны: вид окна, кнопки и панели инструментов, функциональные клавиши, вызов помощи. Такая унифицированность снижает затраты на обучение и освоение системы пользователями, упрощает работу с документацией, снижает затраты на сопровождение системы. АС «Бюджет» выполнена по принципу модульности и представляет собой набор OCX-модулей (реализующих СОМ-объекты), что обеспечивает:
возможность выбора произвольной конфигурации системы - набор приобретаемых модулей;
простоту функциональной масштабируемости - доработка системы разработчиком, дополнение ее новыми технологическими и функциональными возможностями не требует полного обновления системы;
повышение надежности системы - изменения, вносимые разработчиком в отдельные модули, не могут повлиять на работу системы в целом.
2.2 Наращиваемость АС «Бюджет»
Дополнительный функционал АС «Бюджет» наращивается с помощью следующих программных модулей:
Программный модуль «Конвейерная обработка и множественное визирование документов»;
Программный модуль «Применение ЭЦП в АС «Бюджет» при множественном визировании документов»;
Программный модуль «Передача электронных документов с ЭЦП из АС «УРМ» в АС «Бюджет»;
Программный модуль «Передача выписок с ЭЦП из АС «Бюджет» в АС «Удаленное рабочее место»;
Программный модуль «Прикрепление к документам произвольных файлов с ЭЦП»;
Программный модуль «Многобюджетный режим работы»;
Программный модуль «Расширенный аудит действий пользователей»;
Программный модуль «Сбор информации через АС «УРМ»;
Программный модуль «Сбор информации через электронную почту»;
Программный модуль «Учет государственных (муниципальных) контрактов и договоров»;
Программный модуль «Учет бюджетных обязательств»;
Программный модуль «Электронный обмен с ФК (банком)»;
Программный модуль «Пакетная замена классификации»;
Программный модуль «Учет средств от предпринимательской и иной приносящей доход деятельности»;
Программный модуль «Просмотр поступлений по доходной классификации в АС «УРМ»;
Программный модуль «Учет разрешений по предпринимательской и иной приносящей доход деятельности»;
Т.е если финансовому органу необходимо осуществление полнофункционального двухстороннего обмена электронными платежными документами между ФО и органами ФК, а также между ФО и кредитными организациями (банками), система дополняется модулем «Электронный обмен с ФК (банком)» (приложение А), который обеспечивает: двухсторонний обмен электронными пакетами документов между ФО и органами ФК без ручного переноса данных из АС «Бюджет» в транспортное ПО ФК (клиент СЭД), двухсторонний обмен электронными пакетами документов между ФО и кредитными организациями (банками) без ручного переноса данных из АС «Бюджет» в транспортное ПО банка (клиент банка), поддержку различных вариантов организации исполнения бюджета и кассового обслуживания исполнения бюджета органами ФК, автоматическое формирование исходящих пакетов: платежных поручений, реестров на финансирование, расходных уведомлений, служебных информационных документов и т.д., автоматическую загрузку входящих пакетов: выписок, ведомостей по кассовым выплатам и поступлениям, служебных информационных документов и т.д. «Требования к форматам текстовых файлов, используемых при взаимодействии между органами Федерального казначейства и участниками бюджетного процесса» от 01.12.2008г., отслеживание статуса и автоматическое проведение исходящих платежных поручений в процессе обработки входящих пакетов, дополнительную обработку кассовых поступлений по доходам: выделение множественных кодов дохода, распределение сумм доходов в соответствии с шаблоном, автоматическое определение дополнительных аналитических признаков по платежному документу на основании базы соответствий, выделение платежных документов на поступление средств от приносящей доход деятельности, их дополнительная обработка, выполнение вспомогательных функций по обработке пакетов: архивирование, вызов внешних функций установки/снятия ЭЦП и шифрования транспортного ПО ФК (банка).
Если же требуется вести учет исполнения нескольких бюджетов в единой база данных, используя стандартные функциональные возможности АС «Бюджет», тогда приобретается дополнительный модуль «Многобюджетный режим работы» (приложение Б), обеспечивающий возможность ведения учета всех операций по исполнению различных бюджетов в одной базе данных АС «Бюджет», использование единой нормативно-справочной системы (справочников классификаторов) для всех бюджетов, ведение справочника лицевых и расчетных счетов отдельно для каждого бюджета, контроль лицевого и расчетного счета, указанного в первичном документе, на соответствие бюджету (при вводе данных), электронный документооборот с органами ФК Распоряжение Главы Республики Карелия от 29 января 2009 года № 56-р «Об утверждении Плана мероприятий по реализации в Республике Карелия основных положений Послания Президента Российской Федерации Федеральному Собранию Российской Федерации от 5 ноября 2008 года» и учреждениями банков по нескольким бюджетам одновременно, электронный документооборот с ГРБС, ГАИФ, РБС, АИФ и ПБС различных бюджетов через систему удаленного документооборота, автоматический контроль первичных документов с учетом их принадлежности к различным бюджетам, анализ исполнения различных бюджетов, разграничение прав доступа пользователей к документам и функциям АС «Бюджет», в зависимости от бюджета, формирование полного набора бюджетной отчетности для каждого бюджета (муниципального района, городского или сельского поселения), данные по исполнению которого хранятся в базе данных АС «Бюджет», формирование консолидированной бюджетной отчетности по исполнению консолидированного бюджета муниципального района.
Для учета финансовыми органами бюджетных обязательств, вытекающих из договоров на поставку продукции, выполнение работ, оказание услуг, заключенных бюджетными учреждениями, и подлежащих оплате за счет средств соответствующего бюджета предназначен программный модуль «Учет бюджетных обязательств» (приложение В), который обеспечивает следующие функциональные возможности: Регистрация договоров на поставку продукции (работ, услуг) и уточнений к ним, автоматический бюджетный контроль графиков оплаты по договорам (уточнениям) на соответствие бюджетным ассигнованиям, лимитам бюджетных обязательств с учетом исполнения бюджета, постановка на учет бюджетных обязательств по кодам классификации расходов бюджетов РФ, отказ в постановке бюджетного обязательства на учет, автоматическая последовательная или ручная произвольная нумерация принятых на учет бюджетных обязательств, контроль уникальности учетного номера в пределах финансового года, учет бюджетных обязательств в разрезе дополнительной классификации, возможность ведения квартальных или месячных графиков исполнения бюджетных обязательств, резервирование бюджетных ассигнований и лимитов бюджетных обязательств под принятые к учету бюджетные обязательства, отражение принятых бюджетных обязательств в лицевых счетах, внесение изменений в учтенные бюджетные обязательства: механизмы прослеживания цепочек уточнения, контроль непротиворечивости суммы и нового графика исполнения бюджетного обязательства фактически исполненной части обязательства, автоматический контроль наличия бюджетного обязательства в момент оплаты, получение печатной копии расшифровки к договору и расшифровки к уточнению по договору, ведение журнала учета и исполнения бюджетных обязательств, предоставление справок о принятых на учет бюджетных обязательствах, об их исполнении и остатках бюджетных обязательств, отражение принятых бюджетных обязательств в бюджетном учете.
Возможность использования средств ЭЦП и шифрования при передаче электронных документов от ТПФО, ГРБС, ГАИФ, РБС, АИФ и ПБС в финансовый орган реализует дополнительный программный модуль «Передача электронных документов с ЭЦП из АС «УРМ» в АС «Бюджет», разработанный для обеспечения юридической значимости электронных документов, передаваемых из АС «УРМ» в АС «Бюджет», защиты информации, передаваемой удаленными клиентами в финансовый орган, от несанкционированного доступа, подмены и искажения, сокращения бумажного документооборота в процессе исполнения бюджета путем внедрения средств ЭЦП в электронный документооборот финансового органа с ГРБС, ГАИФ, РБС, АИФ и ПБС, значительного снижения временных затрат на доставку документов от ТПФО, ГРБС, ГАИФ, РБС, АИФ и ПБС в финансовый орган посредством АС «УРМ», что ускоряет процесс финансирования в целом.
2.3 Инструментальные средства АС «Бюджет»
Открытость системы позволяет пользователям самостоятельно (независимо от разработчика) с помощью специальных инструментальных средств (генератора отчетов и встроенного макроязыка ABL) наращивать возможности системы. Встроенный макроязык ABL специально предназначен для расширения функциональных возможностей системы без непосредственного участия ее разработчиков. На ABL программируются функции двустороннего обмена данными с внешними системами, контроля вводимых и присылаемых по каналам электронной связи данных, дополнения и порождения новых данных, вызова внешних приложений и т.д. ABL - это объектно-ориентированный русифицированный язык, аналог языка VBA (Visual Basic For Applications), использующегося в Microsoft Office. Идея возникновения и реализации ABL принадлежит руководителю отдела АС "Смета" НПО «Криста» Автоматизированная система комплексной автоматизации деятельности финансовых органов субъектов РФ и муниципальных образований на всех этапах исполнения бюджета "Бюджет" .Руководство администратора/ Рыбинск: НПО "Криста", 2007 Смирнову Сергею. Понимая, что для реализации идеи написания конфигурационной базы со встроенными скриптами нужен какой-то макроязык, рассматривалось 2 варианта: использовать уже имеющиеся скриптовые языки (JS, VB), либо создать свой. Победила идея, что нужен свой язык хотя бы потому, что в случае использования JS/VB фактически появляется зависимость от их реализации, и обязательно всплывут проблемы, которых ты решить в принципе не можешь - не переписывать же Windows…Программирование на ABL доступно только квалифицированным ИТ-специалистам. Для программирования и администрирования подпрограмм (макросов) на ABL-языке в систему встроены специальные интерфейсы, в том числе имеется встроенный отладчик подпрограмм. Макросы хранятся в реестре сервера настроек и расширяют функции АС «Бюджет».
Например, в формы месячной отчетности внесены изменения бюджетной классификации Приказ Министерства финансов РФ от 25.12.2008г. N 145н. Тогда создается скрипт на ABL, который выглядит следующим образом:
<?xml version="1.0" encoding="windows-1251" ?>
- <registry>
- <node path="%root%">
- <node path="Объекты">
- <node path="Интерфейсы">
- <node path="{EC6083A1-BC20-4FC8-AAFF-20399B48497A}">
- <node path="Выпадающие меню">
- <node path="Меню принятия/отмены принятия">
- <node path="Принять отчеты">
<value type="3" name="Действие">УстановитьДатуПринятия</value>
<param value="Действие" type="3" name="crc32">$E5CA2E34</param>
<param value="Действие" type="3" name="version">36.044.79</param>
<value type="3" name="Картинка">Галочка</value>
<param value="Картинка" type="3" name="crc32">$3605C21A</param>
<param value="Картинка" type="3" name="version">36.044.79</param>
</node>
- <node path="Снять принятие">
<value type="3" name="Действие">СнятьДатуПринятия</value>
<param value="Действие" type="3" name="crc32">$FED06E36</param>
<param value="Действие" type="3" name="version">36.044.79</param>
<value type="3" name="Картинка">Обновить</value>
<param value="Картинка" type="3" name="crc32">$BEC3BCE7</param>
<param value="Картинка" type="3" name="version">36.044.79</param>
</node>
</node>
</node>
- <node path="Действия">
- <node path="КонтрольКлассификации">
<value type="7" name="Код программы">включить '\Библиотеки\LibRu.lib'; включить '\Библиотеки\Forms.lib'; включить "Бюджет\Объекты\Контроль\Скрипты\События\КонтрольКлассификации"; включить '\Макросы\КИ\ПоддержкаПроекта'; включить 'project'; константы кПутьККонфигурации = "Бюджет\Объекты\Настройки\Консолидация\КонтрольКлассификации"; кКонфигурация = "Конфигурация"; // берем либо выделенные, либо текущую запись функция ПолучитьВыделенныеИлиТекущую(СеткаВвода: СеткаДанных; Данные: СтатическиеДанные): СтатическиеДанные; начало если СеткаВвода.ЕстьВыделенныеСтроки тогда результат := СеткаВвода.ПолучитьВыделенныеСтроки иначе начало // ничего не выделено, тогда занесем в выделенные текущую запись мастера результат := СоздатьСтатическиеДанные; результат.ПрисвоитьПоля(Данные); результат.Открыть; результат.СкопироватьЗапись(1, Данные); конец; конец; // функция ПроверитьКорректностьКлассификацииДанных(Данные: СтатическиеДанные; Конфигурация: СтатическиеДанные): Целое; переменные ИмяПоляДляКонтроля: строка; Классификация: строка; ТипПроверки: Целое; ТипКлассификации: Целое; начало результат := да; ИмяПоляДляКонтроля := Конфигурация.Поле('ControlField').КакСтрока; ТипПроверки := Конфигурация.Поле('ControlType').КакЦелое; ТипКлассификации := Конфигурация.Поле('ClsType').КакЦелое; Данные.Вначало; пока не Данные.ВКонце и результат делать начало Классификация := Данные.Поле(ИмяПоляДляКонтроля).КакСтрока; результат := ПроверитьКлассификацию(Классификация, ТипПроверки, ТипКлассификации); Данные.Следующая; конец; конец; // проверка отчета на корректность классификации функция ПроверитьКорректностьКлассификацииОтчета(КодОтчета: Целое; КодФормы: Целое; Конфигурация: СтатическиеДанные): Целое; переменные ФормаВвода: IBaseForm; НомерДетализации: Целое; ДанныеДетализации: СтатическиеДанные; начало результат := да; Конфигурация.SetScope(МассивИз(КодФормы)); если Конфигурация.ЧислоЗаписей > 0 тогда начало // загружаем детализацию ФормаВвода := ПостроитьФормуВвода(КодОтчета, КодФормы, nil); ФормаВвода.ShowDataEx(sdoNotShow + sdoStatic); // проверяем все контроли Конфигурация.ВНачало; пока не Конфигурация.ВКонце и результат делать начало НомерДетализации := Конфигурация.Поле('DetailNumber').КакЦелое; ДанныеДетализации := ФормаВвода.StaticSets(НомерДетализации); если ДанныеДетализации.ЧислоЗаписей > 0 тогда результат := ПроверитьКорректностьКлассификацииДанных(ДанныеДетализации, Конфигурация); Конфигурация.Следующая; конец; ФормаВвода.ClearStatics; конец; конец; // загрузка конфигурации из реестра функция ПолучитьКонфигурацию: СтатическиеДанные; начало результат := СоздатьДанныеИзРеестра(кПутьККонфигурации, кКонфигурация); результат.IndexFieldNames := 'FormID'; конец; // проверка набора отчетов функция ПроверитьНаборОтчетов(Выделенные, Заголовок, Конфигурация: СтатическиеДанные): Целое; переменные КлассификацияКорректна: Целое; КодОтчета: Целое; КодФормы: Целое; начало КлассификацияКорректна := да; результат := 0; Выделенные.ВНачало; пока не Выделенные.ВКонце делать начало КодОтчета := Выделенные.Поле('ID').КакЦелое; если Заголовок.Locate('ID', КодОтчета, 0) тогда начало КодФормы := Заголовок.Поле('TYPEDFORM').КакЦелое; КлассификацияКорректна := ПроверитьКорректностьКлассификацииОтчета(КодОтчета, КодФормы, Конфигурация); // записываем результат проверки если КлассификацияКорректна тогда начало Заголовок.Поле('ControlMessage').КакСтрока := ''; Заголовок.Поле('ControlResult').КакЦелое := -1; конец иначе начало Заголовок.Поле('ControlResult').КакЦелое := 10; Заголовок.Поле('ControlMessage').КакСтрока := 'Есть ошибки бюджетной классификации'; результат := результат + 1; конец; конец; Выделенные.Следующая; конец; конец; переменные ф: ФормаВвода; Заголовок, Выделенные, Конфигурация: СтатическиеДанные; КоличествоОшибок: целое; начало Ф := ПолучитьФормуВвода; Заголовок := Ф.Заголовки.Таблица; если не Заголовок.Active или (Заголовок.ЧислоЗаписей = 0) тогда ВызватьОшибку('Нет данных для проверки'); // считываем конфигурацию для проверки Конфигурация := ПолучитьКонфигурацию(); попытка // набор отчетов для проверки Выделенные := ПолучитьВыделенныеИлиТекущую(Ф.Заголовки.Сетка, Заголовок); попытка КоличествоОшибок := ПроверитьНаборОтчетов(Выделенные, Заголовок, Конфигурация); обязательно УдалитьОбъект(Выделенные); конец; обязательно УдалитьОбъект(Конфигурация); конец; // сообщаем результаты проверки если КоличествоОшибок = 0 тогда Сообщение('Ошибок ввода классификации не найдено') иначе Сообщение(Формат('Найдено %d документов с ошибочной классификацией', КоличествоОшибок)); конец.</value>
<param value="Код программы" type="1" name="AccessCount">23</param>
<param value="Код программы" type="2" name="AccessDate">39377,8330395718</param>
<param value="Код программы" type="3" name="crc32">$17DD9440</param>
<param value="Код программы" type="3" name="version">36.044.79</param>
<param value="Код программы" type="3" name="Export">DIMAN2\dzimitchev\16.02.2009 16:44:59</param>
<value type="4" name="Отладка">0</value>
<param value="Отладка" type="3" name="crc32">$26D930AC</param>
<param value="Отладка" type="3" name="version">36.044.79</param>
</node>
- <node path="КопироватьОтчет">
<value type="7" name="Код программы">включить '\Библиотеки\LibRu.lib'; включить '\Макросы\КИ\Запросы'; включить 'project'; /* Для получения запросов на заголовок и детализацию используются функции из модуля Запросы.ТекстПолногоЗапросаФормы и Запросы.ТекстЗапросаДеталиФормы соответственно Эти функции генерируют запросы для выборки и вставки полей с условием */ функция КопироватьДетализацию(КодНовогоОтчета, КодОтчета, КопироватьСуммы: Целое); переменные Данные: СтатическиеДанные; ЗапросВыборки, ЗапросВставки: строка; начало Данные := СоздатьСтатическиеДанные; попытка Данные.СоединитьБД; Данные.CachedUpdates := да; ТекстЗапросаДеталиФормы(ЗапросВыборки, ЗапросВставки, Формат('utypedformsdetail.recordindex=%d', КодОтчета)); Данные.Запрос := Формат('[PUMPDATA]{%s} [INSERTDATA]{%s}', ЗапросВыборки, ЗапросВставки); Данные.Открыть; Данные.ВНачало; пока не Данные.ВКонце делать начало Данные.Поле('recordindex').КакЦелое := КодНовогоОтчета; Данные.UpdateStatus := usInserted; Данные.Следующая; конец; Данные.СохранитьИзменения; обязательно УдалитьОбъект(Данные); конец; конец; функция КопироватьЗаголовок(КодОтчета: Целое): Целое; переменные Данные: СтатическиеДанные; ЗапросВыборки, ЗапросВставки, ЗапросИзменения: строка; начало Данные := СоздатьСтатическиеДанные; попытка Данные.СоединитьБД; Данные.CachedUpdates := да; ТекстПолногоЗапросаФормы(ЗапросВыборки, ЗапросИзменения, ЗапросВставки, '550', Формат('utfc.id = %d', КодОтчета)); Данные.Запрос := Формат('[PUMPDATA]{%s} [INSERTDATA]{%s}', ЗапросВыборки, ЗапросВставки); Данные.Открыть; результат := ГенерироватьДиап('g_shared'); Данные.Поле('DocNumber').КакСтрока := 'Копия ' + Данные.Поле('DocNumber').КакСтрока; Данные.Поле('ID').КакЦелое := результат; Данные.Поле('AcceptDate').Очистить; если не Данные.Поле('DocStateref').Пустое тогда Данные.Поле('DocStateRef').КакЦелое := (Данные.Поле('DocStateRef').КакЦелое цел 10) * 10 + 01; Данные.UpdateStatus := usInserted; Данные.СохранитьИзменения; обязательно УдалитьОбъект(Данные); конец; конец; переменные Заголовки: СтатическиеДанные; ф: ФормаВвода; КодОтчета, КодНовогоОтчета: целое; начало //задача: скопировать текущую запись, номер документа заменить на "Копия <номер документа>", дату принятия игнорировать... ф := ПолучитьФормуВвода; если ф.ЕстьИзменения тогда ВызватьОшибку('Перед копированием отчетов надо сохранить все изменения!'); Заголовки := ф.Заголовки.Таблица; если Заголовки.ЧислоЗаписей = 0 тогда ВызватьОшибку('Нет отчета для копирования!'); КодОтчета := Заголовки.Поле('ID').КакЦелое; // копируем заголовок КодНовогоОтчета := КопироватьЗаголовок(КодОтчета); // копируем детализацию КопироватьДетализацию(КодНовогоОтчета, КодОтчета, ); // сохраняем изменения ф.СохранитьИзменения; Сообщение('Отчет был успешно скопирован!'); конец.</value>
Страницы: 1, 2, 3
|