На усмотрение автора (автоматизированные системы торговле, сетевые магазины, автоматизация логистических перевозок)

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Информатика
  • 111 111 страниц
  • 37 + 37 источников
  • Добавлена 24.02.2013
2 500 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Содержание
ВВЕДЕНИЕ
I АНАЛИТИЧЕСКАЯ ЧАСТЬ
1.1 Технико-экономическая характеристика предметной области и предприятия. Анализ деятельности “КАК ЕСТЬ”
1.1.1 Характеристика предприятия и его деятельности
1.1.2 Организационная структура управления предприятием
1.1.1.Программная и техническая архитектура ИС предприятия
1.2.Характеристика комплекса задач, задачи и обоснование необходимости автоматизации
1.2.1.Выбор комплекса задач автоматизации и характеристика существующих бизнес процессов
1.2.2.Определение места проектируемой задачи в комплексе задач и ее описание
1.2.3.Обоснование необходимости использования вычислительной техники для решения задачи
1.2.4.Анализ системы обеспечения информационной безопасности и защиты информации
1.3.Анализ существующих разработок и выбор стратегии автоматизации «Как должно быть»
1.3.1.Анализ существующих разработок для автоматизации задачи
1.3.2.Выбор и обоснование стратегии автоматизации задачи
1.3.3.Выбор и обоснование способа приобретения ис для автоматизации задачи
1.4 Обоснование проектных решений
1.4.1 Обоснование проектных решений по информационному обеспечению
1.4.2 Обоснование проектных решений по программному обеспечению
1.4.3 Обоснование проектных решений по техническому обеспечению
2. Проектная часть
2.1 Разработка проекта автоматизации
2.1.1 Этапы жизненного цикла проекта автоматизации
2.1.2 Ожидаемые риски на этапах жизненного цикла и их описание
2.1.3 Организационно-правовые и программно-аппаратные средства обеспечения информационной безопасности и защиты информации
2.2 Информационное обеспечение задачи
2.2.1 Информационная модель и её описание
2.2.2 Характеристика нормативно-справочной, входной и оперативной информации
2.2.3 Характеристика результатной информации
2.3 Программное обеспечение задачи
2.3.1 Общие положения (дерево функций и сценарий диалога)
2.3.2 Характеристика базы данных
2.3.3 Структурная схема пакета
2.3.4 Описание программных модулей
2.4 Контрольный пример реализации проекта и его описание
3. ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТа
3.1 Выбор и обоснование методики расчёта экономической эффективности
3.2 Расчёт показателей экономической эффективности проекта
Заключение
Список использованной литературы
ПРИЛОЖЕНИЯ Приложение А. Листинг разработанной программы.

Фрагмент для ознакомления

2.45).

Рис.2.45 – Пункт меню «Поиск»

Для просмотра справочников необходимо использовать пункт главного меню «Просмотр», а затем выбрать необходимый справочник по названию (рис.2.43). В результате в окне главной формы создаться новое окно с данными справочника (рис.2.46)


Рис. 2.46 – Просмотр справочника
Выход из системы осуществляется с помощью пункта «Файл» - «Выйти» главного меню системы. Таким образом, считаю, что работоспособность программы полностью продемонстрирована.
3. ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТа
3.1 Выбор и обоснование методики расчёта экономической эффективности

Под эффективностью в общем случае понимается степень соответствия системы поставленным перед ней целям. Экономическая эффективность - это мера соотношения затрат на разработку, внедрение, эксплуатацию и модернизацию системы и прибыли от ее применения.
При оценке эффективности ЭИС используют обобщающие и частные показатели.
К основным обобщающим показателям экономической эффективности относятся:
- годовой экономический эффект;
- расчетный коэффициент эффективности капитальных вложений;
- срок окупаемости системы.
Годовой экономический эффект от разработки и внедрения ЭИС служит для сравнения различных направлений капитальных вложений и рассчитывается по формуле (3.1):

(3.1)

где Э – годовой экономический эффект;
П – годовая экономия(годовой прирост прибыли), руб.;
К – единовременные капитальные затраты, руб.;
Ен – нормативный коэффициент эффективности капитальных вложений.
Значение Ен принимается равным 0.15. Ен представляет собой минимальную норму эффективности капитальных вложений, ниже которой они нецелесообразны.
Расчетный коэффициент эффективности капитальных вложений определяется по формуле (3.2):
(3.2)
Полученное значение сравнивается со значением Ен . Если Ер ≥ Ен , то капитальные затраты можно считать целесообразными, в противном случае они экономически необоснованны.
Срок окупаемости Т представляет собой период времени (в годах), в течение которого капитальные затраты на разработку ЭИС полностью окупятся, и рассчитывается по формуле (3.3):

(3.3)

Расчет указанных обобщающих показателей требует вычисления частных показателей:
- годовая экономия (годовой прирост прибыли);
- единовременные затраты на разработку и внедрение системы;
- среднегодовая трудоемкость функционирования и др. Годовая экономия П рассчитывается по формуле (3.4):

(3.4)

где П1 - годовая стоимостная оценка результатов применения ЭИС, рассчитанная без учета затрат на обработку информации, руб.;
Зп - приведенные к одному году затраты на обработку информации при предполагаемом варианте организации системы.
Показатель П1 может быть оценен с применением нескольких альтернативных подходов. В данном случае автоматизируются ранее решавшиеся задачи при условии получения примерно одинаковых конечных результатов, поэтому значение П1 может быть взято равным затратам существующей системы обработки данных. Тогда формула (3.4) примет вид (3.5):

(3.5)

где Зб - приведенные к одному году затраты на обработку информации при существующем варианте организации системы обработки данных (СОД).
Среднегодовые затраты на обработку информации Зп определяются по формуле (3.6):

(3.6)

