Разработка информационной системы для учета материальных средств предприятия малого бизнеса Республики Казахстан

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 23.12.2014
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

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

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

4.2 Расчет экономической эффективности внедрения системы

Расчет затрат на разработку и внедрение

Затраты на разработку и внедрение:

C=Cалг+Cотлвнктс,

где Салг - затраты на разработку алгоритма,

Cотл - затраты на написание программы и отладку,

Свн - затраты на внедрение программы,

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

Расчет затрат на разработку алгоритма

Затраты на разработку алгоритма:

Салг=ЗПразраб. *В+Озп,

где ЗПразраб - оклад разработчика, тенге, В - время, затраченное на разработку программы, дни, Озп - отчисления на социальные нужды (21%).

В разработке участвует один инженер, заработная плата которого составляет 20000 тенге в месяц. На разработку алгоритма понадобился один месяц. Отчисления на социальные нужды составляют 21% от заработанной платы инженера.

Подсчитаем затраты на оплату труда разработчика алгоритма за период разработки алгоритма:

Салг=20000*1+4200=24200 (тенге).

Расчет затрат на написание и отладку программы

Затраты определяются по формуле:

Сотлотлз/потл,

где Котл - стоимость машинного времени, затраченного на отладку программы, тенге,

Фз/потл - фонд заработной платы программиста на отладку и написание программы, тенге.

Стоимость машинного времени, затраченного на отладку:

Котл=k*d*q,

где k - время работы на ПЭВМ в день,

d - Количество дней работы на ПЭВМ,

q - Стоимость часа машинного времени.

Для написания программы понадобилось два месяца, по 8 рабочих часов в день. Стоимость часа машинного времени составляет 60 тенге/час. Затраты на оплату общего времени работы компьютера составят:

Котл=k*d*q =8*46*60=22080 (тенге).

Фонд заработной платы:

Фз/п=kм*ЗПразраб+От,

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

ЗПразраб - оклад программиста (тг/месяц),

От отчисления на социальные нужды (21%).

Для написания программы понадобилось два месяца, программу писал программист, заработная плата которого за месяц составляет 20000 тенге. Отчисления на социальные нужды составляют 21% от заработанной платы инженера.

Подсчитаем затраты на оплату труда программиста за период разработки алгоритма:

Фз/п=2*20000+8400 = 48400 (тенге).

Стоимость машинного времени, затраченного на отладку:

Сотл=22080+48400=70480 (тенге).

Расчет затрат, связанных с внедрением программы

Затраты на внедрение программы определяются следующим образом:

Свнвнз/пвн,

где Квн - стоимость машинного времени за время внедрения, тенге,

Фз/пвн - фонд заработной платы программиста за время внедрения, тенге.

Стоимость машинного времени:

Квн=k*d*q,

где k - время работы на ПЭВМ в день,

d - Количество дней работы на ПЭВМ,

q - Стоимость часа машинного времени, тенге.

Для отладки программы понадобился один инженер, заработная плата которого составляет 20000 тенге/мес, который работал 23 дня по 8 часов в день. Отчисления на социальные нужды составляют 21% от заработной платы инженера. Стоимость машинного часа составляет 60 тенге/час. Тогда стоимость машинного времени равна:

Квн= 8*23*60=11040 (тенге).

Фонд заработной платы определяется:

Фз/п вн=ЗПразраб*d/D+От,

где ЗПразраб - заработная плата программиста, занятого внедрением, тенге,

d - Количество дней работы на ПЭВМ,

D - Количество рабочих дней в месяц,

От - отчисления на социальные нужды (21%).

Фз/пвн=20000* (23/23) +4200=24200 (тенге).

Таким образом, с учетом стоимости машинного времени на время внедрения и фонда заработной платы за время внедрения, затраты на внедрение системы составят:

Свн=11040+24200=35240 (тенге).

Расчет затрат на комплекс технических средств

Фирма обладает всеми необходимыми техническими средствами, поэтому затраты на приобретение сервера не учитываются. Сктс=0 (тенге).

И так, учитывая затраты на разработку алгоритма, затраты на приобретение ЭВМ, затраты на внедрение системы и затраты на написание и отладку, затраты на разработку и внедрение системы составят:

C=24200+70480+35240+0=129920 (тенге).

Расчет затрат до внедрения программы

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

Каждый раз при поступлении нового товара кладовщик должен был внести всю информацию в специальные карточки по товарам, по поставщикам, типам и др. При обыкновенном ритме работы кладовщик тратил до целого рабочего дня (8 часов) для оформления товаров, большое количество канцелярских товаров. Вот примерный перечень используемых канцелярских товаров в месяц. При этом используется бумага стоимостью 750тг за упаковку. Канцелярские товары на сумму: 1 органайзер - 500тг. Ручки-200тг за упаковку (10шт). Карандаши - 150тг за упаковку (10 шт.). Корректоры - 300тг за 3 шт. Ластики - 100тг за 10 шт. Таким образом, количество затрат до внедрения системы составляет:

750+500+200+150+300+100=2000 тг. в месяц на канцелярские товары.

Для успешной работы необходимо приобретать канцелярские товары каждый месяц. Итого:

Затр = 2000*12=24000 тг. в год на канцелярские товары.

Временные затраты:

8*30 = 240 часов в месяц.

Итого:

ВрЗатр = 240*12 = 2880 часов в год.

Расчет затрат после внедрения программного обеспечения

После внедрения программы временные затраты уменьшились в двое.

3*30 = 90 часов в месяц.

Итого:

ВрЗатр = 90*12 = 1080 часов в год.

Таким образом, количество затрат после внедрения системы составляет:

750+200+100=1050 тг. в месяц на канцелярские товары.

Итого, затраты составят:

Затр' = 1050*12=12600 тг. в год на канцелярские товары.

Расчет экономии затрат. Экономия затрат от внедрения системы определяется:

Э=Затратр,

где Затр - затраты до внедрения системы, Затр' - затраты после внедрения системы.

Э=Затратр'=11 400 (тенге).

Срок окупаемости подсистемы:

Ток. =С/Э,

где С - затраты на разработку и внедрение системы,

Э - экономия затрат от внедрения.

Ток=129920/11400=11,4 (года).

Годовой экономический эффект составил:

ЭФгод= Ен. *С - Э,

где Э - годовая экономия затрат,

Ен - нормативный коэффициент эффективности капитальных вложений (0,32),

С - затраты на разработку и внедрение системы, тенге.

ЭФгод=0,32*129920 - 11 400=30 174,4 (тенге).

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

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

5. Описание работы интерфейса и требования к подсистеме

5.1 Описание работы интерфейса клиентской части ИС по учету товарно-материальных ценностей на складе

Как уже было сказано выше, клиентская часть ИС разрабатывалась в объектно-ориентированной среде C++Builder 6.0 и из-за сложности внутренних связей между объектами этого приложения в кругозор освещенных вопросов данной дипломной работы не войдут ни исходные коды, ни их описание.

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

Рисунок 11. Окно справочник

В окне "Учет/списание" пользователь может списать бракованный товар.

