Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Проектирование реализации операций бизнес-процесса «Запасы-склад (приходование товара)»

Содержание:

ВВЕДЕНИЕ

Целью работы является проектирование реализации операций бизнес-процесса «Запасы-склад (приходование товара)».

Для того чтобы автоматизировать учет складских операций и реализацию продукции, необходимо решить следующие задачи:

1. Обосновать использование вычислительной техники;

2. Обосновать разработки по всем видам обеспечения;

3. Построить инфологическую модель;

4. Охарактеризовать входную, результатную информацию;

5. Реализовать выбранный вариант проекта;

ГЛАВА 1. АНАЛИТИЧЕСКАЯ ЧАСТЬ

Выбор комплекса задач автоматизации

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

Во время проверки отчетов материально ответственных лиц бухгалтер обязан установить:

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

Характеристика документооборота, возникающего при решении задачи

ООО «Димате – Пром», производимое мебель (мебельные комплектующие), приобретает материалы в большом количестве, перерабатывает их и реализует готовую продукцию. Сложная технологическая цепочка требует тщательного учета поступающих материалов и реализуемой готовой продукции со склада.

Учет материалов является важной частью учета на складе ООО «Димате – Пром». Бухгалтерский учет призван контролировать движение материальных ценностей, а также готовой продукции. Для учета в условиях современной экономики необходимо автоматизировать учет складских операций и реализации продукции. В ООО «Димате – Пром» существует еще много недостатков в учете движения товарно - материальных ценностей. Учет ведется в суммовом выражении. Это не позволяет видеть количество запасов по всему ассортименту. Заведующий складом должен постоянно видеть остатки на складе предприятия по всем наименованиям, чтобы регулировать поступление материалов, проводить работу по дополнительному закупу материалов, запасы которых минимальны.

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

Отсутствие автоматизации процессов учета складских запасов приводит к нерациональному использованию трудовых и финансовых ресурсов.

Недостатками ведения учета складских операций и реализации продукции в настоящее время на предприятии ООО «Димате – Пром» является то, что бухгалтерский учет ведется вручную, что замедляет и делает более трудоемкой деятельность бухгалтера и работника склада.

Движение материалов от поставщика на склад ООО «Димате – Пром» оформляется сопроводительными документами, предусмотренными условиями поставки и правилами перевозки грузов: накладной и счетом – фактурой.

На предприятии приходит большой объем сопроводительной документации, в частности накладных. В накладных бывает до 30 наименований.

Накладная ОКУД 0315003 выступает основанием для оприходования материальных ценностей. Расходным документом является накладная ОКУД 0330212, которая выписывается материально – ответственным лицом при оформлении отпуска готовой продукции со склада. В накладной указываются номер и дата выписки; наименование фирмы поставщика и фирмы получателя; наименование и краткое описание продукции, ее количество (в единицах), цена и общая сумма (с учетом налога на добавленную стоимость) отпуска продукции. Накладная выписывается в двух экземплярах, подписывается материально – ответственными лицами, сдавшими и принявшими продукцию, и заверяется круглыми печатями организаций поставщика и получателя. Один экземпляр остается и у поставщика продукции, второй отдается получателю.

Также много проходит счетов – фактур. Содержание счета- фактуры аналогично содержанию накладной, и также выписывается в двух экземплярах (один остается у поставщика, второй отдается получателю).

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

Для правильной организации учета складских операций и реализации продукции необходимы следующие задачи:

- учет поступления материалов на склад в разрезе поставщиков и партий;

- учет движения материалов внутри предприятия (между складом и производством);

- учет реализации готовой продукции;

- учет расчетов с поставщиками за материалы в разрезе партий и поставок.

Рассмотрим каждую задачу в отдельности.

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

Учет движения материалов внутри предприятия необходим для того, чтобы знать:

- какие материалы, и в каком количестве передаются в производство;

- каковы остатки материалов и на складе и в производстве.

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

Учет расчетов с поставщиками за материалы поможет избежать излишне перечисленных денежных средств и создания задолженности с поставщиками.

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

Характеристика существующих бизнес –процессов

IDEF0 - Function Modeling – методология функционального моделирования и графическая нотация, предназначенная для формализации и описания бизнес - поцессов . Отличительной особенностью IDEF0 является её акцент на соподчинённость объектов. В IDEF0 рассматривается логические отношения между работами, а не их временная последовательность.

Рисунок 1.1 – Основная функция системы

Рисунок 1.2 – Декомпозиция 1 уровня процесса А0

Рисунок 1.3 – Декомпозиция 1 уровня процесса А1

Рисунок 1.4 – Декомпозиция 1 уровня процесса А2

Рисунок 1.5 – Декомпозиция 2 уровня процесса А1

Диаграмма дерева узлов показывает иерархию работ в модели и позволяет рассмотреть всю модель целиком, но не показывает взаимосвязи между работами. Процесс создания модели работ является итерационным, следовательно, работы могут менять свое расположение в дереве узлов многократно. Чтобы не запутаться и проверить способ декомпозиции, следует после каждого изменения создавать диаграмму дерева узлов. Впрочем, BPwin имеет мощный инструмент навигации по модели - Model Explorer, который позволяет представить иерархию работ и диаграмм в удобном и компактном виде, однако этот инструмент является составляющей стандарта IDEF0.

Рисунок 1.6 – Диаграмма дерева узлов

Так же отображаются все сигналы управления, которые на DFD (Диаграмме Потоков Данных) не отображались. Данная модель является одной из самых прогрессивных моделей и используется при организации бизнес проектов и проектов, основанных на моделировании всех процессов как административных, так и организационных.

Рисунок 1.7 – Начальная контекстная диаграмма

Рисунок 1.8 – Диаграмма потоков данных

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

Рисунок 1.9 – Начальная диаграмма

Рисунок 1.10 – Декомпозиция 1 уровня процесса А0

IDEF1X (IDEF1 Extended) — Data Modeling — методология построения реляционных структур (баз данных), относится к типу методологий «Сущность-взаимосвязь» (ER — Entity-Relationship).

Рисунок 1.11 – Логическая модель представления данных

Обоснование проектных решений по информационному обеспечению

Информационное обеспечение (ИО) – совокупность единой системы классификации и кодирования информации, унифицированных систем документации, схем информационных потоков, циркулирующих в организации, методология построения баз данных. Данная подсистема предназначена для своевременного представления информации, принятия управленческих решений.

ИО отдела Выписка представляет собой информационную модель данного объекта.

ИО автоматизированных информационных систем состоит из внемашинного (информация, которая воспринимается человеком без каких-либо технических средств) – это классификаторы технико-экономической информации и документы; и внутримашинного ИО (совокупность всех данных, записанных на машинных носителях, сгруппированных по определенным признакам) – это макеты / экранные формы для ввода первичных данных в ЭВМ или ввода результатной информации.

При организации БД учета материальных ценностей и готовой продукции целесообразно использовать следующие типы баз данных.

Основная база – это БД, в которой каждая запись хранит информацию, не имеющую никакой связи с другими записями этой же базы данных. Основные БД не могут иметь связи друг с другом посредством своих полей. Они могут соотноситься только путем разделения дополнительной базы, которая называется базой связи. Записи из основных БД могут быть удалены, модифицированы, запакованы или упорядочены. К основным базам данных в системе относятся базы, заполняемая при поступлении первичных приходных документов и база, содержащая информацию первичных расходных документов.

Подчиненная база – это БД, которая позволяет хранить данные, относящиеся к какой-либо записи основной базы. Записи из этой базы могут модифицироваться и удаляться. Подчиненной базой в системе является база данных платежных документов.

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

Организация связей между базами данных требует определенных правил обращения с записями:

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

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

Обоснование проектных решений по программному обеспечению

Подсистема «Программное обеспечение» (ПО) включает совокупность компьютерных программ, описаний и инструкций по их применению на ЭВМ. ПО делится на два комплекса: общее (операционные системы, операционные оболочки, компиляторы, интерпретаторы, программные среды для разработки прикладных программ, СУБД, сетевые программы и т.д.) и специальное (совокупность прикладных программ, разработанных для конкретных задач в рамках функциональных подсистем, и контрольные примеры).

К общесистемному программному обеспечению относятся программы, рассчитанные на широкий круг пользователей и пред¬назначенные для организации вычислительного процесса и реше¬ний часто встречающихся задач обработки информации. Они по¬зволяют расширить функциональные возможности ЭВМ, автома-тизировать планирование очередности вычислительных работ, осуществлять контроль и управление процессом обработки данных, а также автоматизировать работу программистов. К данному классу ПО можно отнести операционные системы, интегрированные средства управления задачами.

MS Access в настоящее время является одной из самых популярных среди настольных программных систем управления базами данных. Среди причин такой популярности следует отметить:

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

- глубоко развитые возможности интеграции с другими программными продуктами, входящими в состав Microsoft Office;

- богатый набор визуальных средств обработки.

Нельзя не отметить, что, существенной причиной такого широкого распространения MS Access является и мощная рекламная поддержка, осуществляемая фирмой Microsoft.

ГЛАВА 2. ПРОЕКТНАЯ ЧАСТЬ

Информационная модель и её описание

Графическое представление информационной модели отражено на рис. 2.1.

Рисунок 2.1 – Информационная модель системы

Характеристика нормативно-справочной, входной и оперативной информации

К нормативно – справочной информации, используемой в АИС учета складских операций и реализации продукции, относятся:

  • Справочник Поставщики;
  • Справочник Материалы;
  • Справочник Аббревиатуры;
  • Справочник Расчетные Счета;
  • Справочник Единицы измерения;
  • Справочник Товары;
  • Справочник Клиенты.

Основными функциями Справочников являются:

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

Характеристика результатной информации

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

- Печать приходной накладной;

- Печать товарной накладной;

- Печать счета - фактуры;

- Печать журнала по приходу;

- Печать журнала по расходу;

- Ведомость по остаткам на складе;

- Поиск документа по дате;

- Поиск документа по поставщику;

- Поиск документа по клиенту;

- Поиск документа по номеру;

В результате учета поступления материальных ценностей на склады предприятия получаем машинный выходной документ: Приходная накладная и счет-фактура. Эти документы получаются в результате обработки информации из таблиц Приход, ПриходМЦ, Справочник Поставщики, Справочник Материалы. Эти документы остаются на фирме и подшиваются в отдельную папку для ведения отчетности по учету поступления материалов.

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

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

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

Журнал документов формируется в результате обработки информации таблиц Расход, РасходГП и Журнал с помощью запроса Журнал документов по расходу.

При разработке автоматизированного решения задачи учета движения ТМЦ на складах получаем выходной машинный документ Ведомость по остаткам на складе. Данная ведомость получается в результате обработки информации хранящейся в таблице Остатки. Данные этой таблицы обновляются при каждом поступлении товара и при каждом расходе, поэтому они остаются актуальными на любой момент времени.

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

Общие положения (дерево функций и сценарий диалога)

Основным действующим лицом в разработанной системе является сотрудник отдела. Дерево функций для пользователя представлено на рисунке 2.2.

Рисунок 2.2 - Дерево функций системы сотрудника

Сценарии диалога, формирующийся на основе дерева функций, приведен на рисунке 2.3.

Рисунок 2.3 - Сценарий диалога для пользователя

Характеристика базы данных

Рисунок 2.4 - Схема данных

Структурная схема пакета (дерево вызова программных модулей)

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

  • справочники
  • документы
  • отчеты
  • обработки
  • регистры.

Описание программных модулей

Взаимодействие пользователя с системой осуществляется в диалоговом режиме. Основным связующим элементом разрабатываемой АИС является система меню, состоящего из главного меню и подменю (рис. 22). Разработанная система является меню - ориентированной.

При выборе меню Документы по приходу (Приложение №10) пользователь попадает в подменю, в котором определены:

    • Приходные накладные (Приложение №14, форма №6);
    • Поиск документов
    • Назад.

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

Выбрав пункт меню Поиск документов (Приложение №15, форма №9); пользователь попадает в форму, где он может найти нужный документ по трем параметрам:

    1. Поиск по № документа;
    2. Поиск по дате документа;
    3. Поиск по поставщику.

Обработанная информация выдается в виде отчета.

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

При выборе меню Документы по расходу (Приложение №11, форма №3) пользователь попадает в подменю, в котором определены:

    • Перемещение на производство (Приложение №15, форма №8);
    • Товарные накладные (Приложение №14, форма №7);
    • Поиск документов (Приложение №16, форма №10);
    • Назад.

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

Пункт меню Поиск документов имеет те же параметры что и Поиск документов в меню Приходные документы. То есть поиск осуществляется по трем основным параметрам: поиск по № документа, поиск по дате документа и поиск по клиенту.

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

По мере ввода с первичных документов данные сохраняются в соответствующих БД, что обеспечивает решение задачи по учету информации.

При выборе меню Справочники (Приложение №12, форма №4) пользователь попадает в подменю, в котором определены:

    • Поставщики;
    • Клиенты;
    • Материалы;
    • Продукция;
    • Назад.

Пункт меню Поставщики или Клиенты (Приложение №16, форма №11; Приложение №17, форма №12) позволяют войти в форму, с помощью которой можно завести нового контрагента или изменить уже занесенные данные. При занесении нового контрагента необходимо указать форму собственности организации в поле аббревиатура. Аббревиатура можно выбрать из предложенного списка, а при необходимости также можно завести новый вид аббревиатуры, нажав на кнопку справа от поля. Дальше необходимо ввести наименование контрагента, его адрес, ИНН и расчетный счет. Расчетный счет выбирается из поля со списком, при необходимости можно завести новый расчетный счет, нажав на кнопку справа от поля. Это вызовет новый справочник Расчетные счета, где необходимо будет указать новый банк, город банка, БИК, Корреспондентский счет и расчетный счет.

При выборе пункта меню Материалы или Продукция (Приложение №17, форма №13; Приложение №18, форма №14) пользователь попадает в форму, в которой он может завести новый вид материала или продукции или внести изменения в уже занесенные позиции. При этом необходимо забить наименование материала или продукции, единицу измерения, цену и при необходимости комментарий. Поле Единица измерения имеет список из которого нужно только выбрать подходящую позицию. Для занесения новой единицы измерения нужно нажать на кнопку, расположенную рядом с данным полем. При нажатии на кнопку появится новый справочник Единицы измерения, куда и заносится новый вид.

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

Пункт меню Отчеты предназначен для формирования на экране или в виде распечатки на принтере отчетов установленной формы.

При выборе меню Отчеты (Приложение №13, форма №5) пользователь попадает в подменю, в котором определены:

    • Журнал по приходу (Приложение №18, форма №15);
    • Журнал по расходу (Приложение №19, форма №16);
    • Остатки на складе;
    • Назад.

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

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

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

В пункте меню О программе содержится краткая информация о данной программе.

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

Для реализации АИС должны быть разработаны алгоритмы для решения каждой из поставленных задач. На рис. 19 приведен алгоритм оприходования материалов, передачи их в производство, а также реализации готовой продукции.

Начало

Ввод данных о

поступивших

материалах

Поля

заполнены в соответствии Нет

с требованиями

Да

Запись сведений

в базу данных

Ввод данных о

переданных в производство

материалах