где Р - стоимость приобретения и освоения используемых средств автоматизации проектирования, руб.;
С - единовременные затраты на создание системы, не учитываемые в себестоимости машино-часа, руб.;
Тэкс - предполагаемый срок эксплуатации системы, лет;
Ф - среднегодовые затраты на функционирование системы, руб.;
А - единовременные затраты на модернизацию системы, руб.;
Тмод - среднее время между смежными периодами модернизации, лет;
Z - среднегодовая сумма потерь вследствие ненадежности системы, руб.
Существует несколько методик оценки экономической эффективности. Так, разработаны алгоритмы расчета эффективности для ранее решавшихся и принципиально новых задач, есть методика, оценивающая эффективность путем вычисления прироста прибыли за счет увеличения объема производства, и другие.
Экономическая эффективность проекта (Э) складывается из двух составляющих:
- Косвенного эффекта, который, например, характеризуется увеличением прибыли, привлечением большего числа клиентов, снижением уровня брака в производстве, уменьшение количества рекламаций, получаемых от клиентов, снижение затрат на сырье и материалы, уменьшение сумм штрафов, неустоек и т. д.
- Прямого эффекта, который характеризуется снижением трудовых, стоимостных показателей.
К трудовым показателям относятся следующие:
1) абсолютное снижение трудовых затрат ((Т) в часах за год:

(Т = Т0 - Т1, (3.7)

где Т0 - трудовые затраты в часах за год на обработку информации по базовому варианту;
Т1 - трудовые затраты в часах за год на обработку информации по предлагаемому варианту;
2) коэффициент относительного снижения трудовых затрат (КТ):

КТ =(Т / T0 * 100% ; (3.8)

индекс снижения трудовых затрат или повышение производительности труда (YT):

YT = T0 / T1. (3.9)

К стоимостным показателям относятся: абсолютное снижение стоимостных затрат ((C) в рублях за год, коэффициент относительного снижения стоимостных затрат (КC) индекс снижения стоимостных затрат (YC), рассчитываемые аналогично.
Помимо рассмотренных показателей целесообразно также рассчитать срок окупаемости затрат на внедрение проекта машинной обработки информации (Ток), рассчитываемые в годах, долях года или в месяцах года:

Ток = КП /(C , . (3.10)

где КП - затраты на создание проекта (проектирование и внедрение).
Э тап составления первичных документов и/или ввода исходных данных будет занимать примерно одинаковое количество времени при различных вариантах организации труда.
Накладные расходы рассчитываются в размере 65% от заработной платы оператора. Часовая амортизация ЭВМ (Ам ) рассчитывается по формуле (3.11). Сумма месячной амортизации составляет 200 руб. В среднем в месяце 21 рабочий день. В день ЭВМ работает в течение 10 часов.

. (3.11)


3.2 Расчёт показателей экономической эффективности проекта

При оценке показателей эффективности сравниваются затраты на обработку информации при существующем (базовом) варианте, то есть расчете зарплаты вручную, и проектируемом, то есть автоматизированном варианте.
Для удобства расчет трудовых и стоимостных затрат на обработку информации при базовом и проектируемом вариантах осуществляется с помощью таблиц 3.1 и 3.2 соответственно.

















Таблица 3.1
Характеристика затрат на обработку информации по базовому варианту
№ п/п Наименование операций технологического процесса решения комплекса задач Оборудование Ед. Изм. Объем работы в год Норма выра-ботки / производительность устройств ЭВМ (опер/в час.) Тру-
доем-кость Средне-часовая зарплата специалиста (руб.) Часовая норма амортизации (руб. за час) / ст. 1 маш.часа (руб.) Часовая стоимость накладных расходов (руб.) Стоимостные затраты для ручных операций Стои-мостные затраты для операций, вып. на ЭВМ 1 2 3 4 5 6 7 8 9 10 11 12 1 Поступление документов канцелярские принадлежни доку-менто-строка 408 800 0,510 25 0 8,29 12,75 21,04 2 заполнение бланка канцелярские принадлежн. символ 31644 4000 7911 25 0,12 128,55 197,77 327,27

Продолжение таблицы 3.1
№ п/п Наименование операций технологического процесса решения комплекса задач Оборудование Ед. Изм. Объем работы в год Норма выра-ботки / производительность устройств ЭВМ (опер/в час.) Тру-
доем-кость Средне-часовая зарплата специалиста (руб.) Часовая норма амортизации (руб. за час) / ст. 1 маш.часа (руб.) Часовая стоимость накладных расходов (руб.) Стоимостные затраты для ручных операций Стои-мостные затраты для операций, вып. на ЭВМ 3 Связь с канцелярией телефон действие 8332 320 26,038 25 0 423,11 650,95 1074,06 4 Занесение данных в результа-тивные формы канцеляр-ские принадлежности символ 128030 3000 42,677 25 0,12 693 1066,92 1765,54 Итого: Х х х 77,136 х х х 1928,39 3187,91
Таблица 3.2
Характеристика затрат на обработку информации по проектируемому варианту
№ п/п Наименование операций технологического процесса решения комплекса задач Оборудо-вание Ед. Изм. Объем работы в год Норма выра-ботки / произв.
устр. ЭВМ (опер/в час.) Тру-
доем-кость Средне-часовая зарплата специалиста (руб.) Часовая норма амортизации (руб. за час) / ст. 1 маш.часа (руб.) Часовая стоимость накладных расходов (руб.) Стоимостные затраты для ручных операций Стои-мостные затраты для операций, вып. на ЭВМ 1 2 3 4 5 6 7 8 9 10 11 12 1 заполнение электронной формы документа персон. компьютер доку-менто-строка 408 800 0,510 12,75 х 0 8,29 21,04 2 создание нового документа /приказа персон. компьютер символ 31644 4000 7911 х 40 х х 316,44 3 Создание и получение персон. компьютер действие 8332 106 0,008 х 40 х х 3,2
Продолжение таблицы 3.2
№ п/п Наименование операций технологического процесса решения комплекса задач Оборудо-вание Ед. Изм. Объем работы в год Норма выра-ботки / произв.
устр. ЭВМ (опер/в час.) Тру-
доем-кость Средне-часовая зарплата специалиста (руб.) Часовая норма амортизации (руб. за час) / ст. 1 маш.часа (руб.) Часовая стоимость накладных расходов (руб.) Стоимостные затраты для ручных операций Стои-мостные затраты для операций, вып. на ЭВМ отчета о статусе документа 4 Создание отчета в случае наличия документа персон. компьютер символ 128030 5·106 0,026 х 40 х х 1,04 5 печать результатов лазерный принтер страница 340 130 2,267 х 40 х х 90,68 Итого: Х х х 10,732 12,75 х х 8.29 523,08 Для удобства анализа, результаты расчетов приведены в таблице 3.3.
Таблица 3.3
Показатели эффективности внедрения нового проекта
Затраты абсолютное изменение затрат Коэффициент изменения затрат индекс изменения затрат базовый вариант проектируемый вариант Трудоемкость Т0, (час) Т1, (час) IT 77.136 10.722 66.414 0,86 7,194 Стоимость С0(руб) С1(руб) 523.08 3187.91 2664,83 0,836 6,094 единовременные капитальные затраты определяются по формуле
(3.12)
где - затраты на освоение системы;
- затраты на разработку системы;
-затраты на загрузку системы;
- затраты на приобретение необходимого обеспечения;
- затраты на модернизацию системы;
p рассчитывается по формуле (3.13):

(3.13)

где - затраты машинного времени на разработку (в часах)
- цена машинного часа
- коэффициент мультипрограммирования
- месячная зарплата одного разработчика
- количество разработчиков
- время разработки (в месяцах)
- коэффициент накладных расходов.
Значения остальных слагаемых, кроме затрат на приобретение, рассчитываются аналогично. Затраты на приобретение определяются покупной ценой необходимых средств.
Для данной системы значения требуемых переменных таковы:
Kнр =0.65
Кмульт =1
r0=1 человек
Змес=3000 руб.
Цмч=0.95 руб.
Т j осв = 60 часов
Т j разр =50 часов
Т j загр =0.5 часа
Т j мод =35 часов в течение предполагаемого срока эксплуатации, равного 4 годам. Модернизацию предполагается проводить раз в полгода (то есть всего 7 раз) и затрачивать на это до 5 часов машинного времени за один раз.
Время освоения составляет 1 месяц, примем для данной задачи значение tj осв , равное 0.1 месяца.
tj разр =1 месяц
tj загр =0.006 месяца
tj мод =0.333 месяца, то есть 7 дней за весь период эксплуатации.
К j приобр складывается из стоимости приобретаемого технического обеспечения (1/21 от стоимости оборудования, так как примерно такую часть от общего объема работ по времени занимает данный комплекс задач, а для принтера - 1/100), программного обеспечения.
Стоимость системного блока и монитора, исходя из данных таблицы и курса доллара 28 руб., получается равной 12500, принтера 3500
Стоимость программного обеспечения 8750 руб. Из них на данную задачу приходится примерно 500 рублей.
К j приобр =12500/21+500+3500/100=1098.74 руб.
К j осв =60*0.95*1+800*1*0.1*(1+0.65)=57+132=189 руб.
К j разр =50*0.95*1+800*1*1*(1+0.65)=47.50+1320=1367.50 руб.
К j загр =0.5*0.95*1+800*1*0.006*(1+0.65)=0.48+7.92=8.4 руб.
К j мод =35*0.95*1+800*1*0.333*(1+0.65)=8.05+439.56=447.61 руб.
К j =3111.25 руб.
К 0 =2000 руб.
∆ К j =К j -К0=1111.25 руб.

Прямой годовой экономический эффект равен:
Э1=(1693.65+0.15*2000)- ( 320.52+ 0.15*3111.25)=2489.14 руб.

Косвенный годовой экономический эффект равен 5000 рублей в год. Таким образом, получаем годовой экономический эффект:
Э=2489.14+5000=7489.14 руб.
Расчетный коэффициент эффективности определяется по формуле (3.14):

(3.14)
Ер=2664.83/1111.25=2.398

Срок окупаемости проекта Ток=1/Ер=1/ 2.398=0.417 года (5 месяцев).
Диаграммы изменения трудовых затрат представлены на рисунках 3.1 и 3.2:




















Рис. 3.1 – Диаграмма абсолютного изменения трудовых затрат


Рис. 3.2 – Диаграмма относительного изменения трудовых затрат

Диаграммы изменения стоимостных затрат представлены на рисунках 3.3 и 3.4.


Рис. 3.3 – Диаграмма изменения стоимостных затрат


Рис. 3.4 – Круговая диаграмма абсолютного изменения стоимостных затрат

Расчеты показывают, что расчетный коэффициент эффективности капитальных вложений больше нормативного, поэтому разработку программной системы следует считать целесообразной. Срок ее окупаемости составляет примерно 5 месяцев.

Заключение

В дипломной работе была спроектирована и разработана информационная система для автоматизации документооборота компании ЗАО «Дикси».
Динамический процесс проектирования системы происходил в несколько стадий. Для достижения цели были сформулированы и решены следующие задачи:
- выполнена характеристика объекта автоматизации. Изучена организационная и функциональная структура предприятия;
- систематизирован документооборот;
- изучены процессы функционирования предприятия;
- проведен анализ существующей системы и разработана модель деятельности отдела после внедрения автоматизированной системы.
- выполнен анализ информационных потоков и разработана инфологическая модель.
- разработано техническое задание;
- разработаны инструкции пользователей и администратора.
-выполнен расчет показателей экономической эффективности внедрения данной системы.
На этапе обследования была рассмотрена общая характеристика объекта автоматизации, его организационная структура и организация работы. На основе анализа сформированы и обоснованы требования к работе системы и к ее отдельным компонентам: программному, информационному, техническому.
На стадии проектирования разработана общая структура информационной системы в целом, а также по каждой отдельной ее задаче. Определены основные проектные решения, что стало основанием для разработки, отладки программной части и для конструирования эксплуатационной документации.
Создание и внедрение информационная система для автоматизации документооборота компании ЗАО «Дикси» позволит сократить время работы руководителя службы и специалиста с документами, снизить временные затраты на поиск документов в среднем на 30-35% за счет автоматического анализа информации, имеющейся в базе данных.
Использование информационной системы позволит более глубоко и в полном объеме собирать и анализировать необходимую информацию о документах и их состоянии.
Отмечено так же повышение эффективности учета документов. Одним из самых главных качественных результатов является то, что у специалиста отдела кадров, несущего наибольшую ответственность за своевременность отработки документа, имеется полное представление о документах, исполнителях, состоянии документов, поскольку он сам оперативно организует и контролирует учет и движение документов. При этом в практику работы персонала входят новые информационные технологии, такие как совместный авторизованный доступ к справочной информации о документах, автоматизация рутинных операций, доступ к информационно-справочным ресурсам, автоматическое заполнение документов, исключение недостатков бумажных носителей, контроль качества, стандартизация учета.
Для быстрой и полной адаптации пользователя к системе был разработан удобный дружественный интерфейс пользователя и подробное описание работы с системой в руководстве пользователя.
Для обеспечения надежной защиты информации предусмотрена парольная система разграничения доступа к данным и функциям, авторизация вводимой и корректируемой информации, посредством подстановки и анализа данных.
Считаю, что созданная в дипломной работе информационная система для автоматизации документооборота компании ЗАО «Дикси» полностью соответствует информационным требованиям предприятия и сможет поддерживать это соответствие в течение всего жизненного цикла системы.
Разработка проводилась в среде Borland Development Studio 2006 с разработанной базой данных документов, исполнителей, корреспондентов реализованной при помощи средств Microsoft Access 2007.
В работе проведено исследование предметной области, разработана структура базы данных, спроектированы SQL-запросы к базе данных, разработано алгоритмическое и программное обеспечение, спроектирован программный интерфейс системы, а так же проведено тестирование разработанной системы, оценена экономическая целесообразность внедрения системы.

Список использованной литературы

Delphi 7 в подлиннике. А. Хомоненко. СПб: BHV, 2003 – 1216 стр.
Delphi 7 на примерах/Под ред. Ю. С. Ковтанюка — К.: Издательство Юниор, 2003. — 384 с., ил.
Архангельский А.Я. 100 компонентов общего назначения библиотеки Delphi 5. — М.: Бином, 1999. — 266 с.
Архангельский А.Я. Delphi 6. Справочное пособие. — М.: Бином, 2001. — 1024с.
Архангельский А.Я. Программирование в Delphi 6. — М.: Бином, 2001. — 564с.
Архангельский А.Я. Язык SQL в Delphi 5. — М.: Бином, 2000. — 205с.
Базы данных: модели, разработка, реализация / Карпова Т.- СПб.: Питер, 2001. –304с.
Белов А.Н. Бухгалтерский учет в учреждениях непроизводственной сферы. – М.: Финансы и статистика, 1995. – 240с.
Буч Г. Объектно-ориентированное проектирование с примерами применения. М., 1992. - 654с.
Вендров А.М. Проектирование программного обеспечения экономических информационных систем. М.: «Финансы и статистика»,2002.
Волков В. Ф. Экономика предприятия. – М.: Вита-Пресс, 1998. – 380с.
Галатенко В. Информационная безопасность // Открытые системы- 1996. – N 1-4.
Глушаков С.В., Ломотько Д.В. Базы данных .- Х.: Фолио, 2002. – 504 с.
Голубков Е.П. Маркетинг: стратегии, планы, структуры. М., Дело, 1995. – 450с.
Голубков Е.П. Маркетинговые исследования: теория, методология и практика. М., Финпресс, 1998. – 280с.
Гофман В.Э. Хомоненко А.Д. Delphi 5. - СПб.: - Санки-Петербург, 2000. –800с.
Гофман В. Э. Delphi. Быстрый старт. СПб.: БВХ-Петербург, 2003. – 288 с.
Жидецкий В. Ц. Охрана труда пользователей компьютеров. – К.: «Освгга», 1999.- 186с.
Жутова З.У. Бюджетный учет и отчетность. М.: Финансы, 1970.-215с.
Ковалев А. И., Войленко В. В. Маркетинговый анализ. М., Центр экономики и маркетинга, 1996.
Конноли Томас, Бегг Каролин. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. — М.: Вильямс, 2000. – 1111 с.
Культин Н.Б. Delphi 6: Программирование на Object Pascal. — М.: Бином, 2001. — 526 с.
Культин Н.Б. Delphi 7: Программирование на Object Pascal. — М.: Бином, 2003. — 535 с.
Культин Н.Б. Delphi 7: Программирование на Object Pascal. — М.: Бином, 2003. — 535 с.
Магнус Я.Р., Катышев П.К., Пересецкий А.А. Эконометрика. Начальный курс. М., Дело, 1997
Маклаков С.В. BPwin и ERwin. CASE-средства разработки информационных систем. — М.: Диалог-Мифи, 2001. — 304 с.
Матвеева В.О. Бюджетные организации: бухгалтерский учет и налогооблажение. –Харьков: Фактор, 2001. – 566с.
Нестандартные приемы программирования на Delphi. — СПб.: БХВ-Петербург, 2005. — 560 с : ил.
Принципы проектирования и разработки программного обеспечения. Учебный курс MCSD: Скотт Ф. Уилсон, Брюс Мэйплс, Тим Лэндгрейв. – М: Русская редакция, 2002. – 736стр.
Проектирование экономических информационных систем: Учебник/Г.Н.Смирнова, А.А.Сорокин, Ю.Ф.Тельнов. – М: Финансы и статистика, 2003. – 512стр.
Сухарев М. В. Основы Delphi. Профессиональный подход. СПб.: Наука и техника, 2004. – 600 с.
Турчин С. Обзор АСУП для малого бизнеса. Функциональные особенности // Компьютерное обозрение № 17 (286), 2001. с.22-27. // www.ITC-UA.COM
Фатрелл Р., Шафер Д. Шафер Л. Управление программными проектами: достижение оптимального качества при минимуме затрат. М.: «Вильямс», 2003. – 1128с.
Черников А. Поздняков В. От бухгалтерии под Windows к открытым Unix-системам // Компьютерное обозрение № 34 (402), 2003. с.22-27. www.ITC-UA.COM
Шумаков П.В., Фаронов В.В. Delphi 5. Руководство разработчика баз данных. — М.: Нолидж, 2000. — 635 с.
[Электронный ресурс]. 1С: Документооборот. Электронный документооборот на платформе 1С. Метод доступа: http://www.abissoft.com/soft/workflow/.
[Электронный ресурс]. 1С: Обзор систем электронного документооборота Метод доступа: http://www.ixbt.com/soft/sed.shtml.









ПРИЛОЖЕНИя
Приложение А. Листинг разработанной программы.

Модуль mainclients.pas

unit MainClients;

interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, DB, ADODB, IniFiles, Grids, DBGrids,DBDirectoryTemplate,
addsorce, DateUtils, parampoisk, ToolWin, ComCtrls, StdCtrls, jpeg, ExtCtrls,
RzButton, Buttons, RzSpnEdt, RzPanel;

type
TMainClientsForm = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
MainMenu1: TMainMenu;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
DataSource1: TDataSource;
ADOTable2: TADOTable;
ADOTable3: TADOTable;
ADOTable4: TADOTable;
ADOTable5: TADOTable;
ADOTable6: TADOTable;
ADOTable7: TADOTable;
N20: TMenuItem;
N21: TMenuItem;
N22: TMenuItem;
ADOQuery1: TADOQuery;
ADOQuery2: TADOQuery;
N18: TMenuItem;
ADOTable8: TADOTable;
N23: TMenuItem;
N24: TMenuItem;
ToolBar1: TToolBar;
RzRapidFireButton1: TRzRapidFireButton;
RzRapidFireButton2: TRzRapidFireButton;
RzRapidFireButton3: TRzRapidFireButton;
RzRapidFireButton4: TRzRapidFireButton;
RzRapidFireButton5: TRzRapidFireButton;
DataSource2: TDataSource;
N1: TMenuItem;
h: TMenuItem;
N11: TMenuItem;
N12: TMenuItem;
N16: TMenuItem;
N17: TMenuItem;
N19: TMenuItem;
N25: TMenuItem;
Image1: TImage;
procedure N25Click(Sender: TObject);
procedure hClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N24Click(Sender: TObject);
procedure N23Click(Sender: TObject);
procedure RzRapidFireButton5Click(Sender: TObject);
procedure RzRapidFireButton4Click(Sender: TObject);
procedure RzRapidFireButton3Click(Sender: TObject);
procedure RzRapidFireButton2Click(Sender: TObject);
procedure RzRapidFireButton1Click(Sender: TObject);
procedure N12Click(Sender: TObject);
function IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;
function IsFormOpen(const FormName : string): Boolean;
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N20Click(Sender: TObject);
procedure N21Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure N4Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N19Click(Sender: TObject);
private
{ Private declarations }
procedure BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);

public
{ Public declarations }
end;

var
MainClientsForm: TMainClientsForm;
nastr:tinifile;
DirectoryForm : TDBDirectoryTemplateForm;
prosmForm: Taddform;
mainflag:boolean;
nomer_poisk:word;
flag1,flag2:boolean;

var dom_tel,mob_tel:string;
adres,notes:string;
stag:real;
rogd:tdate;

var education,vuz, fakultet,specialnost,kurs:string;
data_vuz, data_kurs:tdate;
lingvo,lingvo_k, comp, comp_k :string;
idlingvo, idcomp, id_education,id_client,id_regim, id_areal, id_organization:integer;
var oblast,profesiya:string;

implementation

{$R *.dfm}

function TMainClientsForm.IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean;
var
i: Integer;
begin
Result := False;
for i := Pred(AFormName.MDIChildCount) DownTo 0 do
if (AFormName.MDIChildren[i].Name = AMDIChildName) then
begin
Result := True;
AFormName.MDIChildren[i].Free;
end;
end;

function TMainClientsForm.IsFormOpen(const FormName : string): Boolean;
var
i: Integer;
begin
Result := False;
for i := Screen.FormCount - 1 DownTo 0 do
if (Screen.Forms[i].Name = FormName) then
begin
Result := True;
Break;
end;

end;
procedure TMainClientsForm.BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource);
begin
//создаем форму
DirectoryForm:=TDBDirectoryTemplateForm.Create(Owner);
DirectoryForm.TableDBGrid.DataSource:=ds;
DirectoryForm.Top:=0;
DirectoryForm.Left:=0;
DirectoryForm.Caption:=sCaption;
end;
procedure TMainClientsForm.N12Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='Неотработанные документы';
nomer_poisk:=3;
Poisk.GroupBox1.Visible:=false;
Poisk.GroupBox2.Visible:=false;
Poisk.GroupBox3.Visible:=false;
end;

procedure TMainClientsForm.N6Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable1;
mainclientsform.ADOTable1.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Документы', mainclientsform.DataSource1);
end;

procedure TMainClientsForm.N7Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable2;
mainclientsform.ADOTable2.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('вид документа', mainclientsform.DataSource1);
end;

procedure TMainClientsForm.N8Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable3;
mainclientsform.ADOTable3.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Источники документа', mainclientsform.DataSource1);

end;

procedure TMainClientsForm.N9Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable4;
mainclientsform.ADOTable4.Active:=true;



MainClientsForm.BuildGridDatabaseDirectoryItem('Корреспонденты', mainclientsform.DataSource1);
end;

procedure TMainClientsForm.RzRapidFireButton1Click(Sender: TObject);
begin
MainClientsForm.N3Click(Sender);
end;

procedure TMainClientsForm.RzRapidFireButton2Click(Sender: TObject);
begin
MainClientsForm.N4Click(Sender);
end;

procedure TMainClientsForm.RzRapidFireButton3Click(Sender: TObject);
begin
MainClientsForm.N15Click(Sender);
end;

procedure TMainClientsForm.RzRapidFireButton4Click(Sender: TObject);
begin
MainClientsForm.N14Click(Sender);
end;

procedure TMainClientsForm.RzRapidFireButton5Click(Sender: TObject);
begin
MainClientsForm.Close;
end;

procedure TMainClientsForm.N10Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable5;
mainclientsform.ADOTable5.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Статусы документа', mainclientsform.DataSource1);
end;

procedure TMainClientsForm.N20Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable6;
mainclientsform.ADOTable6.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Исполнители документа', mainclientsform.DataSource1);
end;

procedure TMainClientsForm.N21Click(Sender: TObject);
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
mainflag:=false;
mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable7;
mainclientsform.ADOTable7.Active:=true;
MainClientsForm.BuildGridDatabaseDirectoryItem('Резолюция', mainclientsform.DataSource1);
end;

procedure TMainClientsForm.N23Click(Sender: TObject);
begin
mainclientsform.N3Click(Sender);

mainflag:=true;
flag1:=true;
flag2:=false;
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox2.Visible:=false;
ProsmForm.GroupBox3.Visible:=false;
ProsmForm.GroupBox1.Visible:=false;
ProsmForm.GroupBox4.Visible:=false;
ProsmForm.GroupBox5.Visible:=false;
ProsmForm.GroupBox6.Visible:=true;
ProsmForm.Height:=800;
mainclientsform.DataSource1.DataSet.Last();
end;

procedure TMainClientsForm.N24Click(Sender: TObject);
begin
mainclientsform.N3Click(Sender);

mainflag:=true;
flag1:=false;
flag2:=true;
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox2.Visible:=false;
ProsmForm.GroupBox3.Visible:=false;
ProsmForm.GroupBox1.Visible:=false;
ProsmForm.GroupBox4.Visible:=false;
ProsmForm.GroupBox5.Visible:=false;
ProsmForm.GroupBox6.Visible:=false;
ProsmForm.GroupBox7.Visible:=true;

ProsmForm.Height:=500;
ProsmForm.Width:=800;
mainclientsform.DataSource1.DataSet.Last();
end;

procedure TMainClientsForm.N25Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='Все документы в системе';
nomer_poisk:=7;
Poisk.GroupBox1.Visible:=false;
Poisk.GroupBox2.Visible:=false;
Poisk.GroupBox3.Visible:=false;
Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.FormCreate(Sender: TObject);

var NewConnection: Widestring;
begin

ADOConnection1.Close;
// указываем файл .udl для ADOConnection1
ADOConnection1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source='+GetCurrentDir+'\baza.mdb;';
ADOConnection1.Open;
MainClientsForm.ADOTable1.Active:=true;
MainClientsForm.ADOTable2.Active:=true;
MainClientsForm.ADOTable3.Active:=true;
MainClientsForm.ADOTable4.Active:=true;
MainClientsForm.ADOTable5.Active:=true;
MainClientsForm.ADOTable6.Active:=true;
MainClientsForm.ADOTable7.Active:=true;
MainClientsForm.ADOTable8.Active:=true;
end;

procedure TMainClientsForm.hClick(Sender: TObject);
begin
mainflag:=false;
IsMDIChildOpen(MainClientsForm,'Резолюция ');
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox2.Visible:=false;
ProsmForm.GroupBox3.Visible:=true;
ProsmForm.GroupBox1.Visible:=false;
ProsmForm.GroupBox4.Visible:=false;
ProsmForm.GroupBox5.Visible:=false;
ProsmForm.GroupBox6.Visible:=false;
ProsmForm.GroupBox7.Visible:=false;
ProsmForm.Caption:='Новая резолюция';
ProsmForm.Height:=400;
end;

procedure TMainClientsForm.N3Click(Sender: TObject);

begin
mainflag:=false;
IsMDIChildOpen(MainClientsForm,'Новый документ');

IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox2.Visible:=false;
ProsmForm.GroupBox3.Visible:=false;
ProsmForm.GroupBox1.Visible:=false;
ProsmForm.GroupBox4.Visible:=false;
ProsmForm.GroupBox5.Visible:=true;
ProsmForm.GroupBox6.Visible:=false;
ProsmForm.GroupBox7.Visible:=false;
ProsmForm.Height:=400;
end;

procedure TMainClientsForm.DataSource1DataChange(Sender: TObject;
Field: TField);
var
sql_str,rez:string;
P11:Tparameter;
rezdate:tdatetime;
rezint:integer;
rezfloat:real;
Ayear, amonth,aday,ahour,aminute,asecond,amillisecond:word;
svyaz,regn, ishn, vhn:string;
kodi,kods, kodr,kodist: integer ;
kodv,kod_kor,kodd:integer;
stroka_SQL:string;
p1:Tparameter;
begin
if mainflag then
begin
if flag1=true then begin
ProsmForm.Edit42.Text:=Inttostr( mainclientsform.ADOTable1.FieldByName('кодвида').AsInteger);
ProsmForm.Edit44.Text:=mainclientsform.DataSource1.DataSet.FieldByName('связка').AsString;
ProsmForm.Edit43.Text:=IntToStr(mainclientsform.DataSource1.DataSet.FieldByName('кодисточника').AsInteger);
ProsmForm.Edit45.Text:=mainclientsform.DataSource1.DataSet.FieldByName('содержание').AsString;
ProsmForm.Edit40.Text:=IntToStr(mainclientsform.DataSource1.DataSet.FieldByName('кодстатуса').AsInteger);
ProsmForm.Edit46.Text:=Inttostr(mainclientsform.DataSource1.DataSet.FieldByName('кодисполнителя').AsInteger);
ProsmForm.Edit41.Text:=mainclientsform.DataSource1.DataSet.FieldByName('регистрационныйномер').AsString;
// ProsmForm->Edit55->Text=StrToInt(mainclientsform->DataSource1->DataSet->FieldByName("код_резолюции")->AsInteger);
ProsmForm.Edit28.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('датарегистрации').AsDateTime);
ProsmForm.Edit47.Text:=mainclientsform.DataSource1.DataSet.FieldByName('исходящийномер').AsString;
ProsmForm.Edit39.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('датасоздания').AsDateTime);
ProsmForm.Edit48.Text:=mainclientsform.DataSource1.DataSet.FieldByName('входящийномер').AsString;
ProsmForm.Edit49.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('датаполучения').AsDateTime);
ProsmForm.Edit50.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('плановаядата').AsDateTime);
ProsmForm.Edit51.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('сроквыполнения').AsDateTime);
ProsmForm.Edit52.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('промежуточнаядатаисполнения').AsDateTime);
ProsmForm.Edit53.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('фактическаядатаисполнения').AsDateTime);
ProsmForm.Edit54.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('датаотправки').AsDateTime);


