Содержание
Введение3
1. Аналитическая часть6
1.1 Характеристика организации6
1.2 Обоснование необходимости автоматизации15
1.3 Обзор аналогов разрабатываемой информационной системы17
2. Выбор средств реализации проекта19
2.1 Выбор модели жизненного цикла19
2.2 Выбор программных средств реализации23
3. Тестирование работоспособности системы40
3.1 Расчет надежности системы40
3.2 Тестирование технических показателей работоспособности разрабатываемой системы44
4. Расчет и обоснование затрат на разработку и внедрение информационной системы50
4.1 Организация и планирование работ50
4.2 Расчет сметной стоимости проекта2
4.3 Обоснование экономической целесообразности проекта5
5. Экологичность и безопасность9
5.1 Характеристика условий труда инженера-разработчика9
5.2 Анализ условий труда на рабочем месте11
5.3 Расчетная часть16
Заключение21
Список использованной литературы22
Приложение 1.24
Приложение 2.34
Выдержка из текста работы
В данном дипломном проекте представлена разработка программного продукта для автоматизации делопроизводства и документооборота, который позволил оптимизировать работу системы автоматизации делопроизводства и документооборота Аппарата Правительства Республики Хакасия. Описаны вопросы техники безопасности.
REVIEW
This present degree project represents the working-out of software for the automation paperworks, which permits to quicken and to make easy the labor of the paperworks staff of the goverment Republic of Khakassia. The questions of safety engineering are also described in my work.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ……………………………………………………………………………………………..6
1. ХАРАКТЕРИСТИКА ОРГАНИЗАЦИОННОЙ СТРУКТУРЫ АП РХ…….8
1.1 Аппарат Правительства РХ……………………………………………………………8
1.2 Общие положения отдела информатизации……………………………………10
1.3 Цель работы отдела……………………………………………………………………….10
1.4 Основные задачи отдела………………………………………………………………..10
1.5 Функции отдела…………………………………………………………………………….11
1.6 Обеспечение деятельности отдела…………………………………………………14
1.7 Руководств отделом………………………………………………………………………15
1.8 Реорганизация отдела……………………………………………………………………15
1.9 Комплекс информационно-вычислительных систем АП РХ………….16
2. СИСТЕМА АВТОМАТИЗАЦИИ ДЕЛОПРОИЗВОДСТВА И ДОКУМЕТООБОРОТА (САДД), ДЕЙСТВУЮЩАЯ В АП РХ…………………..18
2.1 Традиционная система делопроизводства………………………………………..18
2.2 Проблемы традиционной технологии………………………………………………19
2.3 Автоматизация делопроизводства и документооборота в отечественных организациях. …………………………………………………. ………………………………20
2.4 Сравнительные характеристики различных САДД……………………………24
2.5 Краткая характеристика САДД «Дело»…………………………………………….27
2.6 Результаты внедрения САДД «Дело» в АП РХ………………………………….29
3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ОПТИМИЗАЦИИ САДД……………………32
3.1 Постановка задачи…. ……………………………………………………………………….32
3.2 Описание реализованного интерфейса ……………………………………………..33
4. ТЕХНИКА БЕЗОПАСНОСТИ И САНИТАРНЫЕ НОРМЫ………………….37
4.1 Анализ и оценка эргономических условий труда……………………………37
4.2 Анализ и оценка микроклимата……………………………………………………..40
4.3 Анализ и оценка освещения помещений и рабочих мест…………………41
4.4 Анализ и оценка планировки помещений……………………………………….42
5. АНАЛИЗ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ……………………………44
5.1 Экономическая эффективность использования разработанного ПО…44
5.2 Расчет затрат на разработку проекта……………………………………………….45
5.3 Расчет затрат на реализацию проекта………………………………………………46
5.4 Расчет эксплуатационных затрат…………………………………………………….48
5.5 Обоснование эффективности разработанной системы……………………..50
5.6 Правовые аспекты использования разработанного ПО…………………….51
ЗАКЛЮЧЕНИЕ………………………………………………………………………………………….55
БИБЛИОГРАФИЧЕСКИЙ СПИСОК………………………………………………………….56
ГЛОССАРИЙ……………………………………………………………………………………………..58
СПИСОК АББРЕВИАТУР………………………………………………………………………….59
ПРИЛОЖЕНИЯ………………………………………………………………………………………….60
Приложение 1. Шаблоны разработанных отчетов………………………………60
Приложение 2. Листинг программы…………………………………………………..62
ВВЕДЕНИЕ
В настоящее время ведение делопроизводства малоэффективно без использования систем автоматизации делопроизводства и документооборота. Сейчас на рынке существует множество программ подобного типа, удовлетворяющих самым разным требованиям.
Целью дипломного проекта является разработка программного продукта для автоматизации делопроизводства и документооборота Аппарата Правительства Республики Хакасия. Новая программа позволит оптимизировать существующую систему делопроизводства.
Объектом исследования являются делопроизводство документооборот в Аппарате Правительства Республики Хакасия.
Предметом исследования является внутренний и внешний документооборот и информационные потоки Аппарата Правительства Республики Хакасия.
В ходе проведенной работы были сформулированы и решены следующие задачи:
? Изучение предметной области;
? Анализ входных и выходных данных;
? Разработка форм ввода документов;
? Разработка подсистемы обработки и вывода отчетной информации;
? Анализ рынка программных продуктов;
? Программная реализация ввода и обработки информации с использованием языка MS Visual Basic 6.0;
? Внедрение ИС в эксплуатацию.
В ходе выполнения дипломной работы были учтены, советы специалистов отдела информатизации, а также специфика организации.
Практическая значимость работы. Введенная в эксплуатацию программа позволила делопроизводственному персоналу более эффективно и оперативно выполнять свою работу.
Апробация работы. Разработанная программа успешно функционирует в Аппарате Правительства с мая 2003 года.
Структура и объем работы. Работа состоит из 5 глав, приложения и демонстрационного материала. В работе использовано 19 источников информации, часть из которых – работы отечественных авторов, и часть информации взята из глобальной сети Интернет.
В первой главе дается информация о Аппарате Правительства Республики Хакасия, его структуре и функциях, о существующем аппаратном обеспечении.
Вторая глава является описанием действующей системы автоматизации делопроизводства и обоснованием ее выбора .
Третья глава представляет собой описание программы делопроизводства и документооборота Аппарата Правительства Республики Хакасия, форм документов и отчетов, описание функционирования программы.
В четвертой главе рассмотрена техника безопасности и экологические аспекты работы.
Пятая глава дает обоснование экономической эффективности программы.
В приложении представлен графический материал (схемы) и таблицы.
1. ХАРАКТЕРИСТИКА ОРГАНИЗАЦИОННОЙ СТРУКТУРЫ АП РХ.
1.1 Аппарат Правительства РХ
Для обеспечения деятельности Правительства Республики Хакасия действует аппарат, состоящий из отделов и иных структурных подразделений.
Права, обязанности и ответственность работников Аппарата определяются в соответствии с Положением об Аппарате Правительства Республики Хакасия, утвержденным Правительством Республики Хакасия.
Структура, штаты, размер оплаты труда и условия материально-бытового обеспечения работников аппарата, а также расходы на его содержание определяются Председателем Правительства Республики Хакасия в пределах расходов республиканского бюджета на содержание Правительства Республики Хакасия, утверждаемых Верховным Советом Республики Хакасия.
Рис. 1.1
Председатель
Правительства РХ
1-й 2-й 3-й 4-й
заместитель заместитель, заместитель заместитель
Руководитель
АП РХ
Аппарат Общий отдел
Правительства РХ
Канцелярия
Отдел информатизации
Приемная по работе
с гражданами
Министерства
Комитеты
1.2 Общие положения отдела информатизации
Отдел по информатизации Аппарата Правительства Республики Хакасия (далее Отдел) является структурным подразделением Аппарата Правительства Республики Хакасия.
В своей деятельности Отдел руководствуется Конституцией Российской Федерации, законами и иными нормативно-правовыми актами Российской Федерации, Конституцией Республики Хакасия, законами и иными нормативно-правовыми актами Республики Хакасия и настоящим Положением.
1.3 Цель работы Отдела
Целью работы Отдела является проведение в Аппарате Правительства Республики Хакасия государственной политики информатизации, обеспечение современными информационно-технологическими методами работы отделов Аппарата Правительства Республики Хакасия.
1.4 Основные задачи Отдела
Основными задачами работы Отдела являются:
• Формирование инфраструктуры, внедрение и обеспечение функционирования Комплекса информационно-вычислительных систем в здании Правительства Республика Хакасия.
• Участие в подготовке проектов нормативных актов и нормативно-технической документации в области информационных процессов.
• Осуществление проектно-исследовательской деятельности в направлении применения новых информационных технологий для оптимизации работы отделов Аппарата Правительства Республики Хакасия.
• Организация взаимодействия с общественностью посредством поддержки Интернет-сайта Правительства Республики Хакасия (www.gov.khakasnet.ru)
• Участие в повышение квалификации и общего уровня знаний, умений и навыков служащих Аппарата Правительства в сфере информационных технологий.
1.5 Функции Отдела
Исходя из основных задач Отдел осуществляет следующие функции:
• Для выполнения задачи формирования инфраструктуры, внедрения и обеспечения функционирования Комплекса информационно-вычислительных систем в здании Правительства Республика Хакасия, осуществляются следующие функции
? Организация работы по созданию Комплекса информационно-вычислительных систем, включающей в себя:
? организация разработки принципов построения информационной системы Аппарата Правительства Республики Хакасия;
? проведение обследований связанных с разработкой проектов информационного обеспечения, а также созданием единой информационной системы с привлечением проектных организаций;
? составление технико-экономического обоснования приобретения и аренды технических и программных средств;
? осуществление привязки разработанных проектов к особенностям решаемых задач;
? внедрение в работу и эксплуатация Комплекса информационно-вычислительных систем с привлечением специализированных организаций.
? Методическое и организационное сопровождение функционирования информационных систем и программного обеспечения Аппарата Правительства.
? Обеспечение технической поддержки и надежного функционирования информационных систем, технических и программных средств Аппарата Правительства, эффективное использование ресурсов вычислительной и множительной техники.
? Обеспечение санкционированного доступа к регистрам, реестрам и базам данных. Разработка предложений по формированию и подготовке мер безопасности и защиты информации.
? Внедрение системы делопроизводства и документооборота.
? Для выполнения задачи подготовки проектов нормативных актов и нормативно-технической документации в области информационных процессов реализуются следующие функции
? Внедрение и контроль выполнения общесистемных требований к созданию и ведению регистров, реестров и баз данных в Аппарате Правительства, определение правил описания данных, правил актуализации данных. Обеспечение информационной совместимости регистров, реестров и баз данных отделов Аппарата Правительства Республики Хакасия.
? Подготовка проекта сметы расходов, проекта плана работ по информатизации Аппарата Правительства Республики Хакасия на очередной финансовый год на основе заявок и проектов планов научно-исследовательских работ по информатизации, поступающих от отделов Аппарата Правительства Республики Хакасия.
? Участвует в заключении договоров со специализированными организациями и частными лицами на техническое обслуживание используемых технических средств, программного сопровождения, организует проведение пуско-наладочных, диагностических, ремонтных и профилактических работ.
? Разрабатывает и тиражирует нормативно-методические материалы по компьютерным информационным технологиям, техническим средствам и программным продуктам.
? Для осуществления проектно-исследовательской деятельности в направлении применения новых информационных технологий для оптимизации работы отделов Аппарата Правительства Республики Хакасия реализуются следующие функции
? Исследование работы отделов Аппарата Правительства с целью применения новых информационных технологий для оптимизации работы отделов Аппарата Правительства.
? В соответствии с заявками отделов Аппарата Правительства организует работу по постановке задач на разработку моделей, алгоритмов и программ по приему, хранению, обработке и передаче информации, выбору технических средств, внедрению прикладных разработок в эксплуатацию. Обеспечивает разработку новых программных продуктов, их отладку, внедрение и сопровождение.
? На базе проведенных исследований делает заключения об эффективности работы отделов Аппарата Правительства в разрезе применения информационных технологий, готовит предложения по совершенствованию и модернизации программного обеспечения. Принимает меры по обеспечению соответствия применяемых технологических процессов требованиям экономичности обработки информации
? Для организации взаимодействия с общественностью посредством поддержки Интернет-сайта Правительства Республики Хакасия (www.gov.khakasnet.ru) осуществляются следующие функции
? Разработка организационной модели взаимодействия заинтересованных министерств и ведомств, представляющих информацию на Интернет-сайт Правительства Республики Хакасия.
? Программное сопровождение, размещение и актуализация информации по согласованию с заинтересованными министерствами и ведомствами, представляющими информацию на Интернет-сайт Правительства Республики Хакасия.
? Обследование, анализ и подготовка рекомендаций по использованию технологий, применяемых при визуализации информации для представления на Интернет-сайте Правительства Республики Хакасия.
? Телекоммуникационное обеспечение функционирования Интернет-сайта и применения передовых технологий связи, таких как, электронная почта, IP-телефония и т.д.
? Реализуя участие в повышение квалификации и общего уровня знаний, умений и навыков служащих Аппарата Правительства в сфере информационных технологий, отдел выполняет функции
? Изучение и внедрение в практику работы передового отечественного и зарубежного опыта пользования новыми информационными технологиями.
? Организует проведение семинаров и консультаций по компьютерным информационным технологиям, средствам микропроцессорной вычислительной техники и программному обеспечению.
? Осуществляет методическое руководство по внедрению новых информационных технологий на базе вычислительных систем в практическую деятельность отделов Аппарата Правительства Республики Хакасия. Оценивает эффективность их внедрения.
1.6 Обеспечение деятельности Отдела
? Отдел для осуществления своих функций вправе:
? запрашивать по согласованию, в порядке установленном законодательными актами, материалы от федеральных органов государственной власти;
? запрашивать и получать, в порядке установленном законодательными актами, материалы от республиканских органов государственной власти Республики Хакасия и органов местного самоуправления, а также учреждений, организаций и должностных лиц, связанных с вопросами компетенции Отдела;
? пользоваться в установленном порядке банками данных республиканских министерств и ведомств;
? в технологических целях устанавливать ограничения на использование и трафик передачи данных в локальной сети Комплекса информационно-вычислительных систем в здании Правительства Республики Хакасия.
? Документальное, правовое, материально-техническое обеспечение деятельности отдела осуществляют соответствующие подразделения Аппарата Правительства Республики Хакасия.
1.7 Руководство Отделом
Заведующий Отделом назначается на должность и освобождается от должности Председателем Правительства Республики Хакасия в соответствии с действующим законодательством. В настоящее время эту должность занимает Боярский Григорий Михайлович.
Заведующий Отделом:
• руководит деятельностью Отдела, обеспечивая решение возложенных на Отдел задач;
• распределяет обязанности между служащими Отдела;
• утверждает должностные инструкции служащих отдела;
• вносит предложения о поощрении и привлечении к ответственности служащих Отдела;
• принимает необходимые меры по организации дополнительного специализированного обучения, повышения квалификации и участия служащих Отдела в научно-практических, консультационно-аналитических конференциях, семинарах и выставках;
• подписывает и визирует служебную документацию в пределах своей компетенции;
• присутствует на заседаниях Правительства, Президиума Правительства при рассмотрении вопросов, входящих в компетенцию Отдела.
1.8 Реорганизация Отдела
Реорганизация и ликвидация Отдела производится Председателем Правительства Республики Хакасия по представлению Руководителя Аппарата Правительства — заместителя Председателя Правительства Республики Хакасия в соответствии с действующим законодательством
1.9 Комплекс информационно-вычислительных систем АП РХ
Одна из основных задач стоящих перед Отделом является внедрение и обеспечение функционирования Комплекса информационно-вычислительных систем в здании Правительства Республика Хакасия.
Комплекс информационно-вычислительных систем (КИВС) включает в себя следующие системы:
• Слаботочную структурированную кабельную систему
• Систему бесперебойного энергоснабжения активного оборудования КИВС, локальной вычислительной сети (ЛВС):
• Активное оборудование, программное обеспечение (ПО) и систему управления ЛВС;
• Серверы, рабочие станции и системное ПО ЛВС;
• Системы телекоммуникаций, включая систему подключения к сети Internet, системы электронной почты, факс-сервер, систему удаленного доступа к ресурсам ЛВС и другие необходимые системы телекоммуникаций.
В 2001 году была введена в эксплуатацию слаботочная структурированная кабельная система фирмы «АйТи», так же были приобретены сервера и лицензионное ПО ЛВС.
АйТи-СКС – структурированная кабельная система для передачи данных, голоса, видео изображений, основанная на неэкранированной витой паре, экранированной витой паре, а также многомодовом волоконно-оптическом кабеле. Организуется по топологии «звезда», что позволяет менять конфигурацию путем переключений контактов на кроссировочных панелях. Это позволяет организовать в пределах одной кроссировочной панели нескольких различных топологий локальных сетей без изменения физической конфигурации ЛВС.
Административная подсистема состоит из кроссовых панелей, патч-панелей и телекоммуникационных разъемов. Кроссовые поля позволяют администрировать каналы передачи информации, направляя и пере направляя их в различные помещения внутри здания. Информационные разъемы, установленные на рабочих местах и в других помещениях, заканчивают горизонтальную проводку и обеспечивают универсальную точку доступа для подключения телефонов, компьютеров с сетевым адаптерами другого терминального оборудования к распределительной кабельной сети.
2. Система Автоматизации делопроизводства и документооборота (САДД), действующая в АП РХ.
2.1 Традиционная система делопроизводства
Непосредственно за организацию делопроизводства, т.е. за реализацию принятых правил обработки документов в Аппарате Правительства РХ отвечает специальное подразделение — канцелярия. В ведении этой службы находится и делопроизводственный персонал других структурных подразделений организации. Функции делопроизводственного персонала заключаются в приеме и регистрации документов, в продвижении документов по предприятию с фиксацией резолюций и отчетов, рассылке документов вовне, а также контроле исполнения документов (резолюций). Для управления
движением и исполнением документов делопроизводственный персонал ведет специальные журналы и/или картотеки, в которых фиксируются перемещения документов, а также связанные с ними резолюции и отчеты исполнителей.
Правила регистрации документов на предприятии, состав регистрируемых реквизитов, правила оформления резолюций и передачи документов, правила контроля исполнения, а также порядок заполнения отчетных форм регламентируются соответствующими инструкциями. До 2003 года делопроизводство осуществлялось традиционными способами.
Традиционная российская технология процессов делопроизводства имеет следующие особенности:
1. четко выраженный вертикальный характер движения документов (руководитель – исполнитель — руководитель) внутри организации;
2. отслеживание всего комплекса работ с документами в регистрационных журналах;
3. современная российская технология делопроизводства предполагает ведение регистрационно-контрольных и отчетных форм и журналов.
Технологии делопроизводства закреплены в государственных стандартах, инструкциях и наставлениях по делопроизводству.
Особенностью российской модели является относительно небольшое разнообразие документов, их высокая степень стандартизации.
Программные системы, реализующие российскую технологию, ориентированы в первую очередь на использование в гос.учреждениях и сохраняют все традиции и нормы делопроизводства, принятые в конкретной организации.
2.2 Проблемы традиционной технологии
Традиционная технология предполагает, что одни работники — руководители и исполнители — работают с бумажными документами, а другие — делопроизводственный персонал — отслеживают их действия (регистрируют перемещение документов, резолюции руководителей, отчеты исполнителей и т.д.) с помощью системы журналов и картотек. Такая технология имеет принципиальные ограничения:
— Информация о документах и ходе их исполнения распределена по системе картотек организации и ее структурных подразделений. Поэтому получение информации о работе с документами в организации требует поиска и обработки данных из разнородных и децентрализованных картотек;
— Картотеки документов отделены от исполнителей. Они содержат неполную и неоперативную информацию о состоянии документов;
— Размножение и перемещение большого количества бумажных документов, ведение многочисленных и дублирующих друг друга журналов и картотек приводит к большим объемам непроизводительных трудозатрат.
Перечисленные проблемы еще более усугубляются в корпоративной системе управления, когда необходимо координировать деятельность организационно самостоятельных структур, территориально удаленных друг от друга.
В результате делопроизводственная служба не в состоянии в полной мере осуществлять контроль за документооборотом предприятия. Практически невозможно ответить, например на такие вопросы: над какими документами работает учреждение и в каком они находятся состоянии, какова история решения того или иного вопроса, чем конкретно заняты исполнители? И это при том, что документы и данные о работе с ними персонала являются важнейшим первоисточником всей информации о деятельности АП РХ. Именно они позволяют установить связь между показателями ее эффективности, например, финансовыми, с конкретными действиями работников.
Зарубежные консалтинговые компании дают следующие оценки потерь при работе с бумажными документами и эффективности перехода к работе с электронными документами. По оценке компании DELPHI около 15% всех бумажных документов безвозвратно теряется и сотрудники тратят до 30% своего рабочего времени в попытках найти их. Компания Coopers&Lybrand оценивает, что организации делают в среднем 19 копий каждого документа и что почти 7.5% всех документов теряется безвозвратно. При переходе к работе с электронными документами по оценке Nortan Nolan Institute рост производительности труда сотрудников составляет 25-50%, уменьшается время обработки одного документа более, чем на 75%, а уменьшение расходов на оплату площадей для хранения документов составляет до 80%.
Таким образом, становится ясной важность внедрения САДД в процесс делопроизводства АП РХ.
2.3 Автоматизация делопроизводства и документооборота в отечественных организациях.
Управление любой организацией или предприятием осуществляется путем документального оформления решений, доведения их до исполнителей и последующего контроля исполнения.
Компьютеризация офиса — оснащение рабочих мест персональными компьютерами и объединение их в сети — привело в последние годы к интенсивным работам по созданию программного обеспечения автоматизации документооборота и появлению в этой области большого числа проблемно-ориентированных продуктов. Идея, лежащая в основе систем автоматизации документооборота, — выделение функций по обработке документов, которые непосредственно не зависят от характера самих документов и связанных с ними приложений.
Действительно, такие функции, как, например, регистрация документов или перемещение их по организации, могут быть реализованы независимо от того, являются ли сами документы служебными записками, договорами или, скажем, платежными документами. Таким образом, системы автоматизации документооборота являются, по сути, интегрирующими технологиями, обеспечивающими унифицированное управление документами в организации и связанными с этими документами специфическими приложениями.
Различные классы систем ориентированы на различные модели документооборота. В частности, системы типа groupware (групповой работы) ориентированы на организацию коллективной работы над документами. В системах типа document management (управление документами) основное внимание уделяется построению и ведению документальных баз — справочников над множеством документов. Управление движением документов по учрежденческой сети является основной функцией целой группы продуктов, начиная от простейших e-mail-систем (электронная почта) и кончая изощренными workflow-системами (автоматизация деловых процедур).
В России же в течение столетий — в общегосударственном масштабе — сложилась единая технология работы с управленческими документами, так называемая государственная система документационного обеспечения управления (ГС ДОУ). Российское делопроизводство не имеет
аналогов в других странах ни по детальности проработки технологии работы с документами, ни по масштабам распространения. И если сегодня на Западе, скорее, развитие офисной автоматизации стимулирует разработку технологий документооборота, то в России, как правило, речь идет об автоматизации традиционно уже сложившейся технологии учрежденческого делопроизводства.
В чем же ее особенности российской модели документооборота?
Главное — она предполагает максимальную централизацию контроля за документооборотом: документ должен быть сначала доложен руководству, а лишь затем — обрастая резолюциями в соответствии со служебной иерархией — он спускается к непосредственным исполнителям.
Предполагается также централизация и регламентация деятельности основных делопроизводственных служб: прием и рассылка документов — в экспедиции, регистрация и контроль прохождения документов — в канцелярии, контроль исполнения в группе контроля и т.п. Другой важной особенностью российской модели является единые и детально регламентированные правила работы с управленческими документами в организациях независимо от их сферы деятельности — вплоть до правил заполнения регистрационных журналов и картотек, а также отчетных форм.
В условиях существования в учреждении такой детально регламентированной технологии документооборота, как правило, нереально говорить о внедрении некоторой принципиально новой технологии, ориентированной на реалиях того или иного зарубежного пакета. Речь, в этом случае, может идти, скорее, об автоматизации традиционного делопроизводства с использованием возможностей, которые открываются за счет использования современных информационных технологий.
Например, традиционное делопроизводство нуждается в ведении множества журналов и/или картотек, обслуживающих бумажный документооборот. И именно ведение этих картотек является первоочередным объектом автоматизации делопроизводства. В то же время ничто не мешает включить в автоматизированную систему возможность связи карточки с электронным
образом собственно документа (текстом, изображением, звуком и проч.), создать тем самым технологические условия для перехода к электронному документообороту. Переход же к электронному документообороту, в свою очередь, создает предпосылки для формирования электронных архивов с эффективными механизмами справочно-аналитической работы на
множестве документов в различных формах представления.
С другой стороны, использование учрежденческой компьютерной сети создает условия для децентрализации выполнения различных делопроизводственных функций при сохранении централизованного контроля за документооборотом. Можно, например, разрешить подразделениями и даже отдельным работникам осуществлять самостоятельную регистрацию документов и при этом централизованно контролировать их прохождение и т.п. Более того, наличие корпоративной сети, связывающей территориально-удаленные учреждения, позволяет обеспечить централизованный контроль за документооборотом в этих учреждениях, что невозможно осуществить в рамках традиционной технологии. Однако сегодня широкое внедрение самых передовых информационных технологий в отечественных учреждениях ограничивается естественным и вполне оправданным консерватизмом персонала, отвечающего за работу с документами. В силу этого наиболее
реальным путем автоматизации делопроизводства в российских учреждениях представляется создание таких автоматизированных технологий, которые, будучи полностью преемственными традиционной, обеспечивали бы ее эволюционную трансформацию в более эффективную.
2.4 Сравнительные характеристики различных САДД
В настоящее время на рынке существует достаточно много САДД, пригодных для использования в российских организациях. Это Босс-Референт компании «Биллинг АйТи», Lotus Notes компании Lotus и многие другие.
Рассмотрим подробно три из них, как наиболее полно отражающие процессы отечественного делопроизводства и документоборота: это система “Дело” ЗАО “Электронные офисные системы”, система «LanDocs» АО «Ланит» и система «Золушка» НТЦ «Институт Развития Москвы».
Сравнение будет производится по следующим параметрам:
1. по функциональным характеристикам систем;
2. по программной реализации;
3. по стоимостным показателям.
Сравнение по функциональным характеристикам систем
Справочники-классификаторы
№ Параметры Системы автоматизации делопроизводства и документооборота
Дело LanDocs Золушка
1 Подразделения И +
2 Должностные лица И + —
3 Виды документов И + +
4 Организации-корреспонденты И + —
5 Пользователи + + +
6 Граждане + — —
7 Номенклатуры дел + И —
8 Типы связок документов + — +
9 Тематический рубрикатор + — +
10 Грифы доступа + + —
11 Совокупность папок пользователя + + —
12 Виды доставки + + —
13 Типы реестров + — —
14 Стандартные списки рассылки + + +
15 Типы файлов + + —
16 Стандартные тексты + — +
17 Ключевые слова — — +
18 Типы действий — + —
19 Действия для документа — + —
И- иерархическиесправочники
Виды документов, используемые в системах
№ Параметры Системы автоматизации делопроизводства и документооборота
Дело LanDocs Золушка
1 Входящие + + +
2 Исходящие + + +
3 Внутренние + + —
4 Письма граждан + — —
5 Проекты + — —
Сравнение по программной реализации
№ Параметры Системы автоматизации делопроизводства и документооборота
Дело 8.0 LanDocs Золушка Кабинет
Информационные технологии
1 Клиет/Сервер + + +
2 Инернет/Интранет + + +
Сетевые операцонные системы для серверной части САДД
3 Windows NT 4.0 Server + + +
4 Solaris 2.6 + — +
5 AIX + — —
6 HP-UX + — —
7 SCO UNIX + — —
8 Novell Netware — — +
9 + — +
Сетевые операцонные системы для клиентской части САДД
10 Windows NT 4.0 Workstation + + +
11 Windows 95 + + +
12 Windows 3.11 + + —
13 Windows 3.1 + — —
14 Mac OS 7.x — — +
Используемые системы для рабты с базами данных
15 Oracle 7.x + + —
16 Infomix 7.x + + —
17 Sybase SQL server 11.x + — —
18 MS SQL Server 6.x + + —
19 Progress + — —
20 Другие СУБД + + +
Средства разработки
21 Средсва проектирования баз данных S-Designer Case 4.0 н.д.
22 Средства разработки приложений 4GL(Power Builder) Delfi Lotus Notes
Эффективные показатели систем
23 Число одновременно работающих пользователей 300 н.д. н.д.
24 Срений объем документопотока 700.000 н.д. н.д.
25 Пиковые нагрузки документопотока 2.800 н.д. н.д.
Сравнение по стоимостным показателям
Системы автоматизации делопроизводства и документооборота
Дело LanDocs Золушка
13,810 15,900 25,000
Цены в рублях для ПО рассчитанного на 20 мест, не включая стоимости СУБД
2.5 Краткая характеристика САДД «Дело»
В качестве основы для реализации проекта была взята система «Дело» (версия 8.0.3), разработанная компанией «Электронные офисные системы» на платформе Microsoft.
Эта система обеспечивает ряд ключевых возможностей для организации внутриведомственного и межведомственного электронного документооборота:
• соответствие всем нормам и правилам российского делопроизводства;
• интеграция с различными программами создания файлов документов, в том числе, с пакетом FineReader 4.0 для сканирования бумажных оригиналов, а также интеграция с современным многофункциональными офисными аппаратами;
• управление правами и полное протоколирование действий пользователей с электронными документами;
• сертифицированные ФАПСИ по уровню «КС1» механизмы шифрования и авторизации (электронная подпись) CryptoPRO CSP;
• поддержка библиотеки электронных документов, содержащей удобные поисковые механизмы и доступ из сети Интернет/интранет;
• возможность обмена защищенными и авторизованными документами как внутри организации, так и между территориально удаленными подразделениями и организациями.
В организациях первого уровня, каковой является АП РХ устанавливается многопользовательская сетевая версия системы «Дело-Предприятие» на базе СУБД Microsoft SQL Server 2000.
Благодаря тесной интеграции Microsoft SQL Server 2000 и Microsoft Windows данная система обладает высокой масштабируемостью и соответствует самым высоким стандартам, предъявляемым к корпоративным базам данных. Как показывают эталонные тесты SAP R/3 Sales and Distribution Standard Benchmark, масштабируемость Microsoft SQL Server превышает аналогичный показатель для Oracle на 53%.
Использование Microsoft SQL Server 2000 позволяет предоставить пользователям надежный доступ к информации и разнообразные средства управления данными. Обеспечивается высокая производительность сервисов, интенсивно работающих с данными, а также существенно расширяются возможности создания хранилищ данных и анализа их содержимого. Кроме того, Microsoft SQL Server 2000 включает удобные инструменты администрирования, упрощающие установку и использование СУБД.
Система «ДЕЛО-Предприятие» обеспечивает интерфейс доступа к данным с помощью набора элементов управления ActiveX , разработанных в соответствии с технологией COM корпорации Microsoft. Применение данной технологии позволяет разрабатывать и эксплуатировать любые программы, которые интегрируются с системой «ДЕЛО-Предприятие», в среде Microsoft Windows.
Вход в систему «ДЕЛО» возможен лишь при знании пароля,
Что исключает возможность нанесения намеренного или случайного вреда пользователями, не имеющими права доступа. В системе предусмотрена возможность разграничения прав пользователей.
2.6 Результаты внедрения САДД «Дело» в АП РХ.
Внедрение системы делопроизводства и документооборота в органах государственной власти и местного самоуправления Республики Хакасия создало принципиально новые условия для более эффективной организации работы с документами. Так, данная система обеспечивает автоматический прием документа, поступившего по любому из электронных каналов (факс, электронная почта), его первичную регистрацию в любом подразделении и последующий централизованный контроль за его движением с возможностью формирования сводок об исполнении документов.
С помощью системы «Дело» удается избежать трудоемкого дублирования процедур регистрации. Сведения о документе – такие как краткое содержание, дата создания, регистрационный номер, подпись, резолюция, тематика и т.д. – всего один раз заносятся в регистрационно-контрольную карточку и помещаются в базу данных, а затем просто извлекаются оттуда по запросу пользователя.
Благодаря этому сокращается время доставки корреспонденции, предотвращается дублирование работы операторов по вводу информации, а также снижаются материальные и трудовые затраты на доставку и повторную регистрацию корреспонденции
Система «Дело» также позволяет формировать реестры рассылки, отправлять документы в другие учреждения с помощью систем электронной почты, осуществлять поиск документов по всем картотекам в информационной базе документов учреждения по сочетанию любых реквизитов регистрационной карточки, в том числе и контекстный поиск. Эти и многие другие возможности значительно облегчают работу сотрудников, делают ее намного эффективнее.
В результате, благодаря внедрению автоматизированной системы делопроизводства и документооборота Аппарат Правительства РХ может решить целый ряд важных задач:
• повысить исполнительскую дисциплину при работе с документами;
• усовершенствовать технологии работы с документами;
• усилить контроль за прохождением документов в органах государственной власти;
• интегрировать разрозненные и несовместимые системы документооборота, имеющиеся в различных республиканских учреждениях и ведомствах, в единую систему делопроизводства и документооборота;
• уменьшить вероятность потери документов;
• сократить время поиска документов;
• унифицировать программное обеспечение, используемое в различных организациях;
• ускорить взаимодействие между удаленными пользователями.
3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ОПТИМИЗАЦИИ САДД.
3.1 Постановка задачи
САДД «Дело» не является статичной системой и предусматривает разработку и внедрение необходимых форм отчетности по месту действия. В ходе прохождения производственной практики в отделе информатизации Аппарата Правительства Республики Хакасия передо мной была поставлена задача разработать типовые шаблоны печатных форм и модуль формирования стандартных для администрации республики статистических и аналитических отчетов. До настоящего времени эти отчеты составлялись вручную делопроизводственным персоналом канцелярии АП РХ. На языке Visual Basic v 6.0 мною были созданы новые необходимые выходные формы для системы автоматизации делопроизводства “Дело” версии 8.0.3.
Благодаря внедрению новых форм сокращается время доставки корреспонденции, предотвращается дублирование работы операторов по вводу информации, а также снижаются материальные и трудовые затраты на доставку и повторную регистрацию корреспонденции.
В процессе разработки необходимо было учитывать следующие правила:
1. Соблюдение стандартов при разработке интерфейса отчетов;
2. Соблюдение стандартов при создании типовых шаблонов документов;
3. Совместимость языка разработки с системой «ДЕЛО».
3.2 Описание реализованного интерфейса
1. Справка об обращении граждан за период
Выборка осуществляется по трем справочникам – (Населенные пункты или Темы), Группы Документов и Вышестоящие организации. Обязательно указание картотеки по которой будет производится поиск. Присутствует полоса указания состояния процесса обработки. Даты вводится обязательно. Кнопка Отчет Запускает процесс обработки справочников. Созданы дополнительные поля для выборки по дополнительным параметрам – Виды Обращений и Первичный-Повторный. Все элементы, их размер цвет , шрифт и др. атрибуты соответствуют заданным нормам.
2. Справка направленных на исполнение обращений граждан
Выборка осуществляется по двум справочникам – Населенные пункты и Группы Документов. Обязательно указание картотеки по которой будет производится поиск. Присутствует полоса указания состояния процесса обработки. Дата вводится обязательно. Кнопка Отчет Запускает процесс обработки справочников.
Все элементы, их размер цвет , шрифт и др. атрибуты соответствуют заданным нормам.
3. Справка о рассмотрении обращений граждан
Выборка осуществляется по двум справочникам – Авторы Резолюций и Группы Документов. Обязательно указание картотеки по которой будет производится поиск. Присутствует полоса указания состояния процесса обработки. Даты вводится обязательно. Введен дополнительный атрибут Виды Обращений. Кнопка Отчет Запускает процесс обработки справочников.
Все элементы, их размер цвет , шрифт и др. атрибуты соответствуют заданным нормам.
4. Отчет – Анализ обращений
Выборка осуществляется по трем справочникам – Населенные пункты и Группы Документов и Рубрикатор. Обязательно указание картотеки по которой будет производится поиск. Присутствует полоса указания состояния процесса обработки. Дата вводится обязательно. Кнопка Отчет Запускает процесс обработки справочников.
Все элементы, их размер цвет , шрифт и др. атрибуты соответствуют заданным нормам.
Разработанные шаблоны отчетов представлены в приложении 1.
Листинг программы представлен в приложении 2.
4. ТЕХНИКА БЕЗОПАСНОСТИ И САНИТАРНЫЕ НОРМЫ.
Охрана труда — система законодательных актов, социально-экономических, организационных, технических, гигиенических и лечебно-профилактических мероприятий и средств, обеспечивающих безопасность, сохранение здоровья и работоспособности человека в процессе труда.
Данный раздел дипломного проекта посвящен рассмотрению следующих вопросов:
— Анализ и оценка эргономических условий труда.
— Анализ и оценка микроклимата.
— Анализ и оценка освещенности.
— Анализ и оценка планировки помещений.
4.1. Анализ и оценка эргономических условий труда
Рабочее место и взаимное расположение всех его элементов должно соответствовать антропометрическим, физическим и психологическим требованиям. Большое значение имеет также характер работы.
Эргономическими аспектами проектирования видеотерминальных рабочих мест, в частности, являются: высота рабочей поверхности, размеры пространства для ног, требования к расположению документов на рабочем месте (наличие и размеры подставки для документов, возможность различного размещения документов, расстояние от глаз пользователя до экрана, документа, клавиатуры и т.д.), характеристики рабочего кресла, требования к поверхности рабочего стола, регулируемость рабочего места и его элементов.
Моторное поле — пространство рабочего места, в котором могут осуществляться двигательные действия человека.
Максимальная зона досягаемости рук — это часть моторного поля рабочего места, ограниченного дугами, описываемыми максимально вытянутыми руками при движении их в плечевом суставе.
Оптимальная зона — часть моторного поля рабочего места, ограниченного дугами, описываемыми предплечьями при движении в локтевых суставах с опорой в точке локтя и с относительно неподвижным плечом.
Рис 4.1 Зоны досягаемости рук в горизонтальной плоскости.
а — зона максимальной досягаемости;
б — зона досягаемости пальцев при вытянутой руке;
в — зона легкой досягаемости ладони;
г — оптимальное пространство для грубой ручной работы;
д — оптимальное пространство для тонкой ручной работы.
Рассмотрим оптимальное размещение предметов труда и документации в зонах досягаемости рук:
монитор размещается в зоне а (в центре);
клавиатура — в зоне г/д;
системный блок размещается в зоне б (слева);
принтер находится в зоне а (справа);
документация: в зоне легкой досягаемости ладони — в (слева)
Высота рабочей поверхности стола рекомендуется в пределах 680-760 мм. Высота рабочей поверхности, на которую устанавливается клавиатура, должна быть 650 мм.
Большое значение придается характеристикам рабочего кресла. Так, рекомендуется высота сиденья над уровнем пола должна быть в пределах 420-550 мм. Поверхность сиденья рекомендуется делать мягкой, передний край закругленным, а угол наклона спинки рабочего кресла — регулируемым.
Кроме того, в случаях, когда видеотерминал имеет низкое качество изображения, например заметны мелькания, расстояние от глаз до экрана делают больше (около 700 мм), чем расстояние от глаза до документа (300-450 мм). Вообще при высоком качестве изображения на видеотерминале расстояние от глаз пользователя до экрана, документа и клавиатуры может быть равным.
Положение экрана определяется:
— расстоянием считывания (0.60 + 0.10 м);
— углом считывания, направлением взгляда на 20 ниже горизонтали к центру экрана, причем экран перпендикулярен этому направлению.
Должна предусматриваться возможность регулирования экрана:
— по высоте +3 см;
— по наклону от 10 до 20 относительно вертикали;
— в левом и правом направлениях.
Большое значение также придается правильной рабочей позе пользователя. При неудобной рабочей позе могут появиться боли в мышцах, суставах и сухожилиях. Требования к рабочей позе пользователя видеотерминала следующие: шея не должна быть наклонена более чем на 20? (между осью «голова-шея» и осью туловища), плечи должны быть расслаблены, локти — находиться под углом 80? — 100? , а предплечья и кисти рук — в горизонтальном положении.
Характеристики используемого рабочего места:
— высота рабочей поверхности стола 750 мм;
— высота пространства для ног 650 мм;
— высота сиденья над уровнем пола 450 мм;
— поверхность сиденья мягкая с закругленным передним краем;
— предусмотрена возможность размещения документов справа и слева;
— расстояние от глаза до экрана 700 мм;
— расстояние от глаза до клавиатуры 400 мм;
— расстояние от глаза до документов 500 мм;
— возможно регулирование экрана по высоте, по наклону, в левом и в правом направлениях.
Выводы: все требования по эргономике рабочего места выполняются.
4.2 Анализ и оценка микроклимата.
В соответствии с СанПиН П. № 5, в производственных помещениях основная работа в которых ведется на ВДТ и ПЭВМ, должны соблюдаться определенные требования к микроклимату (табл. 4.1.).
Таблица 4.1.
«ОПТИМАЛЬНЫЕ НОРМЫ
МИКРОКЛИМАТА ДЛЯ ПОМЕЩЕНИЙ С ВДТ И ПЭВМ»
Период года Категория работ Температура
воздуха,
град. С не
более Относит.
Влажность
воздуха, % Скорость
движения
воздуха, м/с
Холодный легкая — 1а 22 – 24 40 – 60 0,1
легкая — 1б 21 – 23 40 – 60 0,1
Теплый легкая — 1а 23 – 25 40 – 60 0,1
легкая — 1б 22 – 24 40 – 60 0,2
Измерения проводились по параметрам:
? температура воздуха, С0
? относительная влажность, %
? скорость движения воздуха, м/сек
Результаты замеров показателей микроклимата в приведены в табл. 4.2.
Таблица 4.2.
«Показатели микроклимата в отделах »
№ п.п Место проведения измерения Температура воздуха,
С0 Относительная влажность, % Скорость движения воздуха, м/сек
Измеренная Допустимая по нормам Измеренная Допустимая по нормам Измеренная Допустимая по нормам
1 Отдел информатизации 1,0м – 25
0,1м – 24 20-25 56 40-60 0,06 0,1
2 Серверная 1,0м – 24
0,1м – 23,5 22-24 42 40-60 0,09 0,1
Выводы: В целом требования по микроклимату в отделах выполнены.
4.3 Анализ и оценка освещения помещений и рабочих мест.
В соответствии с СанПиН П. № 7, в производственных помещениях основная работа, в которых ведется на ВДТ и ПЭВМ, должны соблюдаться определенные требования к освещению (см. табл. 4.3.)
Показатели освещения замерялись на рабочих столах. Остальные показатели, такие как яркость знака, блесткость, ослепленность, равномерность распределения яркости, не требовали замера, так как рабочие места оснащены мониторами с антибликовым покрытием и достаточным диапазоном настройки яркости. Рабочие столы покрыты матовым, светорассеивающим материалом.
Требования, а также результаты замеров показателя освещенности рабочего стола приведены в табл. 4.3.
Таблица 4.3.
«Показатель освещенности рабочего стола в отделе информатизации и серверной»
№ п.п Место проведения измерения Время проведения измерения Освещенность на поверхности стола,
Измеренная Допустимая по нормам
1 Отдел информатизации 1200 555 300-500
2 Серверная 1200 321 300-500
Выводы: Требования по освещенности выполнены в обоих помещениях. Коэффициент освещения в отделе информатизации превысил норму по причине проведения замеров при включенных потолочных светильниках и яркой солнечной погоде.
4.4 Анализ и оценка планировки помещений.
Светопроемы, ориентированные преимущественно на ЮГ и обеспечивают коэффициент естественной освещенности (КЕО) не ниже 1.5%. Так как РХ находится в третьем климатическом поясе, то расчет КЕО производился в соответствии с СанПиН.
Общий объем отдела информатизации составляет 60 куб.м.(5Х4Х3), а общая площадь – 20 кв.м. Общий объем серверной составляет 52 куб.м.(4Х4Х3), а общая площадь – 16 кв.м.
В отделе информатизации работает 2 чел, следовательно, на каждого работника приходится по 10 кв.м., что на 4 кв.м. больше требуемого минимума.
В серверной работает 2 человека, поэтому на каждого работника приходится по 8 кв.м., что на 2 кв.м. больше минимума.
Отделы оснащены пристенными шкафами для хранения папок, документов и др.
Поверхность пола в отделах бетонная, ровная, без выбоин, нескользкая, удобная для очистки и влажной уборки, обладает антистатическими свойствами.
Требования и результаты замеров показателей по планировке помещений приведены в табл. 4.5.
Таблица 4.5.
«Показатели замеров помещений»
№ п.п Наименование показателя Отдел информатизации Серверная
Измеренное значение Допустимое значение Измеренное значение Допустимое значение
1 Площадь на одно рабочее место 10,0 кв. м 6,0 кв. м 8,0 кв. м 6,0 кв. м
2 Объем на одно рабочее место 30,0 куб. м 20,0 куб. м 24,0 куб. м 20,0 куб. м
Выводы: Все требования к планировке выполнены.
5. ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ.
5.1 Экономическая эффективность использования разработанного программного обеспечения.
Программный продукт (ПП) – это программа на носителе данных, являющаяся продуктом промышленного производства (ГОСТ 19.004-80).
Одной из характеристик качества программного продукта (а именно характеристикой с точки зрения соотношения затрат и результатов его функционирования) является экономическая эффективность качества программного продукта.
К основным показателям экономической эффективности относятся:
• экономический эффект;
• коэффициент экономической эффективности капитальных вложений;
• срок окупаемости капитальных вложений.
Эффективность – одно из наиболее общих экономических понятий, не имеющих единого общепризнанного определения. По распространенному мнению, это одна из возможных характеристик качества системы, а именно ее характеристика с точки зрения соотношения затрат и результатов функционирования системы.
Экономический эффект – результат внедрения какого-либо мероприятия, выраженный в стоимостной форме, в виде экономии от его осуществления. Для организации или предприятий, использующих программные продукты, основными источниками экономии являются:
• улучшение показателей их основной деятельности, происходящее в результате использования ПИ;
• сокращение сроков освоения нового программного продукта за счет улучшения эргономических характеристик;
• сокращение расхода машинного времени и других ресурсов на отладку и сдачу задач в эксплуатацию.
5.2. Расчет затрат на разработку проекта.
Затраты на разработку проекта программистом:
К=Кп+Кр , (1)
где Кп – капитальные вложения на проектирование;
К¬р – капитальные вложения на реализацию;
Суммарные затраты на проектирование системы и разработку программы:
Кп=SUM tpi*Зoi*[(1+Wд)*(1+Wс)+Wн] , (2)
где tpi – время, затраченное на разработку данного ПП работником i-й категории, месяцев = 2;
Зoi – заработная плата разработчика i-й категории, руб./месяц;
Wд – коэффициент, учитывающий дополнительную заработную плату, затраченную на разработку, в долях к основной заработной плате = 0,3;
Wс – коэффициент, учитывающий начисления органом социального страхования на заработную плату разработчиков, в долях к сумме основной и дополнительной заработной платы = 0,385;
Wн – коэффициент, учитывающий накладные расходы организации, в долях или % основной заработной плате разработчиков, принимается по фактическим данным = 0,12;
Зoi=SUM Зднi*Ti , (3)
где Зднi – среднедневная заработная плата рабочего i-й категории, руб./день = 260;
Ti – трудоемкость работ, выполняемых проектировщиком i-й категории, чел./день Затраты времени на разработку системы по каждому исполнителю принимаются, исходя из его нагрузки по календарному графику выполнения работ. Данные по расчету основной заработной платы проектировщика рассчитываются, исходя из 18 рабочих дней в месяце;
Зoi = 260*18 = 4680 руб.
Ввиду того, что разработанный ПП должен быть отлажен на ЭВМ, к суммарным затратам на разработку необходимо добавить еще и затраты на использование машинного времени:
tмо*Sмч*Км , (4)
где tмо – машинное время ЭВМ, необходимое для отладки ПП, ч. = 50;
Sмч – стоимость 1 часа машинного времени на ЭВМ, руб. = 32;
Км – коэффициент мультипрограммности = 1.
Таким образом, капитальные вложения на проектирование равны:
Кп = 2*4680*(1,3*1,385+0,12)+50*32*1 = 19575,88.
5.3. Расчет затрат на реализацию проекта
Капитальные вложения на реализацию проекта:
Кр=Ко+Кзд+Кпп+Ксв+Киб+Кпк , (5)
где Ко – затраты на основное и вспомогательное оборудование, руб.;
Кзд – затраты на строительство, реконструкцию здания и помещений, руб.;
Кпп – затраты на приобретение типовых разработок, пакетов, руб.;
Ксв – затраты на прокладку линий связи;
Киб – затраты на создание информационной базы, руб.;
Кпк – затраты на подготовку и переподготовку кадров, руб.;
Затраты на основное и вспомогательное оборудование:
При разработке ПП использовался компьютер следующей конфигурации: Pentium II 450, HDD 40 Gb, SVGA 16 Mb, 128 Mb RAM, 17» Samsung, клавиатура, мышь.
Ко=SUM Цoi*Qi*Yi*(1+KТНi), (6)
Ко=SUM Цбалi*Qi*Yi , (7)
где Цoi – оптовая цена i-го оборудования, руб.;
Цбалi – балансовая стоимость i-го вида технических, используемых для решения i-й задачи, руб. = компьютер – 24378;
Qi – количество единиц i-го оборудования;
Yi – коэффициент загрузки i-го вида оборудования, при обработке информации по задаче;
KТНi – коэффициент, учитывающий затраты на транспортировку, монтаж и наладку оборудования i-го вида;
Yi=Тij/Фэфj , (8)
где Фэфj – эффективный годовой фонд времени работы технического средства j-го вида, ч./год = компьютер – 864;
Тij= tij*Ui , (9)
где tij – трудоемкость однократной обработки информации по i-й задаче на j-м виде технических средств, часов машинного времени = компьютер – 0,03;
Ui – частота (периодичность) решения i-ой задачи, раз/год = компьютер – 3000;
Тi1=0.03*3000=90 ч
Y1¬=90/864=0,104
Ко=(24374*1*0,104)=2534,9 руб.
Так как строительство, реконструкция здания и помещений не производились, то: Кзд=0 ;
Затраты на приобретение программного обеспечения: Кпп=0 руб.;
Затраты на выделенную линию связи с Internet:
Ксв=250 руб.;
Затраты на создание информационной базы:
Киб=0;
Затраты на подготовку и переподготовку кадров:
Кпк=SUM tni*Зoi[(1+Wд)*(1+Wс)+Wн], (10)
где tni – время, затрачиваемое на подготовку работника i-й категории к эксплуатации системы, дней = 2;
Зoi – основная заработная плата работника i-й категории, руб./день = 260;
Кпк=2*260[(1+0,3)*(1+0,385)+0,15]=998,66 руб.;
Кр=2534,9+0+0+250+0+998,66=3783,56 руб.
Суммарные затраты на разработку и реализацию проекта:
К=19575,88+3783,56=23359,44 руб.
5.4. Расчет эксплуатационных затрат
Эксплуатационные затраты рассчитываются как:
Стек=Сзп+Са+Сз+Срем+См+Сн, (11)
где Сзп – затраты на основную и дополнительную заработную плату, с исчислением во внебюджетные фонды, руб.;
Са¬ – амортизационные отчисления от стоимости оборудования и устройств системы, руб.;
Сз – затраты на силовую электроэнергию, руб.;
Срем – затраты на текущий ремонт оборудования и устройств системы, руб.;
См – затраты на материалы и машинные носители, руб.;
Сн – накладные расходы ВЦ, руб.;
Эксплуатацию разработанной системы осуществляет специалист. Затраты на заработную плату основную и дополнительную с отчислениями на социальное страхование производственного персонала рассчитываются по формуле:
Сзп=SUM (tэi*зoi*(1+0,1)*(1+0,2)) ,
где tэi – время, затрачиваемое в процессе эксплуатации системы работником i-й квалификации, дн. = 18;
зoi – среднедневная заработная плата i-й квалификации, руб. = 260;
Сзп=18*260*1,01*1,02=4821,34 руб.
Эксплуатация системы производится ежедневно по 4 раза в день,
Са=0,1*SUM(Цбалj*аj*gj*tpj)/Фэфj , (12)
где Фэфj – эффективный фонд времени работы оборудования;
Цбалj – балансовая стоимость j-го вида оборудования, руб. = компьютер – 24378;
аj – норма годовых амортизационных отчислений для j-го вида оборудования, % = 10;
gj – количество единиц оборудования j-го вида.
tpj – время, затраченное на разработку, ч. = 162*4=648;
Фэфj=Dp*Hэ, (13)
Dp – количество рабочих дней в году = 216;
Hэ – норматив среднесуточной загрузки = 8;
Фэфj=216*8=1728 ч.
Са=0,1*((24378*0,1*1*648)/1728)=133,97 руб.
Затраты на силовую энергию рассчитываются пол формуле:
Сз=SUM (Nj*tpi¬*gi*Tз) , (14)
где Nj – установленная мощность j-го вида технических средств, кВт = компьютер – 0,35, монитор – 0,44);
gi=коэффициент использования установочной мощности оборудования = компьютер – 1, монитор – 1;
Tз – 0,28 руб/кВт*ч;
Сз=((0,35*648*1*0,28)+(0,44*648*1*0,28))=96 руб.;
Затраты на текущий ремонт оборудования:
Срем=SUM ((Hpi*Цбалj*tpi)/Фэф) , (15)
где Hpi – норматив затрат на ремонт = 0,05;
Срем=((0,05*22384*648)/1728)=669,83 руб.;
Затраты на материалы и машинные носители
См=0;
Накладные расходы включают затраты на содержание административно управленческого персонала, содержания помещений и т.д. Коэффициент накладных расходов от прямых затрат составляет 15%:
Сн=0,15*(342,14+133,97+96+669,83+0)=186,29 руб.;
Стек=342,14+133,97+96+669,83+186,29=1428,23 руб.
Для расчета показателей экономической эффективности нам для сравнения необходим базовый вариант. Основные показатели разработанных АРМ представлены в таблице 5.1.
Таблица 5.1
Годовые эксплуатационные затраты
Статьи затрат Затраты
Проект Базовый вариант
Основная и дополнительная заработная плата с отчислениями во внебюджетные фонды 5720 16160
Амортизационные отчисления 133,97 194,49
Затраты на электроэнергию 96 156
Затраты на текущий ремонт 669,83 1043
Затраты на материалы 611,9 1892
Накладные расходы 186,29 659,8
ИТОГО 7418 20105,3
5.5. Обоснование эффективности разработанной системы
Экономический эффект рассчитывается по формуле:
Эз=(Зт1-Зт2)+Енвт*К, (16)
где Зт1 – приведенные затраты на единицу работ, выполняемых с помощью базового варианта, руб. = 20105,3;
Зт2 – приведенные затраты на единицу работ, выполняемых с помощью проектируемого варианта, руб. = 7418;
К – капитальные вложения на разработку, руб. = 23359,44 ;
Енвт – нормативный коэффициент эффективности = 0,16;
Эз=(20105,3-7418)+0,16*23359,44 =16424,8.
Коэффициент экономической эффективности рассчитывается
Ер=( Зт1-Зт2)/К, (17) =(20105,3-7418)/ 23359,44 =0,55.
Расчетный срок окупаемости капитальных вложений в разработку:
Тр=1/ Ер (18) = 1/0,55=1,8 года.
Так как Тр меньше нормативного срока окупаемости (Тнорм=6,25 лет), то можно считать разработанную программу достаточно эффективной.
5.6 Правовые аспекты использования разработанного программного обеспечения.
Специфической чертой авторского права является его строго территориальный характер, т.е. сфера действия права на программу и базу данных определяется территорией государства, где это право возникло и ограничивается пределами этого государства.
Для того, чтобы успешно распространять программные продукты, в стране должен сформироваться рынок программного обеспечения, на котором будут появляться новые программы для компьютеров по мере их создания фирмами-производителями. В настоящее время российский рынок ПО находится на одном из первых мест в мире по производству и реализации пиратских программ.
Программные продукты и компьютерные базы данных являются предметом интеллектуального труда специалистов высокой квалификации. Процесс проектирования и реализации программных продуктов характеризуется значительными материальными и трудовыми затратами, требует применения соответствующего уровня дорогостоящей вычислительной техники. Это обусловливает необходимость принятия мер по защите интересов разработчика программ и создателей компьютерных баз данных от несанкционированного копирования.
Верховным Советом Республики Хакасия в 1998 был принят Закон «Об информатизации Республики Хакасия», в котором затронуты вопросы защиты прав производителей. В Российской Федерации принят ряд указов, постановлений, относящих программы для ЭВМ и баз данных к объектам авторского права. Приняты Законы «О правовой охране программ для электронных вычислительных машин и баз данных» (ПрЭВМ и БД), «Об информации, информатизации и защите информации», «Об авторском праве и смежных правах».
В соответствии со статьей 9 Закона «Об авторском праве и смежных правах» (АС и СП), авторское право на произведение возникает в силу самого факта его создания – с того момента, когда оно воплощается в конкретную форму. При этом не требуется соблюдения каких-либо формальностей, например регистрации или депонирования. Авторским правом охраняется любое произведение, созданное в результате творческого труда. Произведение считается имеющим творческий характер, пока не доказано обратное, что сделать достаточно трудно в связи с отсутствием объективных критериев оценки творческого характера деятельности.
Под действие авторско-правовой охраны попадает любая программа для ЭВМ и БД, созданная в результате творческого труда, независимо от ее назначения, достоинств и степени работоспособности. Часто встречается, что в основу многих программ первоначально заложены уже разработанные идеи и принципы. Такие нюансы могут компенсироваться в случае применения патентного права и режима коммерческой тайны к конкретным объектам.
Авторское право действует с момента создания программного продукта или базы данных в течение всей жизни автора и 50 лет после его смерти. Автор может выпускать в свет, воспроизводить в любой форме, любыми способами, распространять, модифицировать, осуществлять любое иное использование программного продукта или базы данных.
Право авторства закрепляется за лицом (лицами), творческим трудом которого (которых) создана программа для ЭВМ или БД, и заключается в праве считаться автором данного произведения. Ссылаясь на это право, автор может требовать в суде защиты своих интересов, если его авторство не признается, присвоено другим лицом или приписывается другому лицу.
Право на имя – это право автора использовать или разрешать использовать произведение под именем автора, его псевдонимом либо анонимно, что позволяет автору иметь возможность выбора способа указания своего имени.
Право на обнародование программы для ЭВМ – право автора, самостоятельно или предоставив кому-либо соответствующие полномочия, впервые сделать произведение доступным для ознакомления неопределенному кругу лиц. Под неопределенным кругом лиц понимается неограниченное какими-либо условиями количество людей.
Право на отзыв – это право автора отказаться от ранее принятого решения об обнародовании произведения при условии возмещения пользователю причиненных таким решением убытков, включая упущенную выгоду. Причем автор не должен обосновывать свое требование на отзыв. Если произведение уже было обнародовано, автор обязан публично оповестить о его отзыве.
Личные неимущественные права принадлежат автору независимо от того, кому принадлежат имущественные права.
Имущественные права на программу для ЭВМ и БД представляют собой совокупность правомочий, которые могут в полном объеме или частично продаваться и покупаться, передаваться в дар, сдаваться в аренду и т.п. Имущественные права имеют срочный характер: по истечению срока действия они уже не принадлежат какому-либо конкретному лицу. Произведение становится общественным достоянием и любому лицу позволяется свободно использовать его без выплаты авторского вознаграждения. В отличие от личных неимущественных прав имущественные права могут принадлежать как физическим, так и юридическим лицам.
Разработанный в соответствии со служебным заданием программный комплекс относится к литературным произведениям и охраняется нормами авторского права. Создатель программного продукта является правообладателем и автором программы.
Таким образом,
Личные неимущественные права: право авторства, право на имя, право на неприкосновенность (целостность) произведения, право на обнародование и право на отзыв принадлежат автору данного продукта. Имущественные права могут принадлежать автору программы.
Права на использование произведений, созданных в порядке выполнения служебных обязанностей, должны передаваться автором работодателю только по договору, заключенному в простой письменной форме . Права могут передаваться полностью или частично, на основе авторского договора о передаче исключительных или неисключительных прав. Закон устанавливает определенные требования к авторскому договору; он должен устанавливать следующие существенные условия: объем и способы использования программ для ЭВМ и БД, порядок выплаты и размер вознаграждения, срок и территория действия.
Выводы:
1. При разработке базы данных проводились расчеты экономической целесообразности использования разработанного программного обеспечения, которые показали, что разработка ПО была эффективна.
2. При проведении экономических расчетов установлено, что срок окупаемости затрат составляет 1,8 лет . Это подтверждает эффективность вложения финансовых средств в данный ПП.
3. Рассмотрение правовых аспектов разработанного программного обеспечения позволяет определить права на использование программного продукта различными структурами: разработчику программного обеспечения принадлежат авторские, личные неимущественные права, права на использование передаются работодателю в соответствии с договором.
ЗАКЛЮЧЕНИЕ
В процессе выполнения дипломного проекта изучены документооборот Аппарата Правительства Республики Хакасия.
Детально изучены основные принципы делопроизводства в организации, необходимые для эффективной автоматизации данного процесса.
На основании проведенного исследования рынка САДД РФ для решения поставленных задач выбрана система «Дело».
«Дело» это — недорогой, настраиваемый под специфику организации и регулярно обновляемый программный продукт.
Была разработана структура ввода и использования документов, а также анализ вводимой информации.
Были разработаны документы и отчеты, соответствующие стандарту делопроизводства РФ.
Была оптимизирована работа делопроизводственного персонала .
ИС делопроизводства была разработана с минимальными денежными затратами.
Обучение персонала для работы в новой ИС заняло немного времени.
Применение разработанной информационной системы помогает сократить время для составления отчетности и более эффективно использовать рабочее время.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Бурменко Т.Д. Экономика в сфере услуг. — М: Научная литература, 1996.
2. Михаэль Райтингер, Геральд Муч. Visual Basic 6.0: для пользователя: пер. с нем. – К.: Издательская группа BHV, 1999.
3. Сайлер Брайан, Споттс Джефф. Использование Visual Basic 6. Специальное издание: Пер. с англ. – М.: Издательский дом «Вильямс», 1999.
4. Закон РФ № 3523-1 от 23.09.1992 г. «О правовой охране программ для ЭВМ и баз данных».
5. Аглицкий И.С. Информационные технологии и бизнес. Эксперт автоматизации № 6 1997 г.
6. Гигиенические требования к видеодисплейным терминалам, персональным электронно-вычислительным машинам и организации работы. СанПиН 2.2.2.542-96 (Утверждены и введены в действие Постановлением Госкомсанэпиднадзора России от 14 июля 1996 г. N14.).
7. Шкарина Л.Н. Методические рекомендации по выполнению научно-исследовательских работ для студентов информационных специальностей университета. Вестник Хакасского государственного университета имени Н.Ф. Катанова. – 2001 г., выпуск 4, серия 1 «Информатика».
8. ГОСТ 16487-83 Делопроизводство и архивное дело. Термины и определения.
9. Типовая инструкция по делопроизводству в министерствах и ведомствах Российской Федерации, 1993 г.
10. И. Золотых. Обзор компьютерных систем автоматизации делопроизводства и документооборота. Информационные технологии №2 1997 г.
11. Е. Монахова. DOCS Open укореняется в России. PC Week №24 1998 г.
12. М. Н. Костомаров. Управление документацией в США. Документоведение. 1996 г.
13. Я. Стретович, Г. Филиппова. Об одном подходе к автоматизации делопроизводства. Открытые системы №4 1998 г.
14. ГОСТ 6.38-90 Унифицированные системы документации. Система организационно-распорядительной документации. Требования к оформлению документов. М.: Издательство стандартов 1990 г.
15. А. Гавердовский. Концепция построения систем автоматизации документооборота. Открытые системы №1 1997г.
16. О.Захаров. Что такое электронный документооборот? КомпьютерПресс №4 1997 г.
17. Введение в систему «Дело». Материалы ЗАО «Электронные офисные системы». http://[email protected]
18. А. Кондратенков. Система Дело-96 выбор Государственной Думы РФ. Материалы ЗАО «Электронные офисные системы». http://[email protected]
19. Мамаев Е.В. Microsoft SQL Server 2000. – СПб.: БХВ-Петербург, 2001.
ГЛОССАРИЙ
Информационная система — взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации, необходимой в процессе принятия решений задач из любой области.
Объект исследования – это процесс или явление, порождающее проблемную ситуацию и избранное для изучения.
Приложение — как правило, приложением называют программный продукт, разработанный для операционной системы.
Реквизиты – обязательные данные, которые должны содержаться в первичном документе.
Резолюция – письменное решение, проставляемое руководителем на документе перед отправкой его исполнителю.
Экономический эффект – результат внедрения какого-либо мероприятия, выраженный в стоимостной форме, в виде экономии от его осуществления.
Эффективность – это одна из возможных характеристик качества системы, а именно ее характеристика с точки зрения соотношения затрат и результатов функционирования системы.
Делопроизводство – система правил учета, нумерации, доступа и хранения документов, закрепленная в ГОСТах, ведомственных инструкциях и других нормативных актах.
СПИСОК АББРЕВИАТУР
АО – акционерное общество
АП – Аппарат Правительства
БД – база данных
ВДТ – видеодисплейный терминал
ГС ДОУ — государственная система документационного
обеспечения управления
ЗАО – закрытое акционерное общество
ИС – информационная система
КЕО – коэффициент естественной освещенности
ЛВС — локальная вычислительная сеть
НТЦ – научно-технический центр
ПО – программное обеспечение
ПП – программный продукт
ПЭВМ – персональная электронно-вычислительная машина;
РХ – Республика Хакасия
РФ — Российская Федерация
СанПиН — санитарные нормы и правила
САДД – система автоматизации делопроизводства и документооборота
СУБД – система управления базами данных
ЭВМ – электронно-вычислительная машина
WWW – World Wide Web
Приложение 1. Шаблоны разработанных отчетов
Справка
направленных на исполнение обращений граждан в Администрации муниципальных образований городов и районов, министерства и комитеты по состоянию на ___________ 2003 г.
Всего направлено на исполнение % Из ннх взято на контроль Из взятых на контроль решено положительно %
Администрации городов
Администрации муниципальных районов
Муниципальные образования городов
Муниципальные образования сел
Муниципальные образования поселков
Министерства
Комитеты
Другие органы
Всего
Руководитель
Аппарата Правительства
Заместитель
Председателя Правительства Республики Л. Часовников
Хакасия
СПРАВКА
Об обращениях граждан в Правительство Республики Хакасия
С по
Осуществляют контроль ПИСЬМЕНЫЕ УСТНЫЕ
Поступило обращений На контроле Поступило обращений На контроле
Авторы резолюций
Всего
Руководитель
Аппарата Правительства
Заместитель
Председателя Правительства Республики Л. Часовников
Хакасия
А н а л и з о б р а щ е н и й,
поступивших в Правительство Республики Хакасия
С по по состоянию на
Тема Всего
Содержание вопросов
Всего
Руководитель
Аппарата Правительства
Заместитель
Председателя Правительства Республики Л. Часовников
Хакасия
ПРИЛОЖЕНИЕ 2. ЛИСТИНГ ПРОГРАММЫ
Option Explicit
Private b_Col2 As Boolean
Private b_Col3 As Boolean
Private b_Col3_1 As Boolean
Private b_Col3_2 As Boolean
Private b_Col4_1 As Boolean
Private b_Col4_2 As Boolean
Private b_Col5_1 As Boolean
Private b_Col5_2 As Boolean
Private itm_DocGroup As ListItem
Private itm_obr As ListItem
Private itm_org As ListItem
Private itm_param As ListItem
Private itm_second As ListItem
‘Private b_Exec_Select As Boolean
Private s_Authors As String
Private sAuthors_Params As String ‘ для вывода параметров ‘
‘Private sExec_Params As String
Private s_DocGroup As String
Private sGroups_Params As String ‘ для вывода параметров ‘
Private s_Kard_Dcode As String
Private sDate1 As String
Private sDate2 As String
Private sorg_Params As String
Private s_org As String
‘Private Response As String
Private n_d As Integer
Private n_e As Integer
Private o_Head As Object
Private o_DocGroup As Object
Private o_param As Object
Private o_Executors As Object
Private o_doc As Object
Private o_Card As Object
Private res As Object
Private objdoc As Object
Private DC_DB As Database
‘Private DC_RS As Recordset
Private A_RS As Recordset
‘Private E_RS As Recordset
Private n_Result(4) As Integer
Private Type my_Exec_Set
s_Name As String
s_dcode As String
n_Col2 As Long
n_Col3 As Integer
n_Col4 As Integer
n_Col5 As Long
n_Col6 As Long
n_Col7 As Integer
n_Col8 As Integer
n_Col9 As Integer
End Type
Private m_Exec_Set() As my_Exec_Set
Private itogo(0) As my_Exec_Set
Private sumdoc As Integer
Private tech As Integer ‘текущий месяц
Private sumkontr As Integer ‘всего на контроле
Private sumistek As Integer ‘просроченный срок исполнения
Private Sub CbCard_click()
s_Kard_Dcode = Card_Set(CbCard.ListIndex).DCode
End Sub
Private Sub Chk1_Click()
LVparam.Enabled = Not CBool(Chk1) ‘включить или отключить группы документов
Cmadd1.Enabled = Not CBool(Chk1) ‘-«- «добавить»
If CBool(Chk1) Then
Cmdel1.Enabled = False
If Optreg Then ‘регионы
Set o_param = o_Head.GetResultSet
o_param.Source = o_Head.GetCriterion(«Vocabulary»)
With o_param.Source
.Vocabulary = «REGIONS» ‘ из справочника «Регионы»
.Select = «all» ‘ выбрать можно несколько подразделений/ДЛ ‘
.Deleted = «No» ‘ выбирать можно только «активные» записи ‘
‘.ItemType = «Leaf» ‘ выбирать только листья классификатора ‘
.Base = «Root» ‘ показывать элементы начиная из корня ‘
End With
o_param.Locked = False
o_param.Fill
If o_param.Count 0 Then
Me.Enabled = False ‘временно недоступна кнопка добавить
Set DC_DB = OpenDatabase(App.Path & «\par_9.mdb»)
my_Fill_db_lv «par_9.mdb», «T_Region», LVparam, o_param, itm_param
Me.Enabled = True ‘ снятие недоступности «добавить»
End If ‘}-> If o_DocGroup.Count 0 Then
o_param.Clear
Set o_param = Nothing
‘ Lv_itm_count_verif LVparam, Cmdel1 ‘ проверка доступности кнопки»удалить»
Else
Set o_param = o_Head.GetResultSet ‘темы
o_param.Source = o_Head.GetCriterion(«Vocabulary»)
With o_param.Source
.Vocabulary = «RUBRIC» ‘ из справочника «Рубрики» ‘
.Select = «all» ‘ выбрать можно несколько подразделений/ДЛ ‘
.Deleted = «No» ‘ выбирать можно только «активные» записи ‘
‘.ItemType = «Leaf» ‘ выбирать только листья классификатора ‘
.Base = «Root» ‘ показывать элементы начиная из корня ‘
End With
o_param.Locked = False
o_param.Fill
If o_param.Count 0 Then
Me.Enabled = False ‘временно недоступна кнопка добавить
Set DC_DB = OpenDatabase(App.Path & «\par_9.mdb»)
my_Fill_db_lv «par_9.mdb», «T_TEMA», LVparam, o_param, itm_param
Me.Enabled = True ‘ снятие недоступности «добавить»
End If ‘}-> If o_DocGroup.Count 0 Then
o_param.Clear
Set o_param = Nothing
‘Lv_itm_count_verif LVparam, Cmdel1 ‘ проверка доступности кнопки»удалить»
End If
‘f_Clear_List LVparam, «par_9.mdb», «T_DOCGR»
Else
‘LVparam.ListItems.Clear
If Optreg Then
f_Clear_List LVparam, «par_9.mdb», «T_REGION»
Else
f_Clear_List LVparam, «par_9.mdb», «T_TEMA»
End If
End If
‘Lv_itm_count_verif LVparam, Cmdel1
End Sub
Private Sub Chk2_Click()
‘ LVdoc.Enabled = Not CBool(Chk2) ‘включить или отключить группы документов
‘ Cmadd2.Enabled = Not CBool(Chk2) ‘-«- «добавить»
‘ If CBool(Chk2) Then
‘ f_Clear_List LVdoc, «par_9.mdb», «T_DOCGR»
‘ End If
‘ Lv_itm_count_verif LVdoc, Cmdel2
End Sub
Private Sub Cmadd1_Click()
If Optreg Then ‘регионы
Set o_param = o_Head.GetResultSet
o_param.Source = o_Head.GetCriterion(«Vocabulary»)
With o_param.Source
.Vocabulary = «REGIONS» ‘ из справочника «Регионы»
.Select = «Many» ‘ выбрать можно несколько подразделений/ДЛ ‘
.Deleted = «No» ‘ выбирать можно только «активные» записи ‘
‘.ItemType = «Leaf» ‘ выбирать только листья классификатора ‘
.Base = «Root» ‘ показывать элементы начиная из корня ‘
End With
o_param.Locked = False
o_param.Fill
If o_param.Count 0 Then
Me.Enabled = False ‘временно недоступна кнопка добавить
Set DC_DB = OpenDatabase(App.Path & «\par_9.mdb»)
my_Fill_db_lv «par_9.mdb», «T_Region», LVparam, o_param, itm_param
Me.Enabled = True ‘ снятие недоступности «добавить»
End If ‘}-> If o_DocGroup.Count 0 Then
o_param.Clear
Set o_param = Nothing
Lv_itm_count_verif LVparam, Cmdel1 ‘ проверка доступности кнопки»удалить»
Else
Set o_param = o_Head.GetResultSet ‘темы
o_param.Source = o_Head.GetCriterion(«Vocabulary»)
With o_param.Source
.Vocabulary = «RUBRIC» ‘ из справочника «Рубрики» ‘
.Select = «Many» ‘ выбрать можно несколько подразделений/ДЛ ‘
.Deleted = «No» ‘ выбирать можно только «активные» записи ‘
‘.ItemType = «Leaf» ‘ выбирать только листья классификатора ‘
.Base = «Root» ‘ показывать элементы начиная из корня ‘
End With
o_param.Locked = False
o_param.Fill
If o_param.Count 0 Then
Me.Enabled = False ‘временно недоступна кнопка добавить
Set DC_DB = OpenDatabase(App.Path & «\par_9.mdb»)
my_Fill_db_lv «par_9.mdb», «T_TEMA», LVparam, o_param, itm_param
Me.Enabled = True ‘ снятие недоступности «добавить»
End If ‘}-> If o_DocGroup.Count 0 Then
o_param.Clear
Set o_param = Nothing
Lv_itm_count_verif LVparam, Cmdel1 ‘ проверка доступности кнопки»удалить»
End If
End Sub
Private Sub Cmadd2_Click()
‘ Set o_DocGroup = o_Head.GetResultSet
‘ o_DocGroup.Source = o_Head.GetCriterion(«Vocabulary»)
‘ With o_DocGroup.Source
‘ .Vocabulary = «DOCGROUP» ‘ из справочника «Группы документов» ‘
‘ .Select = «Many» ‘ выбрать можно несколько подразделений/ДЛ ‘
‘ .Deleted = «No» ‘ выбирать можно только «активные» записи ‘
‘ .Base = «Root» ‘ показывать элементы начиная из корня ‘
‘ End With
‘ o_DocGroup.Locked = False
» o_DocGroup.Fill
‘ If o_DocGroup.Count 0 Then
‘ Me.Enabled = False ‘временно недоступна кнопка добавить
‘ Set DC_DB = OpenDatabase(App.Path & «\par_9.mdb»)
‘ Fill_db_lv «par_9.mdb», «T_DOCGR», LVdoc, o_DocGroup, itm_DocGroup
» Me.Enabled = True ‘ снятие недоступности «добавить»
‘ End If ‘}-> If o_DocGroup.Count 0 Then
‘ o_DocGroup.Clear
‘ Set o_DocGroup = Nothing
‘ Lv_itm_count_verif LVdoc, Cmdel2 ‘ проверка доступности кнопки»удалить»
End Sub
Private Sub Cmadd3_Click()
Set o_DocGroup = o_Head.GetResultSet
o_DocGroup.Source = o_Head.GetCriterion(«Vocabulary»)
With o_DocGroup.Source
.Vocabulary = «DOCGROUP» ‘ из справочника «Группы документов» ‘
.Select = «Many» ‘ выбрать можно несколько подразделений/ДЛ ‘
.Deleted = «No» ‘ выбирать можно только «активные» записи ‘
‘.ItemType = «Leaf» ‘ выбирать только листья классификатора ‘
.Base = «Root» ‘ показывать элементы начиная из корня ‘
End With
o_DocGroup.Locked = False
o_DocGroup.Fill
If o_DocGroup.Count 0 Then
Me.Enabled = False ‘временно недоступна кнопка добавить
Set DC_DB = OpenDatabase(App.Path & «\par_9.mdb»)
Fill_db_lv «par_9.mdb», «T_VID», LVobr, o_DocGroup, itm_obr
Me.Enabled = True ‘ снятие недоступности «добавить»
End If ‘}-> If o_DocGroup.Count 0 Then
o_DocGroup.Clear
Set o_DocGroup = Nothing
Lv_itm_count_verif LVobr, Cmdel3 ‘ проверка доступности кнопки»удалить»
End Sub
Private Sub Cmadd4_Click()
Set o_DocGroup = o_Head.GetResultSet
o_DocGroup.Source = o_Head.GetCriterion(«Vocabulary»)
With o_DocGroup.Source
.Vocabulary = «Organiz» ‘ из справочника «Группы документов» ‘
.Select = «Many» ‘ выбрать можно несколько подразделений/ДЛ ‘
.Deleted = «No» ‘ выбирать можно только «активные» записи ‘
.ItemType = «Leaf» ‘ выбирать только листья классификатора ‘
.Base = «Root» ‘ показывать элементы начиная из корня ‘
End With
o_DocGroup.Locked = False
o_DocGroup.Fill
If o_DocGroup.Count 0 Then
Me.Enabled = False ‘временно недоступна кнопка добавить
Set DC_DB = OpenDatabase(App.Path & «\par_9.mdb»)
Fill_db_lv «par_9.mdb», «T_Org», LVorg, o_DocGroup, itm_org
Me.Enabled = True ‘ снятие недоступности «добавить»
End If ‘}-> If o_DocGroup.Count 0 Then
o_DocGroup.Clear
Set o_DocGroup = Nothing
Lv_itm_count_verif LVorg, Cmdel4 ‘ проверка доступности кнопки»удалить»
End Sub
Private Sub Cmadd5_Click()
Set o_DocGroup = o_Head.GetResultSet
o_DocGroup.Source = o_Head.GetCriterion(«Vocabulary»)
With o_DocGroup.Source
.Vocabulary = «LINK» ‘ из справочника «Группы документов» ‘
.Select = «Many» ‘ выбрать можно несколько подразделений/ДЛ ‘
.Deleted = «No» ‘ выбирать можно только «активные» записи ‘
‘.ItemType = «Leaf» ‘ выбирать только листья классификатора ‘
.Base = «Root» ‘ показывать элементы начиная из корня ‘
End With
o_DocGroup.Locked = False
o_DocGroup.Fill
If o_DocGroup.Count 0 Then
Me.Enabled = False ‘временно недоступна кнопка добавить
Set DC_DB = OpenDatabase(App.Path & «\par_9.mdb»)
Fill_db_lv_isn «par_9.mdb», «T_LINK», LVsecond, o_DocGroup, itm_second
Me.Enabled = True ‘ снятие недоступности «добавить»
End If ‘}-> If o_DocGroup.Count 0 Then
o_DocGroup.Clear
Set o_DocGroup = Nothing
Lv_itm_count_verif LVsecond, Cmdel5 ‘ проверка доступности кнопки»удалить»
End Sub
Private Sub Cmdel1_Click()
If Optreg Then
f_Delete_from_list 46, LVparam, «par_9.mdb», «T_REGION»
Else
f_Delete_from_list 46, LVparam, «par_9.mdb», «T_TEMA»
End If
Lv_itm_count_verif LVparam, Cmdel1
End Sub
Private Sub Cmdel2_Click()
‘ f_Delete_from_list 46, LVdoc, «par_9.mdb», «T_DOCGR»
‘ Lv_itm_count_verif LVdoc, Cmdel2
End Sub
Private Sub Cmdel3_Click()
f_Delete_from_list 46, LVobr, «par_9.mdb», «T_VID»
Lv_itm_count_verif LVobr, Cmdel3
End Sub
Private Sub Cmdel4_Click()
f_Delete_from_list 46, LVorg, «par_9.mdb», «T_ORG»
Lv_itm_count_verif LVorg, Cmdel4
End Sub
Private Sub Cmdel5_Click()
f_Delete_from_list 46, LVsecond, «par_9.mdb», «T_LINK»
Lv_itm_count_verif LVsecond, Cmdel5
End Sub
Private Sub Cmstart_Click()
Me.Enabled = False
‘b_Redim = False
‘проверка даты
Select Case Verif_date(Dtpdate_from, True, Dtpdate_to)
Case 1
MsgBox «Укажите корректную начальную дату», _
vbCritical, «Некорректный параметр»
Me.Enabled = True
Exit Sub
Case 2
MsgBox «Укажите корректную конечную дату», _
vbCritical, «Некорректный параметр»
Me.Enabled = True
Exit Sub
Case 3
MsgBox «Начальная дата должна быть меньше конечной», _
vbCritical, «Неверный ввод параметров»
Me.Enabled = True
Exit Sub
End Select
‘ If Not CBool(Chk2) Then
‘ If LVdoc.ListItems.Count = 0 Then
‘ MsgBox «Укажите группы документов», vbCritical, «Отсутствует параметр»
‘ Me.Enabled = True
‘ Exit Sub
‘ End If
‘ End If
If Not CBool(Chk1) Then
If LVparam.ListItems.Count = 0 Then
MsgBox «Укажите темы или районы в окне параметров», vbCritical, «Отсутствует параметр»
Me.Enabled = True
Exit Sub
End If
End If
If LVobr.ListItems.Count < 2 Then
MsgBox «Укажите виды обращений (писменные,устные)», vbCritical, «Отсутствует параметр»
Me.Enabled = True
Exit Sub
End If
If LVorg.ListItems.Count = 0 Then
MsgBox «Укажите вышестоящие организации», vbCritical, «Отсутствует параметр»
Me.Enabled = True
Exit Sub
End If
If LVsecond.ListItems.Count = 0 Then
MsgBox «Укажите связку повторные», vbCritical, «Отсутствует параметр»
Me.Enabled = True
Exit Sub
End If
Write_date Dtpdate_from, «PAR_9.MDB», True, Dtpdate_to
Write_CHKALL «PAR_9.MDB», Chk2.Value, False
sDate1 = Format$(Dtpdate_from.Value, «dd.mm.yyyy»)
sDate2 = Format$(Dtpdate_to.Value, «dd.mm.yyyy»)
If Not IsDate(sDate1) Or Not IsDate(sDate2) Then
MsgBox «Неправильные системные настройки (формат даты должен быть следующим: «»dd.mm.yyyy»» )», _
vbCritical, «Ошибка при работе с датой»
Me.Enabled = True
Exit Sub
End If
Call ChngInStr(sDate1, «.», «/»)
Call ChngInStr(sDate2, «.», «/»)
‘ заполним структуру
sGroups_Params = «»
Fill_params LVobr, sGroups_Params, s_DocGroup, True
sorg_Params = «»
Fill_params LVorg, sorg_Params, s_org, True
ReDim m_Exec_Set(LVparam.ListItems.Count — 1)
For n_d = 0 To UBound(m_Exec_Set)
With m_Exec_Set(n_d)
.s_Name = LVparam.ListItems(n_d + 1)
.s_dcode = LVparam.ListItems(n_d + 1).SubItems(1)
End With
Next n_d
itogo(0).n_Col2 = 0
itogo(0).n_Col3 = 0
itogo(0).n_Col4 = 0
itogo(0).n_Col5 = 0
itogo(0).n_Col6 = 0
itogo(0).n_Col7 = 0
itogo(0).n_Col8 = 0
itogo(0).n_Col9 = 0
p_Progress ProgressBar1, 100 ‘задание интервалов прохождения полоски
‘ Работаем с колонками ‘
For n_d = 0 To UBound(m_Exec_Set)
‘2-колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = sDate1 & «:» & sDate2
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
If Optreg Then
.Params(«Author.Region») = m_Exec_Set(n_d).s_dcode
Else
.Params(«Rc.Rubric») = m_Exec_Set(n_d).s_dcode
End If
End With
o_doc.Locked = False
o_doc.Fill
m_Exec_Set(n_d).n_Col2 = o_doc.Count
itogo(0).n_Col2 = itogo(0).n_Col2 + o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params 1, ProgressBar1 ‘увеличить положение ProgressBar
Else
Clear_progress ProgressBar1 ‘обнулить параметры ProgressBar
p_Progress ProgressBar1, 100 ‘инициализация ProgressBar
End If
‘3-я колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = sDate1 & «:» & sDate2
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = LVobr.ListItems(1).SubItems(1) ‘получить код либо писменных либо устных обращ.
End If
If Optreg Then
.Params(«Author.Region») = m_Exec_Set(n_d).s_dcode
Else
.Params(«Rc.Rubric») = m_Exec_Set(n_d).s_dcode
End If
End With
o_doc.Locked = False
o_doc.Fill
m_Exec_Set(n_d).n_Col3 = o_doc.Count
itogo(0).n_Col3 = itogo(0).n_Col3 + o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params 1, ProgressBar1 ‘увеличить положение ProgressBar
Else
Clear_progress ProgressBar1 ‘обнулить параметры ProgressBar
p_Progress ProgressBar1, 100 ‘инициализация ProgressBar
End If
‘4-я колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = sDate1 & «:» & sDate2
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = LVobr.ListItems(2).SubItems(1) ‘получить код либо писменных либо устных обращ.
End If
If Optreg Then
.Params(«Author.Region») = m_Exec_Set(n_d).s_dcode
Else
.Params(«Rc.Rubric») = m_Exec_Set(n_d).s_dcode
End If
End With
o_doc.Locked = False
o_doc.Fill
m_Exec_Set(n_d).n_Col4 = o_doc.Count
itogo(0).n_Col4 = itogo(0).n_Col4 + o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params 1, ProgressBar1 ‘увеличить положение ProgressBar
Else
Clear_progress ProgressBar1 ‘обнулить параметры ProgressBar
p_Progress ProgressBar1, 100 ‘инициализация ProgressBar
End If
‘5-я колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = sDate1 & «:» & sDate2
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
If Optreg Then
.Params(«Author.Region») = m_Exec_Set(n_d).s_dcode
Else
.Params(«Rc.Rubric») = m_Exec_Set(n_d).s_dcode
End If
.Params(«Cor.Organiz») = s_org
.Params(«Cor.Kind») = 2
End With
o_doc.Locked = False
o_doc.Fill
m_Exec_Set(n_d).n_Col5 = o_doc.Count
itogo(0).n_Col5 = itogo(0).n_Col5 + o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params 1, ProgressBar1 ‘увеличить положение ProgressBar
Else
Clear_progress ProgressBar1 ‘обнулить параметры ProgressBar
p_Progress ProgressBar1, 100 ‘инициализация ProgressBar
End If
‘6-я колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = sDate1 & «:» & sDate2
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
If Optreg Then
.Params(«Author.Region») = m_Exec_Set(n_d).s_dcode
Else
.Params(«Rc.Rubric») = m_Exec_Set(n_d).s_dcode
End If
.Params(«LinkCard.TypeLink») = LVsecond.ListItems(1).SubItems(1)
End With
o_doc.Locked = False
o_doc.Fill
m_Exec_Set(n_d).n_Col6 = o_doc.Count
itogo(0).n_Col6 = itogo(0).n_Col6 + o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params 1, ProgressBar1 ‘увеличить положение ProgressBar
Else
Clear_progress ProgressBar1 ‘обнулить параметры ProgressBar
p_Progress ProgressBar1, 100 ‘инициализация ProgressBar
End If
‘7-я колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = sDate1 & «:» & sDate2
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
If Optreg Then
.Params(«Author.Region») = m_Exec_Set(n_d).s_dcode
Else
.Params(«Rc.Rubric») = m_Exec_Set(n_d).s_dcode
End If
.Params(«Rc.IsCollective») = «True»
End With
o_doc.Locked = False
o_doc.Fill
m_Exec_Set(n_d).n_Col7 = o_doc.Count
itogo(0).n_Col7 = itogo(0).n_Col7 + o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params 1, ProgressBar1 ‘увеличить положение ProgressBar
Else
Clear_progress ProgressBar1 ‘обнулить параметры ProgressBar
p_Progress ProgressBar1, 100 ‘инициализация ProgressBar
End If
‘8-я колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = sDate1 & «:» & sDate2
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
If Optreg Then
.Params(«Author.Region») = m_Exec_Set(n_d).s_dcode
Else
.Params(«Rc.Rubric») = m_Exec_Set(n_d).s_dcode
End If
.Params(«AddRC.result») = «True»
End With
o_doc.Locked = False
o_doc.Fill
m_Exec_Set(n_d).n_Col8 = o_doc.Count
itogo(0).n_Col8 = itogo(0).n_Col8 + o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params 1, ProgressBar1 ‘увеличить положение ProgressBar
Else
Clear_progress ProgressBar1 ‘обнулить параметры ProgressBar
p_Progress ProgressBar1, 100 ‘инициализация ProgressBar
End If
‘8-я колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = sDate1 & «:» & sDate2
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
If Optreg Then
.Params(«Author.Region») = m_Exec_Set(n_d).s_dcode
Else
.Params(«Rc.Rubric») = m_Exec_Set(n_d).s_dcode
End If
.Params(«AddRC.Viezd») = «True»
End With
o_doc.Locked = False
o_doc.Fill
m_Exec_Set(n_d).n_Col9 = o_doc.Count
itogo(0).n_Col9 = itogo(0).n_Col9 + o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params 1, ProgressBar1 ‘увеличить положение ProgressBar
Else
Clear_progress ProgressBar1 ‘обнулить параметры ProgressBar
p_Progress ProgressBar1, 100 ‘инициализация ProgressBar
End If
Next n_d
If Word_Init Then
With objWord
.ScreenUpdating = False
.WindowState = wdWindowStateMinimize
End With
Set objdoc = objWord.Documents.Add(App.Path & «\f9.dot»)
With objdoc
.Activate
.Bookmarks(«data_fROM»).Range.Text = Format(sDate1, «dd.mm.yyyy»)
.Bookmarks(«data_TO»).Range.Text = Format(sDate2, «dd.mm.yyyy»)
If Optreg Then
.Bookmarks(«mesto»).Range.Text = «из городов и районов»
.Bookmarks(«name»).Range.Text = «Район»
Else
.Bookmarks(«name»).Range.Text = «Тема»
End If
End With
‘вставить пустые строки в таблицу
If UBound(m_Exec_Set) > 0 Then ‘т.к. одна строка пустая в таблице уже есть, то >0
With objWord.Selection
.GoTo What:=wdGoToTable, Which:=wdGoToFirst, Count:=1
.MoveDown Unit:=wdLine, Count:=1
.SelectRow
.InsertRows UBound(m_Exec_Set)
End With
End If
‘заполнить таблицу
‘строку Всего
With objdoc.Tables(1)
‘+1 нумерация real_col с нуля
‘+1 строка всего, т.к. в таблице строки с 1 нумеруются
‘+ строки шапки
.Cell(UBound(m_Exec_Set) + 4, 3).Range.Text = itogo(0).n_Col2
.Cell(UBound(m_Exec_Set) + 4, 4).Range.Text = «100»
.Cell(UBound(m_Exec_Set) + 4, 5).Range.Text = itogo(0).n_Col3
.Cell(UBound(m_Exec_Set) + 4, 6).Range.Text = itogo(0).n_Col4
.Cell(UBound(m_Exec_Set) + 4, 7).Range.Text = itogo(0).n_Col5
.Cell(UBound(m_Exec_Set) + 4, 8).Range.Text = «100»
.Cell(UBound(m_Exec_Set) + 4, 9).Range.Text = itogo(0).n_Col6
.Cell(UBound(m_Exec_Set) + 4, 10).Range.Text = «100»
.Cell(UBound(m_Exec_Set) + 4, 11).Range.Text = itogo(0).n_Col7
.Cell(UBound(m_Exec_Set) + 4, 12).Range.Text = itogo(0).n_Col8
.Cell(UBound(m_Exec_Set) + 4, 13).Range.Text = itogo(0).n_Col9
End With
For n_d = 0 To UBound(m_Exec_Set)
With objdoc.Tables(1)
.Cell(n_d + 3, 1).Range.Text = n_d + 1
.Cell(n_d + 3, 2).Range.Text = m_Exec_Set(n_d).s_Name
.Cell(n_d + 3, 3).Range.Text = m_Exec_Set(n_d).n_Col2
If itogo(0).n_Col2 0 Then
.Cell(n_d + 3, 4).Range.Text = Round(m_Exec_Set(n_d).n_Col2 * 100 / itogo(0).n_Col2, 1)
Else
.Cell(n_d + 3, 4).Range.Text = «0»
End If
.Cell(n_d + 3, 5).Range.Text = m_Exec_Set(n_d).n_Col3
.Cell(n_d + 3, 6).Range.Text = m_Exec_Set(n_d).n_Col4
.Cell(n_d + 3, 7).Range.Text = m_Exec_Set(n_d).n_Col5
If itogo(0).n_Col5 0 Then
.Cell(n_d + 3, 8).Range.Text = Round(m_Exec_Set(n_d).n_Col5 * 100 / itogo(0).n_Col5, 1)
Else
.Cell(n_d + 3, 8).Range.Text = «0»
End If
.Cell(n_d + 3, 9).Range.Text = m_Exec_Set(n_d).n_Col6
If itogo(0).n_Col6 0 Then
.Cell(n_d + 3, 10).Range.Text = Round(m_Exec_Set(n_d).n_Col6 * 100 / itogo(0).n_Col6, 1)
Else
.Cell(n_d + 3, 10).Range.Text = «0»
End If
.Cell(n_d + 3, 11).Range.Text = m_Exec_Set(n_d).n_Col7
.Cell(n_d + 3, 12).Range.Text = m_Exec_Set(n_d).n_Col8
.Cell(n_d + 3, 13).Range.Text = m_Exec_Set(n_d).n_Col9
End With
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params 1, ProgressBar1 ‘увеличить положение ProgressBar
Else
Clear_progress ProgressBar1 ‘обнулить параметры ProgressBar
p_Progress ProgressBar1, 100 ‘инициализация ProgressBar
End If
Next n_d
objdoc.Sections(1).Footers(1).PageNumbers.Add PageNumberAlignment:= _
wdAlignPageNumberRight, FirstPage:=True
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params ProgressBar1.Max, ProgressBar1 ‘увеличить положение ProgressBar
End If
p_Message_Complete ‘() ‘(«Параметры для отчета»)
Word_change
End If
Clear_progress ProgressBar1
Me.Enabled = True
End Sub
Private Sub Form_Load()
p_Forms_Arrange Me
Read_date Dtpdate_from, «PAR_9.MDB», True, Dtpdate_to
Read_CHKALL Chk1, «PAR_9.MDB», True, Chk2
With LVdoc.ColumnHeaders
.Add , , «name», LVdoc.Width ‘добавить заголовки к колонкам групп документов
.Add , , «dcode», 0
End With
With LVparam.ColumnHeaders
.Add , , «name», LVparam.Width ‘добавить заголовки к колонкам групп документов
.Add , , «dcode», 0
End With
With LVobr.ColumnHeaders
.Add , , «name», LVobr.Width ‘добавить заголовки к колонкам групп документов
.Add , , «dcode», 0
End With
With LVorg.ColumnHeaders
.Add , , «name», LVorg.Width ‘добавить заголовки к колонкам групп документов
.Add , , «dcode», 0
End With
With LVsecond.ColumnHeaders
.Add , , «name», LVsecond.Width ‘добавить заголовки к колонкам групп документов
.Add , , «dcode», 0
End With
Set o_Head = Module1.o_Head
‘ Проверить не подсоединены ли уже ‘
If Not o_Head.Active Then
‘ Если нет то подсоединиться ‘
o_Head.Open
If o_Head.ErrCode 0 Then
MsgBox o_Head.ErrText, , «Ошибка подключения»
Unload Me
Exit Sub
End If
End If
Set DC_DB = OpenDatabase(App.Path & «\par_9.mdb») ‘открыть базу
Fill_lv DC_DB, «T_DOCGR», LVdoc, itm_DocGroup ‘ прочитать из базы группы документов
Fill_lv DC_DB, «T_VID», LVobr, itm_obr
Fill_lv DC_DB, «T_ORG», LVorg, itm_org
‘ Fill_lv DC_DB, «T_region», LVparam, itm_param
Fill_lv DC_DB, «T_LINK», LVsecond, itm_DocGroup
DC_DB.Close
Set DC_DB = Nothing
Lv_itm_count_verif LVparam, Cmdel1 ‘проверка доступности кнопки «удалить»
Lv_itm_count_verif LVdoc, Cmdel2
Lv_itm_count_verif LVobr, Cmdel3
Lv_itm_count_verif LVorg, Cmdel4
Lv_itm_count_verif LVsecond, Cmdel5
For n_i = 0 To UBound(Card_Set)
CbCard.AddItem (Card_Set(n_i).Name) ‘ добавляем пункты всех доступных картатек
Next n_i
CbCard.Text = Card_Set(int_Kard_main).Name ‘делаем активной в окне гл. картатеку
s_Kard_Dcode = Card_Set(int_Kard_main).DCode ‘запоминаем в переменную код
Me.Refresh
End Sub
Private Sub Form_Unload(Cancel As Integer) ‘Процедура вызывается при возникновении события Unload (выгрузка формы)
Set Form9 = Nothing
End Sub
Function my_Fill_db_lv(Db_name As String, _
Table_name As String, _
Lview As ListView, _
o_Classif As Object, _
itm As ListItem) As Boolean
‘ Set DC_DB = OpenDatabase(App.Path & «\» & Db_name)
Dim n_d As Integer
‘ Set DC_RS = DC_DB.OpenRecordset(Table_name, dbOpenTable)
n_d = 0
Do While n_d o_Classif.Count
n_d = n_d + 1
If Not f_Classif_name_chk(o_Classif.Item(n_d — 1).DCode, Lview, False) And _
o_Classif.Item(n_d — 1).DCode «0.» Then ‘пустая запись в базе
If Not o_Classif.Item(n_d — 1).IsNode And UCase(o_Classif.Source.Vocabulary) = «DEPARTMENT» Then
Set itm = Lview.ListItems.Add(, , CStr(o_Classif.Item(n_d — 1).Name))
Else
Set itm = Lview.ListItems.Add(, , CStr(o_Classif.Item(n_d — 1).Name))
End If
itm.SubItems(1) = CStr(o_Classif.Item(n_d — 1).DCode)
‘DC_RS.AddNew
‘DC_RS!Name = CStr(o_Classif.Item(n_d — 1).Name)
‘DC_RS!DCode = o_Classif.Item(n_d — 1).DCode
‘DC_RS.Update
End If
DoEvents
Loop
‘DC_RS.Close
‘DC_DB.Close
‘Set DC_DB = Nothing
End Function
Private Sub Optreg_Click()
LVparam.ListItems.Clear
Chk1.Value = False
Cmdel1.Enabled = False
Cmadd1.Enabled = True
f_Clear_List LVparam, «par_9.mdb», «T_TEMA»
‘Set DC_DB = OpenDatabase(App.Path & «\par_9.mdb») ‘открыть базу
‘Fill_lv DC_DB, «T_region», LVparam, itm_param
‘DC_DB.Close
‘Set DC_DB = Nothing
‘Lv_itm_count_verif LVparam, Cmdel1 ‘проверка доступности кнопки «удалить»
End Sub
Private Sub Opttema_Click()
LVparam.ListItems.Clear
Chk1.Value = False
Cmdel1.Enabled = False
Cmadd1.Enabled = True
f_Clear_List LVparam, «par_9.mdb», «T_REGION»
‘Set DC_DB = OpenDatabase(App.Path & «\par_9.mdb») ‘открыть базу
‘Fill_lv DC_DB, «T_tema», LVparam, itm_param
‘DC_DB.Close
‘Set DC_DB = Nothing
‘Lv_itm_count_verif LVparam, Cmdel1 ‘проверка доступности кнопки «удалить»
End Sub
‘Переделанная процедура для линейных справочников
Function Fill_db_lv_isn(Db_name As String, _
Table_name As String, _
Lview As ListView, _
o_Classif As Object, _
itm As ListItem) As Boolean
Set DC_DB = OpenDatabase(App.Path & «\» & Db_name)
Dim n_d As Integer
Set DC_RS = DC_DB.OpenRecordset(Table_name, dbOpenTable)
n_d = 0
Do While n_d o_Classif.Count
n_d = n_d + 1
If Not f_Classif_name_chk(o_Classif.Item(n_d — 1).ISN, Lview, False) Then
Set itm = Lview.ListItems.Add(, , CStr(o_Classif.Item(n_d — 1).Name))
itm.SubItems(1) = CStr(o_Classif.Item(n_d — 1).ISN)
DC_RS.AddNew
DC_RS!Name = CStr(o_Classif.Item(n_d — 1).Name)
DC_RS!ISN = o_Classif.Item(n_d — 1).ISN
DC_RS.Update
End If
DoEvents
Loop
DC_RS.Close
DC_DB.Close
Set DC_DB = Nothing
End Function
Sub ChngInStr(InpStr As String, InpChr As String, OutChr As String)
Dim p As Long
p = InStr(InpStr, InpChr)
If p > 0 Then
Mid(InpStr, p, 1) = OutChr
Else
Exit Do
End If
Loop
End Sub
Private Sub p_Progress(ByRef ProgrBar As ProgressBar, Max As Integer)
With ProgrBar
.Max = Max
.Visible = True
End With
Me.Refresh
End Sub
‘увеличить значение ProgressBar
Private Sub Update_Progress_params(di As Integer, ByRef Progress As ProgressBar)
With Progress
If (100 — .Value) >= di Then
.Value = .Value + di
Else:
.Value = 100
End If
End With
End Sub
Option Explicit
Private b_Col2 As Boolean
Private b_Col3 As Boolean
Private b_Col3_1 As Boolean
Private b_Col3_2 As Boolean
Private b_Col4_1 As Boolean
Private b_Col4_2 As Boolean
Private b_Col5_1 As Boolean
Private b_Col5_2 As Boolean
Private itm_DocGroup As ListItem
Private itm_Authors As ListItem
Private itm_Executor As ListItem
‘Private b_Exec_Select As Boolean
Private s_Authors As String
Private sAuthors_Params As String ‘ для вывода параметров ‘
‘Private sExec_Params As String
Private s_DocGroup As String
Private sGroups_Params As String ‘ для вывода параметров ‘
Private s_Kard_Dcode As String
Private sDate1 As String
Private sDate2 As String
‘Private Response As String
Private n_d As Integer
Private n_e As Integer
Private o_Head As Object
Private o_DocGroup As Object
Private o_Authors As Object
Private o_Executors As Object
Private o_doc As Object
Private o_Card As Object
Private res As Object
Private objdoc As Object
Private DC_DB As Database
‘Private DC_RS As Recordset
Private A_RS As Recordset
‘Private E_RS As Recordset
Private n_Result(4) As Integer
Private Type my_Exec_Set
s_Name As String
s_dcode As String
n_Col2 As Integer
n_Col3 As Integer
n_Col4 As Integer
n_Col5 As Integer
n_Col6 As Integer
End Type
Private m_Exec_Set() As my_Exec_Set
Private sumdoc As Integer
Private tech As Integer ‘текущий месяц
Private sumkontr As Integer ‘всего на контроле
Private sumistek As Integer ‘просроченный срок исполнения
Private Sub CbCard_click()
s_Kard_Dcode = Card_Set(CbCard.ListIndex).DCode
End Sub
Private Sub Chk_Click()
LVdoc.Enabled = Not CBool(Chk) ‘включить или отключить группы документов
Cmadd.Enabled = Not CBool(Chk) ‘-«- «добавить»
If CBool(Chk) Then
f_Clear_List LVdoc, «par_4.mdb», «T_DOCGR»
End If
Lv_itm_count_verif LVdoc, Cmdel
End Sub
Private Sub Cmadd_Click()
Set o_DocGroup = o_Head.GetResultSet
o_DocGroup.Source = o_Head.GetCriterion(«Vocabulary»)
With o_DocGroup.Source
.Vocabulary = «DOCGROUP» ‘ из справочника «Группы документов» ‘
.Select = «Many» ‘ выбрать можно несколько подразделений/ДЛ ‘
.Deleted = «No» ‘ выбирать можно только «активные» записи ‘
‘.ItemType = «Leaf» ‘ выбирать только листья классификатора ‘
.Base = «Root» ‘ показывать элементы начиная из корня ‘
End With
o_DocGroup.Locked = False
o_DocGroup.Fill
If o_DocGroup.Count 0 Then
Me.Enabled = False ‘временно недоступна кнопка добавить
Set DC_DB = OpenDatabase(App.Path & «\par_4.mdb»)
Fill_db_lv «par_4.mdb», «T_DOCGR», LVdoc, o_DocGroup, itm_DocGroup
Me.Enabled = True ‘ снятие недоступности «добавить»
End If ‘}-> If o_DocGroup.Count 0 Then
o_DocGroup.Clear
Set o_DocGroup = Nothing
Lv_itm_count_verif LVdoc, Cmdel ‘ проверка доступности кнопки»удалить»
End Sub
Private Sub Cmdel_Click()
f_Delete_from_list 46, LVdoc, «par_4.mdb», «T_DOCGR»
Lv_itm_count_verif LVdoc, Cmdel
End Sub
Private Sub Cmstart_Click()
Me.Enabled = False
‘b_Redim = False
‘проверка даты
Select Case Verif_date(dtpDate_from, True, dtpDate_to)
Case 1
MsgBox «Укажите корректную начальную дату», _
vbCritical, «Некорректный параметр»
Me.Enabled = True
Exit Sub
Case 2
MsgBox «Укажите корректную конечную дату», _
vbCritical, «Некорректный параметр»
Me.Enabled = True
Exit Sub
Case 3
MsgBox «Начальная дата должна быть меньше конечной», _
vbCritical, «Неверный ввод параметров»
Me.Enabled = True
Exit Sub
End Select
If Not CBool(Chk) Then
If LVdoc.ListItems.Count = 0 Then
MsgBox «Укажите группы документов», vbCritical, «Отсутствует параметр»
Me.Enabled = True
Exit Sub
End If
End If
Write_date dtpDate_from, «PAR_4.MDB», True, dtpDate_to
Write_CHKALL «PAR_4.MDB», Chk.Value, False
sDate1 = Format$(dtpDate_from.Value, «dd.mm.yyyy»)
sDate2 = Format$(dtpDate_to.Value, «dd.mm.yyyy»)
If Not IsDate(sDate1) Or Not IsDate(sDate2) Then
MsgBox «Неправильные системные настройки (формат даты должен быть следующим: «»dd.mm.yyyy»» )», _
vbCritical, «Ошибка при работе с датой»
Me.Enabled = True
Exit Sub
End If
Call ChngInStr(sDate1, «.», «/»)
Call ChngInStr(sDate2, «.», «/»)
‘ заполним структуру
sGroups_Params = «»
Fill_params LVdoc, sGroups_Params, s_DocGroup, True
p_Progress ProgressBar1, 4 ‘задание интервалов прохождения полоски
‘ Работаем с колонками ‘
‘1-колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = sDate1 & «:» & sDate2
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
End With
o_doc.Locked = False
o_doc.Fill
sumdoc = o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params ProgressBar1
End If
‘2-я колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = «01/» & Month(sDate2) & «/» & Year(sDate2) & «:» & sDate2
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
End With
o_doc.Locked = False
o_doc.Fill
tech = o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params ProgressBar1
End If
‘3-я колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Resolution.PlanDate») = «IsNotNull»
.Params(«Resolution.FactDate») = «IsNull»
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
End With
o_doc.Locked = False
o_doc.Fill
sumkontr = o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params ProgressBar1
End If
‘4-я колонка
Dim sDate3 As String
sDate3 = Format$(DateAdd(«d», -1, dtpDate_to.Value), «dd.mm.yyyy»)
Call ChngInStr(sDate3, «.», «/»)
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Resolution.FactDate») = «IsNull»
.Params(«Resolution.PlanDate») = «Null:» & sDate3
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
End With
o_doc.Locked = False
o_doc.Fill
sumistek = o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params ProgressBar1
End If
‘вывод информации
If Word_Init Then
With objWord
.ScreenUpdating = False
.WindowState = wdWindowStateMinimize
End With
Set objdoc = objWord.Documents.Add(App.Path & «\f4.dot»)
With objdoc
.Activate
.Bookmarks(«DATE1»).Range.Text = Format(sDate1, «dd.mm.yyyy»)
.Bookmarks(«DATE2»).Range.Text = Format(sDate2, «dd.mm.yyyy»)
End With
With objdoc.Tables(1)
.Cell(2, 1).Range.Text = sumdoc
.Cell(2, 2).Range.Text = tech
.Cell(2, 3).Range.Text = sumkontr
.Cell(2, 4).Range.Text = sumistek
End With
p_Message_Complete
Word_change
End If
Set objdoc = Nothing
Clear_progress ProgressBar1
Me.Enabled = True
End Sub
Private Sub Form_Load()
p_Forms_Arrange Me
Read_date dtpDate_from, «PAR_4.MDB», True, dtpDate_to
Read_CHKALL Chk, «PAR_4.MDB», False
‘ dtpDate_To = Now
‘ dtpDate_From = Now
With LVdoc.ColumnHeaders
.Add , , «name», LVdoc.Width ‘добавить заголовки к колонкам групп документов
.Add , , «dcode», 0
End With
Set o_Head = Module1.o_Head
‘ Проверить не подсоединены ли уже ‘
If Not o_Head.Active Then
‘ Если нет то подсоединиться ‘
o_Head.Open
If o_Head.ErrCode 0 Then
MsgBox o_Head.ErrText, , «Ошибка подключения»
Unload Me
Exit Sub
End If
End If
Set DC_DB = OpenDatabase(App.Path & «\par_4.mdb») ‘открыть базу
Fill_lv DC_DB, «T_DOCGR», LVdoc, itm_DocGroup ‘ прочитать из базы группы документов
DC_DB.Close
Set DC_DB = Nothing
Lv_itm_count_verif LVdoc, Cmdel ‘проверка доступности кнопки «удалить»
For n_i = 0 To UBound(Card_Set)
CbCard.AddItem (Card_Set(n_i).Name) ‘ добавляем пункты всех доступных картатек
Next n_i
CbCard.Text = Card_Set(int_Kard_main).Name ‘делаем активной в окне гл. картатеку
s_Kard_Dcode = Card_Set(int_Kard_main).DCode ‘запоминаем в переменную код
Me.Refresh
End Sub
Sub ChngInStr(InpStr As String, InpChr As String, OutChr As String)
Dim p As Long
p = InStr(InpStr, InpChr)
If p > 0 Then
Mid(InpStr, p, 1) = OutChr
Else
Exit Do
End If
Loop
End Sub
Private Sub Update_Progress_params(ByRef Progress As ProgressBar)
With Progress
.Value = .Value + 1
End With
Me.Refresh
End Sub
Private Sub p_Progress(ByRef ProgrBar As ProgressBar, Max As Integer)
With ProgrBar
.Max = Max
.Visible = True
End With
Me.Refresh
End Sub
Private Sub Form_Unload(Cancel As Integer) ‘Процедура вызывается при возникновении события Unload (выгрузка формы)
Set Form4 = Nothing
End Sub
Option Explicit
Private b_Col2 As Boolean
Private b_Col3 As Boolean
Private b_Col3_1 As Boolean
Private b_Col3_2 As Boolean
Private b_Col4_1 As Boolean
Private b_Col4_2 As Boolean
Private b_Col5_1 As Boolean
Private b_Col5_2 As Boolean
Private itm_DocGroup As ListItem
Private itm_Kontr As ListItem
Private itm_Authors As ListItem
Private itm_Executor As ListItem
‘Private b_Exec_Select As Boolean
Private s_Authors As String
Private sAuthors_Params As String ‘ для вывода параметров ‘
‘Private sExec_Params As String
Private sKontr_Params As String
Private s_Kontr As String
Private sAuthor As String
Private s_DocGroup As String
Private sPlan As String
Private sFact As String
Private sGroups_Params As String ‘ для вывода параметров ‘
Private s_Kard_Dcode As String
Private sDate1 As String
Private sDate2 As String
‘Private Response As String
Private n_d As Integer
Private n_e As Integer
Private o_Head As Object
Private o_DocGroup As Object
Private o_Kontr As Object
Private o_Authors As Object
Private o_Executors As Object
Private o_doc As Object
Private o_Card As Object
Private res As Object
Private objdoc As Object
Private DC_DB As Database
‘Private DC_RS As Recordset
Private A_RS As Recordset
‘Private E_RS As Recordset
Private n_Result(4) As Integer
Private Type my_Exec_Set
s_Name As String
s_dcode As String
n_Col2 As Integer
n_Col3 As Integer
n_Col4 As Integer
n_Col5 As Integer
End Type
Private m_Exec_Set() As my_Exec_Set
Private sumdoc As Integer
Private tech As Integer ‘текущий месяц
Private sumkontr As Integer ‘всего на контроле
Private sumistek As Integer ‘просроченный срок исполнения
Private doc As Object
Private max_date As Date
Private isn_resol As Integer
Private Sub CbCard_click()
s_Kard_Dcode = Card_Set(Cbcard.ListIndex).DCode
End Sub
Private Sub Chk_Click()
LVdoc.Enabled = Not CBool(Chk) ‘включить или отключить группы документов
Cmadd.Enabled = Not CBool(Chk) ‘-«- «добавить»
If CBool(Chk) Then
f_Clear_List LVdoc, «par_5.mdb», «T_DOCGR»
End If
Lv_itm_count_verif LVdoc, Cmdel
End Sub
Private Sub Cmadd_Click()
Set o_DocGroup = o_Head.GetResultSet
o_DocGroup.Source = o_Head.GetCriterion(«Vocabulary»)
With o_DocGroup.Source
.Vocabulary = «DOCGROUP» ‘ из справочника «Группы документов» ‘
.Select = «Many» ‘ выбрать можно несколько подразделений/ДЛ ‘
.Deleted = «No» ‘ выбирать можно только «активные» записи ‘
‘.ItemType = «Leaf» ‘ выбирать только листья классификатора ‘
.Base = «Root» ‘ показывать элементы начиная из корня ‘
End With
o_DocGroup.Locked = False
o_DocGroup.Fill
If o_DocGroup.Count 0 Then
Me.Enabled = False ‘временно недоступна кнопка добавить
Set DC_DB = OpenDatabase(App.Path & «\par_5.mdb»)
Fill_db_lv «par_5.mdb», «T_DOCGR», LVdoc, o_DocGroup, itm_DocGroup
Me.Enabled = True ‘ снятие недоступности «добавить»
End If ‘}-> If o_DocGroup.Count 0 Then
o_DocGroup.Clear
Set o_DocGroup = Nothing
Lv_itm_count_verif LVdoc, Cmdel ‘ проверка доступности кнопки»удалить»
End Sub
Private Sub Cmadd1_Click()
Set o_Kontr = o_Head.GetResultSet
o_Kontr.Source = o_Head.GetCriterion(«Vocabulary»)
With o_Kontr.Source
.Vocabulary = «DEPARTMENT» ‘ из справочника «Группы документов» ‘
.Select = «Many» ‘ выбрать можно несколько подразделений/ДЛ ‘
.Deleted = «No» ‘ выбирать можно только «активные» записи ‘
.ItemType = «Leaf» ‘ выбирать только листья классификатора ‘
.Base = «Root» ‘ показывать элементы начиная из корня ‘
End With
o_Kontr.Locked = False
o_Kontr.Fill
If o_Kontr.Count 0 Then
Me.Enabled = False ‘временно недоступна кнопка добавить
Set DC_DB = OpenDatabase(App.Path & «\par_5.mdb»)
Fill_db_lv «par_5.mdb», «T_AUTHORS», LVkontr, o_Kontr, itm_Kontr
Me.Enabled = True ‘ снятие недоступности «добавить»
End If ‘}-> If o_DocGroup.Count 0 Then
o_Kontr.Clear
Set o_Kontr = Nothing
Lv_itm_count_verif LVkontr, Cmdel1 ‘ проверка доступности кнопки»удалить»
End Sub
Private Sub Cmdel_Click()
f_Delete_from_list 46, LVdoc, «par_5.mdb», «T_DOCGR»
Lv_itm_count_verif LVdoc, Cmdel
End Sub
Private Sub Cmdel1_Click()
f_Delete_from_list 46, LVkontr, «par_5.mdb», «T_AUTHORS»
Lv_itm_count_verif LVkontr, Cmdel1
End Sub
Private Sub Cmstart_Click()
Me.Enabled = False
‘b_Redim = False
‘проверка даты
Select Case Verif_date(DTPdate, False, DTPdate)
Case 1
MsgBox «Укажите корректную начальную дату», _
vbCritical, «Некорректный параметр»
Me.Enabled = True
Exit Sub
Case 2
MsgBox «Укажите корректную конечную дату», _
vbCritical, «Некорректный параметр»
Me.Enabled = True
Exit Sub
Case 3
MsgBox «Начальная дата должна быть меньше конечной», _
vbCritical, «Неверный ввод параметров»
Me.Enabled = True
Exit Sub
End Select
If Not CBool(Chk) Then
If LVdoc.ListItems.Count = 0 Then
MsgBox «Укажите группы документов», vbCritical, «Отсутствует параметр»
Me.Enabled = True
Exit Sub
End If
End If
If LVkontr.ListItems.Count = 0 Then
MsgBox «Укажите лиц, осуществляющих контроль», vbCritical, «Отсутствует параметр»
Me.Enabled = True
Exit Sub
End If
Write_date DTPdate, «PAR_5.MDB», False
Write_CHKALL «PAR_5.MDB», Chk.Value, False
sDate1 = Format$(DTPdate.Value, «dd.mm.yyyy»)
If Not IsDate(sDate1) Then
MsgBox «Неправильные системные настройки (формат даты должен быть следующим: «»dd.mm.yyyy»» )», _
vbCritical, «Ошибка при работе с датой»
Me.Enabled = True
Exit Sub
End If
Call ChngInStr(sDate1, «.», «/»)
‘ заполним структуру
sGroups_Params = «»
sKontr_Params = «»
Fill_params LVdoc, sGroups_Params, s_DocGroup, True
Fill_params LVkontr, sKontr_Params, s_Kontr, True
ReDim m_Exec_Set(LVkontr.ListItems.Count — 1)
For n_d = 0 To UBound(m_Exec_Set)
With m_Exec_Set(n_d)
.s_Name = LVkontr.ListItems(n_d + 1)
.s_dcode = LVkontr.ListItems(n_d + 1).SubItems(1)
End With
Next n_d
p_Progress ProgressBar1, 4 ‘задание интервалов прохождения полоски
‘ Работаем с колонками ‘
‘2-колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = «Null:» & sDate1
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
.Params(«Resolution.Author») = s_Kontr
End With
o_doc.Locked = False
o_doc.Fill
For Each doc In o_doc ‘перебираем документ по каждому элементу
max_date = DTPdate.MinDate
For Each res In doc.Resolution
If max_date < res.SendDate Then
max_date = res.SendDate ‘дата и время регистрации резолюции
sAuthor = res.Author.DCode ‘код автора резолюции
If Not IsNull(res.PlanDate) Then
sPlan = res.PlanDate
End If
If Not IsNull(res.FactDate) Then
sFact = res.FactDate
End If
End If
Next res
Next doc
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params ProgressBar1
End If
‘3-я колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Rc.DocDate») = «Null:» & sDate1
‘.Params(
‘ .Params
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
End With
o_doc.Locked = False
o_doc.Fill
tech = o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params ProgressBar1
End If
‘3-я колонка
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Resolution.PlanDate») = «IsNotNull»
.Params(«Resolution.FactDate») = «IsNull»
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
End With
o_doc.Locked = False
o_doc.Fill
sumkontr = o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params ProgressBar1
End If
‘4-я колонка
Dim sDate3 As String
sDate3 = Format$(DateAdd(«d», -1, DTPdate.Value), «dd.mm.yyyy»)
Call ChngInStr(sDate3, «.», «/»)
Set o_doc = o_Head.GetResultSet
o_doc.Source = o_Head.GetCriterion(«Table»)
With o_doc.Source ‘ выбираем документы по картотеке, по дате регистрации,по группе
.Params(«Result») = «doc»
.Params(«Access.Cardindex») = s_Kard_Dcode
.Params(«Resolution.FactDate») = «IsNull»
.Params(«Resolution.PlanDate») = «Null:» & sDate3
If s_DocGroup «» Then
.Params(«Rc.DOCGroup») = s_DocGroup
End If
End With
o_doc.Locked = False
o_doc.Fill
sumistek = o_doc.Count
If ProgressBar1 < ProgressBar1.Max Then
Update_Progress_params ProgressBar1
End If
End Sub
Private Sub Form_Load()
p_Forms_Arrange Me
Read_date DTPdate, «PAR_5.MDB», False
Read_CHKALL Chk, «PAR_5.MDB», False
‘ dtpDate_To = Now
‘ dtpDate_From = Now
With LVdoc.ColumnHeaders
.Add , , «name», LVdoc.Width ‘добавить заголовки к колонкам групп документов
.Add , , «dcode», 0
End With
With LVkontr.ColumnHeaders
.Add , , «name», LVkontr.Width ‘добавить заголовки к колонкам групп документов
.Add , , «dcode», 0
End With
Set o_Head = Module1.o_Head
‘ Проверить не подсоединены ли уже ‘
If Not o_Head.Active Then
‘ Если нет то подсоединиться ‘
o_Head.Open
If o_Head.ErrCode 0 Then
MsgBox o_Head.ErrText, , «Ошибка подключения»
Unload Me
Exit Sub
End If
End If
Set DC_DB = OpenDatabase(App.Path & «\par_5.mdb») ‘открыть базу
Fill_lv DC_DB, «T_DOCGR», LVdoc, itm_DocGroup ‘ прочитать из базы группы документов
Fill_lv DC_DB, «T_AUTHORS», LVkontr, itm_Kontr ‘ прочитать из базы группы документов
DC_DB.Close
Set DC_DB = Nothing
Lv_itm_count_verif LVdoc, Cmdel ‘проверка доступности кнопки «удалить»
Lv_itm_count_verif LVkontr, Cmdel1 ‘проверка доступности кнопки «удалить»
For n_i = 0 To UBound(Card_Set)
Cbcard.AddItem (Card_Set(n_i).Name) ‘ добавляем пункты всех доступных картатек
Next n_i
Cbcard.Text = Card_Set(int_Kard_main).Name ‘делаем активной в окне гл. картатеку
s_Kard_Dcode = Card_Set(int_Kard_main).DCode ‘запоминаем в переменную код
Me.Refresh
End Sub
Sub ChngInStr(InpStr As String, InpChr As String, OutChr As String)
Dim p As Long
p = InStr(InpStr, InpChr)
If p > 0 Then
Mid(InpStr, p, 1) = OutChr
Else
Exit Do
End If
Loop
End Sub
Private Sub Update_Progress_params(ByRef Progress As ProgressBar)
With Progress
.Value = .Value + 1
End With
Me.Refresh
End Sub
Private Sub p_Progress(ByRef ProgrBar As ProgressBar, Max As Integer)
With ProgrBar
.Max = Max
.Visible = True
End With
Me.Refresh
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set Form5 = Nothing
End Sub