Рисунок 12. Окно "Учет/списание"

В окне просмотр пользователь может просматривать список товаров по категориям, просматривать количество оставшегося товара на складе, или просматривать список фирм, которые поставляют определённый товар (рис. 13,14,15). Пользователь при необходимости может распечатать список в виде отчета (рис. 16,17,18).

Рисунок 13. Окно "Просмотр"

Рисунок 14. Окно "просмотр по товарам"

Рисунок 15. Окно "просмотр по фирмам"

Рисунок 16. "Отчет по категориям"

Рисунок 17. "Отчет по товарам"

Рисунок 18. "Отчет по фирмам"

В окне выбор инвентаря пользователь может увидеть поставщика товара.

Рисунок 19. Окно "Выбор инвентаря"

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

Рисунок 20. Окно "Инвентаризация"

В окне Итоги пользователь может проверить общий учет, списание и сумму бракованного товара.

Рисунок 21. Окно "Итоги"

5.2 Требования к подсистеме

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

Сервер управления базами данных. Для нормальной работы потребует установки на рабочую станцию "Сервер управления реляционными базами данных MSSQL 2000". После чего производится регистрация, с помощью этой программы, информационной базы данных на выбранном компьютере [10].

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

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

Для создания базы данных с помощью Transact-SQLиспользуетсякомандаCREATEDATABASE.

CREATEDATABASEeducation

ONPRIMARY

(NAME = sk777_data, FILENAME='C: \Program Files\Microsoft SQL Server\MSSQL\Data\sk777_data. mdf', size = 4, maxsize =25, filegrowth = 1 mb)

LOG ON

(NAME = sk777_log, FILENAME='C: \Program Files\Microsoft SQL Server\MSSQL\Data\sk777_log. ldf', size = 4, maxsize = 20,Filegrowth =1 mb)

Внимание: Размещение базы и журнала транзакций - 'С: \…' - может меняться в зависимости от версии SQL и размещения ProgramFiles [8].

Клиентская часть. Программа "Автоматизированного учета товарно-материальных ценностей" или просто "Учет товаров на складе". Представляет из себя набор инструментов по наполнению информационной базы данных, обработки вводимых данных, средства оперативного учета товарных запасов, а также весь необходимый инструментарий подготовки отчетных форм. Данная программа устанавливается на рабочую станцию (компьютер кладовщика), после чего настраивается на согласованную работу с СУБД.

Готовая и настроенная ИС для своей нормальной работы потребует от выбранного компьютера минимальных системных требований: Pentium-2 233MHz, 32MbRAM, свободного места на HHD 10Mb, разрешение экрана монитора не менее 800х600 точек [8].

Заключение

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

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

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

1. Смирнова Г.Н., Сорокин А.А., Тельнов Ю.Ф. / Проектирование экономических информационных систем: Учебник/ М.: Финансы и статистика, 2003. - 512с.: ил.

2. Курбацкий А.Н. Автоматизация обработки документов - Мн.: БГУ, 1999. - 221с.: ил.

3. Богатая Н.Н., Хаханова Н.Н. / Бухгалтерский учет. Серия "Высшее образование".3-е изд., перераб. и доп. - Ростов н/Д: "Феникс", 2004. - 800с.

4. Патрушина С.М. / Информационные системы в бухгалтерском учете: Учебное пособие. - Москва: ИКЦ "МарТ". Ростов-н/Д: Издательский центр "МарТ", 2003. - 368с. (Серия "Информационные системы").

5. Материалы Web-сайта "Клуб Бухгалтеров" http://www.provodka.ru (http://provodka.ru/planchet/gl10. php).

6. Материалы информационно-справочной системы "ГАРАНТ". Платформа F1.

7. Томас К., Каролин Б. /"Базы Данных. Проктирование реализация и сопровождение. Теория и практика". Третье издание - Москва, Санкт-Петербург, Киев 2003 "Вильямс". - 1439стр.

8. Архангельский А.Я. /"Программирование в C++Builder 6.0". - Москва 2004. "Бином".

9. Архангельский А.Я. /"C++Builder 6.0 Справочное пособие". - Москва 2004. "Бином".

10. Borland C++ Builder 6. Руководство разработчика ДжарродХолингворт, Боб Сворт, Марк Кэшмэн, Поль Густавсон.

11. А.Я. Архангельский Программирование в C++ Builder 6

12. Название: Разработка приложений на основе Microsoft SQL Server 2005Автор: Браст Эндрю Дж., Форте С. Издательство: РусскаяРедакцияГод: 2007

13. Название: Microsoft SQL Server 2005. Справочник администратора. Автор: Уильям Р. СтанекИздательство: Русская РедакцияГод: 2006

14. Название: Borland C++ Builder освой самостоятельно за 21 день Год: 2005

15. C++ Builder в задачах и примерах Никита Культин336 стр. 2005г.

16. А.Я. Архангельский C++Builder 6. Справочное пособие. Книга 1. Язык С++

17. Волков С. И Романов А.И. Организация машинной обработки экономической информации, 1988.

18. Ивлиев М. К Порошина Л.А. Автоматизация оперативного и бухгалтерского учета товаров, 1997.

19. Ирвин, Access 2000 - Библия пользователя, Диалектика, 2000.

20. Титоренко Г.А. Автоматизированные информационные технологии в экономике, 1998.

21. Журнал "Маркетинг и маркетинговые исследования", N 03 (69) 2007. Сравнительный анализ информационно-аналитических систем для обработки открытых источников информации. Вороной А., Манько П. С 5-8.

22. Журнал Управление персоналом №3 2005 год. Управление имиджем вуза.Е. Шагаева С.26-28.

23. Приказ Минфина РФ от 9 декабря 1998 г. N 60н "Об утверждении Положения по бухгалтерскому учету "Учетная политика организации" ПБУ 1/98" (с изменениями от 30 декабря 1999 г.)

24. Анализ финансово-хозяйственной деятельности предприятия. Анке А.А. Кошевая И.П., 2-е изд., исп. И доп. - Форум: ИНФРА-М, 2007. - 288 с.

25. Информационные технологии в маркетинге. Титоренко Г.А., Макарова Г.Л. - Учебник для вузов: М.: ЮНИТИ-ДАНА, 2003.439 с.