kodi:=mainclientsform.DataSource1.DataSet.FieldByName('кодисполнителя').AsInteger;
kods:=mainclientsform.DataSource1.DataSet.FieldByName('кодстатуса').AsInteger;

kodist:=mainclientsform.DataSource1.DataSet.FieldByName('кодисточника').AsInteger;

kodr:=mainclientsform.DataSource1.DataSet.FieldByName('коддокумента').AsInteger;
mainclientsform.ADOTable6.Active:=true;
if mainclientsform.ADOTable6.Locate('кодисполнителя',kodi , [loCaseInsensitive,loPartialKey]) then
begin
ProsmForm.Edit56.Text:=mainclientsform.ADOTable6.FieldByName('Фамилия').AsString;
ProsmForm.Edit57.Text:=mainclientsform.ADOTable6.FieldByName('Имя').AsString;
ProsmForm.Edit58.Text:=mainclientsform.ADOTable6.FieldByName('Отчество').AsString;
ProsmForm.Edit59.Text:=mainclientsform.ADOTable6.FieldByName('телефон').AsString;
end;

mainclientsform.ADOTable5.Active:=true;
if mainclientsform.ADOTable5.Locate('кодстатуса',kods , [loCaseInsensitive,loPartialKey]) then
begin
ProsmForm.Edit60.Text:=mainclientsform.ADOTable5.FieldByName('статусдокумента').AsString;
ProsmForm.Edit61.Text:=DateToStr(mainclientsform.ADOTable5.FieldByName('датаизменениястатуса').AsDateTime)
end;