Поля

заполнены в соответствии Нет

с требованиями

Да

Запись сведений

в базу данных

Ввод данных об

отгрузке готовой

продукции

Поля

заполнены в соответствии Нет

с требованиями

Да

Запись сведений

в базу данных

Конец

Рисунок 2.5 - Алгоритм оформления складских операций

Учет поступления материалов.

На основании реальной приходной накладной данные заносятся в компьютер. В накладной указываются: Номер документа, дата, получатель, поставщик, наименование материала, количество, цена и итоговая сумма. Эти данные необходимы для ведения учета и формирования различных отчетов. Данные заносятся в виде документа «Поступление МЦ», хранится и редактируется в таблице Приход. Заносятся по мере поступления материалов на склад. От пользователя требуется внимательность при занесении документов. Также приход учитывается и непосредственно на складе кладовщиком, поэтому проконтролировать информацию можно путем сравнения данных со склада и данных по компьютеру, при несоответствии этих данных необходимо будет поднять исходный документ.

Учет реализации готовой продукции.

При отгрузке готовой продукции посреднику необходимо оформить расходные документы. Расходными документами являются счет-фактура и товарная накладная. В этих документах также как и в приходных указываются: Номер документа, дата, получатель, поставщик, наименование готовой продукции, количество, цена и итоговая сумма. Документы «Товарная накладная» и «Счет-фактура», хранится и редактируется в таблице Расход. Данные по расходу также учитываются и на складе, поэтому в последствии легко это проверить. Для пользователя необходимо проявить внимательность при занесении количества.

Отчеты по остаткам материалов и готовой продукции.

Исходными данными являются данные из таблиц Приход и Расход. В этом отчете учитывается все движение материалов и готовой продукции за определенный период времени. В нем отражается наименование материалов и готовой продукции, поступившее количество, отпущенное количество и итоговое количество. Он может выполнятся за год, за месяц или каждодневно.

Отчет по документам.

Отчет позволяет получить список документов. Можно выбрать виды документов, включаемых в отчет, и установить фильтр по реквизитам документа, включая фирму, контрагента. Для каждого документа в списке выводится следующая информация: номер в списке, дата, вид документа, номер, сумма, наименование клиента. Пользователю необходимо выбрать вид документа, дату, можно выбрать контрагента (по умолчанию отчет формируется по всем контрагентам).

Ведение справочников.

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

Рассмотрим систему меню автоматизируемой системы рис. 2.7.

Рисунок 2.7 - Система меню автоматизированной системы

Схема использования комплекса программ представлена на рис. 2.8

2 4

3

1

6

5

Рисунок 2.8 - Схема использования комплекса программ

Таблица 2.1

Назначение Использует данные

1 Проверка правильности заполнения ----

полей формы и запись введенной

информации о поступившем

материале в базу данных

2 Корректировка данных о материале 1

3 Передача материалов в производство 1

4 Изготовление готовой продукции 1, 2, 3

  1. Передача готовой продукции из

производства на склад 4

6 Отгрузка готовой продукции 4, 5

Приходные документы Сбор данных сотрудником

Расходные документы Ввод данных в ЭВМ

Проверка на соответствие правильности

ввода данных

Просмотр информации на экране

Запись данных в базу или распечатка

Рисунок 2.9 - Схема технологического процесса сбора, передачи, обработки и выдачи информации

    1. Контрольный пример реализации проекта и его описание

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

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

Рисунок 2.10 - Блок-схема основных модулей программы

Работа с программой начинается с вывода информационного окна и активизации системы меню. Работа программы осуществляется по диалоговому и событийному режиму, при этом по диалогом понимается предоставление пользователю нескольких альтернатив и обработка его выбора. В диалоговую систему входят главное меню с соответствующими всплывающими подменю а также диалоговые окна. Под событиями понимаются процессы активизируемые пользователем (например - нажатие функциональных клавиш), а также программные события – получение определенным полем фокуса редактирование или потеря фокуса ввода. На основании данных событий активизируются процедуры контроля допустимости данных.

Модуль Основное меню предназначен для запуска основных процедур программы и завершения работы с программой. Схема основного меню приведена на рисунке 2.10.

Модуль работы со справочниками включает в себя семь справочников:

    • Справочник Материалы;
    • Справочник Продукция;
    • Справочник Единицы измерения;
    • Справочник Поставщики;
    • Справочник Клиенты;
    • Справочник Аббревиатуры;
    • Справочник Расчетные счета;

Назначение данного модуля является поиск и просмотр информации по материалам и продукции, а также по контрагентам, и подготовка справочной информации.

Информационной базой данного модуля являются таблицы: Справочник_Абревиатуры, Справочник_Единицы, Справочник_Клиенты, Справочник_РасчетныеСчета, Справочник_Продукция, Справочник_Материалы, Справочник_Поставщики.

Структуру этих таблиц можно увидеть в Приложении № 7 и № 8 на рис. 23 – 29. Данные в информационную базу заносятся с помощью специальных форм, которые вызываются из главного меню программы.

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

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

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

Формы для занесения прихода, расхода, вызываются из главного меню программы. Информационной базой данного модуля являются таблицы Приход, ПриходМЦ, Расход, РасходГП.

Структура этих таблиц приведена на рис. 14, 15 , 17, 18.

Модуль формирование отчетов выполняет функции по формирования печатных форм. В модуле хранятся шаблоны для печати нормативных документов таких как счет фактура, накладные, и т.д. Так же хранятся шаблоны отчетов таких как: «Документы по приходу », «Документы по расходу», складских отчетов таких как: «Остатки на складе».

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

Система построения запросов в Access не имеет себе равных среди СУБД массового использования. Практически все виды запросов, которые можно построить программно, в Access можно построить визуально. В Access предоставляется возможность создавать самые разнообразные запросы выборки, причем они могут модифицировать исходные данные. Также представлена развитая система фильтров. Фильтры – одна из наиболее сильных сторон Access. Фильтры строятся с помощью запросов или установкой критериев.

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

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

Для создания Отчета Журнал по расходу используется запрос на выборку Журнал по расходу, который выбирает из таблицы «Журнал» Дату, номер, сумму и клиента документов, соответствующих заданным параметрам пользователя.

Для создания отчета Остатки используется запрос Остатки на складе, который производит выборку из таблицы Остатки. В отчете указываются наименование, количество на складе и единица измерения. Пользователь может сформировать этот отчет, выбрав в меню Отчеты – Остатки на складе.

Информационной базой модуля Формирование отчетов являются таблицы Журнал, Остатки, Справочник_Продукция, Справочник_Материалы, Приход, ПриходМЦ, Расход, РасходГП.

Рисунок 2.11 - "Главная кнопочная форма"

Рисунок 2.12 - " Документы по приходу"

Рисунок 2.13 - "Документы по расходу"

Рисунок 2.14 - "Справочники"

Рисунок 2.15 - "Отчеты"

Рисунок 2.16- "Приходная накладная"

Рисунок 2.17 - "Расходная накладная"

Рисунок 2.18 - "Перемещение в производство"

Рисунок 2.19 - "Поиск по поставщику"

Рисунок 2.20 - "Поиск по клиенту"

Рисунок 2.21 - "Справочник Поставщики"

Рисунок 2.22 - "Справочник Клиенты"

Рисунок 2.23 - "Справочник Материалов"

Рисунок 2.24 - "Справочник Продукции"

Рисунок 2.25 - "Журнал по приходу"

Рисунок 2.26 - "Журнал по расходу"

ЗАКЛЮЧЕНИЕ

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

Крупные компании стремятся моментально реализовать технические новшества в аппаратных средствах, однако для успешной реализации крупных систем управления требуется применить нестандартный подход, творческое решение. Использование основ эргономики при проектировании, реализации и внедрении системы управления позволит решить многие «психологические» и «технологические» проблемы предприятий.

В результате проделанной работы было автоматизировано два рабочих места отдела Выписка. Стало возможным снижение числа служащих, занятых в работе по учёту складских операций и реализации продукции в ООО Димате – Пром», с четырёх до двух человек. Оставшиеся два сотрудника загружены на половину, что позволяет использовать их свободное от учёта время для других целей. Значительно уменьшилось количество допускаемых ошибок при проведении стандартных операций оперативного учета.

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

Далее проведено обоснование использования вычислительной техники для решения поставленных задач. В этой части подробно описано, какие проблемы позволит решить автоматизация работы бухгалтера. Здесь сформулированы цели использования вычислительной техники для рассматриваемого комплекса задач. Рассмотрено преимущество внедрения автоматизированной системы над ручным трудом. Приведены критерии выбора технических средств. А также даны примерный состав и основные характеристики ПЭВМ, предназначенной для решения рассматриваемого комплекса экономических задач.

На следующем этапе проведена характеристика организации обработки информации. Здесь дается описание как будут реализованы решаемые задачи в проектируемой системе. Дана характеристика расчетов, выполняемых на ЭВМ, краткая характеристика результатов (название ма¬шинных документов, форм отображения на экранах дисплеев и их назначение).

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

Затем дается обоснование использования информационного обеспечения. В этом разделе рассмотрены основные принципы проектирования информационного обеспечения, дается обоснование методов организации информационной базы в па¬мяти ЭВМ.

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

Затем проведено обоснование разработок по технологии сбора, передаче, обработке и выдаче информации. Здесь идет обоснование выбора способа сбора исходной информа¬ции, обоснование метода передачи информации в рамках АСУ объекта или в вышестоящие уровни системы и обоснование методов обеспечения достоверности ин-формации до ввода в ЭВМ.

В ходе проектирования автоматизации комплекса задач построена инфологическая модель и дано ее описание.

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

Затем приводится описание структуры диалога и его содержания. При разработке структуры диалога была спроектирована работа с первичными документами, со справочниками и отчетами.

Далее рассмотрена схема взаимосвязи программных модулей и информационных файлов. Дано соответствующее описание работы данной схем.

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

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

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

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

  1. ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила оформления.
  2. ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов.
  3. ГОСТ 19.402-78 ЕСПД. Описание программы.
  4. ГОСТ 19.505-79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению.
  5. ГОСТ 34.201-89. Информационная технология. Комплекс стандартов на автоматизированные системы. Виды, комплектность и обозначение документов при создании автоматизированных систем.
  6. ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и сис¬тем. Условные обозначения и правила выполнения.
  7. Шигина Н.А. Разработка БД в среде ACCESS/ Метод.разработка. – Пенза: изд. ПТИ, 2001.
  8. Карпова Т.С. Базы данных: модели, разработка, реализация. – СПб.: Питер, 2001 – 304с.
  9. Базы данных: Учебник для вузов / Под ред. Проф. А.Д.Хомоненко. Изд. 2-е. – МПб.: КОРОНА принт, 2002. – 672с.
  10. Дж.Вейскас. Эффективная работа с Microsoft Access 2000. – С.-Птб. : Питер, 2000. – 1040с. ACCESS 7.0 для Windows 95. - Киев: BHV, 1996. – 480с.
  11. Джонс Дж. ACCESS 97. Книга ответов. – С.ПТБ: изд. ПИТЕР, 1998.
  12. Кэмпбелл М. ACCESS. Ответы. – М.: БИНОМ, 1996.
  13. Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения. ГОСТ 19.701-90 (ИСО 5807-85) / Государственный комитет СССР по управлению качеством продукции и стандартам, 01.01.1992.
  14. Автоматизированные информационные системы, базы и банки данных. Вводный курс: Учебное пособие, М.: Гелиос АРВ, 2007. - 368 с., ил
  15. Баженова И. Ю. , Основы проектирования приложений баз данных, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2008 г., , 328 стр.
  16. Вендров А.М., CASE-технологии. Современные методы и средства проектирования информационных систем - М.: Финансы и статистика, 2007 г, 456 стр.
  17. Гашков С. Б., Э. А. Применко, М. А. Черепнев Криптографические методы защиты информации, М, Издательство: Академия, 2010 г., 304 стр.
  18. Гвоздева Т. В., Б. А. Баллод, Проектирование информационных систем, М, Издательство: Феникс, 2009 г., 512 стр.
  19. Голицына О. Л., И. И. Попов, Н. В. Максимов, Т. Л. Партыка, Информационные технологии, М, Издательство Инфра-М, 2009 г., 608 стр.
  20. Дейв Крейн, Эрик Паскарелло, Даррен Джеймс. AJAX в действии: Учебник – М.: Вильямс, 2007. 450 – 490 с.
  21. Дэвид Флэнаган. JavaScript. Подробное руководство: Учебник – М.: Символ Плюс, 2008. 243 – 249 с.
  22. Емельянова Н. З., Партыка Т. Л., И. И. Попов, Проектирование информационных систем, М, Издательство: Форум, 2009 г., 432 стр.
  23. Емельянова Н. З., Т. Л. Партыка, И. И. Попов, М, Издательство Форум, 2007 г., , 416 стр.
  24. Илюшечкин В. М. , Основы использования и проектирования баз данных, М, Издательство Юрайт, 2010 г., 224 стр.
  25. Котляров В. П., Т. В. Коликова, Основы тестирования программного обеспечения, Издательства: Интернет-университет информационных технологий, Бином. Лаборатория знаний, 2009 г., 288 стр.
  26. Кристиан Дари, Богдан Бринзаре, Филип Черчез-Тоза, Михай Бусика. AJAX и PHP. Разработка динамических веб-приложений: Учебник – М.: Символ Плюс, 2007, 289 стр.
  27. Кузин А. В., С. В. Левонисова, Базы данных, М, Издательство: Академия, 2008 г., 320 стр.
  28. Кузнецов С. Д., Основы баз данных, М, Издательства: Бином. Лаборатория знаний, Интернет-университет информационных технологий, 2007 г., 488 стр.
  29. Молчанов А. Ю., Системное программное обеспечение, М, Издательство: Питер, 2010 г., 400 стр.

ПРИЛОЖЕНИЕ А – ЛИСТИНГ ПО

class TFormComputerTehnika : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridComputerTehnika;

TDataSource *DataSourceComputerTehnika;

TADODataSet *ADODataSetComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TDataSource *DataSourceVidTehniki;

TAutoIncField *ADODataSetVidTehnikiCod;

TWideStringField *ADODataSetVidTehnikiName;

TStringField *ADODataSetComputerTehnikaNameVidTehniki;

TBooleanField *ADODataSetComputerTehnikaProdan;

TGroupBox *GroupBox1;

TLabel *Label1;

TDBEdit *DBEditName;

TLabel *Label2;

TDBEdit *DBEditCena;

TLabel *Label3;

TDateTimePicker *DateTimePickerDataPostup;

TLabel *Label4;

TDBMemo *DBMemoOpisanie;

TLabel *Label5;

TDBLookupComboBox *DBLookupComboBoxVidTehniki;

TButton *ButtonFoto;

TDBImage *DBImageFoto;

TOpenDialog *OpenDialogFoto;

TPanel *Panel1;

TButton *ButtonAdd;

TButton *ButtonDelete;

TButton *ButtonChange;

TButton *ButtonExit;

TPanel *Panel2;

TButton *ButtonPost;

TButton *ButtonOtmen;

void __fastcall ButtonFotoClick(TObject *Sender);