26. (http://www.audit-it.ru/articles/account/buhconcret/a65/41551.html - _ftn5#_ftn5 http://www.audit-it.ru/articles/account/buhconcret/a65/41551.html),

Глоссарий

№ п/п

Понятия

Содержание

1

2

3

SQL (StructuredQueryLanguage)

Язык структурированных запросов для выборки, изменения и удаления данных из таблиц базы данных.

База данных (Database)

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

Базовая таблица

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

Базовый запрос

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

Внешнее объединение (Leftjoin, Rightjoin)

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

Внешний ключ (Foreignkey)

Одно или несколько полей в таблице, которые содержат ссылку на поле (поля) первичного ключа в другой таблице.

Внутреннее объединение (Innerjoin)

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

Главная форма

Форма, которая включает другую форму.

Группировка (Grouping)

Разделение данных на группы, по определенному критерию.

Данные

Произвольная информация, представленная в символьной (цифровой) форме.

Диаграмма

Графический образ, отражающий количественную зависимость данных.

Запись (Record)

Структурированный тип данных, компоненты которого называются полями, имеют имя и тип.

Запрос (Query)

Обращение к СУБД, содержащее задание на выборку, добавление, изменение или удаление записей.

Инструкция SQL

Предложение на языке структурированных запросов (SQL), представляющее собой запрос для выборки или обработки данных.

Источник записей (RecordSource)

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

Клавиши быстрого доступа

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

Ключевое поле

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

Кнопки перехода

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

Контекстное меню (Popup)

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

Маркер перемещения

Квадрат в левом верхнем углу выделенного элемента управления формы, отчета или страницы доступа к данным.

Маркер перемещения

Квадрат в левом верхнем углу выделенного элемента управления формы, отчета или страницы доступа к данным.

Маркер развертывания

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

Маркеры размера

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

Модуль класса

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

Навигационные кнопки (NavigationButtons)

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

Объектная модель (Objectmodel)

Совокупность взаимосвязанных объектов, описывающих программную систему.

Окно базы данных (DatabaseWindow)

Окно, которое содержит списки всех объектов базы данных и обеспечивает доступ к этим объектам.

Окно свойств (PropertiesSheet)

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

Оператор

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

Операция

Действие, выполняемое над данными.

Отладка (Debug)

Поиск и исправление ошибок в макросах или процедурах Objectpascal.

Отчет (Report)

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

Панель инструментов (Toolbar)

Один из видов панелей команд.

Панель элементов

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

Подчиненная форма, (Subform, subreport)

Форма (отчет), которая встраивается в главную форму (отчет).

Поле (1) (Field)

Элемент данных в записи.

Поле (2) (TextBox)

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

Поле со списком (ComboBox)

Комбинированный элемент управления, объединяющий в себе текстовое поле для ввода и отображения данных и список для выбора значения.

Свойство (Property)

Характеристика объекта, которая может принимать определенное значение.

Связанная таблица (LinkedTable)

Внешняя таблица, которая доступна из текущего файла базы данных.

Событие (Event)

Одномоментное идентифицируемое изменение состояния некоторой системы.

Соединение (Join)

Одна из операций над таблицами баз данных.

Строка (String)

Последовательность символов, заключенная в двойные кавычки.

Схема данных (Relationship)

Графическое представление структуры базы данных SQL Server.

Таблица базы данных

Набор данных в реляционной СУБД. Состоит из переменного количества записей постоянной структуры.

Тип данных (Data Туре)

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

Форма (Form)

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

Целостность данных

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

Приложение

#include <vcl. h>

#pragma hdrstop

#include "Shop. h"

#pragma package

(smart_init)

#pragma resource "*. dfm"

TForm1 *Form1;

TComboBox *Combo;

_fastcall TForm1:: TForm1 (TComponent* Owner)

: TForm (Owner)

{ Label5->Caption="";

Label6->Caption="";

Label7->Caption="";

}

void __fastcall TForm1:: zapK ()

{

ADOTable1->First ();

Combo->Clear ();

while (! ADOTable1->Eof)

{

Combo->Items->Add (ADOTable1->FieldValues ["NameKat"]);

ADOTable1->Next ();

}

}

void __fastcall TForm1:: zapF ()

{

ADOTable3->First ();

Combo->Clear ();

while (! ADOTable3->Eof)

{

Combo->Items->Add (ADOTable3->FieldValues ["NameF"]);

ADOTable3->Next ();

}

}

void __fastcall TForm1:: zap4 ()

{

int n;

TLocateOptionsSearchOptions;

ComboBox5->Clear ();

ADOTable1->Locate ("NameKat",ComboBox4->Text,SearchOptions);

n=ADOTable1->FieldByName ("CodeKat") - >AsInteger;

ADOTable2->First ();

while (! ADOTable2->Eof)

if (ADOTable2->FieldByName ("CodeKat") - >AsInteger==n)

{

ComboBox5->Items->Add (ADOTable2->FieldValues ["NameTov"]);

ADOTable2->Next ();

}

else

ADOTable2->Next ();

}

void __fastcall TForm1:: colvo ()

{

TLocateOptionsSearchOptions;

int n, S1=0,S2=0,S3=0;

ADOTable2->Locate ("NameTov",ComboBox5->Text,SearchOptions);

n=ADOTable2->FieldByName ("CodeTov") - >AsInteger;

ADOTable4->First ();

while (! ADOTable4->Eof)

{

if ( (ADOTable4->FieldByName ("CodeTov") - >AsInteger==n) && (ADOTable4->FieldByName ("Code_op") - >AsInteger==0))

S1+=ADOTable4->FieldByName ("Colvo") - >AsInteger;

ADOTable4->Next ();

}

ADOTable4->First ();

while (! ADOTable4->Eof)

{

if ( (ADOTable4->FieldByName ("CodeTov") - >AsInteger==n) && (ADOTable4->FieldByName ("Code_op") - >AsInteger==1))

S2+=ADOTable4->FieldByName ("Colvo") - >AsInteger;

ADOTable4->Next ();

}

ADOTable4->First ();

while (! ADOTable4->Eof)

{

if ( (ADOTable4->FieldByName ("CodeTov") - >AsInteger==n) && (ADOTable4->FieldByName ("Code_op") - >AsInteger==2))

S3+=ADOTable4->FieldByName ("Colvo") - >AsInteger;

ADOTable4->Next ();

}

LabeledEdit1->Text=IntToStr (S1);

LabeledEdit2->Text=IntToStr (S2);

LabeledEdit3->Text=IntToStr (S3);

LabeledEdit4->Text=IntToStr (S1-S2-S3);

}

/*void __fastcall TForm1:: zap6 ()

{

Table1->First ();

ComboBox6->Clear ();

while (! Table1->Eof)

{

ComboBox6->Items->Add (Table1->FieldValues ["NameKat"]);

Table1->Next ();

}

} */

void __fastcall TForm1:: zap7 ()

{

int n;

TLocateOptionsSearchOptions;

ComboBox7->Clear ();

ADOTable1->Locate ("NameKat",ComboBox6->Text,SearchOptions);

n=ADOTable1->FieldByName ("CodeKat") - >AsInteger;

ADOTable2->First ();

while (! ADOTable2->Eof)

if (ADOTable2->FieldByName ("CodeKat") - >AsInteger==n)

{

ComboBox7->Items->Add (ADOTable2->FieldValues ["NameTov"]);

ADOTable2->Next ();

}

else

ADOTable2->Next ();

}

/*void __fastcall TForm1:: zap8 ()

{

Table1->First ();

ComboBox8->Clear ();

while (! Table1->Eof)

{

ComboBox8->Items->Add (Table1->FieldValues ["NameKat"]);

Table1->Next ();

}

} */

void __fastcall TForm1:: zap9 ()

{

int n;

TLocateOptionsSearchOptions;

ComboBox9->Clear ();

ADOTable1->Locate ("NameKat",ComboBox8->Text,SearchOptions);

n=ADOTable1->FieldByName ("CodeKat") - >AsInteger;

ADOTable2->First ();

while (! ADOTable2->Eof)

if (ADOTable2->FieldByName ("CodeKat") - >AsInteger==n)

{

ComboBox9->Items->Add (ADOTable2->FieldValues ["NameTov"]);

ADOTable2->Next ();

}

else

ADOTable2->Next ();

}

/*void __fastcall TForm1:: zap10 ()

{

Table3->First ();

ComboBox10->Clear ();

while (! Table3->Eof)

{

ComboBox10->Items->Add (Table3->FieldValues ["NameF"]);

Table3->Next ();

}

} */

void __fastcall TForm1:: Prihod ()

{

ADOQuery1->Close ();

ADOQuery1->SQL->Clear ();

ADOQuery1->SQL->Add ("Select p1. Code_op,p2. NameTov, p1. Data, p1. Colvo, p1. Price,p1. Summa, p3. NameF from Prihod_Rashod p1, tovar p2, firm p3 where (p1. CodeTov=p2. CodeTov) and (p1. kodef=p3. codef) and (p1. Code_op=0)");

ADOQuery1->Open ();

}

void __fastcall TForm1:: Rashod ()

{

ADOQuery1->Close ();

ADOQuery1->SQL->Clear ();

ADOQuery1->SQL->Add ("Select p1. Code_op,p2. NameTov,p1. Data, p1. Colvo, p1. Price, p1. Summa, p3. NameF from Prihod_Rashod p1, tovar p2, firm p3 where (p1. CodeTov=p2. CodeTov) and (p1. Code_op=1) and (p1. kodef=p3. codef)");

ADOQuery1->Open ();

}

void __fastcall TForm1:: Sp ()

{

ADOQuery1->Close ();

ADOQuery1->SQL->Clear ();

ADOQuery1->SQL->Add ("Select p1. Code_op,p2. NameTov,p1. Data, p1. Colvo, p1. Price, p1. Summa,p3. NameF from Prihod_Rashod p1, tovar p2, firm p3 where (p1. CodeTov=p2. CodeTov) and (p1. kodef=p3. codef) and (p1. Code_op=2)");

ADOQuery1->Open ();

}

void __fastcall TForm1:: Button1Click (TObject *Sender)

{

int n;

if (RadioButton1->Checked)

{

ADOTable1->Last ();

if (ADOTable1->IsEmpty () ==true)

n=0;

else

n=ADOTable1->FieldValues ["CodeKat"];

ADOTable1->Append ();

ADOTable1->FieldValues ["CodeKat"] =n+1;

ADOTable1->FieldValues ["NameKat"] =ComboBox1->Text;

ADOTable1->Post ();

ComboBox1->Items->Add (ComboBox1->Text);

Text=Edit1->Text;

ComboBox1->Text=" ";

Combo=ComboBox1;

zapK ();

Combo=ComboBox4;

zapK ();

Combo=ComboBox6;

zapK ();

Combo=ComboBox8;

zapK ();

}

if (RadioButton2->Checked)

{

ADOTable2->Last ();

ADOTable1->Last ();

if (ADOTable2->IsEmpty () ==true)

n=0;

else

n=ADOTable2->FieldValues ["CodeTov"];

ADOTable2->Append ();

ADOTable2->FieldValues ["CodeTov"] =n+1;

ADOTable2->FieldValues ["NameTov"] =Edit1->Text;

ADOTable1->First ();

while (! ADOTable1->Eof)

if (ADOTable1->FieldByName ("NameKat") - >AsString==ComboBox1->Text)

{

ADOTable2->FieldValues ["CodeKat"] =ADOTable1->FieldValues ["CodeKat"];

break;

}

else

ADOTable1->Next ();

ADOTable2->Post ();

Edit1->Clear (); zap4 ();

}

if (RadioButton3->Checked)

{

zapF ();

ADOTable3->Last ();

ADOTable1->Last ();

if (ADOTable3->IsEmpty () ==true)

n=0;

else

n=ADOTable3->FieldByName ("codef") - >AsInteger;

ADOTable3->Append ();

ADOTable3->FieldByName ("codef") - >AsInteger=n+1;

ADOTable3->FieldValues ["NameF"] =Edit1->Text;

ADOTable3->FieldValues ["Address"] =Edit2->Text;

ADOTable3->FieldValues ["Tel"] =Edit3->Text;

ADOTable3->FieldValues ["Manager"] =Edit4->Text;

ADOTable3->Post ();

Edit1->Clear ();

Edit2->Clear ();

Edit3->Clear ();

Edit4->Clear ();

Combo=ComboBox3; zapF ();

Combo=ComboBox10; zapF ();

}

Label5->Caption="";

Label6->Caption="";

}

void __fastcall TForm1:: Button4Click (TObject *Sender)

{

Close ();

}

void __fastcall TForm1:: RadioButton1Click (TObject *Sender)

{

ComboBox1->Visible=true;

Edit1->Visible=false;

Edit2->Visible=false;

Edit3->Visible=false;

Edit4->Visible=false;

DBGrid1->Visible=true;

DBGrid2->Visible=false;

DBGrid3->Visible=false;

Label10->Visible=true;

Label10->Caption="Названиекатегорий";

Label11->Visible=false;

Label12->Visible=false;

Label13->Visible=false;

Label14->Visible=false;

}

void __fastcall TForm1:: RadioButton2Click (TObject *Sender)

{

ComboBox1->Visible=true;

Edit1->Visible=true;

Edit2->Visible=false;

Edit3->Visible=false;

Edit4->Visible=false;

DBGrid2->Visible=true;

DBGrid1->Visible=false;

DBGrid3->Visible=false;

Label10->Visible=true;

Label10->Caption="Названиекатегорий";

Label11->Visible=true;

Label11->Caption="Названиетовара";

Label12->Visible=false;

Label13->Visible=false;

Label14->Visible=false;

}

void __fastcall TForm1:: RadioButton3Click (TObject *Sender)

{

ComboBox1->Visible=false;

Edit1->Visible=true;

Edit2->Visible=true;

Edit3->Visible=true;

Edit4->Visible=true;

DBGrid3->Visible=true;

DBGrid2->Visible=false;

DBGrid1->Visible=false;

Label10->Visible=false;

Label11->Visible=true;

Label12->Visible=true;

Label13->Visible=true;

Label14->Visible=true;

Label11->Caption="Названиефирмы";

Label12->Caption="Названиеадреса";

Label13->Caption="Телефон";

Label14->Caption="ответственноелицо";

}

void __fastcall TForm1:: Button2Click (TObject *Sender)

{

int i;

if (RadioButton1->Checked)

{

i=MessageDlg ("Выдействительнохотитеудалить?",mtConfirmation,TMsgDlgButtons () <<mbYes<<mbNo,0);

if (i==mrYes)

ADOTable1->Delete ();

ComboBox1->Text=" ";

Combo=ComboBox1;

zapK ();

Combo=ComboBox4;

zapK ();

Combo=ComboBox6;

zapK ();

Combo=ComboBox8;

zapK ();

}

if (RadioButton2->Checked)

{

i=MessageDlg ("Выдействительнохотитеудалить?",mtConfirmation,TMsgDlgButtons () <<mbYes<<mbNo,0);

if (i==mrYes)

ADOTable2->Delete ();

Edit1->Clear ();

}

if (RadioButton3->Checked)

{

i=MessageDlg ("Выдействительнохотитеудалить?",mtConfirmation,TMsgDlgButtons () <<mbYes<<mbNo,0);

if (i==mrYes)

ADOTable3->Delete ();

Edit1->Clear ();

Edit2->Clear ();

Edit3->Clear ();

Edit4->Clear ();

Combo=ComboBox3; zapF ();

Combo=ComboBox10; zapF ();

}

}

void __fastcall TForm1:: Button3Click (TObject *Sender)

{

if (RadioButton1->Checked)

{

ADOTable1->Edit ();

ADOTable1->FieldValues ["NameKat"] =ComboBox1->Text;

ADOTable1->Post ();

Edit1->Clear ();

Combo=ComboBox1;

zapK ();

Combo=ComboBox4;

zapK ();

Combo=ComboBox6;

zapK ();

Combo=ComboBox8;

zapK ();

}

if (RadioButton2->Checked)

{

ADOTable2->Edit ();

ADOTable2->FieldValues ["NameTov"] =ComboBox1->Text;

ADOTable2->FieldValues ["NameTov"] =Edit1->Text;

ADOTable2->Post ();

Edit1->Clear ();

}

if (RadioButton3->Checked)

{

ADOTable3->Edit ();

ADOTable3->FieldValues ["NameF"] =Edit1->Text;

ADOTable3->FieldValues ["Address"] =Edit2->Text;

ADOTable3->FieldValues ["Tel"] =Edit3->Text;

ADOTable3->FieldValues ["Manager"] =Edit4->Text;

ADOTable3->Post ();

Edit1->Clear ();

Edit2->Clear ();

Edit3->Clear ();

Edit4->Clear ();

Combo=ComboBox3; zapF ();

Combo=ComboBox10; zapF ();

}

}

void __fastcall TForm1:: FormCreate (TObject *Sender)

{

Combo=ComboBox1;

zapK ();

Combo=ComboBox4;

zapK ();

Combo=ComboBox6;

zapK ();

Combo=ComboBox8;

zapK ();

Combo=ComboBox3;

zapF ();

Combo=ComboBox10; zapF ();

if (RadioButton1->Checked)

Edit1->Text=ADOTable1->FieldValues ["NameKat"];

if (RadioButton2->Checked)

Edit1->Text=ADOTable2->FieldValues ["NameTov"];

if (RadioButton3->Checked)

{

Edit1->Text=ADOTable3->FieldValues ["NameF"];

Edit2->Text=ADOTable3->FieldValues ["Address"];

Edit3->Text=ADOTable3->FieldValues ["Tel"];

Edit4->Text=ADOTable3->FieldValues ["Manager"];

}

ComboBox2->Items->Add ("Учет");

ComboBox2->Items->Add ("Списание");

ComboBox2->Items->Add ("Возвратбрака");

}

void __fastcall TForm1:: DBGrid1CellClick (TColumn *Column)

{

ComboBox1->Text=ADOTable1->FieldValues ["NameKat"];

}

void __fastcall TForm1:: DBGrid2CellClick (TColumn *Column)

{

ComboBox1->Text=ADOTable1->FieldValues ["NameKat"];

Edit1->Text=ADOTable2->FieldValues ["NameTov"];

}

void __fastcall TForm1:: DBGrid3CellClick (TColumn *Column)

{

Edit1->Text=ADOTable3->FieldValues ["NameF"];

Edit2->Text=ADOTable3->FieldValues ["Address"];

Edit3->Text=IntToStr (ADOTable3->FieldByName ("Tel") - >AsInteger);

Edit4->Text=ADOTable3->FieldValues ["Manager"];

}

void __fastcall TForm1:: ComboBox4Change (TObject *Sender)

{

zap4 ();

}

void __fastcall TForm1:: ComboBox2Change (TObject *Sender)

{

Label5->Caption="";

Label6->Caption="";

if (ComboBox2->Text=="Учет")

{

Prihod ();

Label5->Caption="Количество учетного товара";

Label6->Caption="Дата поступления";

Label7->Caption="Стоимость";

}

if (ComboBox2->Text=="Списание")

{

Rashod ();

Label5->Caption="Количество списанного товара";

Label6->Caption="Датапоступления";

Label7->Caption="Стоимость";

}

if (ComboBox2->Text=="Возвратбрака")

{

Sp ();

Label5->Caption="Количество бракованного товара";

Label6->Caption=" Дата поступления ";

Label7->Caption=" Стоимость ";

}

}

void __fastcall TForm1:: Button5Click (TObject *Sender)

{

if (ComboBox2->Text=="Учет ")

{

ADOTable4->Append ();

ADOTable4->FieldByName ("Code_op") - >AsInteger=0;

ADOTable4->FieldByName ("Colvo") - >AsInteger=StrToInt (Edit5->Text);

ADOTable4->FieldValues ["Data"] =DateTimePicker1->Date;

ADOTable4->FieldValues ["Price"] =StrToInt (Edit6->Text);

ADOTable4->FieldValues ["Summa"] = (StrToInt (Edit5->Text)) * (StrToInt (Edit6->Text));

ADOTable3->First ();

while (! ADOTable3->Eof)

if (ADOTable3->FieldByName ("NameF") - >AsString==ComboBox3->Text)

{

ADOTable4->FieldValues ["kodef"] =ADOTable3->FieldValues ["codef"];

break;

}

else ADOTable3->Next ();

ADOTable2->First ();

while (! ADOTable2->Eof)

if (ADOTable2->FieldByName ("NameTov") - >AsString==ComboBox5->Text)

{

ADOTable4->FieldValues ["CodeTov"] =ADOTable2->FieldValues ["CodeTov"];

break;

}

else ADOTable2->Next ();

ADOTable4->Post ();

Prihod ();

}

if (ComboBox2->Text=="Списание")

{

ADOTable4->Append ();

ADOTable4->FieldByName ("Code_op") - >AsInteger=1;

ADOTable4->FieldByName ("Colvo") - >AsInteger=StrToInt (Edit5->Text);

ADOTable4->FieldValues ["Data"] =DateTimePicker1->Date;

ADOTable4->FieldValues ["Price"] =StrToInt (Edit6->Text);

ADOTable4->FieldValues ["Summa"] = (StrToInt (Edit5->Text)) * (StrToInt (Edit6->Text));

ADOTable3->First ();

while (! ADOTable3->Eof)

if (ADOTable3->FieldByName ("NameF") - >AsString==ComboBox3->Text)

{

ADOTable4->FieldValues ["kodef"] =ADOTable3->FieldValues ["codef"];

break;

}

else ADOTable3->Next ();

ADOTable2->First ();

while (! ADOTable2->Eof)

if (ADOTable2->FieldByName ("NameTov") - >AsString==ComboBox5->Text)

{

ADOTable4->FieldValues ["CodeTov"] =ADOTable2->FieldValues ["CodeTov"];

break;

}

else ADOTable2->Next ();

ADOTable4->Post ();

Rashod ();

}

if (ComboBox2->Text=="Возвратбрака")

{

ADOTable4->Append ();

ADOTable4->FieldByName ("Code_op") - >AsInteger=2;

ADOTable4->FieldByName ("Colvo") - >AsInteger=StrToInt (Edit5->Text);

ADOTable4->FieldValues ["Data"] =DateTimePicker1->Date;

ADOTable4->FieldValues ["Price"] =StrToInt (Edit6->Text);

ADOTable4->FieldValues ["Summa"] = (StrToInt (Edit5->Text)) * (StrToInt (Edit6->Text));

ADOTable3->First ();

while (! ADOTable3->Eof)

if (ADOTable3->FieldByName ("NameF") - >AsString==ComboBox3->Text)

{

ADOTable4->FieldValues ["kodef"] =ADOTable3->FieldValues ["codef"];

break;

}

else ADOTable3->Next ();

ADOTable2->First ();

while (! ADOTable2->Eof)

if (ADOTable2->FieldByName ("NameTov") - >AsString==ComboBox5->Text)

{

ADOTable4->FieldValues ["CodeTov"] =ADOTable2->FieldValues ["CodeTov"];

break;

}

else ADOTable2->Next ();

ADOTable4->Post ();

Sp ();

}

colvo ();

}

void __fastcall TForm1:: ComboBox5Change (TObject *Sender)

{

colvo ();

}

void __fastcall TForm1:: RadioButton4Click (TObject *Sender)

{

ComboBox7->Visible=false;

Combo=ComboBox6; zapK ();

DBGrid6->Visible=false;

ComboBox10->Visible=false;

Button9->Visible=false;

ComboBox6->Visible=true;

DateTimePicker2->Visible=true;

DateTimePicker3->Visible=true;

Button8->Visible=true;

DBGrid5->Visible=true;

Label8->Visible=true;

Label9->Visible=true;

}

void __fastcall TForm1:: RadioButton5Click (TObject *Sender)

{

ComboBox7->Visible=true;

Combo=ComboBox6; zapK ();

zap7 ();

DBGrid6->Visible=false;

ComboBox10->Visible=false;

Button9->Visible=false;

ComboBox6->Visible=true;

DateTimePicker2->Visible=true;

DateTimePicker3->Visible=true;

Button8->Visible=true;

DBGrid5->Visible=true;

Label8->Visible=true;

Label9->Visible=true;

}

void __fastcall TForm1:: Button8Click (TObject *Sender)

{

if (RadioButton4->Checked)

{

ADOQuery2->Close ();

ADOQuery2->SQL->Clear ();

ADOQuery2->SQL->Add ("Select p1. Code_op,p4. NameKat,p1. Colvo,p1. Price,p1. Data, p3. NameF from Prihod_Rashod p1, tovar p2, firm p3, Kategory p4 where (p1. CodeTov=p2. CodeTov) and (p1. kodef=p3. codef) and (p4. CodeKat=p2. CodeKat) and (p1. Data>=: d) and (p1. Data<=: t) and (p4. NameKat=: r)");

ADOQuery2->Parameters->Items [0] - >Value=DateTimePicker2->Date;

ADOQuery2->Parameters->Items [1] - >Value=DateTimePicker3->Date;

ADOQuery2->Parameters->Items [2] - >Value=ComboBox6->Text;

ADOQuery2->Open ();

}

if (RadioButton5->Checked)

{

ADOQuery2->Close ();

ADOQuery2->SQL->Clear ();

ADOQuery2->SQL->Add ("Select p1. Code_op,p2. NameTov, p1. Colvo,p1. Price, p1. Data, p3. NameF from Prihod_Rashod p1, tovar p2, firm p3, Kategory p4 where (p1. CodeTov=p2. CodeTov) and (p1. kodef=p3. codef) and (p2. CodeKat=p4. CodeKat) and (p1. Data>=: d) and (p1. Data<=: t) and (p4. NameKat=: p) and (p2. NameTov=: r)");

ADOQuery2->Parameters->Items [0] - >Value=DateTimePicker2->Date;

ADOQuery2->Parameters->Items [1] - >Value=DateTimePicker3->Date;

ADOQuery2->Parameters->Items [2] - >Value=ComboBox6->Text;

ADOQuery2->Parameters->Items [3] - >Value=ComboBox7->Text;

ADOQuery2->Open ();

}

}

void __fastcall TForm1:: ComboBox6Change (TObject *Sender)

{

zap7 ();

}

void __fastcall TForm1:: Button10Click (TObject *Sender)

{

ADOQuery4->Close ();

ADOQuery4->SQL->Clear ();

ADOQuery4->SQL->Add ("Select p3. NameF, p1. Price from Prihod_Rashod p1, tovar p2, firm p3, Kategory p4 where (p1. CodeTov=p2. CodeTov) and (p1. kodef=p3. codef) and (p4. CodeKat=p2. CodeKat) and (p4. NameKat=: d) and (p2. NameTov=: t) and (p1. Code_op=0)");

ADOQuery4->Parameters->Items [0] - >Value=ComboBox8->Text;

ADOQuery4->Parameters->Items [1] - >Value=ComboBox9->Text;

ADOQuery4->Open ();

}

void __fastcall TForm1:: Button9Click (TObject *Sender)

{

ADOQuery3->Close ();

ADOQuery3->SQL->Clear ();

ADOQuery3->SQL->Add ("Select p4. NameKat,p2. NameTov, p1. Price from Prihod_Rashod p1, tovar p2, firm p3, Kategory p4 where (p1. CodeTov=p2. CodeTov) and (p1. kodef=p3. codef) and (p4. CodeKat=p2. CodeKat) and (p1. Code_op=0) and (p3. NameF=: d)");

ADOQuery3->Parameters->Items [0] - >Value=ComboBox10->Text;

ADOQuery3->Open ();

}

void __fastcall TForm1:: RadioButton6Click (TObject *Sender)

{

Combo=ComboBox10;

zapF ();

DBGrid6->Visible=true;

ComboBox10->Visible=true;

Button9->Visible=true;

ComboBox6->Visible=false;

ComboBox7->Visible=false;

DateTimePicker2->Visible=false;

DateTimePicker3->Visible=false;

Button8->Visible=false;

DBGrid5->Visible=false;

Label8->Visible=false;

Label9->Visible=false;

}

void __fastcall TForm1:: ComboBox8Change (TObject *Sender)

{

zap9 ();

}

void __fastcall TForm1:: Button12Click (TObject *Sender)

{

int S1=0,S2=0;

ADOTable4->First ();

while (! ADOTable4->Eof)

{

if ( (ADOTable4->FieldByName ("Code_op") - >AsInteger==0))

S1+=ADOTable4->FieldByName ("Summa") - >AsInteger;

if ( (ADOTable4->FieldByName ("Code_op") - >AsInteger==1))

S2+=ADOTable4->FieldByName ("Summa") - >AsInteger;

ADOTable4->Next ();

}

LabeledEdit5->Text=IntToStr (S1);

LabeledEdit6->Text=IntToStr (S2);

}

void __fastcall TForm1:: Button13Click (TObject *Sender)

{

int S3=0;

ADOTable4->First ();

while (! ADOTable4->Eof)

{

if ( (ADOTable4->FieldByName ("Code_op") - >AsInteger==2))

S3+=ADOTable4->FieldByName ("Summa") - >AsInteger;

ADOTable4->Next ();

}

LabeledEdit7->Text=IntToStr (S3);

}

void __fastcall TForm1:: Button11Click (TObject *Sender)

{

TLocateOptionsSearchOptions;

int n,col,S1=0,S2=0,S3=0, i=1,c;

String f;

StringGrid1->Cells [0] [0] ="NameTov";

StringGrid1->Cells [1] [0] ="Colvo";

ADOTable2->First ();

while (! ADOTable2->Eof)

{

n=ADOTable2->FieldByName ("CodeTov") - >AsInteger;

ADOTable4->Locate ("CodeTov", n, SearchOptions);

c=ADOTable4->FieldByName ("Kodef") - >AsInteger;

ADOTable3->Locate ("codef", c, SearchOptions);

f=ADOTable3->FieldByName ("NameF") - >AsString;

ADOTable4->First ();

while (! ADOTable4->Eof)

{

if ( (ADOTable4->FieldByName ("CodeTov") - >AsInteger==n) && (ADOTable4->FieldByName ("Code_op") - >AsInteger==0))

S1+=ADOTable4->FieldByName ("Colvo") - >AsInteger;

ADOTable4->Next ();

}

ADOTable4->First ();

while (! ADOTable4->Eof)

{

if ( (ADOTable4->FieldByName ("CodeTov") - >AsInteger==n) && (ADOTable4->FieldByName ("Code_op") - >AsInteger==1))

S2+=ADOTable4->FieldByName ("Colvo") - >AsInteger;

ADOTable4->Next ();

}

ADOTable4->First ();

while (! ADOTable4->Eof)

{

if ( (ADOTable4->FieldByName ("CodeTov") - >AsInteger==n) && (ADOTable4->FieldByName ("Code_op") - >AsInteger==2))

S3+=ADOTable4->FieldByName ("Colvo") - >AsInteger;

ADOTable4->Next ();

}

col=S1-S2-S3;

if (col<=StrToInt (Edit7->Text))

{

StringGrid1->Cells [0] [i] =ADOTable2->FieldByName ("NameTov") - >AsString;

StringGrid1->Cells [1] [i] =IntToStr (col);

i+=1;

ADOTable2->Next ();

}

else

ADOTable2->Next ();

S1=S2=S3=0;

}

}

void __fastcall TForm1:: DBGrid10CellClick (TColumn *Column)

{

TLocateOptionsSearchOptions;

intn,c;

n=DBGrid10->Fields [0] - >AsInteger;

if (n==0)

{

ComboBox2->Text="Приход";

Label1->Caption=" Количество поступившего товара ";

Label2->Caption=" Дата поступления ";

Label3->Caption=" Цена поступления ";

}

if (n==1)

{

ComboBox2->Text="Списание";

Label1->Caption="Количество списанного товара";

Label2->Caption="Дата списания";

Label3->Caption="Стоимость";

}

if (n==2)

{

ComboBox2->Text="Возвратбрака";

Label1->Caption="Количество бракованного товара";

Label2->Caption="Дата возврата";

Label3->Caption="Стоимость";

}

ComboBox3->Text=DBGrid10->Fields [6] - >AsString;

ComboBox5->Text=DBGrid10->Fields [1] - >AsString;

ADOTable2->Locate ("NameTov",ComboBox5->Text,SearchOptions);

c=ADOTable2->FieldByName ("CodeKat") - >AsInteger;

ADOTable1->Locate ("CodeKat",c,SearchOptions);

ComboBox4->Text=ADOTable1->FieldByName ("NameKat") - >AsString;

Edit5->Text=DBGrid10->Fields [3] - >AsInteger;

Edit6->Text=DBGrid10->Fields [4] - >AsString;

DateTimePicker1->Date=DBGrid10->Fields [2] - >AsDateTime;

}

void __fastcall TForm1:: Button6Click (TObject *Sender)

{

if (ComboBox2->Text=="Учет")

{

ADOTable4->Edit ();

ADOTable4->FieldByName ("Code_op") - >AsInteger=0;

ADOTable4->FieldByName ("Colvo") - >AsInteger=StrToInt (Edit5->Text);

ADOTable4->FieldValues ["Data"] =DateTimePicker1->Date;

ADOTable4->FieldValues ["Price"] =StrToInt (Edit6->Text);

ADOTable4->FieldValues ["Summa"] = (StrToInt (Edit5->Text)) * (StrToInt (Edit6->Text));

ADOTable3->First ();

while (! ADOTable3->Eof)

if (ADOTable3->FieldByName ("NameF") - >AsString==ComboBox3->Text)

{

ADOTable4->FieldValues ["kodef"] =ADOTable3->FieldValues ["codef"];

break;

}

else ADOTable3->Next ();

ADOTable2->First ();

while (! ADOTable2->Eof)

if (ADOTable2->FieldByName ("NameTov") - >AsString==ComboBox5->Text)

{

ADOTable4->FieldValues ["CodeTov"] =ADOTable2->FieldValues ["CodeTov"];

break;

}

else ADOTable2->Next ();

ADOTable4->Post ();

Prihod ();

}

if (ComboBox2->Text=="Списание")

{

ADOTable4->Edit ();

ADOTable4->FieldByName ("Code_op") - >AsInteger=1;

ADOTable4->FieldByName ("Colvo") - >AsInteger=StrToInt (Edit5->Text);

ADOTable4->FieldValues ["Data"] =DateTimePicker1->Date;

ADOTable4->FieldValues ["Price"] =StrToInt (Edit6->Text);

ADOTable4->FieldValues ["Summa"] = (StrToInt (Edit5->Text)) * (StrToInt (Edit6->Text));

ADOTable3->First ();

while (! ADOTable3->Eof)

if (ADOTable3->FieldByName ("NameF") - >AsString==ComboBox3->Text)

{

ADOTable4->FieldValues ["codef"] =ADOTable3->FieldValues ["codef"];

break;

}

else ADOTable3->Next ();

ADOTable2->First ();

while (! ADOTable2->Eof)

if (ADOTable2->FieldByName ("NameTov") - >AsString==ComboBox5->Text)

{

ADOTable4->FieldValues ["CodeTov"] =ADOTable2->FieldValues ["CodeTov"];

break;

}

else ADOTable2->Next ();

ADOTable4->Post ();

Rashod ();

}

if (ComboBox2->Text=="Списание")

{

ADOTable4->Edit ();

ADOTable4->FieldByName ("Code_op") - >AsInteger=2;

ADOTable4->FieldByName ("Colvo") - >AsInteger=StrToInt (Edit5->Text);

ADOTable4->FieldValues ["Data"] =DateTimePicker1->Date;

ADOTable4->FieldValues ["Price"] =StrToInt (Edit6->Text);

ADOTable4->FieldValues ["Summa"] = (StrToInt (Edit5->Text)) * (StrToInt (Edit6->Text));

ADOTable3->First ();

while (! ADOTable3->Eof)

if (ADOTable3->FieldByName ("NameF") - >AsString==ComboBox3->Text)

{

ADOTable4->FieldValues ["kodef"] =ADOTable3->FieldValues ["codef"];

break;

}

else ADOTable3->Next ();

ADOTable2->First ();

while (! ADOTable2->Eof)

if (ADOTable2->FieldByName ("NameTov") - >AsString==ComboBox5->Text)

{

ADOTable4->FieldValues ["CodeTov"] =ADOTable2->FieldValues ["CodeTov"];

break;

}

else ADOTable2->Next ();

ADOTable4->Post ();

Sp ();

}

colvo ();

}

void __fastcall TForm1:: Button7Click (TObject *Sender)

{

int i;

if (ComboBox2->Text=="Учет")

{

i=MessageDlg ("Выдействительнохотитиеудалить?",mtConfirmation,TMsgDlgButtons () <<mbYes<<mbNo,0);

if (i==mrYes)

ADOTable4->Delete ();

Prihod ();

}

if (ComboBox2->Text=="Списание")

{

i=MessageDlg ("Выдействительнохотитиеудалить?",mtConfirmation,TMsgDlgButtons () <<mbYes<<mbNo,0);

if (i==mrYes)

ADOTable4->Delete ();

Rashod ();

}

if (ComboBox2->Text=="Возвратбрака")

{

i=MessageDlg ("Выдействительнохотитиеудалить?",mtConfirmation,TMsgDlgButtons () <<mbYes<<mbNo,0);

if (i==mrYes)

ADOTable4->Delete ();

Sp ();

}

colvo ();

}

void __fastcall TForm1:: Button14Click (TObject *Sender)

{

int S1=0,S2=0,S3=0;

ADOTable4->First ();

while (! ADOTable4->Eof)

{

if ( (ADOTable4->FieldByName ("Code_op") - >AsInteger==0))

S1+=ADOTable4->FieldByName ("Summa") - >AsInteger;

if ( (ADOTable4->FieldByName ("Code_op") - >AsInteger==1))

S2+=ADOTable4->FieldByName ("Summa") - >AsInteger;

if ( (ADOTable4->FieldByName ("Code_op") - >AsInteger==2))

S3+=ADOTable4->FieldByName ("Summa") - >AsInteger;

ADOTable4->Next ();

}

Form1->QRLabel1->Caption="Сумманабалансепоинвентаризаций "+Date ();

// Form1->QRLabe2->Caption="Суммаучета";

// Form1->QRLabe3->Caption="Сумма списания";

Form1->QRLabel5->Caption=IntToStr (S1);

Form1->QRLabel6->Caption=IntToStr (S2);

Form1->QRLabel7->Caption=IntToStr (S3);

// Form1->ADODataSet1->Active=True;

Form1->QuickRep1->Preview ();

}

// DBChart1->Visible=true;

// DBChart2->Visible=false;

// DBChart3->Visible=false;

void __fastcall TForm1:: Button16Click (TObject *Sender)

{

Form1->QRLabel15->Caption="Отчетпоинвентарнымномерамотфирмы"+ComboBox10->Text+"На балансе предприятия на дату"+Date ();

Form1->QRLabel16->Caption="Инвентарный номер";

Form1->QRLabel17->Caption="Категория";

Form1->QRLabel18->Caption="Инвентарь";

Form1->QRLabel19->Caption="Стоимость";

Form1->QRDBText7->DataSet=Form1->ADODataSet2;

Form1->QRDBText7->DataField="Codetov";

Form1->QRDBText8->DataSet=Form1->ADODataSet2;

Form1->QRDBText8->DataField="NameKat";

Form1->QRDBText9->DataSet=Form1->ADODataSet2;

Form1->QRDBText9->DataField="NameTov";

Form1->QRDBText10->DataSet=Form1->ADODataSet2;

Form1->QRDBText10->DataField="Price";

ADOQuery3->Close ();

ADOQuery3->SQL->Clear ();

ADOQuery3->SQL->Add ("Select p4. NameKat,p2. Codetov,p2. NameTov, p1. Price from Prihod_Rashod p1, tovar p2, firm p3, Kategory p4 where (p1. CodeTov=p2. CodeTov) and (p1. kodef=p3. codef) and (p4. CodeKat=p2. CodeKat) and (p1. Code_op=1) and (p3. NameF=: d)");

ADOQuery3->Parameters->Items [0] - >Value=ComboBox10->Text;

ADOQuery3->Open ();

// ADOQuery2->Open ();

// Form1->ADODataSet2->Active=True;

Form1->QuickRep3->Preview ();

}

void __fastcall TForm1:: Button17Click (TObject *Sender)

{

// DBChart1->Visible=false;

// DBChart2->Visible=false;

// DBChart3->Visible=true;

}

void __fastcall TForm1:: ComboBox11Click (TObject *Sender)

{

TLocateOptionss; int fc;

// ADOTable1->Locate ("namekat",ComboBox11->Text,s);

// fc=ADOTable1->FieldByName ("codekat") - >AsInteger;

// DBChart1->Visible=false;

// DBChart2->Visible=true;

// DBChart3->Visible=false;

}

void __fastcall TForm1:: TabSheet8Show (TObject *Sender)

{

// Combo=ComboBox11;

zapK ();

}

void __fastcall TForm1:: Button15Click (TObject *Sender)

{

Form1->QRLabel9->Caption="Инвентарь";

Form1->QRLabel10->Caption="Количество";

Form1->QRLabel11->Caption="Цена";

Form1->QRLabel12->Caption="Дата";

Form1->QRLabel14->Caption="Учет/списание";

Form1->QRLabel13->Caption="Фирма";

Form1->QRDBText1->DataSet=Form1->ADODataSet1;

Form1->QRDBText1->DataField="NameKat";

Form1->QRDBText2->DataSet=Form1->ADODataSet1;

Form1->QRDBText2->DataField="Colvo";

Form1->QRDBText3->DataSet=Form1->ADODataSet1;

Form1->QRDBText3->DataField="Price";

Form1->QRDBText4->DataSet=Form1->ADODataSet1;

Form1->QRDBText4->DataField="Data";

Form1->QRDBText5->DataSet=Form1->ADODataSet1;

Form1->QRDBText5->DataField="NameF";

Form1->QRDBText6->DataSet=Form1->ADODataSet1;

Form1->QRDBText6->DataField="Code_op";

ADOQuery2->Close ();

if (RadioButton4->Checked)

{

// ADOQuery2->Close ();

Form1->QRLabel8->Caption="Отчетпокатегорий"+ComboBox6->Text+" надату "+Date ();

ADOQuery2->SQL->Clear ();


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.