mainclientsform.ADOTable7.Active:=true;
if mainclientsform.ADOTable7.Locate('коддокумента',kodr , [loCaseInsensitive,loPartialKey]) then
begin
ProsmForm.Edit62.Text:=mainclientsform.ADOTable7.FieldByName('текстрезолюции').AsString;
ProsmForm.Edit63.Text:=DateToStr(mainclientsform.ADOTable7.FieldByName('датарезолюции').AsDateTime);
end;


end;

if flag2=true then begin

kodi:=mainclientsform.DataSource1.DataSet.FieldByName('кодисполнителя').AsInteger;
kods:=mainclientsform.DataSource1.DataSet.FieldByName('кодстатуса').AsInteger;
kodist:= mainclientsform.DataSource1.DataSet.FieldByName('кодисточника').AsInteger;
kodd:=mainclientsform.DataSource1.DataSet.FieldByName('коддокумента').AsInteger;
ProsmForm.Edit71.Text:=mainclientsform.DataSource1.DataSet.FieldByName('связка').AsString;
kodv:=mainclientsform.ADOTable1.FieldByName('кодвида').AsInteger;
mainclientsform.ADOTable6.Active:=true;
if mainclientsform.ADOTable6.Locate('кодисполнителя',kodi , [loCaseInsensitive,loPartialKey]) then
begin
ProsmForm.Edit64.Text:=mainclientsform.ADOTable6.FieldByName('Фамилия').AsString;
ProsmForm.Edit65.Text:=mainclientsform.ADOTable6.FieldByName('Имя').AsString;
ProsmForm.Edit66.Text:=mainclientsform.ADOTable6.FieldByName('Отчество').AsString;
ProsmForm.Edit67.Text:=mainclientsform.ADOTable6.FieldByName('телефон').AsString;
end;