void __fastcall FormShow(TObject *Sender);

void __fastcall ButtonAddClick(TObject *Sender);

void __fastcall ButtonDeleteClick(TObject *Sender);

void __fastcall ButtonChangeClick(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall ButtonPostClick(TObject *Sender);

void __fastcall ButtonOtmenClick(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormComputerTehnika(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormComputerTehnika *FormComputerTehnika;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef DiagrammaOkladH

#define DiagrammaOkladH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <Chart.hpp>

#include <DB.hpp>

#include <DbChart.hpp>

#include <DBGrids.hpp>

#include <ExtCtrls.hpp>

#include <Grids.hpp>

#include <TeEngine.hpp>

#include <TeeProcs.hpp>

#include <Series.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormDiagrammaOklad : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridManager;

TADODataSet *ADODataSetManager;

TDataSource *DataSourceManager;

TAutoIncField *ADODataSetManagerCod;

TWideStringField *ADODataSetManagerFIO;

TBCDField *ADODataSetManagerOklad;

TDateTimeField *ADODataSetManagerDataRozhd;

TWideStringField *ADODataSetManagerPasport;

TWideStringField *ADODataSetManagerPassword;

TIntegerField *ADODataSetManagerCodDolgnost;

TDBChart *DBChartManager;

TPieSeries *Series1;

TStringField *ADODataSetManagerFIO2;

TButton *ButtonExit;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

void __fastcall FormShow(TObject *Sender);

void __fastcall ADODataSetManagerCalcFields(TDataSet *DataSet);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormDiagrammaOklad(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormDiagrammaOklad *FormDiagrammaOklad;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef DMH

#define DMH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

//---------------------------------------------------------------------------

class TDM1 : public TDataModule

{

__published: // IDE-managed Components

TADOConnection *ADOConnection1;

private: // User declarations

public: // User declarations

__fastcall TDM1(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TDM1 *DM1;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef DolgnostH

#define DolgnostH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <DBCtrls.hpp>

#include <ExtCtrls.hpp>

#include <Mask.hpp>

//---------------------------------------------------------------------------

class TFormDolgnost : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridDolgnost;

TADODataSet *ADODataSetDolgnost;

TDataSource *DataSourceDolgnost;

TAutoIncField *ADODataSetDolgnostCod;

TWideStringField *ADODataSetDolgnostName;

TDataSource *DataSourceManager;

TADODataSet *ADODataSetManager;

TGroupBox *GroupBox1;

TDBEdit *DBEditName;

TPanel *Panel1;

TButton *ButtonAdd;

TButton *ButtonDelete;

TButton *ButtonChange;

TButton *ButtonExit;

TPanel *Panel2;

TButton *ButtonPost;

TButton *ButtonOtmen;

TAutoIncField *ADODataSetManagerCod;

TWideStringField *ADODataSetManagerFIO;

TBCDField *ADODataSetManagerOklad;

TDateTimeField *ADODataSetManagerDataRozhd;

TWideStringField *ADODataSetManagerPasport;

TWideStringField *ADODataSetManagerPassword;

TIntegerField *ADODataSetManagerCodDolgnost;

void __fastcall ButtonAddClick(TObject *Sender);

void __fastcall ButtonDeleteClick(TObject *Sender);

void __fastcall ButtonChangeClick(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall ButtonPostClick(TObject *Sender);

void __fastcall ButtonOtmenClick(TObject *Sender);

void __fastcall FormShow(TObject *Sender);

void __fastcall DBEditNameKeyPress(TObject *Sender, char &Key);

private: // User declarations

public: // User declarations

__fastcall TFormDolgnost(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormDolgnost *FormDolgnost;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef MainAISH

#define MainAISH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <Menus.hpp>

#include <ExtCtrls.hpp>

#include <jpeg.hpp>

//---------------------------------------------------------------------------

class TFormMainAIS : public TForm

{

__published: // IDE-managed Components

TMainMenu *MainMenu1;

TMenuItem *N1;

TMenuItem *N2;

TMenuItem *N3;

TMenuItem *N4;

TMenuItem *N5;

TMenuItem *N6;

TMenuItem *N7;

TMenuItem *N8;

TPopupMenu *PopupMenu1;

TMenuItem *N9;

TMenuItem *N10;

TMenuItem *N12;

TMenuItem *N13;

TMenuItem *N14;

TMenuItem *N11;

TMenuItem *N15;

TImage *Image1;

void __fastcall N8Click(TObject *Sender);

void __fastcall N4Click(TObject *Sender);

void __fastcall N5Click(TObject *Sender);

void __fastcall N3Click(TObject *Sender);

void __fastcall N6Click(TObject *Sender);

void __fastcall N9Click(TObject *Sender);

void __fastcall N10Click(TObject *Sender);

void __fastcall N12Click(TObject *Sender);

void __fastcall N13Click(TObject *Sender);

void __fastcall N14Click(TObject *Sender);

void __fastcall N11Click(TObject *Sender);

void __fastcall N15Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormMainAIS(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormMainAIS *FormMainAIS;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef MainComputerH

#define MainComputerH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <Buttons.hpp>

//---------------------------------------------------------------------------

class TFormVxod : public TForm

{

__published: // IDE-managed Components

TLabel *Label1;

TComboBox *ComboBoxManager;

TLabel *Label2;

TEdit *EditPassword;

TBitBtn *BitBtnExit;

TButton *ButtonVxod;

TADODataSet *ADODataSetManager;

TAutoIncField *ADODataSetManagerCod;

TWideStringField *ADODataSetManagerFIO;

TBCDField *ADODataSetManagerOklad;

TDateTimeField *ADODataSetManagerDataRozhd;

TWideStringField *ADODataSetManagerPasport;

TWideStringField *ADODataSetManagerPassword;

TIntegerField *ADODataSetManagerCodDolgnost;

void __fastcall FormShow(TObject *Sender);

void __fastcall BitBtnExitClick(TObject *Sender);

void __fastcall ButtonVxodClick(TObject *Sender);

void __fastcall EditPasswordKeyPress(TObject *Sender, char &Key);

private: // User declarations

public: // User declarations

__fastcall TFormVxod(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormVxod *FormVxod;

extern int TekManager;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef ManagerH

#define ManagerH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <ComCtrls.hpp>

#include <DB.hpp>

#include <DBCtrls.hpp>

#include <DBGrids.hpp>

#include <ExtCtrls.hpp>

#include <Grids.hpp>

#include <Mask.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormManager : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridFormManager;

TDataSource *DataSourceManager;

TADODataSet *ADODataSetManager;

TAutoIncField *ADODataSetManagerCod;

TWideStringField *ADODataSetManagerFIO;

TBCDField *ADODataSetManagerOklad;

TDateTimeField *ADODataSetManagerDataRozhd;

TWideStringField *ADODataSetManagerPasport;

TWideStringField *ADODataSetManagerPassword;

TIntegerField *ADODataSetManagerCodDolgnost;

TADODataSet *ADODataSetDolgnost;

TAutoIncField *ADODataSetDolgnostCod;

TWideStringField *ADODataSetDolgnostName;

TStringField *ADODataSetManagerNameDolgnost;

TGroupBox *GroupBox1;

TLabel *Label1;

TDBEdit *DBEditFIO;

TLabel *Label2;

TDBLookupComboBox *DBLookupComboBoxDolgnost;

TDataSource *DataSourceDolgnost;

TLabel *Label3;

TDBEdit *DBEditOklad;

TLabel *Label4;

TDBEdit *DBEditPasport;

TLabel *Label5;

TDBEdit *DBEditPassword;

TLabel *Label6;

TDateTimePicker *DateTimePicker1;

TPanel *Panel1;

TButton *ButtonAdd;

TButton *ButtonDelete;

TButton *ButtonChange;

TButton *ButtonExit;

TPanel *Panel2;

TButton *ButtonPost;

TButton *ButtonOtmen;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

void __fastcall FormShow(TObject *Sender);

void __fastcall ButtonAddClick(TObject *Sender);

void __fastcall ButtonDeleteClick(TObject *Sender);

void __fastcall ButtonChangeClick(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall ButtonPostClick(TObject *Sender);

void __fastcall ButtonOtmenClick(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormManager(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormManager *FormManager;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef OtchetManagerH

#define OtchetManagerH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormOtchetManager : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridManager;

TADODataSet *ADODataSetManager;

TDataSource *DataSourceManager;

TADODataSet *ADODataSetDolgnost;

TDataSource *DataSourceDolgnost;

TADODataSet *ADODataSetComputerTehnika;

TDataSource *DataSourceComputerTehnika;

TADODataSet *ADODataSetHistory;

TDataSource *DataSourceHistory;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

TButton *ButtonExit;

void __fastcall FormShow(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormOtchetManager(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormOtchetManager *FormOtchetManager;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef ProdanoH

#define ProdanoH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <DBCtrls.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormProdano : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridComputerTehnika;

TADODataSet *ADODataSetComputerTehnika;

TDataSource *DataSourceComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TBooleanField *ADODataSetComputerTehnikaProdan;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TDataSource *DataSourceVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TStringField *ADODataSetComputerTehnikaNameVidTehniki;

TDBImage *DBImageFoto;

TDBMemo *DBMemoOpisanie;

TButton *ButtonExit;

TButton *ButtonPrint;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

TMenuItem *N2;

TDataSource *DataSourceHistory;

TADODataSet *ADODataSetHistory;

TAutoIncField *ADODataSetHistoryCod;

TIntegerField *ADODataSetHistoryCodComputerTehnika;

TIntegerField *ADODataSetHistoryCodManager;

TDateTimeField *ADODataSetHistoryDataProdazhi;

TBCDField *ADODataSetHistoryCena;

TDateField *ADODataSetComputerTehnikaDataProdazhi;

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall DBGridComputerTehnikaCellClick(TColumn *Column);

void __fastcall FormShow(TObject *Sender);

void __fastcall ButtonPrintClick(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

void __fastcall N2Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormProdano(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormProdano *FormProdano;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef ProdazhaH

#define ProdazhaH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ComCtrls.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBCtrls.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormProdazha : public TForm

{

__published: // IDE-managed Components

TLabel *Label1;

TDateTimePicker *DateTimePickerDataProdazhi;

TGroupBox *GroupBox1;

TDBGrid *DBGridComputerTehnika;

TADODataSet *ADODataSetComputerTehnika;

TDataSource *DataSourceComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TBooleanField *ADODataSetComputerTehnikaProdan;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TButton *ButtonProdat;

TGroupBox *GroupBoxOpisanie;

TDBMemo *DBMemoOpisanie;

TDBImage *DBImageFoto;

TButton *ButtonExit;

TADODataSet *ADODataSetHistory;

TDataSource *DataSourceHistory;

TAutoIncField *ADODataSetHistoryCod;

TIntegerField *ADODataSetHistoryCodComputerTehnika;

TIntegerField *ADODataSetHistoryCodManager;

TDateTimeField *ADODataSetHistoryDataProdazhi;

TBCDField *ADODataSetHistoryCena;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

TMenuItem *N2;

void __fastcall FormShow(TObject *Sender);

void __fastcall DBGridComputerTehnikaCellClick(TColumn *Column);

void __fastcall ButtonProdatClick(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

void __fastcall N2Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormProdazha(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormProdazha *FormProdazha;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef SpravkaH

#define SpravkaH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

//---------------------------------------------------------------------------

class TFormSpravka : public TForm

{

__published: // IDE-managed Components

TMemo *MemoSpravka;

TMemo *Memo1;

TButton *ButtonExit;

void __fastcall ButtonExitClick(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormSpravka(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormSpravka *FormSpravka;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef UnitReportH

#define UnitReportH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <DB.hpp>

#include <DBTables.hpp>

#include <ExtCtrls.hpp>

#include <QRCtrls.hpp>

#include <QuickRpt.hpp>

#include <ADODB.hpp>

//---------------------------------------------------------------------------

class TFormReport : public TForm

{

__published: // IDE-managed Components

TQuickRep *QuickRep1;

TQRBand *QRBand1;

TQRLabel *QRLabel1;

TQRBand *QRBand2;

TQRBand *QRBand3;

TQRLabel *QRLabel2;

TQRLabel *QRLabel3;

TQRLabel *QRLabel4;

TDataSource *DataSourceComputerTehnika;

TQRLabel *QRLabel5;

TQRBand *QRBand4;

TQRDBText *QRDBText1;

TQRDBText *QRDBText2;

TQRDBText *QRDBText3;

TQRDBText *QRDBText4;

TADODataSet *ADODataSetComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TBooleanField *ADODataSetComputerTehnikaProdan;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TDataSource *DataSourceVidTehniki;

TAutoIncField *ADODataSetVidTehnikiCod;

TWideStringField *ADODataSetVidTehnikiName;

TStringField *ADODataSetComputerTehnikaNameVidTehniki;

void __fastcall QuickRep1AfterPreview(TObject *Sender);

void __fastcall FormActivate(TObject *Sender);

void __fastcall FormShow(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormReport(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormReport *FormReport;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef UnitReport2H

#define UnitReport2H

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <DB.hpp>

#include <DBTables.hpp>

#include <ExtCtrls.hpp>

#include <QRCtrls.hpp>

#include <QuickRpt.hpp>

#include <ADODB.hpp>

//---------------------------------------------------------------------------

class TFormReport2 : public TForm

{

__published: // IDE-managed Components

TQuickRep *QuickRep1;

TQRBand *QRBand1;

TQRLabel *QRLabel1;

TQRBand *QRBand2;

TQRBand *QRBand3;

TQRLabel *QRLabel2;

TQRLabel *QRLabel3;

TQRLabel *QRLabel4;

TDataSource *DataSourceComputerTehnika;

TQRLabel *QRLabel5;

TQRBand *QRBand4;

TQRDBText *QRDBText1;

TQRDBText *QRDBText2;

TQRDBText *QRDBText3;

TQRDBText *QRDBText4;

TADODataSet *ADODataSetComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TBooleanField *ADODataSetComputerTehnikaProdan;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TDataSource *DataSourceVidTehniki;

TAutoIncField *ADODataSetVidTehnikiCod;

TWideStringField *ADODataSetVidTehnikiName;

TStringField *ADODataSetComputerTehnikaNameVidTehniki;

TDataSource *DataSourceHistory;

TADODataSet *ADODataSetHistory;

TAutoIncField *ADODataSetHistoryCod;

TIntegerField *ADODataSetHistoryCodComputerTehnika;

TIntegerField *ADODataSetHistoryCodManager;

TDateTimeField *ADODataSetHistoryDataProdazhi;

TBCDField *ADODataSetHistoryCena;

TDateField *ADODataSetComputerTehnikaDataProdazhi;

void __fastcall QuickRep1AfterPreview(TObject *Sender);

void __fastcall FormActivate(TObject *Sender);

void __fastcall FormShow(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormReport2(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormReport2 *FormReport2;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef VidTehnikiH

#define VidTehnikiH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <DBCtrls.hpp>

#include <ExtCtrls.hpp>

#include <Mask.hpp>

//---------------------------------------------------------------------------

class TFormVidTehniki : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TDataSource *DataSourceVidTehniki;

TDataSource *DataSourceManager;

TADODataSet *ADODataSetComputerTehnika;

TGroupBox *GroupBox1;

TDBEdit *DBEditName;

TPanel *Panel1;

TButton *ButtonAdd;

TButton *ButtonDelete;

TButton *ButtonChange;

TButton *ButtonExit;

TPanel *Panel2;

TButton *ButtonPost;

TButton *ButtonOtmen;

TAutoIncField *ADODataSetVidTehnikiCod;

TWideStringField *ADODataSetVidTehnikiName;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TBooleanField *ADODataSetComputerTehnikaProdan;

void __fastcall ButtonAddClick(TObject *Sender);

void __fastcall ButtonDeleteClick(TObject *Sender);

void __fastcall ButtonChangeClick(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall ButtonPostClick(TObject *Sender);

void __fastcall ButtonOtmenClick(TObject *Sender);

void __fastcall FormShow(TObject *Sender);

void __fastcall DBEditNameKeyPress(TObject *Sender, char &Key);

private: // User declarations

public: // User declarations

__fastcall TFormVidTehniki(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormVidTehniki *FormVidTehniki;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef VnalichiiH

#define VnalichiiH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <DBCtrls.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormVnalichii : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridComputerTehnika;

TADODataSet *ADODataSetComputerTehnika;

TDataSource *DataSourceComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TBooleanField *ADODataSetComputerTehnikaProdan;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TDataSource *DataSourceVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TStringField *ADODataSetComputerTehnikaNameVidTehniki;

TDBImage *DBImageFoto;

TDBMemo *DBMemoOpisanie;

TButton *ButtonExit;

TButton *ButtonPrint;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

TMenuItem *N2;

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall DBGridComputerTehnikaCellClick(TColumn *Column);

void __fastcall FormShow(TObject *Sender);

void __fastcall ButtonPrintClick(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

void __fastcall N2Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormVnalichii(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormVnalichii *FormVnalichii;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "ComputerTehnika.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormComputerTehnika *FormComputerTehnika;

//---------------------------------------------------------------------------

__fastcall TFormComputerTehnika::TFormComputerTehnika(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormComputerTehnika::ButtonFotoClick(TObject *Sender)

{ char *s;

OpenDialogFoto->InitialDir= ExtractFileDir(Application->ExeName);

if(OpenDialogFoto->Execute()==true) //вызовдиалогавыборафайла

{DBImageFoto->Visible=true;

s= OpenDialogFoto->FileName.c_str(); //получитьнаименованиевыбранногофайласполнымпутем

DBImageFoto->Picture->LoadFromFile(s);

}

else

{if(ADODataSetComputerTehnikaPicture->Value=="")

DBImageFoto->Visible=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TFormComputerTehnika::FormShow(TObject *Sender)

{

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

ADODataSetVidTehniki->Close();

ADODataSetVidTehniki->Open();

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Добавить

void __fastcall TFormComputerTehnika::ButtonAddClick(TObject *Sender)

{

if(ADODataSetComputerTehnika->State==dsBrowse)

{ADODataSetComputerTehnika->Insert();

Panel1->Visible=false;

Panel2->Visible=true;

GroupBox1->Visible=true;

DateTimePickerDataPostup->Date= Date();

DBEditName->SetFocus();

}

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Удалить

void __fastcall TFormComputerTehnika::ButtonDeleteClick(TObject *Sender)

{

if(ADODataSetComputerTehnika->RecordCount==0) //естьлиданныевБД

{ButtonChange->Enabled=false;//сделать кнопку Изменить недоступной

ButtonDelete->Enabled=false;//сделать кнопку Удалить недоступной

ShowMessage("Данные отсутствуют в БД!"); //вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetComputerTehnika->State==dsBrowse)

if(Application->MessageBoxA("Подтвердитеудалениезаписи

!","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)

ADODataSetComputerTehnika->Delete();//удалитьзаписьизтаблицыБД

}

//---------------------------------------------------------------------------

//ВыполняетсяпринажатиикнопкиИзменить

void __fastcall TFormComputerTehnika::ButtonChangeClick(TObject *Sender)

{

if(ADODataSetComputerTehnika->RecordCount==0) //есть ли данные в БД - кол-во записей в таблице БД

{ShowMessage("Данные отсутствуют в БД!");//вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetComputerTehnika->State==dsBrowse)

ADODataSetComputerTehnika->Edit();//перевести таблицу БД в режим редактирования

Panel1->Visible=false;//сделать панель невидимой

Panel2->Visible=true;//сделать панель видимой

GroupBox1->Visible=true;//сделать панель видимой

DateTimePickerDataPostup->Date= ADODataSetComputerTehnikaDataPostup->Value;

DBEditName->SetFocus(); //установить фокус в поле для ввода

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Выход

void __fastcall TFormComputerTehnika::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//------Выполняется при нажатии кнопки Запомнить

void __fastcall TFormComputerTehnika::ButtonPostClick(TObject *Sender)

{

//------проверка всех введенных данных

if(DBEditName->Text=="" )//проверка введенных данных

{ShowMessage("Введите название !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(DBEditCena->Text=="" )//проверка введенных данных

{ShowMessage("Введите цену !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(DBMemoOpisanie->Text=="" )//проверка введенных данных

{ShowMessage("Введите описание !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(ADODataSetComputerTehnikaCodVidTehniki->Value==0 )//проверка введенных данных

{ShowMessage("Введите вид товара!");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

//-----------

ADODataSetComputerTehnikaDataPostup->Value= DateTimePickerDataPostup->Date;

ADODataSetComputerTehnika->Post();//запомнить все изменения в таблице БД

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

ButtonChange->Enabled=true;//сделать кнопку Изменить доступной

ButtonDelete->Enabled=true;//сделать кнопку Удалить доступной

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Отменить

void __fastcall TFormComputerTehnika::ButtonOtmenClick(TObject *Sender)

{

ADODataSetComputerTehnika->Cancel();//отменить все изменения - данные в таблице БД не сохраняются

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "DiagrammaOklad.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormDiagrammaOklad *FormDiagrammaOklad;

//---------------------------------------------------------------------------

__fastcall TFormDiagrammaOklad::TFormDiagrammaOklad(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormDiagrammaOklad::FormShow(TObject *Sender)

{

ADODataSetManager->Close();

ADODataSetManager->Open();

}

//---------------------------------------------------------------------------

void __fastcall TFormDiagrammaOklad::ADODataSetManagerCalcFields(

TDataSet *DataSet)

{

ADODataSetManagerFIO2->Value= ADODataSetManagerFIO->Value;

}

//---------------------------------------------------------------------------

void __fastcall TFormDiagrammaOklad::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TFormDiagrammaOklad::N1Click(TObject *Sender)

{

ButtonExitClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TDM1 *DM1;

//---------------------------------------------------------------------------

__fastcall TDM1::TDM1(TComponent* Owner)

: TDataModule(Owner)

{

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Dolgnost.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormDolgnost *FormDolgnost;

//---------------------------------------------------------------------------

__fastcall TFormDolgnost::TFormDolgnost(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Добавить

void __fastcall TFormDolgnost::ButtonAddClick(TObject *Sender)

{

if(ADODataSetDolgnost->State==dsBrowse)

{ADODataSetDolgnost->Insert();

Panel1->Visible=false;

Panel2->Visible=true;

GroupBox1->Visible=true;

DBEditName->SetFocus();

}

}

//---------------------------------------------------------------------------

//ВыполняетсяпринажатиикнопкиУдалить

void __fastcall TFormDolgnost::ButtonDeleteClick(TObject *Sender)

{

if(ADODataSetDolgnost->RecordCount==0) //естьлиданныевБД

{ButtonChange->Enabled=false;//сделатькнопкуИзменитьнедоступной

ButtonDelete->Enabled=false;//сделать кнопку Удалить недоступной

ShowMessage("Данные отсутствуют в БД!"); //вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetDolgnost->State==dsBrowse)

if(Application->MessageBoxA("Подтвердитеудалениезаписи !","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)

{ADODataSetManager->Close();

ADODataSetManager->CommandText= "select * from TablManager where CodDolgnost="+IntToStr(ADODataSetDolgnostCod->Value);

ADODataSetManager->Open();

if(ADODataSetManager->RecordCount>0)

{ShowMessage("Ошибка при удалении! В таблице 'TablManager' имеются связанные записи!"); //вывести сообщение в виде окошка

return;//выход из процедуры

}

ADODataSetDolgnost->Delete();//удалить запись из таблицы БД

}

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Изменить

void __fastcall TFormDolgnost::ButtonChangeClick(TObject *Sender)

{

if(ADODataSetDolgnost->RecordCount==0) //есть ли данные в БД - кол-во записей в таблице БД

{ShowMessage("Данные отсутствуют в БД!");//вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetDolgnost->State==dsBrowse)

ADODataSetDolgnost->Edit();//перевести таблицу БД в режим редактирования

Panel1->Visible=false;//сделать панель невидимой

Panel2->Visible=true;//сделать панель видимой

GroupBox1->Visible=true;//сделать панель видимой

DBEditName->SetFocus(); //установить фокус в поле для ввода

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Выход

void __fastcall TFormDolgnost::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//------Выполняется при нажатии кнопки Запомнить

void __fastcall TFormDolgnost::ButtonPostClick(TObject *Sender)

{

//------проверка всех введенных данных

if(DBEditName->Text=="" )//проверка введенных данных

{ShowMessage("Введите название!");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

//-----------

ADODataSetDolgnost->Post();//запомнить все изменения в таблице БД

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

ButtonChange->Enabled=true;//сделать кнопку Изменить доступной

ButtonDelete->Enabled=true;//сделать кнопку Удалить доступной

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Отменить

void __fastcall TFormDolgnost::ButtonOtmenClick(TObject *Sender)

{

ADODataSetDolgnost->Cancel();//отменить все изменения - данные в таблице БД не сохраняются

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

}

//---------------------------------------------------------------------------

void __fastcall TFormDolgnost::FormShow(TObject *Sender)

{

ADODataSetDolgnost->Close();

ADODataSetDolgnost->Open();

ADODataSetManager->Close();

ADODataSetManager->Open();

}

//---------------------------------------------------------------------------

void __fastcall TFormDolgnost::DBEditNameKeyPress(TObject *Sender,

char &Key)

{

if(Key==13)

ButtonPostClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "MainAIS.h"

#include "Dolgnost.h"

#include "VidTehniki.h"

#include "Manager.h"

#include "ComputerTehnika.h"

#include "Prodazha.h"

#include "Vnalichii.h"

#include "Prodano.h"

#include "OtchetManager.h"

#include "DiagrammaOklad.h"

#include "Spravka.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormMainAIS *FormMainAIS;

//---------------------------------------------------------------------------

__fastcall TFormMainAIS::TFormMainAIS(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N8Click(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N4Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormDolgnost), &FormDolgnost);

FormDolgnost->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N5Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormVidTehniki), &FormVidTehniki);

FormVidTehniki->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N3Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormManager), &FormManager);

FormManager->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N6Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormComputerTehnika), &FormComputerTehnika);

FormComputerTehnika->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N9Click(TObject *Sender)

{

N8Click(Sender);

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N10Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormProdazha), &FormProdazha);

FormProdazha->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N12Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormVnalichii), &FormVnalichii);

FormVnalichii->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N13Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormProdano), &FormProdano);

FormProdano->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N14Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormOtchetManager), &FormOtchetManager);

FormOtchetManager->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N11Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormDiagrammaOklad), &FormDiagrammaOklad);

FormDiagrammaOklad->ShowModal();

}

//---------------------------------------------------------------------------

//Вызовсправки

void __fastcall TFormMainAIS::N15Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormSpravka), &FormSpravka);

FormSpravka->ShowModal();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "MainComputer.h"

#include "DM.h"

#include "MainAIS.h"

#include "string.h"

#include "stdio.h"

#include <algorithm>

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormVxod *FormVxod;

int TekManager;

//---------------------------------------------------------------------------

__fastcall TFormVxod::TFormVxod(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormVxod::FormShow(TObject *Sender)

{

ComboBoxManager->Clear();

ADODataSetManager->Close();

ADODataSetManager->Open();

ADODataSetManager->First();

while(!ADODataSetManager->Eof)

{ComboBoxManager->Items->Add(ADODataSetManagerFIO->Value);

ADODataSetManager->Next();

}

}

//---------------------------------------------------------------------------

void __fastcall TFormVxod::BitBtnExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TFormVxod::ButtonVxodClick(TObject *Sender)

{

ADODataSetManager->Close();

ADODataSetManager->CommandText= "select * from TablManager where FIO="+QuotedStr(ComboBoxManager->Text);

ADODataSetManager->Open();

if(ADODataSetManagerPassword->Value==EditPassword->Text)

{TekManager= ADODataSetManagerCod->Value;

Application->CreateForm(__classid(TFormMainAIS), &FormMainAIS);

FormMainAIS->ShowModal();

Close();

}

else ShowMessage("Неверныйпароль!");

}

//---------------------------------------------------------------------------

void __fastcall TFormVxod::EditPasswordKeyPress(TObject *Sender, char &Key)

{

if(Key==13)

ButtonVxodClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Manager.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormManager *FormManager;

//---------------------------------------------------------------------------

__fastcall TFormManager::TFormManager(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormManager::FormShow(TObject *Sender)

{

ADODataSetManager->Close();

ADODataSetManager->Open();

ADODataSetDolgnost->Close();

ADODataSetDolgnost->Open();

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Добавить

void __fastcall TFormManager::ButtonAddClick(TObject *Sender)

{

if(ADODataSetManager->State==dsBrowse)

{ADODataSetManager->Insert();

Panel1->Visible=false;

Panel2->Visible=true;

GroupBox1->Visible=true;

DateTimePicker1->Date= Date();

DBEditFIO->SetFocus();

}

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Удалить

void __fastcall TFormManager::ButtonDeleteClick(TObject *Sender)

{

if(ADODataSetManager->RecordCount==0) //естьлиданныевБД

{ButtonChange->Enabled=false;//сделатькнопкуИзменитьнедоступной

ButtonDelete->Enabled=false;//сделать кнопку Удалить недоступной

ShowMessage("Данные отсутствуют в БД!"); //вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetManager->State==dsBrowse)

if(Application->MessageBoxA("Подтвердитеудалениезаписи !","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)

ADODataSetManager->Delete();//удалить запись из таблицы БД

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Изменить

void __fastcall TFormManager::ButtonChangeClick(TObject *Sender)

{

if(ADODataSetManager->RecordCount==0) //есть ли данные в БД - кол-во записей в таблице БД

{ShowMessage("Данные отсутствуют в БД!");//вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetManager->State==dsBrowse)

ADODataSetManager->Edit();//перевести таблицу БД в режим редактирования

Panel1->Visible=false;//сделать панель невидимой

Panel2->Visible=true;//сделать панель видимой

GroupBox1->Visible=true;//сделать панель видимой

DateTimePicker1->Date= ADODataSetManagerDataRozhd->Value;

DBEditFIO->SetFocus(); //установить фокус в поле для ввода

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Выход

void __fastcall TFormManager::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//------Выполняется при нажатии кнопки Запомнить

void __fastcall TFormManager::ButtonPostClick(TObject *Sender)

{

//------проверка всех введенных данных

if(DBEditFIO->Text=="" )//проверка введенных данных

{ShowMessage("Введите Ф.И.О. !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(DBEditPasport->Text=="" )//проверка введенных данных

{ShowMessage("Введите паспорт !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(DBEditOklad->Text=="" )//проверка введенных данных

{ShowMessage("Введите оклад !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(DBEditPassword->Text=="" )//проверка введенных данных

{ShowMessage("Введите пароль !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(ADODataSetManagerCodDolgnost->Value==0 )//проверка введенных данных

{ShowMessage("Введите должность !");//вывод диалогового окна с сообщением

return;//выходизпроцедуры

}

//-----------

ADODataSetManagerDataRozhd->Value= DateTimePicker1->Date;

ADODataSetManager->Post();//запомнить все изменения в таблице БД

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

ButtonChange->Enabled=true;//сделать кнопку Изменить доступной

ButtonDelete->Enabled=true;//сделать кнопку Удалить доступной

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Отменить

void __fastcall TFormManager::ButtonOtmenClick(TObject *Sender)

{

ADODataSetManager->Cancel();//отменить все изменения - данные в таблице БД не сохраняются

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

}

//---------------------------------------------------------------------------

void __fastcall TFormManager::N1Click(TObject *Sender)

{

ButtonExitClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "OtchetManager.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormOtchetManager *FormOtchetManager;

//---------------------------------------------------------------------------

__fastcall TFormOtchetManager::TFormOtchetManager(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormOtchetManager::FormShow(TObject *Sender)

{ char *s;

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

ADODataSetHistory->Close();

ADODataSetHistory->Open();

ADODataSetDolgnost->Close();

ADODataSetDolgnost->Open();

ADODataSetManager->Close();

ADODataSetManager->CommandText= "select TablManager.FIO as 'ФИОменеджера',TablDolgnost.name as 'Должность',TablHistory.cena as 'Цена',TablComputerTehnika.name as 'Названиетовара' from TablManager,TablHistory,TablDolgnost,TablComputerTehnika where (TablManager.Cod=TablHistory.CodManager)and(TablDolgnost.Cod=TablManager.CodDolgnost)and(TablHistory.CodComputerTehnika=TablComputerTehnika.Cod)";

ADODataSetManager->Open();

DBGridManager->Columns->Items[0]->Width=290;

DBGridManager->Columns->Items[1]->Width=160;

DBGridManager->Columns->Items[2]->Width=60;

DBGridManager->Columns->Items[3]->Width=410;

}

//---------------------------------------------------------------------------

void __fastcall TFormOtchetManager::N1Click(TObject *Sender)

{

ButtonExitClick(Sender);

}

//---------------------------------------------------------------------------

void __fastcall TFormOtchetManager::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Prodano.h"

#include "DM.h"

#include "UnitReport2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormProdano *FormProdano;

//---------------------------------------------------------------------------

__fastcall TFormProdano::TFormProdano(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormProdano::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TFormProdano::DBGridComputerTehnikaCellClick(

TColumn *Column)

{

if(ADODataSetComputerTehnikaPicture->Value=="")

DBImageFoto->Visible=false;

else DBImageFoto->Visible=true;

if(ADODataSetComputerTehnika->RecordCount==0)

{DBImageFoto->Visible=false;

DBMemoOpisanie->Visible=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TFormProdano::FormShow(TObject *Sender)

{ TColumn *Column;

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

ADODataSetVidTehniki->Close();

ADODataSetVidTehniki->Open();

DBGridComputerTehnikaCellClick(Column);

}

//---------------------------------------------------------------------------

//ВыполняетсяпринажатиикнопкиПечать

void __fastcall TFormProdano::ButtonPrintClick(TObject *Sender)

{

Application->CreateForm(__classid(TFormReport2), &FormReport2);

FormReport2->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormProdano::N1Click(TObject *Sender)

{

ButtonPrintClick(Sender);

}

//---------------------------------------------------------------------------

void __fastcall TFormProdano::N2Click(TObject *Sender)

{

ButtonExitClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Prodazha.h"

#include "DM.h"

#include "MainComputer.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormProdazha *FormProdazha;

//---------------------------------------------------------------------------

__fastcall TFormProdazha::TFormProdazha(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

//Выполняется при отображении формы

void __fastcall TFormProdazha::FormShow(TObject *Sender)

{ TColumn *Column;

DateTimePickerDataProdazhi->Date= Date();

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

ADODataSetHistory->Close();

ADODataSetHistory->Open();

DBGridComputerTehnikaCellClick(Column);

}

//---------------------------------------------------------------------------

void __fastcall TFormProdazha::DBGridComputerTehnikaCellClick(

TColumn *Column)

{

if(ADODataSetComputerTehnikaPicture->Value=="")

DBImageFoto->Visible=false;

else DBImageFoto->Visible=true;

if(ADODataSetComputerTehnika->RecordCount==0)

{DBImageFoto->Visible=false;

GroupBoxOpisanie->Visible= false;

}

else

GroupBoxOpisanie->Visible=true;

}

//---------------------------------------------------------------------------

void __fastcall TFormProdazha::ButtonProdatClick(TObject *Sender)

{TColumn *Column;

if(Application->MessageBoxA("Подтвердитепродажутовара !","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)

{if(ADODataSetComputerTehnika->RecordCount==0)

{ShowMessage("Товаротсутствуетвпродаже!");

return;

}

ADODataSetComputerTehnika->Edit();

ADODataSetComputerTehnikaProdan->Value=1;

ADODataSetComputerTehnika->Post();

ADODataSetComputerTehnika->Refresh();

ADODataSetHistory->Insert();

ADODataSetHistoryCodComputerTehnika->Value= ADODataSetComputerTehnikaCod->Value;

ADODataSetHistoryCodManager->Value= TekManager;

ADODataSetHistoryDataProdazhi->Value= DateTimePickerDataProdazhi->Date;

ADODataSetHistoryCena->Value= ADODataSetComputerTehnikaCena->Value;

ADODataSetHistory->Post();

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

DBGridComputerTehnikaCellClick(Column);

}

}

//---------------------------------------------------------------------------

void __fastcall TFormProdazha::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TFormProdazha::N1Click(TObject *Sender)

{

ButtonProdatClick(Sender);

}

//---------------------------------------------------------------------------

void __fastcall TFormProdazha::N2Click(TObject *Sender)

{

ButtonExitClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

//---------------------------------------------------------------------------

USEFORM("MainComputer.cpp", FormVxod);

USEFORM("DM.cpp", DM1); /* TDataModule: File Type */

USEFORM("Dolgnost.cpp", FormDolgnost);

USEFORM("MainAIS.cpp", FormMainAIS);

USEFORM("VidTehniki.cpp", FormVidTehniki);

USEFORM("Manager.cpp", FormManager);

USEFORM("ComputerTehnika.cpp", FormComputerTehnika);

USEFORM("Prodazha.cpp", FormProdazha);

USEFORM("Vnalichii.cpp", FormVnalichii);

USEFORM("UnitReport.cpp", FormReport);

USEFORM("Prodano.cpp", FormProdano);

USEFORM("UnitReport2.cpp", FormReport2);

USEFORM("OtchetManager.cpp", FormOtchetManager);

USEFORM("DiagrammaOklad.cpp", FormDiagrammaOklad);

USEFORM("Spravka.cpp", FormSpravka);

//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->Initialize();

Application->CreateForm(__classid(TFormVxod), &FormVxod);

Application->CreateForm(__classid(TDM1), &DM1);

Application->Run();

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

catch (...)

{

try

{

throw Exception("");

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

}

return 0;

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Spravka.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormSpravka *FormSpravka;

//---------------------------------------------------------------------------

__fastcall TFormSpravka::TFormSpravka(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormSpravka::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "UnitReport.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormReport *FormReport;

bool Pr;

//---------------------------------------------------------------------------

__fastcall TFormReport::TFormReport(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

//выполняется после закрытия окна просмотра отчета

void __fastcall TFormReport::QuickRep1AfterPreview(TObject *Sender)

{

FormReport->Close(); //закрыть форму

}

//---------------------------------------------------------------------------

//выполняется при активации формы

void __fastcall TFormReport::FormActivate(TObject *Sender)

{

if(Pr==false)

Pr=true;

else

{Pr=false;

FormReport->Close();

return;

}

QuickRep1->Visible=false;

QuickRep1->Preview();//показатьокнопредварительногопросмотраотчета

}

//---------------------------------------------------------------------------

//выполняетсяприотображенииформы

void __fastcall TFormReport::FormShow(TObject *Sender)

{

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "UnitReport2.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormReport2 *FormReport2;

bool Pr;

//---------------------------------------------------------------------------

__fastcall TFormReport2::TFormReport2(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

//выполняется после закрытия окна просмотра отчета

void __fastcall TFormReport2::QuickRep1AfterPreview(TObject *Sender)

{

FormReport2->Close(); //закрыть форму

}

//---------------------------------------------------------------------------

//выполняется при активации формы

void __fastcall TFormReport2::FormActivate(TObject *Sender)

{

if(Pr==false)

Pr=true;

else

{Pr=false;

FormReport2->Close();

return;

}

QuickRep1->Visible=false;

QuickRep1->Preview();//показатьокнопредварительногопросмотраотчета

}

//---------------------------------------------------------------------------

//выполняетсяприотображенииформы

void __fastcall TFormReport2::FormShow(TObject *Sender)

{

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

ADODataSetVidTehniki->Close();

ADODataSetVidTehniki->Open();

ADODataSetHistory->Close();

ADODataSetHistory->Open();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "VidTehniki.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormVidTehniki *FormVidTehniki;

//---------------------------------------------------------------------------

__fastcall TFormVidTehniki::TFormVidTehniki(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Добавить

void __fastcall TFormVidTehniki::ButtonAddClick(TObject *Sender)

{

if(ADODataSetVidTehniki->State==dsBrowse)

{ADODataSetVidTehniki->Insert();

Panel1->Visible=false;

Panel2->Visible=true;

GroupBox1->Visible=true;

DBEditName->SetFocus();

}

}

//---------------------------------------------------------------------------

//ВыполняетсяпринажатиикнопкиУдалить

void __fastcall TFormVidTehniki::ButtonDeleteClick(TObject *Sender)

{

if(ADODataSetVidTehniki->RecordCount==0) //естьлиданныевБД

{ButtonChange->Enabled=false;//сделать кнопку Изменить недоступной

ButtonDelete->Enabled=false;//сделать кнопку Удалить недоступной

ShowMessage("Данные отсутствуют в БД!"); //вывести сообщение в виде окошка

return;//выход из формы

}

if(ADODataSetVidTehniki->State==dsBrowse)

if(Application->MessageBoxA("Подтвердите удаление записи !","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)

{ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->CommandText= "select * from TablComputerTehnika where CodVidTehniki="+ADODataSetVidTehnikiCod->AsString;

ADODataSetComputerTehnika->Open();

if(ADODataSetComputerTehnika->RecordCount>0)

{ShowMessage("Ошибка при удалении! В таблице 'TablComputerTehnika' имеются связанные записи!"); //вывести сообщение в виде окошка

return;//выход из процедуры

}

ADODataSetVidTehniki->Delete();//удалить запись из таблицы БД

}

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Изменить

void __fastcall TFormVidTehniki::ButtonChangeClick(TObject *Sender)

{

if(ADODataSetVidTehniki->RecordCount==0) //есть ли данные в БД - кол-во записей в таблице БД

{ShowMessage("Данные отсутствуют в БД!");//вывести сообщение в виде окошка

return;//выход из формы

}

if(ADODataSetVidTehniki->State==dsBrowse)

ADODataSetVidTehniki->Edit();//перевести таблицу БД в режим редактирования

Panel1->Visible=false;//сделать панель невидимой

Panel2->Visible=true;//сделать панель видимой

GroupBox1->Visible=true;//сделать панель видимой

DBEditName->SetFocus(); //установить фокус в поле для ввода

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Выход

void __fastcall TFormVidTehniki::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//------Выполняется при нажатии кнопки Запомнить

void __fastcallTFormVidTehniki::ButtonPostClick(TObject *Sender)

{

//------проверка всех введенных данных

if(DBEditName->Text=="" )//проверка введенных данных

{ShowMessage("Введите название!");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

//-----------

ADODataSetVidTehniki->Post();//запомнить все изменения в таблице БД

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

ButtonChange->Enabled=true;//сделать кнопку Изменить доступной

ButtonDelete->Enabled=true;//сделать кнопку Удалить доступной

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Отменить

void __fastcall TFormVidTehniki::ButtonOtmenClick(TObject *Sender)

{

ADODataSetVidTehniki->Cancel();//отменить все изменения - данные в таблице БД не сохраняются

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

}

//---------------------------------------------------------------------------

void __fastcall TFormVidTehniki::FormShow(TObject *Sender)

{

ADODataSetVidTehniki->Close();

ADODataSetVidTehniki->Open();

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

}

//---------------------------------------------------------------------------

void __fastcall TFormVidTehniki::DBEditNameKeyPress(TObject *Sender,

char &Key)

{

if(Key==13)

ButtonPostClick(Sender);

}

//--------------------------------------------------------------------------- class TFormComputerTehnika : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridComputerTehnika;

TDataSource *DataSourceComputerTehnika;

TADODataSet *ADODataSetComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TDataSource *DataSourceVidTehniki;

TAutoIncField *ADODataSetVidTehnikiCod;

TWideStringField *ADODataSetVidTehnikiName;

TStringField *ADODataSetComputerTehnikaNameVidTehniki;

TBooleanField *ADODataSetComputerTehnikaProdan;

TGroupBox *GroupBox1;

TLabel *Label1;

TDBEdit *DBEditName;

TLabel *Label2;

TDBEdit *DBEditCena;

TLabel *Label3;

TDateTimePicker *DateTimePickerDataPostup;

TLabel *Label4;

TDBMemo *DBMemoOpisanie;

TLabel *Label5;

TDBLookupComboBox *DBLookupComboBoxVidTehniki;

TButton *ButtonFoto;

TDBImage *DBImageFoto;

TOpenDialog *OpenDialogFoto;

TPanel *Panel1;

TButton *ButtonAdd;

TButton *ButtonDelete;

TButton *ButtonChange;

TButton *ButtonExit;

TPanel *Panel2;

TButton *ButtonPost;

TButton *ButtonOtmen;

void __fastcall ButtonFotoClick(TObject *Sender);

void __fastcall FormShow(TObject *Sender);

void __fastcall ButtonAddClick(TObject *Sender);

void __fastcall ButtonDeleteClick(TObject *Sender);

void __fastcall ButtonChangeClick(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall ButtonPostClick(TObject *Sender);

void __fastcall ButtonOtmenClick(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormComputerTehnika(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormComputerTehnika *FormComputerTehnika;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef DiagrammaOkladH

#define DiagrammaOkladH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <Chart.hpp>

#include <DB.hpp>

#include <DbChart.hpp>

#include <DBGrids.hpp>

#include <ExtCtrls.hpp>

#include <Grids.hpp>

#include <TeEngine.hpp>

#include <TeeProcs.hpp>

#include <Series.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormDiagrammaOklad : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridManager;

TADODataSet *ADODataSetManager;

TDataSource *DataSourceManager;

TAutoIncField *ADODataSetManagerCod;

TWideStringField *ADODataSetManagerFIO;

TBCDField *ADODataSetManagerOklad;

TDateTimeField *ADODataSetManagerDataRozhd;

TWideStringField *ADODataSetManagerPasport;

TWideStringField *ADODataSetManagerPassword;

TIntegerField *ADODataSetManagerCodDolgnost;

TDBChart *DBChartManager;

TPieSeries *Series1;

TStringField *ADODataSetManagerFIO2;

TButton *ButtonExit;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

void __fastcall FormShow(TObject *Sender);

void __fastcall ADODataSetManagerCalcFields(TDataSet *DataSet);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormDiagrammaOklad(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormDiagrammaOklad *FormDiagrammaOklad;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef DMH

#define DMH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

//---------------------------------------------------------------------------

class TDM1 : public TDataModule

{

__published: // IDE-managed Components

TADOConnection *ADOConnection1;

private: // User declarations

public: // User declarations

__fastcall TDM1(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TDM1 *DM1;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef DolgnostH

#define DolgnostH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <DBCtrls.hpp>

#include <ExtCtrls.hpp>

#include <Mask.hpp>

//---------------------------------------------------------------------------

class TFormDolgnost : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridDolgnost;

TADODataSet *ADODataSetDolgnost;

TDataSource *DataSourceDolgnost;

TAutoIncField *ADODataSetDolgnostCod;

TWideStringField *ADODataSetDolgnostName;

TDataSource *DataSourceManager;

TADODataSet *ADODataSetManager;

TGroupBox *GroupBox1;

TDBEdit *DBEditName;

TPanel *Panel1;

TButton *ButtonAdd;

TButton *ButtonDelete;

TButton *ButtonChange;

TButton *ButtonExit;

TPanel *Panel2;

TButton *ButtonPost;

TButton *ButtonOtmen;

TAutoIncField *ADODataSetManagerCod;

TWideStringField *ADODataSetManagerFIO;

TBCDField *ADODataSetManagerOklad;

TDateTimeField *ADODataSetManagerDataRozhd;

TWideStringField *ADODataSetManagerPasport;

TWideStringField *ADODataSetManagerPassword;

TIntegerField *ADODataSetManagerCodDolgnost;

void __fastcall ButtonAddClick(TObject *Sender);

void __fastcall ButtonDeleteClick(TObject *Sender);

void __fastcall ButtonChangeClick(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall ButtonPostClick(TObject *Sender);

void __fastcall ButtonOtmenClick(TObject *Sender);

void __fastcall FormShow(TObject *Sender);

void __fastcall DBEditNameKeyPress(TObject *Sender, char &Key);

private: // User declarations

public: // User declarations

__fastcall TFormDolgnost(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormDolgnost *FormDolgnost;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef MainAISH

#define MainAISH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <Menus.hpp>

#include <ExtCtrls.hpp>

#include <jpeg.hpp>

//---------------------------------------------------------------------------

class TFormMainAIS : public TForm

{

__published: // IDE-managed Components

TMainMenu *MainMenu1;

TMenuItem *N1;

TMenuItem *N2;

TMenuItem *N3;

TMenuItem *N4;

TMenuItem *N5;

TMenuItem *N6;

TMenuItem *N7;

TMenuItem *N8;

TPopupMenu *PopupMenu1;

TMenuItem *N9;

TMenuItem *N10;

TMenuItem *N12;

TMenuItem *N13;

TMenuItem *N14;

TMenuItem *N11;

TMenuItem *N15;

TImage *Image1;

void __fastcall N8Click(TObject *Sender);

void __fastcall N4Click(TObject *Sender);

void __fastcall N5Click(TObject *Sender);

void __fastcall N3Click(TObject *Sender);

void __fastcall N6Click(TObject *Sender);

void __fastcall N9Click(TObject *Sender);

void __fastcall N10Click(TObject *Sender);

void __fastcall N12Click(TObject *Sender);

void __fastcall N13Click(TObject *Sender);

void __fastcall N14Click(TObject *Sender);

void __fastcall N11Click(TObject *Sender);

void __fastcall N15Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormMainAIS(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormMainAIS *FormMainAIS;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef MainComputerH

#define MainComputerH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <Buttons.hpp>

//---------------------------------------------------------------------------

class TFormVxod : public TForm

{

__published: // IDE-managed Components

TLabel *Label1;

TComboBox *ComboBoxManager;

TLabel *Label2;

TEdit *EditPassword;

TBitBtn *BitBtnExit;

TButton *ButtonVxod;

TADODataSet *ADODataSetManager;

TAutoIncField *ADODataSetManagerCod;

TWideStringField *ADODataSetManagerFIO;

TBCDField *ADODataSetManagerOklad;

TDateTimeField *ADODataSetManagerDataRozhd;

TWideStringField *ADODataSetManagerPasport;

TWideStringField *ADODataSetManagerPassword;

TIntegerField *ADODataSetManagerCodDolgnost;

void __fastcall FormShow(TObject *Sender);

void __fastcall BitBtnExitClick(TObject *Sender);

void __fastcall ButtonVxodClick(TObject *Sender);

void __fastcall EditPasswordKeyPress(TObject *Sender, char &Key);

private: // User declarations

public: // User declarations

__fastcall TFormVxod(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormVxod *FormVxod;

extern int TekManager;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef ManagerH

#define ManagerH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <ComCtrls.hpp>

#include <DB.hpp>

#include <DBCtrls.hpp>

#include <DBGrids.hpp>

#include <ExtCtrls.hpp>

#include <Grids.hpp>

#include <Mask.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormManager : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridFormManager;

TDataSource *DataSourceManager;

TADODataSet *ADODataSetManager;

TAutoIncField *ADODataSetManagerCod;

TWideStringField *ADODataSetManagerFIO;

TBCDField *ADODataSetManagerOklad;

TDateTimeField *ADODataSetManagerDataRozhd;

TWideStringField *ADODataSetManagerPasport;

TWideStringField *ADODataSetManagerPassword;

TIntegerField *ADODataSetManagerCodDolgnost;

TADODataSet *ADODataSetDolgnost;

TAutoIncField *ADODataSetDolgnostCod;

TWideStringField *ADODataSetDolgnostName;

TStringField *ADODataSetManagerNameDolgnost;

TGroupBox *GroupBox1;

TLabel *Label1;

TDBEdit *DBEditFIO;

TLabel *Label2;

TDBLookupComboBox *DBLookupComboBoxDolgnost;

TDataSource *DataSourceDolgnost;

TLabel *Label3;

TDBEdit *DBEditOklad;

TLabel *Label4;

TDBEdit *DBEditPasport;

TLabel *Label5;

TDBEdit *DBEditPassword;

TLabel *Label6;

TDateTimePicker *DateTimePicker1;

TPanel *Panel1;

TButton *ButtonAdd;

TButton *ButtonDelete;

TButton *ButtonChange;

TButton *ButtonExit;

TPanel *Panel2;

TButton *ButtonPost;

TButton *ButtonOtmen;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

void __fastcall FormShow(TObject *Sender);

void __fastcall ButtonAddClick(TObject *Sender);

void __fastcall ButtonDeleteClick(TObject *Sender);

void __fastcall ButtonChangeClick(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall ButtonPostClick(TObject *Sender);

void __fastcall ButtonOtmenClick(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormManager(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormManager *FormManager;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef OtchetManagerH

#define OtchetManagerH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormOtchetManager : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridManager;

TADODataSet *ADODataSetManager;

TDataSource *DataSourceManager;

TADODataSet *ADODataSetDolgnost;

TDataSource *DataSourceDolgnost;

TADODataSet *ADODataSetComputerTehnika;

TDataSource *DataSourceComputerTehnika;

TADODataSet *ADODataSetHistory;

TDataSource *DataSourceHistory;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

TButton *ButtonExit;

void __fastcall FormShow(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormOtchetManager(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormOtchetManager *FormOtchetManager;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef ProdanoH

#define ProdanoH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <DBCtrls.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormProdano : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridComputerTehnika;

TADODataSet *ADODataSetComputerTehnika;

TDataSource *DataSourceComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TBooleanField *ADODataSetComputerTehnikaProdan;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TDataSource *DataSourceVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TStringField *ADODataSetComputerTehnikaNameVidTehniki;

TDBImage *DBImageFoto;

TDBMemo *DBMemoOpisanie;

TButton *ButtonExit;

TButton *ButtonPrint;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

TMenuItem *N2;

TDataSource *DataSourceHistory;

TADODataSet *ADODataSetHistory;

TAutoIncField *ADODataSetHistoryCod;

TIntegerField *ADODataSetHistoryCodComputerTehnika;

TIntegerField *ADODataSetHistoryCodManager;

TDateTimeField *ADODataSetHistoryDataProdazhi;

TBCDField *ADODataSetHistoryCena;

TDateField *ADODataSetComputerTehnikaDataProdazhi;

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall DBGridComputerTehnikaCellClick(TColumn *Column);

void __fastcall FormShow(TObject *Sender);

void __fastcall ButtonPrintClick(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

void __fastcall N2Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormProdano(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormProdano *FormProdano;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef ProdazhaH

#define ProdazhaH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ComCtrls.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBCtrls.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormProdazha : public TForm

{

__published: // IDE-managed Components

TLabel *Label1;

TDateTimePicker *DateTimePickerDataProdazhi;

TGroupBox *GroupBox1;

TDBGrid *DBGridComputerTehnika;

TADODataSet *ADODataSetComputerTehnika;

TDataSource *DataSourceComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TBooleanField *ADODataSetComputerTehnikaProdan;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TButton *ButtonProdat;

TGroupBox *GroupBoxOpisanie;

TDBMemo *DBMemoOpisanie;

TDBImage *DBImageFoto;

TButton *ButtonExit;

TADODataSet *ADODataSetHistory;

TDataSource *DataSourceHistory;

TAutoIncField *ADODataSetHistoryCod;

TIntegerField *ADODataSetHistoryCodComputerTehnika;

TIntegerField *ADODataSetHistoryCodManager;

TDateTimeField *ADODataSetHistoryDataProdazhi;

TBCDField *ADODataSetHistoryCena;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

TMenuItem *N2;

void __fastcall FormShow(TObject *Sender);

void __fastcall DBGridComputerTehnikaCellClick(TColumn *Column);

void __fastcall ButtonProdatClick(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

void __fastcall N2Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormProdazha(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormProdazha *FormProdazha;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef SpravkaH

#define SpravkaH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

//---------------------------------------------------------------------------

class TFormSpravka : public TForm

{

__published: // IDE-managed Components

TMemo *MemoSpravka;

TMemo *Memo1;

TButton *ButtonExit;

void __fastcall ButtonExitClick(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormSpravka(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormSpravka *FormSpravka;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef UnitReportH

#define UnitReportH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <DB.hpp>

#include <DBTables.hpp>

#include <ExtCtrls.hpp>

#include <QRCtrls.hpp>

#include <QuickRpt.hpp>

#include <ADODB.hpp>

//---------------------------------------------------------------------------

class TFormReport : public TForm

{

__published: // IDE-managed Components

TQuickRep *QuickRep1;

TQRBand *QRBand1;

TQRLabel *QRLabel1;

TQRBand *QRBand2;

TQRBand *QRBand3;

TQRLabel *QRLabel2;

TQRLabel *QRLabel3;

TQRLabel *QRLabel4;

TDataSource *DataSourceComputerTehnika;

TQRLabel *QRLabel5;

TQRBand *QRBand4;

TQRDBText *QRDBText1;

TQRDBText *QRDBText2;

TQRDBText *QRDBText3;

TQRDBText *QRDBText4;

TADODataSet *ADODataSetComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TBooleanField *ADODataSetComputerTehnikaProdan;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TDataSource *DataSourceVidTehniki;

TAutoIncField *ADODataSetVidTehnikiCod;

TWideStringField *ADODataSetVidTehnikiName;

TStringField *ADODataSetComputerTehnikaNameVidTehniki;

void __fastcall QuickRep1AfterPreview(TObject *Sender);

void __fastcall FormActivate(TObject *Sender);

void __fastcall FormShow(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormReport(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormReport *FormReport;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef UnitReport2H

#define UnitReport2H

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <DB.hpp>

#include <DBTables.hpp>

#include <ExtCtrls.hpp>

#include <QRCtrls.hpp>

#include <QuickRpt.hpp>

#include <ADODB.hpp>

//---------------------------------------------------------------------------

class TFormReport2 : public TForm

{

__published: // IDE-managed Components

TQuickRep *QuickRep1;

TQRBand *QRBand1;

TQRLabel *QRLabel1;

TQRBand *QRBand2;

TQRBand *QRBand3;

TQRLabel *QRLabel2;

TQRLabel *QRLabel3;

TQRLabel *QRLabel4;

TDataSource *DataSourceComputerTehnika;

TQRLabel *QRLabel5;

TQRBand *QRBand4;

TQRDBText *QRDBText1;

TQRDBText *QRDBText2;

TQRDBText *QRDBText3;

TQRDBText *QRDBText4;

TADODataSet *ADODataSetComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TBooleanField *ADODataSetComputerTehnikaProdan;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TDataSource *DataSourceVidTehniki;

TAutoIncField *ADODataSetVidTehnikiCod;

TWideStringField *ADODataSetVidTehnikiName;

TStringField *ADODataSetComputerTehnikaNameVidTehniki;

TDataSource *DataSourceHistory;

TADODataSet *ADODataSetHistory;

TAutoIncField *ADODataSetHistoryCod;

TIntegerField *ADODataSetHistoryCodComputerTehnika;

TIntegerField *ADODataSetHistoryCodManager;

TDateTimeField *ADODataSetHistoryDataProdazhi;

TBCDField *ADODataSetHistoryCena;

TDateField *ADODataSetComputerTehnikaDataProdazhi;

void __fastcall QuickRep1AfterPreview(TObject *Sender);

void __fastcall FormActivate(TObject *Sender);

void __fastcall FormShow(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormReport2(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormReport2 *FormReport2;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef VidTehnikiH

#define VidTehnikiH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <DBCtrls.hpp>

#include <ExtCtrls.hpp>

#include <Mask.hpp>

//---------------------------------------------------------------------------

class TFormVidTehniki : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TDataSource *DataSourceVidTehniki;

TDataSource *DataSourceManager;

TADODataSet *ADODataSetComputerTehnika;

TGroupBox *GroupBox1;

TDBEdit *DBEditName;

TPanel *Panel1;

TButton *ButtonAdd;

TButton *ButtonDelete;

TButton *ButtonChange;

TButton *ButtonExit;

TPanel *Panel2;

TButton *ButtonPost;

TButton *ButtonOtmen;

TAutoIncField *ADODataSetVidTehnikiCod;

TWideStringField *ADODataSetVidTehnikiName;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TBooleanField *ADODataSetComputerTehnikaProdan;

void __fastcall ButtonAddClick(TObject *Sender);

void __fastcall ButtonDeleteClick(TObject *Sender);

void __fastcall ButtonChangeClick(TObject *Sender);

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall ButtonPostClick(TObject *Sender);

void __fastcall ButtonOtmenClick(TObject *Sender);

void __fastcall FormShow(TObject *Sender);

void __fastcall DBEditNameKeyPress(TObject *Sender, char &Key);

private: // User declarations

public: // User declarations

__fastcall TFormVidTehniki(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormVidTehniki *FormVidTehniki;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#ifndef VnalichiiH

#define VnalichiiH

//---------------------------------------------------------------------------

#include <Classes.hpp>

#include <Controls.hpp>

#include <StdCtrls.hpp>

#include <Forms.hpp>

#include <ADODB.hpp>

#include <DB.hpp>

#include <DBGrids.hpp>

#include <Grids.hpp>

#include <DBCtrls.hpp>

#include <Menus.hpp>

//---------------------------------------------------------------------------

class TFormVnalichii : public TForm

{

__published: // IDE-managed Components

TDBGrid *DBGridComputerTehnika;

TADODataSet *ADODataSetComputerTehnika;

TDataSource *DataSourceComputerTehnika;

TAutoIncField *ADODataSetComputerTehnikaCod;

TWideStringField *ADODataSetComputerTehnikaName;

TBCDField *ADODataSetComputerTehnikaCena;

TBooleanField *ADODataSetComputerTehnikaProdan;

TDateTimeField *ADODataSetComputerTehnikaDataPostup;

TMemoField *ADODataSetComputerTehnikaOpisanie;

TBlobField *ADODataSetComputerTehnikaPicture;

TIntegerField *ADODataSetComputerTehnikaCodVidTehniki;

TDataSource *DataSourceVidTehniki;

TADODataSet *ADODataSetVidTehniki;

TStringField *ADODataSetComputerTehnikaNameVidTehniki;

TDBImage *DBImageFoto;

TDBMemo *DBMemoOpisanie;

TButton *ButtonExit;

TButton *ButtonPrint;

TPopupMenu *PopupMenu1;

TMenuItem *N1;

TMenuItem *N2;

void __fastcall ButtonExitClick(TObject *Sender);

void __fastcall DBGridComputerTehnikaCellClick(TColumn *Column);

void __fastcall FormShow(TObject *Sender);

void __fastcall ButtonPrintClick(TObject *Sender);

void __fastcall N1Click(TObject *Sender);

void __fastcall N2Click(TObject *Sender);

private: // User declarations

public: // User declarations

__fastcall TFormVnalichii(TComponent* Owner);

};

//---------------------------------------------------------------------------

extern PACKAGE TFormVnalichii *FormVnalichii;

//---------------------------------------------------------------------------

#endif

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "ComputerTehnika.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormComputerTehnika *FormComputerTehnika;

//---------------------------------------------------------------------------

__fastcall TFormComputerTehnika::TFormComputerTehnika(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormComputerTehnika::ButtonFotoClick(TObject *Sender)

{ char *s;

OpenDialogFoto->InitialDir= ExtractFileDir(Application->ExeName);

if(OpenDialogFoto->Execute()==true) //вызовдиалогавыборафайла

{DBImageFoto->Visible=true;

s= OpenDialogFoto->FileName.c_str(); //получитьнаименованиевыбранногофайласполнымпутем

DBImageFoto->Picture->LoadFromFile(s);

}

else

{if(ADODataSetComputerTehnikaPicture->Value=="")

DBImageFoto->Visible=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TFormComputerTehnika::FormShow(TObject *Sender)

{

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

ADODataSetVidTehniki->Close();

ADODataSetVidTehniki->Open();

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Добавить

void __fastcall TFormComputerTehnika::ButtonAddClick(TObject *Sender)

{

if(ADODataSetComputerTehnika->State==dsBrowse)

{ADODataSetComputerTehnika->Insert();

Panel1->Visible=false;

Panel2->Visible=true;

GroupBox1->Visible=true;

DateTimePickerDataPostup->Date= Date();

DBEditName->SetFocus();

}

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Удалить

void __fastcall TFormComputerTehnika::ButtonDeleteClick(TObject *Sender)

{

if(ADODataSetComputerTehnika->RecordCount==0) //естьлиданныевБД

{ButtonChange->Enabled=false;//сделать кнопку Изменить недоступной

ButtonDelete->Enabled=false;//сделать кнопку Удалить недоступной

ShowMessage("Данные отсутствуют в БД!"); //вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetComputerTehnika->State==dsBrowse)

if(Application->MessageBoxA("Подтвердитеудалениезаписи

!","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)

ADODataSetComputerTehnika->Delete();//удалитьзаписьизтаблицыБД

}

//---------------------------------------------------------------------------

//ВыполняетсяпринажатиикнопкиИзменить

void __fastcall TFormComputerTehnika::ButtonChangeClick(TObject *Sender)

{

if(ADODataSetComputerTehnika->RecordCount==0) //есть ли данные в БД - кол-во записей в таблице БД

{ShowMessage("Данные отсутствуют в БД!");//вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetComputerTehnika->State==dsBrowse)

ADODataSetComputerTehnika->Edit();//перевести таблицу БД в режим редактирования

Panel1->Visible=false;//сделать панель невидимой

Panel2->Visible=true;//сделать панель видимой

GroupBox1->Visible=true;//сделать панель видимой

DateTimePickerDataPostup->Date= ADODataSetComputerTehnikaDataPostup->Value;

DBEditName->SetFocus(); //установить фокус в поле для ввода

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Выход

void __fastcall TFormComputerTehnika::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//------Выполняется при нажатии кнопки Запомнить

void __fastcall TFormComputerTehnika::ButtonPostClick(TObject *Sender)

{

//------проверка всех введенных данных

if(DBEditName->Text=="" )//проверка введенных данных

{ShowMessage("Введите название !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(DBEditCena->Text=="" )//проверка введенных данных

{ShowMessage("Введите цену !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(DBMemoOpisanie->Text=="" )//проверка введенных данных

{ShowMessage("Введите описание !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(ADODataSetComputerTehnikaCodVidTehniki->Value==0 )//проверка введенных данных

{ShowMessage("Введите вид товара!");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

//-----------

ADODataSetComputerTehnikaDataPostup->Value= DateTimePickerDataPostup->Date;

ADODataSetComputerTehnika->Post();//запомнить все изменения в таблице БД

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

ButtonChange->Enabled=true;//сделать кнопку Изменить доступной

ButtonDelete->Enabled=true;//сделать кнопку Удалить доступной

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Отменить

void __fastcall TFormComputerTehnika::ButtonOtmenClick(TObject *Sender)

{

ADODataSetComputerTehnika->Cancel();//отменить все изменения - данные в таблице БД не сохраняются

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "DiagrammaOklad.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormDiagrammaOklad *FormDiagrammaOklad;

//---------------------------------------------------------------------------

__fastcall TFormDiagrammaOklad::TFormDiagrammaOklad(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormDiagrammaOklad::FormShow(TObject *Sender)

{

ADODataSetManager->Close();

ADODataSetManager->Open();

}

//---------------------------------------------------------------------------

void __fastcall TFormDiagrammaOklad::ADODataSetManagerCalcFields(

TDataSet *DataSet)

{

ADODataSetManagerFIO2->Value= ADODataSetManagerFIO->Value;

}

//---------------------------------------------------------------------------

void __fastcall TFormDiagrammaOklad::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TFormDiagrammaOklad::N1Click(TObject *Sender)

{

ButtonExitClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TDM1 *DM1;

//---------------------------------------------------------------------------

__fastcall TDM1::TDM1(TComponent* Owner)

: TDataModule(Owner)

{

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Dolgnost.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormDolgnost *FormDolgnost;

//---------------------------------------------------------------------------

__fastcall TFormDolgnost::TFormDolgnost(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Добавить

void __fastcall TFormDolgnost::ButtonAddClick(TObject *Sender)

{

if(ADODataSetDolgnost->State==dsBrowse)

{ADODataSetDolgnost->Insert();

Panel1->Visible=false;

Panel2->Visible=true;

GroupBox1->Visible=true;

DBEditName->SetFocus();

}

}

//---------------------------------------------------------------------------

//ВыполняетсяпринажатиикнопкиУдалить

void __fastcall TFormDolgnost::ButtonDeleteClick(TObject *Sender)

{

if(ADODataSetDolgnost->RecordCount==0) //естьлиданныевБД

{ButtonChange->Enabled=false;//сделатькнопкуИзменитьнедоступной

ButtonDelete->Enabled=false;//сделать кнопку Удалить недоступной

ShowMessage("Данные отсутствуют в БД!"); //вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetDolgnost->State==dsBrowse)

if(Application->MessageBoxA("Подтвердитеудалениезаписи !","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)

{ADODataSetManager->Close();

ADODataSetManager->CommandText= "select * from TablManager where CodDolgnost="+IntToStr(ADODataSetDolgnostCod->Value);

ADODataSetManager->Open();

if(ADODataSetManager->RecordCount>0)

{ShowMessage("Ошибка при удалении! В таблице 'TablManager' имеются связанные записи!"); //вывести сообщение в виде окошка

return;//выход из процедуры

}

ADODataSetDolgnost->Delete();//удалить запись из таблицы БД

}

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Изменить

void __fastcall TFormDolgnost::ButtonChangeClick(TObject *Sender)

{

if(ADODataSetDolgnost->RecordCount==0) //есть ли данные в БД - кол-во записей в таблице БД

{ShowMessage("Данные отсутствуют в БД!");//вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetDolgnost->State==dsBrowse)

ADODataSetDolgnost->Edit();//перевести таблицу БД в режим редактирования

Panel1->Visible=false;//сделать панель невидимой

Panel2->Visible=true;//сделать панель видимой

GroupBox1->Visible=true;//сделать панель видимой

DBEditName->SetFocus(); //установить фокус в поле для ввода

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Выход

void __fastcall TFormDolgnost::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//------Выполняется при нажатии кнопки Запомнить

void __fastcall TFormDolgnost::ButtonPostClick(TObject *Sender)

{

//------проверка всех введенных данных

if(DBEditName->Text=="" )//проверка введенных данных

{ShowMessage("Введите название!");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

//-----------

ADODataSetDolgnost->Post();//запомнить все изменения в таблице БД

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

ButtonChange->Enabled=true;//сделать кнопку Изменить доступной

ButtonDelete->Enabled=true;//сделать кнопку Удалить доступной

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Отменить

void __fastcall TFormDolgnost::ButtonOtmenClick(TObject *Sender)

{

ADODataSetDolgnost->Cancel();//отменить все изменения - данные в таблице БД не сохраняются

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

}

//---------------------------------------------------------------------------

void __fastcall TFormDolgnost::FormShow(TObject *Sender)

{

ADODataSetDolgnost->Close();

ADODataSetDolgnost->Open();

ADODataSetManager->Close();

ADODataSetManager->Open();

}

//---------------------------------------------------------------------------

void __fastcall TFormDolgnost::DBEditNameKeyPress(TObject *Sender,

char &Key)

{

if(Key==13)

ButtonPostClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "MainAIS.h"

#include "Dolgnost.h"

#include "VidTehniki.h"

#include "Manager.h"

#include "ComputerTehnika.h"

#include "Prodazha.h"

#include "Vnalichii.h"

#include "Prodano.h"

#include "OtchetManager.h"

#include "DiagrammaOklad.h"

#include "Spravka.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormMainAIS *FormMainAIS;

//---------------------------------------------------------------------------

__fastcall TFormMainAIS::TFormMainAIS(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N8Click(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N4Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormDolgnost), &FormDolgnost);

FormDolgnost->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N5Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormVidTehniki), &FormVidTehniki);

FormVidTehniki->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N3Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormManager), &FormManager);

FormManager->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N6Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormComputerTehnika), &FormComputerTehnika);

FormComputerTehnika->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N9Click(TObject *Sender)

{

N8Click(Sender);

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N10Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormProdazha), &FormProdazha);

FormProdazha->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N12Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormVnalichii), &FormVnalichii);

FormVnalichii->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N13Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormProdano), &FormProdano);

FormProdano->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N14Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormOtchetManager), &FormOtchetManager);

FormOtchetManager->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormMainAIS::N11Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormDiagrammaOklad), &FormDiagrammaOklad);

FormDiagrammaOklad->ShowModal();

}

//---------------------------------------------------------------------------

//Вызовсправки

void __fastcall TFormMainAIS::N15Click(TObject *Sender)

{

Application->CreateForm(__classid(TFormSpravka), &FormSpravka);

FormSpravka->ShowModal();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "MainComputer.h"

#include "DM.h"

#include "MainAIS.h"

#include "string.h"

#include "stdio.h"

#include <algorithm>

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormVxod *FormVxod;

int TekManager;

//---------------------------------------------------------------------------

__fastcall TFormVxod::TFormVxod(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormVxod::FormShow(TObject *Sender)

{

ComboBoxManager->Clear();

ADODataSetManager->Close();

ADODataSetManager->Open();

ADODataSetManager->First();

while(!ADODataSetManager->Eof)

{ComboBoxManager->Items->Add(ADODataSetManagerFIO->Value);

ADODataSetManager->Next();

}

}

//---------------------------------------------------------------------------

void __fastcall TFormVxod::BitBtnExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TFormVxod::ButtonVxodClick(TObject *Sender)

{

ADODataSetManager->Close();

ADODataSetManager->CommandText= "select * from TablManager where FIO="+QuotedStr(ComboBoxManager->Text);

ADODataSetManager->Open();

if(ADODataSetManagerPassword->Value==EditPassword->Text)

{TekManager= ADODataSetManagerCod->Value;

Application->CreateForm(__classid(TFormMainAIS), &FormMainAIS);

FormMainAIS->ShowModal();

Close();

}

else ShowMessage("Неверныйпароль!");

}

//---------------------------------------------------------------------------

void __fastcall TFormVxod::EditPasswordKeyPress(TObject *Sender, char &Key)

{

if(Key==13)

ButtonVxodClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Manager.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormManager *FormManager;

//---------------------------------------------------------------------------

__fastcall TFormManager::TFormManager(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormManager::FormShow(TObject *Sender)

{

ADODataSetManager->Close();

ADODataSetManager->Open();

ADODataSetDolgnost->Close();

ADODataSetDolgnost->Open();

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Добавить

void __fastcall TFormManager::ButtonAddClick(TObject *Sender)

{

if(ADODataSetManager->State==dsBrowse)

{ADODataSetManager->Insert();

Panel1->Visible=false;

Panel2->Visible=true;

GroupBox1->Visible=true;

DateTimePicker1->Date= Date();

DBEditFIO->SetFocus();

}

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Удалить

void __fastcall TFormManager::ButtonDeleteClick(TObject *Sender)

{

if(ADODataSetManager->RecordCount==0) //естьлиданныевБД

{ButtonChange->Enabled=false;//сделатькнопкуИзменитьнедоступной

ButtonDelete->Enabled=false;//сделать кнопку Удалить недоступной

ShowMessage("Данные отсутствуют в БД!"); //вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetManager->State==dsBrowse)

if(Application->MessageBoxA("Подтвердитеудалениезаписи !","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)

ADODataSetManager->Delete();//удалить запись из таблицы БД

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Изменить

void __fastcall TFormManager::ButtonChangeClick(TObject *Sender)

{

if(ADODataSetManager->RecordCount==0) //есть ли данные в БД - кол-во записей в таблице БД

{ShowMessage("Данные отсутствуют в БД!");//вывести сообщение в виде окошка

return;//выходизформы

}

if(ADODataSetManager->State==dsBrowse)

ADODataSetManager->Edit();//перевести таблицу БД в режим редактирования

Panel1->Visible=false;//сделать панель невидимой

Panel2->Visible=true;//сделать панель видимой

GroupBox1->Visible=true;//сделать панель видимой

DateTimePicker1->Date= ADODataSetManagerDataRozhd->Value;

DBEditFIO->SetFocus(); //установить фокус в поле для ввода

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Выход

void __fastcall TFormManager::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//------Выполняется при нажатии кнопки Запомнить

void __fastcall TFormManager::ButtonPostClick(TObject *Sender)

{

//------проверка всех введенных данных

if(DBEditFIO->Text=="" )//проверка введенных данных

{ShowMessage("Введите Ф.И.О. !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(DBEditPasport->Text=="" )//проверка введенных данных

{ShowMessage("Введите паспорт !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(DBEditOklad->Text=="" )//проверка введенных данных

{ShowMessage("Введите оклад !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(DBEditPassword->Text=="" )//проверка введенных данных

{ShowMessage("Введите пароль !");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

if(ADODataSetManagerCodDolgnost->Value==0 )//проверка введенных данных

{ShowMessage("Введите должность !");//вывод диалогового окна с сообщением

return;//выходизпроцедуры

}

//-----------

ADODataSetManagerDataRozhd->Value= DateTimePicker1->Date;

ADODataSetManager->Post();//запомнить все изменения в таблице БД

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

ButtonChange->Enabled=true;//сделать кнопку Изменить доступной

ButtonDelete->Enabled=true;//сделать кнопку Удалить доступной

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Отменить

void __fastcall TFormManager::ButtonOtmenClick(TObject *Sender)

{

ADODataSetManager->Cancel();//отменить все изменения - данные в таблице БД не сохраняются

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

}

//---------------------------------------------------------------------------

void __fastcall TFormManager::N1Click(TObject *Sender)

{

ButtonExitClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "OtchetManager.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormOtchetManager *FormOtchetManager;

//---------------------------------------------------------------------------

__fastcall TFormOtchetManager::TFormOtchetManager(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormOtchetManager::FormShow(TObject *Sender)

{ char *s;

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

ADODataSetHistory->Close();

ADODataSetHistory->Open();

ADODataSetDolgnost->Close();

ADODataSetDolgnost->Open();

ADODataSetManager->Close();

ADODataSetManager->CommandText= "select TablManager.FIO as 'ФИОменеджера',TablDolgnost.name as 'Должность',TablHistory.cena as 'Цена',TablComputerTehnika.name as 'Названиетовара' from TablManager,TablHistory,TablDolgnost,TablComputerTehnika where (TablManager.Cod=TablHistory.CodManager)and(TablDolgnost.Cod=TablManager.CodDolgnost)and(TablHistory.CodComputerTehnika=TablComputerTehnika.Cod)";

ADODataSetManager->Open();

DBGridManager->Columns->Items[0]->Width=290;

DBGridManager->Columns->Items[1]->Width=160;

DBGridManager->Columns->Items[2]->Width=60;

DBGridManager->Columns->Items[3]->Width=410;

}

//---------------------------------------------------------------------------

void __fastcall TFormOtchetManager::N1Click(TObject *Sender)

{

ButtonExitClick(Sender);

}

//---------------------------------------------------------------------------

void __fastcall TFormOtchetManager::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Prodano.h"

#include "DM.h"

#include "UnitReport2.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormProdano *FormProdano;

//---------------------------------------------------------------------------

__fastcall TFormProdano::TFormProdano(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormProdano::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TFormProdano::DBGridComputerTehnikaCellClick(

TColumn *Column)

{

if(ADODataSetComputerTehnikaPicture->Value=="")

DBImageFoto->Visible=false;

else DBImageFoto->Visible=true;

if(ADODataSetComputerTehnika->RecordCount==0)

{DBImageFoto->Visible=false;

DBMemoOpisanie->Visible=false;

}

}

//---------------------------------------------------------------------------

void __fastcall TFormProdano::FormShow(TObject *Sender)

{ TColumn *Column;

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

ADODataSetVidTehniki->Close();

ADODataSetVidTehniki->Open();

DBGridComputerTehnikaCellClick(Column);

}

//---------------------------------------------------------------------------

//ВыполняетсяпринажатиикнопкиПечать

void __fastcall TFormProdano::ButtonPrintClick(TObject *Sender)

{

Application->CreateForm(__classid(TFormReport2), &FormReport2);

FormReport2->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TFormProdano::N1Click(TObject *Sender)

{

ButtonPrintClick(Sender);

}

//---------------------------------------------------------------------------

void __fastcall TFormProdano::N2Click(TObject *Sender)

{

ButtonExitClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Prodazha.h"

#include "DM.h"

#include "MainComputer.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormProdazha *FormProdazha;

//---------------------------------------------------------------------------

__fastcall TFormProdazha::TFormProdazha(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

//Выполняется при отображении формы

void __fastcall TFormProdazha::FormShow(TObject *Sender)

{ TColumn *Column;

DateTimePickerDataProdazhi->Date= Date();

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

ADODataSetHistory->Close();

ADODataSetHistory->Open();

DBGridComputerTehnikaCellClick(Column);

}

//---------------------------------------------------------------------------

void __fastcall TFormProdazha::DBGridComputerTehnikaCellClick(

TColumn *Column)

{

if(ADODataSetComputerTehnikaPicture->Value=="")

DBImageFoto->Visible=false;

else DBImageFoto->Visible=true;

if(ADODataSetComputerTehnika->RecordCount==0)

{DBImageFoto->Visible=false;

GroupBoxOpisanie->Visible= false;

}

else

GroupBoxOpisanie->Visible=true;

}

//---------------------------------------------------------------------------

void __fastcall TFormProdazha::ButtonProdatClick(TObject *Sender)

{TColumn *Column;

if(Application->MessageBoxA("Подтвердитепродажутовара !","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)

{if(ADODataSetComputerTehnika->RecordCount==0)

{ShowMessage("Товаротсутствуетвпродаже!");

return;

}

ADODataSetComputerTehnika->Edit();

ADODataSetComputerTehnikaProdan->Value=1;

ADODataSetComputerTehnika->Post();

ADODataSetComputerTehnika->Refresh();

ADODataSetHistory->Insert();

ADODataSetHistoryCodComputerTehnika->Value= ADODataSetComputerTehnikaCod->Value;

ADODataSetHistoryCodManager->Value= TekManager;

ADODataSetHistoryDataProdazhi->Value= DateTimePickerDataProdazhi->Date;

ADODataSetHistoryCena->Value= ADODataSetComputerTehnikaCena->Value;

ADODataSetHistory->Post();

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

DBGridComputerTehnikaCellClick(Column);

}

}

//---------------------------------------------------------------------------

void __fastcall TFormProdazha::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TFormProdazha::N1Click(TObject *Sender)

{

ButtonProdatClick(Sender);

}

//---------------------------------------------------------------------------

void __fastcall TFormProdazha::N2Click(TObject *Sender)

{

ButtonExitClick(Sender);

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

//---------------------------------------------------------------------------

USEFORM("MainComputer.cpp", FormVxod);

USEFORM("DM.cpp", DM1); /* TDataModule: File Type */

USEFORM("Dolgnost.cpp", FormDolgnost);

USEFORM("MainAIS.cpp", FormMainAIS);

USEFORM("VidTehniki.cpp", FormVidTehniki);

USEFORM("Manager.cpp", FormManager);

USEFORM("ComputerTehnika.cpp", FormComputerTehnika);

USEFORM("Prodazha.cpp", FormProdazha);

USEFORM("Vnalichii.cpp", FormVnalichii);

USEFORM("UnitReport.cpp", FormReport);

USEFORM("Prodano.cpp", FormProdano);

USEFORM("UnitReport2.cpp", FormReport2);

USEFORM("OtchetManager.cpp", FormOtchetManager);

USEFORM("DiagrammaOklad.cpp", FormDiagrammaOklad);

USEFORM("Spravka.cpp", FormSpravka);

//---------------------------------------------------------------------------

WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)

{

try

{

Application->Initialize();

Application->CreateForm(__classid(TFormVxod), &FormVxod);

Application->CreateForm(__classid(TDM1), &DM1);

Application->Run();

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

catch (...)

{

try

{

throw Exception("");

}

catch (Exception &exception)

{

Application->ShowException(&exception);

}

}

return 0;

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "Spravka.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormSpravka *FormSpravka;

//---------------------------------------------------------------------------

__fastcall TFormSpravka::TFormSpravka(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFormSpravka::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "UnitReport.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormReport *FormReport;

bool Pr;

//---------------------------------------------------------------------------

__fastcall TFormReport::TFormReport(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

//выполняется после закрытия окна просмотра отчета

void __fastcall TFormReport::QuickRep1AfterPreview(TObject *Sender)

{

FormReport->Close(); //закрыть форму

}

//---------------------------------------------------------------------------

//выполняется при активации формы

void __fastcall TFormReport::FormActivate(TObject *Sender)

{

if(Pr==false)

Pr=true;

else

{Pr=false;

FormReport->Close();

return;

}

QuickRep1->Visible=false;

QuickRep1->Preview();//показатьокнопредварительногопросмотраотчета

}

//---------------------------------------------------------------------------

//выполняетсяприотображенииформы

void __fastcall TFormReport::FormShow(TObject *Sender)

{

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "UnitReport2.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormReport2 *FormReport2;

bool Pr;

//---------------------------------------------------------------------------

__fastcall TFormReport2::TFormReport2(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

//выполняется после закрытия окна просмотра отчета

void __fastcall TFormReport2::QuickRep1AfterPreview(TObject *Sender)

{

FormReport2->Close(); //закрыть форму

}

//---------------------------------------------------------------------------

//выполняется при активации формы

void __fastcall TFormReport2::FormActivate(TObject *Sender)

{

if(Pr==false)

Pr=true;

else

{Pr=false;

FormReport2->Close();

return;

}

QuickRep1->Visible=false;

QuickRep1->Preview();//показатьокнопредварительногопросмотраотчета

}

//---------------------------------------------------------------------------

//выполняетсяприотображенииформы

void __fastcall TFormReport2::FormShow(TObject *Sender)

{

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

ADODataSetVidTehniki->Close();

ADODataSetVidTehniki->Open();

ADODataSetHistory->Close();

ADODataSetHistory->Open();

}

//---------------------------------------------------------------------------

//---------------------------------------------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "VidTehniki.h"

#include "DM.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TFormVidTehniki *FormVidTehniki;

//---------------------------------------------------------------------------

__fastcall TFormVidTehniki::TFormVidTehniki(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Добавить

void __fastcall TFormVidTehniki::ButtonAddClick(TObject *Sender)

{

if(ADODataSetVidTehniki->State==dsBrowse)

{ADODataSetVidTehniki->Insert();

Panel1->Visible=false;

Panel2->Visible=true;

GroupBox1->Visible=true;

DBEditName->SetFocus();

}

}

//---------------------------------------------------------------------------

//ВыполняетсяпринажатиикнопкиУдалить

void __fastcall TFormVidTehniki::ButtonDeleteClick(TObject *Sender)

{

if(ADODataSetVidTehniki->RecordCount==0) //естьлиданныевБД

{ButtonChange->Enabled=false;//сделать кнопку Изменить недоступной

ButtonDelete->Enabled=false;//сделать кнопку Удалить недоступной

ShowMessage("Данные отсутствуют в БД!"); //вывести сообщение в виде окошка

return;//выход из формы

}

if(ADODataSetVidTehniki->State==dsBrowse)

if(Application->MessageBoxA("Подтвердите удаление записи !","Внимание",MB_ICONWARNING+MB_YESNO)==IDYES)

{ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->CommandText= "select * from TablComputerTehnika where CodVidTehniki="+ADODataSetVidTehnikiCod->AsString;

ADODataSetComputerTehnika->Open();

if(ADODataSetComputerTehnika->RecordCount>0)

{ShowMessage("Ошибка при удалении! В таблице 'TablComputerTehnika' имеются связанные записи!"); //вывести сообщение в виде окошка

return;//выход из процедуры

}

ADODataSetVidTehniki->Delete();//удалить запись из таблицы БД

}

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Изменить

void __fastcall TFormVidTehniki::ButtonChangeClick(TObject *Sender)

{

if(ADODataSetVidTehniki->RecordCount==0) //есть ли данные в БД - кол-во записей в таблице БД

{ShowMessage("Данные отсутствуют в БД!");//вывести сообщение в виде окошка

return;//выход из формы

}

if(ADODataSetVidTehniki->State==dsBrowse)

ADODataSetVidTehniki->Edit();//перевести таблицу БД в режим редактирования

Panel1->Visible=false;//сделать панель невидимой

Panel2->Visible=true;//сделать панель видимой

GroupBox1->Visible=true;//сделать панель видимой

DBEditName->SetFocus(); //установить фокус в поле для ввода

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Выход

void __fastcall TFormVidTehniki::ButtonExitClick(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

//------Выполняется при нажатии кнопки Запомнить

void __fastcallTFormVidTehniki::ButtonPostClick(TObject *Sender)

{

//------проверка всех введенных данных

if(DBEditName->Text=="" )//проверка введенных данных

{ShowMessage("Введите название!");//вывод диалогового окна с сообщением

return;//выход из процедуры

}

//-----------

ADODataSetVidTehniki->Post();//запомнить все изменения в таблице БД

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

ButtonChange->Enabled=true;//сделать кнопку Изменить доступной

ButtonDelete->Enabled=true;//сделать кнопку Удалить доступной

}

//---------------------------------------------------------------------------

//Выполняется при нажатии кнопки Отменить

void __fastcall TFormVidTehniki::ButtonOtmenClick(TObject *Sender)

{

ADODataSetVidTehniki->Cancel();//отменить все изменения - данные в таблице БД не сохраняются

Panel1->Visible=true;//сделать панель видимой

Panel2->Visible=false;//сделать панель невидимой

GroupBox1->Visible=false;//сделать панель невидимой

}

//---------------------------------------------------------------------------

void __fastcall TFormVidTehniki::FormShow(TObject *Sender)

{

ADODataSetVidTehniki->Close();

ADODataSetVidTehniki->Open();

ADODataSetComputerTehnika->Close();

ADODataSetComputerTehnika->Open();

}

//---------------------------------------------------------------------------

void __fastcall TFormVidTehniki::DBEditNameKeyPress(TObject *Sender,

char &Key)

{

if(Key==13)

ButtonPostClick(Sender);

}

//---------------------------------------------------------------------------