mainclientsform.ADOTable5.Active:=true;
if mainclientsform.ADOTable5.Locate('кодстатуса',kods , [loCaseInsensitive,loPartialKey]) then
begin
ProsmForm.Edit68.Text:=mainclientsform.ADOTable5.FieldByName('статусдокумента').AsString;
ProsmForm.Edit69.Text:=DateToStr(mainclientsform.ADOTable5.FieldByName('датаизменениястатуса').AsDateTime);
end;

mainclientsform.ADOTable2.Active:=true;
if mainclientsform.ADOTable2.Locate('кодвида',kodv , [loCaseInsensitive,loPartialKey]) then
begin
ProsmForm.Edit70.Text:=mainclientsform.ADOTable2.FieldByName('типдокумента').AsString;
end;
mainclientsform.ADOTable3.Active:=true;
if mainclientsform.ADOTable3.Locate('кодисточника',kodist , [loCaseInsensitive,loPartialKey]) then
begin
ProsmForm.Edit72.Text:=mainclientsform.ADOTable3.FieldByName('наименование').AsString;
ProsmForm.Edit73.Text:=mainclientsform.ADOTable3.FieldByName('виддоставки').AsString;
kod_kor:=mainclientsform.ADOTable3.FieldByName('кодкорреспондента').AsInteger;

end;

mainclientsform.ADOTable4.Active:=true;
if mainclientsform.ADOTable4.Locate('кодкорреспондента', kod_kor , [loCaseInsensitive,loPartialKey]) then
begin
ProsmForm.Edit74.Text:=mainclientsform.ADOTable4.FieldByName('Наименование').AsString;
ProsmForm.Edit75.Text:=mainclientsform.ADOTable4.FieldByName('Адресотправителя').AsString;
ProsmForm.Edit77.Text:=mainclientsform.ADOTable4.FieldByName('ФИО').AsString;
ProsmForm.Edit76.Text:=mainclientsform.ADOTable4.FieldByName('Телефонотправителя').AsString;
ProsmForm.Edit85.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('датарегистрации').AsDateTime);
ProsmForm.Edit83.Text:=mainclientsform.DataSource1.DataSet.FieldByName('исходящийномер').AsString;
ProsmForm.Edit86.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('датасоздания').AsDateTime);
ProsmForm.Edit81.Text:=mainclientsform.DataSource1.DataSet.FieldByName('входящийномер').AsString;
ProsmForm.Edit82.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('датаполучения').AsDateTime);
ProsmForm.Edit87.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('плановаядата').AsDateTime);
ProsmForm.Edit80.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('сроквыполнения').AsDateTime);
ProsmForm.Edit79.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('промежуточнаядатаисполнения').AsDateTime);
ProsmForm.Edit88.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('фактическаядатаисполнения').AsDateTime);
ProsmForm.Edit78.Text:=DateToStr(mainclientsform.DataSource1.DataSet.FieldByName('датаотправки').AsDateTime);

end;
ProsmForm.Edit84.Text:=mainclientsform.DataSource1.DataSet.FieldByName('регистрационныйномер').AsString;
mainclientsform.DataSource2.DataSet:=mainclientsform.ADOQuery1;
mainclientsform.ADOQuery1.Active:=false;
mainclientsform.ADOQuery1.SQL.Clear();

P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter;
P1.Name:='P1';
p1.DataType := ftinteger;
P1.Value:=kodd;
// P11.Size:=4;
stroka_SQL:='SELECT резолюция.* FROM резолюция WHERE (резолюция.коддокумента=:P1) ;' ;

MainClientsForm.ADOQuery1.SQL.Add(stroka_SQL);
MainClientsForm.ADOQuery1.Active:=true;
MainClientsForm.ADOQuery1.ExecSQL;


end;

end;

end;

procedure TMainClientsForm.N4Click(Sender: TObject);

begin
mainflag:=false;
IsMDIChildOpen(MainClientsForm,'Исполнитель /отдел ');
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');
ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox2.Visible:=false;
ProsmForm.GroupBox3.Visible:=false;
ProsmForm.GroupBox1.Visible:=true;
ProsmForm.GroupBox4.Visible:=false;
ProsmForm.GroupBox5.Visible:=false;
ProsmForm.GroupBox6.Visible:=false;
ProsmForm.GroupBox7.Visible:=false;
ProsmForm.Caption:='Новый исполнитель / отдел';
ProsmForm.Height:=400;
end;

procedure TMainClientsForm.N14Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='поиск Документа по номеру';
nomer_poisk:=1;
Poisk.GroupBox1.Visible:=true;
Poisk.GroupBox2.Visible:=false;
Poisk.GroupBox3.Visible:=false;
end;

procedure TMainClientsForm.N15Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='Документы по дате';
nomer_poisk:=2;
Poisk.GroupBox1.Visible:=false;
Poisk.GroupBox2.Visible:=false;
Poisk.GroupBox3.Visible:=true;
end;

procedure TMainClientsForm.N16Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='Поиск исполнителя';
nomer_poisk:=4;
Poisk.GroupBox1.Visible:=false;
Poisk.GroupBox2.Visible:=true;
Poisk.GroupBox3.Visible:=false;
end;

procedure TMainClientsForm.N17Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='Неотработанные документы на дату';
nomer_poisk:=5;
Poisk.GroupBox1.Visible:=false;
Poisk.GroupBox2.Visible:=false;
Poisk.GroupBox3.Visible:=false;
Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.N11Click(Sender: TObject);
begin
mainflag:=false;
IsMDIChildOpen(MainClientsForm,'Исполнитель /отдел ');
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addForm');

ProsmForm:=Taddform.Create(Owner);
ProsmForm.GroupBox2.Visible:=false;
ProsmForm.GroupBox3.Visible:=false;
ProsmForm.GroupBox1.Visible:=false;
ProsmForm.GroupBox4.Visible:=true;
ProsmForm.GroupBox5.Visible:=false;
ProsmForm.GroupBox6.Visible:=false;
ProsmForm.GroupBox7.Visible:=false;
ProsmForm.Caption:='Новый исполнитель / отдел';
ProsmForm.Height:=400;
end;

procedure TMainClientsForm.N19Click(Sender: TObject);
var poisk:Tparampoik;
begin
IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');
IsMDIChildOpen(MainClientsForm,'addform');
IsMDIChildOpen(MainClientsForm,'parampoik');
poisk:=Tparampoik.Create(Owner);
poisk.Left:=530;
poisk.Top:=3;
poisk.Width:=300;
poisk.Caption:='Отработанные документы на дату';
nomer_poisk:=6;
Poisk.GroupBox1.Visible:=false;
Poisk.GroupBox2.Visible:=false;
Poisk.GroupBox3.Visible:=false;
Poisk.Button1.Caption:='Подготовить данные';

end;

procedure TMainClientsForm.N1Click(Sender: TObject);
var Naimen, fio,adresk,telefonk,vidd :string;
kodkor:integer;
begin
// добавление данных корреспондент
Naimen:= ProsmForm.Edit8.Text;
fio:= (ProsmForm.Edit9.Text);
adresk:=(ProsmForm.Edit10.Text);
telefonk:=(ProsmForm.Edit11.Text);
mainclientsform.ADOTable4.Active:=true;
mainclientsform.ADOTable4.Insert();
mainclientsform.ADOTable4.FieldByName('Наименование').AsString:= Naimen;
mainclientsform.ADOTable4.FieldByName('ФИО').AsString:= fio;
mainclientsform.ADOTable4.FieldByName('Адресотправителя').AsString:= adresk;
mainclientsform.ADOTable4.FieldByName('Телефонотправителя').AsString:= adresk;
mainclientsform.ADOTable4.Post();
kodkor:= mainclientsform.ADOTable4.FieldByName('Кодкорреспондента').AsInteger;

// добавление данных источник
Naimen:= ProsmForm.Edit12.Text;
vidd:= ProsmForm.Edit13.Text;
mainclientsform.ADOTable3.Active:=true;
mainclientsform.ADOTable3.Insert();
mainclientsform.ADOTable3.FieldByName('наименование').AsString:= Naimen;
mainclientsform.ADOTable3.FieldByName('виддоставки').AsString:=vidd;
mainclientsform.ADOTable3.FieldByName('кодкорреспондента').AsInteger:=kodkor;
mainclientsform.ADOTable3.Post();
end;

end.











55




55




126
19




Проект

Главная форма приложения MainClients

childTemplate.pas

DbdDirectoryTemplate.pas

AddSource.pas

ParamPoisk.pas

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1.Delphi 7 в подлиннике. А. Хомоненко. СПб: BHV, 2003 – 1216 стр.
2.Delphi 7 на примерах/Под ред. Ю. С. Ковтанюка — К.: Издательство Юниор, 2003. — 384 с., ил.
3.Архангельский А.Я. 100 компонентов общего назначения библиотеки Delphi 5. — М.: Бином, 1999. — 266 с.
4.Архангельский А.Я. Delphi 6. Справочное пособие. — М.: Бином, 2001. — 1024с.
5.Архангельский А.Я. Программирование в Delphi 6. — М.: Бином, 2001. — 564с.
6.Архангельский А.Я. Язык SQL в Delphi 5. — М.: Бином, 2000. — 205с.
7.Базы данных: модели, разработка, реализация / Карпова Т.- СПб.: Питер, 2001. –304с.
8.Белов А.Н. Бухгалтерский учет в учреждениях непроизводственной сферы. – М.: Финансы и статистика, 1995. – 240с.
9.Буч Г. Объектно-ориентированное проектирование с примерами применения. М., 1992. - 654с.
10.Вендров А.М. Проектирование программного обеспечения экономических информационных систем. М.: «Финансы и статистика»,2002.
11.Волков В. Ф. Экономика предприятия. – М.: Вита-Пресс, 1998. – 380с.
12.Галатенко В. Информационная безопасность // Открытые системы- 1996. – N 1-4.
13.Глушаков С.В., Ломотько Д.В. Базы данных .- Х.: Фолио, 2002. – 504 с.
14.Голубков Е.П. Маркетинг: стратегии, планы, структуры. М., Де¬ло, 1995. – 450с.
15.Голубков Е.П. Маркетинговые исследования: теория, методология и практика. М., Финпресс, 1998. – 280с.
16.Гофман В.Э. Хомоненко А.Д. Delphi 5. - СПб.: - Санки-Петербург, 2000. –800с.
17.Гофман В. Э. Delphi. Быстрый старт. СПб.: БВХ-Петербург, 2003. – 288 с.
18.Жидецкий В. Ц. Охрана труда пользователей компьютеров. – К.: «Освгга», 1999.- 186с.
19.Жутова З.У. Бюджетный учет и отчетность. М.: Финансы, 1970.-215с.
20.Ковалев А. И., Войленко В. В. Маркетинговый анализ. М., Центр экономики и маркетинга, 1996.
21.Конноли Томас, Бегг Каролин. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. — М.: Вильямс, 2000. – 1111 с.
22.Культин Н.Б. Delphi 6: Программирование на OBJECT PASCAL. — М.: Бином, 2001. — 526 с.
23.Культин Н.Б. Delphi 7: Программирование на OBJECT PASCAL. — М.: Бином, 2003. — 535 с.
24.Культин Н.Б. Delphi 7: Программирование на OBJECT PASCAL. — М.: Бином, 2003. — 535 с.
25.Магнус Я.Р., Катышев П.К., Пересецкий А.А. Эконометрика. Начальный курс. М., Дело, 1997
26.Маклаков С.В. BPwin и ERwin. CASE-средства разработки информационных систем. — М.: Диалог-Мифи, 2001. — 304 с.
27.Матвеева В.О. Бюджетные организации: бухгалтерский учет и налогооблажение. –Харьков: Фактор, 2001. – 566с.
28.Нестандартные приемы программирования на Delphi. — СПб.: БХВ-Петербург, 2005. — 560 с : ил.
29.Принципы проектирования и разработки программного обеспечения. Учебный курс MCSD: Скотт Ф. Уилсон, Брюс Мэйплс, Тим Лэндгрейв. – М: Русская редакция, 2002. – 736стр.
30.Проектирование экономических информационных систем: Учебник/Г.Н.Смирнова, А.А.Сорокин, Ю.Ф.Тельнов. – М: Финансы и статистика, 2003. – 512стр.
31.Сухарев М. В. Основы Delphi. Профессиональный подход. СПб.: Наука и техника, 2004. – 600 с.
32.Турчин С. Обзор АСУП для малого бизнеса. Функциональные особенности // Компьютерное обозрение № 17 (286), 2001. с.22-27. // www.ITC-UA.COM
33.Фатрелл Р., Шафер Д. Шафер Л. Управление программными проектами: достижение оптимального качества при минимуме затрат. М.: «Вильямс», 2003. – 1128с.
34.Черников А. Поздняков В. От бухгалтерии под Windows к открытым Unix-системам // Компьютерное обозрение № 34 (402), 2003. с.22-27. www.ITC-UA.COM
35.Шумаков П.В., Фаронов В.В. Delphi 5. Руководство разработчика баз данных. — М.: Нолидж, 2000. — 635 с.
36.[Электронный ресурс]. 1С: Документооборот. Электронный документооборот на платформе 1С. Метод доступа: http://www.abissoft.com/soft/workflow/.
37.[Электронный ресурс]. 1С: Обзор систем электронного документооборота Метод доступа: http://www.ixbt.com/soft/sed.shtml.

Вопрос-ответ:

Какая информация содержится в технико-экономической характеристике предметной области и предприятия?

Технико-экономическая характеристика предметной области и предприятия содержит информацию о основных технических и экономических характеристиках предприятия, его деятельности, организационной структуре управления и программной и технической архитектуре информационной системы.

Какова роль организационной структуры управления предприятием?

Организационная структура управления предприятием определяет вертикальную и горизонтальную структуру предприятия, распределение функций и ответственности между подразделениями и должностными лицами. Она позволяет оптимизировать процессы принятия решений и координации деятельности предприятия.

Что включает в себя программная и техническая архитектура информационной системы предприятия?

Программная и техническая архитектура информационной системы предприятия включает в себя набор программных модулей и компонентов, а также технические средства, необходимые для функционирования и автоматизации бизнес-процессов на предприятии.

Какие задачи решает автоматизация на предприятии?

Автоматизация на предприятии позволяет решать различные задачи, такие как управление складскими запасами, учет и управление перевозками, автоматизация процессов торговли и управление сетевыми магазинами. Это позволяет оптимизировать работу предприятия, улучшить эффективность процессов и снизить затраты.

Почему автоматизация является необходимой для предприятия?

Автоматизация является необходимой для предприятия, так как позволяет улучшить эффективность работы, сократить время выполнения задач, улучшить качество и точность выполнения операций, упростить управление и контроль за процессами на предприятии. Это в свою очередь способствует повышению конкурентоспособности и прибыльности предприятия.

Какие системы и технологии используются в автоматизированных системах торговли?

Автоматизированные системы торговли используют различные системы и технологии, такие как электронная коммерция, системы управления товарными запасами, системы управления продажами и т. д. Они позволяют автоматизировать процессы заказа, оплаты, доставки и учета товаров.

Какие преимущества имеют сетевые магазины перед обычными магазинами?

Сетевые магазины имеют ряд преимуществ перед обычными магазинами. Во-первых, они предлагают широкий ассортимент товаров, которые можно просмотреть и купить онлайн. Во-вторых, они работают круглосуточно, что позволяет совершать покупки в удобное время. В-третьих, они предлагают удобную систему доставки товаров прямо к дверям покупателя.

Какие задачи автоматизируются в сфере логистических перевозок?

В сфере логистических перевозок автоматизируются такие задачи, как планирование маршрутов, управление транспортными средствами, отслеживание грузов, учет и оптимизация затрат на перевозки. Автоматизация позволяет повысить эффективность работы и сократить затраты предприятия.

Какие характеристики предприятия и его деятельности рассматриваются в технико-экономической характеристике?

В технико-экономической характеристике предприятия рассматриваются такие характеристики, как объем производства, структура производства, технические характеристики используемого оборудования, затраты на производство и управление, доходы и прибыль предприятия. Это позволяет оценить эффективность и рентабельность деятельности предприятия.

Какая организационная структура управления может быть у предприятия?

У предприятия может быть различная организационная структура управления, включающая руководителей разных уровней, отделы и подразделения. Например, может использоваться иерархическая структура с вертикальным распределением полномочий и ответственности, или функциональная структура, где разные подразделения отвечают за определенные функции предприятия.