Система автоматизации торгово-складской компании "Компьютерная техника и технология"

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Программирование
  • 146146 страниц
  • 27 + 27 источников
  • Добавлена 15.12.2010
3 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
СОДЕРЖАНИЕ

СПИСОК УСЛОВНЫХ ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
Введение
1. ПОСТАНОВКА ЗАДАЧИ
1.1. Описание предприятия
1.2. Проблемы развития информационных систем в рассматриваемой предметной области
1.3. Требования к разрабатываемому программному обеспечению
2. ОБОСНОВАНИЕ ВЫБОРА ПЛАТФОРМЫ ДЛЯ РАЗРАБОТКИ
2.1. Выбор проектных решений по информационному обеспечению
2.2. Выбор проектных решений по программному обеспечению
3.1. Выбор комплекса задач автоматизации и характеристика существующих бизнес процессов
3.2Разработка информационного обеспечение задачи
3.2.1. Информационная модель системы
3.2.2. Используемые классификаторы и системы кодирования
3.2.3. Характеристика базы данных
3.3 Разработка программного проекта
3.3.1. Разработка программного интерфейса
3.3.2 Структурная схема пакета
3.3.3. Описание программных модулей
4.РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
4.1.Обеспечение связи с базой данных
4.2.Инсталляция базы данных
4.3. Руководство по работе с клиентской частью автоматизированной системы
5.1 Выбор и обоснование методики расчёта экономической эффективности
5.2 Расчёт показателей экономической эффективности проекта
6. БЕЗОПАСНОСТЬ И ЭКОЛОГИЧНОСТЬ ПРОЕКТА
6.1. Краткая характеристика работы и ее назначение
6.2. Создание благоприятных условий труда
6.3. Требования к производственным помещениям
6.3.1. Освещение
6.3.2. Параметры микроклимата
6.3.3. Шум и вибрация
6.3.4. Электромагнитное и ионизирующее излучения
6.3.5 Характеристика запыленности
6.3.6. Характеристика электробезопасности
6.3.7. Характеристика пожаробезопасности.
6.4. Характеристика психофизиологических и эргономических факторов
6.5. Расчет освещенности
6.6. Расчет уровня шума
6.7. Выводы по разделу
ЗАКЛЮЧЕНИЕ
ЛИТЕРАТУРА
ПРИЛОЖЕНИЕ
ЛИСТИНГ РАЗРАБОТАННОЙ ПРОГРАММЫ

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

Расчет освещения производится для комнаты площадью 15м2 , ширина которой 5м, высота - 3 м. Воспользуемся методом светового потока. Для определения количества светильников определим световой поток, падающий на поверхность по формуле (6.1).Световой поток рассчитывается по формуле , (6.1.)где F - рассчитываемый световой поток, Лм; Е - нормированная минимальная освещенность, Лк (определяется по таблице). Работу программиста, в соответствии с этой таблицей, можно отнести к разряду точных работ, следовательно, минимальная освещенность будет Е = 300Лк; S - площадь освещаемого помещения (в нашем случае S = 15м2); Z - отношение средней освещенности к минимальной (обычно принимается равным 1,1…1,2 , пусть Z = 1,1); К - коэффициент запаса, учитывающий уменьшение светового потока лампы в результате загрязнения светильников в процессе эксплуатации (его значение зависит от типа помещения и характера проводимых в нем работ и в нашем случае К = 1,5); n - коэффициент использования, (выражается отношением светового потока, падающего на расчетную поверхность, к суммарному потоку всех ламп и исчисляется в долях единицы; зависит от характеристик светильника, размеров помещения, окраски стен и потолка, характеризуемых коэффициентами отражения от стен (РС) и потолка (РП)), значение коэффициентов РС и РП были указаны выше: РС=40%, РП=60%. Значение n определим по таблице коэффициентов использования различных светильников. Для этого вычислим индекс помещения по формуле (6.2).Индекс помещения , (6.2.)Где S - площадь помещения, S = 15 м2; h - расчетная высота подвеса, h = 2.92 м; A - ширина помещения, А = 3 м; В - длина помещения, В = 5 м. Подставив значения получим:Зная индекс помещения I, находим n = 0,22 Подставим все значения в формулу (6.1) для определения светового потока F: Для освещения выбираем люминесцентные лампы типа ЛБ40-1, световой поток которых F = 4320 Лк. Рассчитаем необходимое количество ламп по формуле (6.3).Количество ламп(6.3.)Где N - определяемое число ламп; F - световой поток, F = 33750 Лм; Fл- световой поток лампы, Fл = 4320 Лм. При выборе осветительных приборов используем светильники типа ОД. Каждый светильник комплектуется двумя лампами. 6.6. Расчет уровня шумаОдним из неблагоприятных факторов производственной среды в ИВЦ является высокий уровень шума, создаваемый печатными устройствами, оборудованием для кондиционирования воздуха, вентиляторами систем охлаждения в самих ЭВМ.Для решения вопросов о необходимости и целесообразности снижения шума необходимо знать уровни шума на рабочем месте оператора.Уровень шума, возникающий от нескольких некогерентных источников, работающих одновременно, подсчитывается на основании принципа энергетического суммирования излучений отдельных источников по формуле (6.4.).Уровень шума(6.4.)где Li – уровень звукового давления i-го источника шума; n – количество источников шума.Полученные результаты расчета сравнивается с допустимым значением уровня шума для данного рабочего места. Если результаты расчета выше допустимого значения уровня шума, то необходимы специальные меры по снижению шума. К ним относятся: облицовка стен и потолка зала звукопоглощающими материалами, снижение шума в источнике, правильная планировка оборудования и рациональная организация рабочего места оператора.Уровни звукового давления источников шума, действующих на оператора на его рабочем месте представлены в табл. 6.6.Таблица 6.6.Уровни звукового давления различных источниковИсточник шумаУровень шума, дБАЖесткий диск40Вентилятор45Монитор17Клавиатура10Принтер45Сканер42Обычно рабочее место оператора оснащено следующим оборудованием: винчестер в системном блоке, вентилятор(ы) систем охлаждения ПК, монитор, клавиатура, принтер и сканер.Подставив значения уровня звукового давления для каждого вида оборудования в формулу , получим:L∑=10·lg(104+104,5+101,7+101+104,5+104,2)=49,5 дБАПолученное значение не превышает допустимый уровень шума для рабочего места оператора, равный 65 дБА (ГОСТ 12.1.003-83). И если учесть, что вряд ли такие периферийные устройства как сканер и принтер будут использоваться одновременно, то эта цифра будет еще ниже. Кроме того при работе принтера непосредственное присутствие оператора необязательно, т.к. принтер снабжен механизмом автоподачи листов.6.7. Выводы по разделуВ данном разделе дипломной работы были изложены требования к рабочему месту инженера - программиста. Созданные условия должны обеспечивать комфортную работу. На основании изученной литературы по данной проблеме, были указаны оптимальные размеры рабочего стола и кресла, рабочей поверхности, а также проведен выбор системы и расчет оптимального освещения производственного помещения, а также расчет уровня шума на рабочем месте. Соблюдение условий, определяющих оптимальную организацию рабочего места инженера - программиста, позволит сохранить хорошую работоспособность в течение всего рабочего дня, повысит как в количественном, так и в качественном отношениях производительность труда программиста, что в свою очередь будет способствовать быстрейшей разработке и отладке программного продукта.ЗАКЛЮЧЕНИЕВ ЗАО "Компьютерная техника и технология" были выявлены трудности увеличения объемов сбыта в связи с отсутствием автоматизированной системы учета продукции. В настоящее время на ЗАО "Компьютерная техника и технология", функционирует несколько локальных, несвязанных с друг другом информационных систем. Характерной особенностью которых является, как аппаратная, так и информационная несовместимость. С ростом увеличения продаж резко возрастет объем информации, циркулирующей в профиле управления. Для устранения информационной и программной несовместимости существующих информационных систем ЗАО "Компьютерная техника и технология" предлагается разработать удовлетворяющую современным требованиям систему, которая позволит выполнить весь комплекс задач по автоматизированному учету продукции фирмы с одной стороны, а с другой – выполнить требование рынка и экономической целесообразности.Внедрение этой системы позволит автоматизировать процесс учета, сократить ручные операции, ускорить обработку информации, повысить точность учета, формировать отчетность предприятия в соответствии с требованиями рынка и налоговых органов.В дипломном проекте была спроектирована и разработана автоматизированная система учета продаж ЗАО "Компьютерная техника и технология".Динамический процесс проектирования системы происходил в несколько стадий.На этапе обследования была рассмотрена общая характеристика объекта автоматизации, его организационная структура и организация работы. На основе анализа сформированы и обоснованы требования к работе системы и к ее отдельным компонентам: программному, информационному, техническому.На стадии проектирования разработана общая структура информационной системы в целом, а также по каждой отдельной ее задаче. Определены основные проектные решения, что стало основанием для разработки, отладки программной части и для конструирования эксплуатационной документации.Создание и внедрение автоматизированной системы учета продаж ЗАО "Компьютерная техника и технология", позволит повысить производительность труда менеджера, увеличит объем продаваемой продукции на 20%, увеличит прибыль фирмы на 20%, сократить время работы менеджера с документами, и поиск товаров в среднем на 30-35% за счет автоматического анализа информации, имеющейся в базе данных.Использование информационной системы позволит более глубоко и в полном объеме собирать и анализировать необходимую информацию о товарах хранящихся на складе и выполненных заказах на поставку техники.Отмечено так же повышение эффективности учета движения товаров. Одним из самых главных качественных результатов является то, что у бухгалтера, несущего наибольшую ответственность за правильность учета, имеется полное представление о товарах, накладных, заказах, поскольку он сам оперативно организует и контролирует учет и движение товаров. При этом в практику работы персонала входят новые информационные технологии, такие как совместный авторизованный доступ к справочной информации о наличии товаров на складе, автоматизация рутинных операций, доступ к информационно-справочным ресурсам, автоматическое заполнение документов, исключение недостатков бумажных носителей, контроль качества, стандартизация учета.Для быстрой и полной адаптации пользователя к системе был разработан удобный дружественный интерфейс пользователя и подробное описание работы с системой в руководстве пользователя.Для обеспечения надежной защиты информации предусмотрена парольная система разграничения доступа к данным и функциям, авторизация вводимой и корректируемой информации, посредством подстановки и анализа данных.Считаю, что созданная в дипломном проекте автоматизированная система учета продаж ЗАО "Компьютерная техника и технология", полностью соответствует информационным требованиям предприятия и сможет поддерживать это соответствие в течение всего жизненного цикла системы.ЛИТЕРАТУРААрхангельский А.Я. 100 компонентов общего назначения библиотеки Delphi 5. — М.: Бином, 1999. — 266 с.Архангельский А.Я. Delphi 6. Справочное пособие. — М.: Бином, 2001. — 1024 с.Архангельский А.Я. Программирование в Delphi 6. — М.: Бином, 2001. — 564 с.Архангельский А.Я. Язык SQL в Delphi 5. — М.: Бином, 2000. — 205 с.Базы данных: модели, разработка, реализация / Карпова Т.- СПб.: Питер, 2001. –304с.Белов А.Н. Бухгалтерский учет в учреждениях непроизводственной сферы. – М.: Финансы и статистика, 1995. – 240с.Буч Г. Объектно-ориентированное проектирование с примерами применения. М., 1992. - 654с.Волков В. Ф. Экономика предприятия. – М.: Вита-Пресс, 1998. – 380с.Галатенко В. Информационная безопасность // Открытые системы- 1996. – N 1-4. Глушаков С.В., Ломотько Д.В. Базы данных .- Х.: Фолио, 2002. – 504 с. Голубков Е.П. Маркетинг: стратегии, планы, структуры. М., Дело, 1995. – 450с. Голубков Е.П. Маркетинговые исследования: теория, методология и практика. М., Финпресс, 1998. – 280с. Гофман В.Э. Хомоненко А.Д. Delphi 5. - СПб.: - Санки-Петербург, 2000. –800с. Гофман В.Э. Хомоненко А.Д. Delphi 6. - СПб.: - Санки-Петербург, 2001. –1145с. Дайан А. и др. Маркетинг. М., Экономика, 1993. Жидецкий В. Ц. Охрана труда пользователей компьютеров. – К.: «Освгга», 1999.- 186с. Жутова З.У. Бюджетный учет и отчетность. М.: Финансы, 1970.-215с. Ковалев А. И., Войленко В. В. Маркетинговый анализ. М., Центр экономики и маркетинга, 1996. Конноли Томас, Бегг Каролин. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. — М.: Вильямс, 2000. – 1111 с. Культин Н.Б. Delphi 6: Программирование на Object Pascal. — М.: Бином, 2001. — 526 с. Культин Н.Б. Delphi 7: Программирование на Object Pascal. — М.: Бином, 2003. — 535 с. Магнус Я.Р., Катышев П.К., Пересецкий А.А. Эконометрика. Начальный курс. М., Дело, 1997 Маклаков С.В. BPwin и ERwin. CASE-средства разработки информационных систем. — М.: Диалог-Мифи, 2001. — 304 с. Матвеева В.О. Бюджетные организации: бухгалтерский учет и налогооблажение. –Харьков: Фактор, 2001. – 566с. Турчин С. Обзор АСУП для малого бизнеса. Функциональные особенности // Компьютерное обозрение № 17 (286), 2001. с.22-27. // www.ITC-UA.COM Фатрелл Р., Шафер Д. Шафер Л. Управление программными проектами: достижение оптимального качества при минимуме затрат. М.: «Вильямс», 2003. – 1128с. Черников А. Поздняков В. От бухгалтерии под Windows к открытым Unix-системам // Компьютерное обозрение № 34 (402), 2003. с.22-27. www.ITC-UA.COMПРИЛОЖЕНИЕЛистинг разработанной программыГлавный модуль приложенияunit MainClients;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, DB, ADODB, IniFiles, Grids, DBGrids,DBDirectoryTemplate, addsorce, DateUtils, parampoisk;type TMainClientsForm = class(TForm) ADOConnection1: TADOConnection; ADOTable1: TADOTable; MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; N3: TMenuItem; N4: TMenuItem; N5: TMenuItem; N6: TMenuItem; N7: TMenuItem; N8: TMenuItem; N9: TMenuItem; N10: TMenuItem; N11: TMenuItem; N12: TMenuItem; N13: TMenuItem; N14: TMenuItem; N15: TMenuItem; N16: TMenuItem; N17: TMenuItem; N19: TMenuItem; DataSource1: TDataSource; ADOTable2: TADOTable; ADOTable3: TADOTable; ADOTable4: TADOTable; ADOTable5: TADOTable; ADOTable6: TADOTable; ADOTable7: TADOTable; N20: TMenuItem; N21: TMenuItem; N22: TMenuItem; ADOQuery1: TADOQuery; ADOQuery2: TADOQuery; N18: TMenuItem; ADOTable8: TADOTable; procedure N12Click(Sender: TObject); function IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean; function IsFormOpen(const FormName : string): Boolean; procedure N6Click(Sender: TObject); procedure N7Click(Sender: TObject); procedure N8Click(Sender: TObject); procedure N9Click(Sender: TObject); procedure N10Click(Sender: TObject); procedure N20Click(Sender: TObject); procedure N21Click(Sender: TObject); procedure N22Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure N3Click(Sender: TObject); procedure DataSource1DataChange(Sender: TObject; Field: TField); procedure N4Click(Sender: TObject); procedure N14Click(Sender: TObject); procedure N15Click(Sender: TObject); procedure N16Click(Sender: TObject); procedure N17Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure N19Click(Sender: TObject); procedure N18Click(Sender: TObject); private { Private declarations } procedure BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource); public { Public declarations } end;var MainClientsForm: TMainClientsForm; nastr:tinifile; DirectoryForm : TDBDirectoryTemplateForm; prosmForm: Taddform; mainflag:boolean; nomer_poisk:word; idLocation, idAddional, idZapas, idPartiya:integer;implementation{$R *.dfm}function TMainClientsForm.IsMDIChildOpen(const AFormName: TForm; const AMDIChildName : string): Boolean; var i: Integer; begin Result := False; for i := Pred(AFormName.MDIChildCount) DownTo 0 do if (AFormName.MDIChildren[i].Name = AMDIChildName) then begin Result := True; AFormName.MDIChildren[i].Free; end; end; function TMainClientsForm.IsFormOpen(const FormName : string): Boolean; var i: Integer; begin Result := False; for i := Screen.FormCount - 1 DownTo 0 do if (Screen.Forms[i].Name = FormName) then begin Result := True; Break; end; end; procedure TMainClientsForm.BuildGridDatabaseDirectoryItem(sCaption:String; ds:TDataSource); begin //создаемформу DirectoryForm:=TDBDirectoryTemplateForm.Create(Owner); DirectoryForm.TableDBGrid.DataSource:=ds; DirectoryForm.Top:=0; DirectoryForm.Left:=0; DirectoryForm.Caption:=sCaption; end;procedure TMainClientsForm.N12Click(Sender: TObject);begin MainClientsForm.Close;end;procedure TMainClientsForm.N6Click(Sender: TObject);begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable1;mainclientsform.ADOTable1.Active:=true;MainClientsForm.BuildGridDatabaseDirectoryItem('товары', mainclientsform.DataSource1);DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='ИД.№ товар';DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='Наименование';DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='ид.размещения';DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='ид.дополн. информации';DirectoryForm.TableDBGrid.Fields[4].DisplayLabel:='ид. запасов';DirectoryForm.TableDBGrid.Fields[5].DisplayLabel:='ид. партии';end;procedure TMainClientsForm.N7Click(Sender: TObject);begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); IsMDIChildOpen(MainClientsForm,'addForm'); mainflag:=false; mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable2;mainclientsform.ADOTable2.Active:=true;MainClientsForm.BuildGridDatabaseDirectoryItem('накладные', mainclientsform.DataSource1);DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ накладной';DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='дата';DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='ид. товара';DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='откуда';DirectoryForm.TableDBGrid.Fields[4].DisplayLabel:='цель';DirectoryForm.TableDBGrid.Fields[5].DisplayLabel:='количество';DirectoryForm.TableDBGrid.Fields[6].DisplayLabel:='стоимость';DirectoryForm.TableDBGrid.Fields[7].DisplayLabel:='номерпартии';end;procedure TMainClientsForm.N8Click(Sender: TObject);begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); IsMDIChildOpen(MainClientsForm,'addForm'); mainflag:=false; mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable3;mainclientsform.ADOTable3.Active:=true;MainClientsForm.BuildGridDatabaseDirectoryItem('запасытовара', mainclientsform.DataSource1);DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ записи';DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='ед. измерения';DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='количество';DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='стоимость';DirectoryForm.TableDBGrid.Fields[4].DisplayLabel:='резерв. кол.';DirectoryForm.TableDBGrid.Fields[5].DisplayLabel:='кторезерв.';DirectoryForm.TableDBGrid.Fields[6].DisplayLabel:='датарезерв.';DirectoryForm.TableDBGrid.Fields[7].DisplayLabel:='примечание';end;procedure TMainClientsForm.N9Click(Sender: TObject);begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); IsMDIChildOpen(MainClientsForm,'addForm'); mainflag:=false; mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable4;mainclientsform.ADOTable4.Active:=true;MainClientsForm.BuildGridDatabaseDirectoryItem('заказынатовар', mainclientsform.DataSource1);DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ заказа';DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='дата';DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='заказчик';DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='№ товара';DirectoryForm.TableDBGrid.Fields[4].DisplayLabel:='количество';end;procedure TMainClientsForm.N10Click(Sender: TObject);begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); IsMDIChildOpen(MainClientsForm,'addForm'); mainflag:=false; mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable5;mainclientsform.ADOTable5.Active:=true;MainClientsForm.BuildGridDatabaseDirectoryItem('Размещениетоваров', mainclientsform.DataSource1);DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ записи';DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='местонаскладе';DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='уточнениеразмещение';DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='примечание';end;procedure TMainClientsForm.N20Click(Sender: TObject);begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); IsMDIChildOpen(MainClientsForm,'addForm'); mainflag:=false; mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable6;mainclientsform.ADOTable6.Active:=true;MainClientsForm.BuildGridDatabaseDirectoryItem('Дополнительныесведенияотоварах', mainclientsform.DataSource1);DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ записи';DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='серийныйномер';DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='срокгарантированнойработы';end;procedure TMainClientsForm.N21Click(Sender: TObject);begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); IsMDIChildOpen(MainClientsForm,'addForm'); mainflag:=false; mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable7;mainclientsform.ADOTable7.Active:=true;MainClientsForm.BuildGridDatabaseDirectoryItem('Сведенияопартияхтоваров', mainclientsform.DataSource1);DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='№ записи';DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='№ партии';DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='количество';DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='откуда';DirectoryForm.TableDBGrid.Fields[4].DisplayLabel:='дата';DirectoryForm.TableDBGrid.Fields[5].DisplayLabel:='описаниеоперации';end;procedure TMainClientsForm.N22Click(Sender: TObject); begin IsMDIChildOpen(MainClientsForm,'addForm'); IsMDIChildOpen(MainClientsForm,'addForm'); mainflag:=false; MainClientsForm.N6Click(sender); prosmForm:=Taddform.Create(Owner); prosmForm.Top:=230; prosmForm.Left:=0; prosmForm.Width:=500; prosmForm.Height:=200; prosmForm.Caption:='просмотрзаписей'; prosmForm.DBNavigator1.Visible:=true; mainflag:=true; prosmForm.Show; prosmForm.Button1.Visible:=false; prosmForm.GroupBox3.Visible:=false; prosmForm.GroupBox4.Visible:=false; MainClientsForm.DataSource1.DataSet.lastend;procedure TMainClientsForm.FormCreate(Sender: TObject); var NewConnection: Widestring;beginNewConnection := PromptDataSource(Handle, MainClientsForm.ADOConnection1.Connectionstring);MainClientsForm.ADOConnection1.Connectionstring:=NewConnection;MainClientsForm.ADOConnection1.Connected:=true;MainClientsForm.ADOTable1.Active:=true;MainClientsForm.ADOTable2.Active:=true;MainClientsForm.ADOTable3.Active:=true;MainClientsForm.ADOTable4.Active:=true;MainClientsForm.ADOTable5.Active:=true;MainClientsForm.ADOTable6.Active:=true;MainClientsForm.ADOTable7.Active:=true; MainClientsForm.ADOTable8.Active:=true;end;procedure TMainClientsForm.N3Click(Sender: TObject);var dobForm: Taddform;begin mainflag:=false; IsMDIChildOpen(MainClientsForm,'addForm'); dobForm:=Taddform.Create(Owner); dobForm.Top:=240; dobForm.Left:=3; dobForm.Caption:='добавлениезаписи'; dobForm.Show; dobForm.Button1.Visible:=true; dobForm.GroupBox1.Visible:=false; dobForm.GroupBox3.Visible:=false; dobForm.GroupBox4.Visible:=false;end;procedure TMainClientsForm.DataSource1DataChange(Sender: TObject; Field: TField); var sql_str,rez:string; P11:Tparameter; rezdate:tdatetime; rezint:integer; rezfloat:real; Ayear, amonth,aday,ahour,aminute,asecond,amillisecond:word;beginif mainflag thenbegin prosmForm.edit1.text:=''; prosmForm.edit2.text:=''; prosmForm.edit3.text:=''; prosmForm.edit4.text:=''; prosmForm.edit5.text:=''; prosmForm.edit6.text:='1'; prosmForm.edit7.text:='1'; prosmForm.edit9.text:='1'; prosmForm.edit10.text:='1'; prosmForm.edit8.text:='2009'; prosmForm.edit11.text:='2009'; prosmForm.edit12.text:=''; prosmForm.edit13.text:=''; prosmForm.edit14.text:=''; prosmForm.edit15.text:=''; prosmForm.edit16.text:=''; prosmForm.edit17.text:=''; prosmForm.edit18.text:=''; prosmForm.edit19.text:=''; prosmForm.edit20.text:=''; prosmForm.edit21.text:=''; prosmForm.edit22.text:=''; prosmForm.edit23.text:='';prosmForm.Edit1.Text:=MainClientsForm.DataSource1.DataSet.FieldByName('nameTovar').AsString; idLocation:=MainClientsForm.DataSource1.DataSet.FieldByName('idLocation').AsInteger; idAddional:=MainClientsForm.DataSource1.DataSet.FieldByName('idAddional').AsInteger; idZapas:=MainClientsForm.DataSource1.DataSet.FieldByName('idZapas').AsInteger; idPartiya:=MainClientsForm.DataSource1.DataSet.FieldByName('idPartiya').AsInteger; sql_str:='SELECT * from Location where idLocation= :P11'; MainClientsForm.ADOQuery1.Active:=false; MainClientsForm.ADOQuery1.SQL.Clear; P11 :=mainclientsform.ADOQuery1.Parameters.AddParameter; P11.Name:='P11'; p11.DataType := ftinteger; P11.Value:=idLocation; P11.Size:=4; MainClientsForm.ADOQuery1.SQL.Add(sql_str); MainClientsForm.ADOQuery1.Active:=true; MainClientsForm.ADOQuery1.ExecSQL;rez:=MainClientsForm.ADOQuery1.FieldByName('Location').AsString; prosmForm.Edit14.Text:=rez; rez:=MainClientsForm.ADOQuery1.FieldByName('addional_location').AsString; prosmForm.Edit15.Text:=rez; rez:=MainClientsForm.ADOQuery1.FieldByName('notes').AsString;prosmForm.Edit16.Text:=rez; // дополнительные сведенияsql_str:='SELECT * from Addional where idAddional= :P11'; MainClientsForm.ADOQuery1.Active:=false; MainClientsForm.ADOQuery1.SQL.Clear; P11 :=mainclientsform.ADOQuery1.Parameters.AddParameter; P11.Name:='P11'; p11.DataType := ftinteger; P11.Value:= idAddional; P11.Size:=4; MainClientsForm.ADOQuery1.SQL.Add(sql_str); MainClientsForm.ADOQuery1.Active:=true; MainClientsForm.ADOQuery1.ExecSQL;rez:=MainClientsForm.ADOQuery1.FieldByName('Ser_num').AsString; prosmForm.Edit5.Text:=rez; rezdate:= MainClientsForm.ADOQuery1.FieldByName('srok_godnost').AsDateTime; decodedatetime(rezdate,Ayear, amonth,aday,ahour,aminute,asecond,amillisecond); prosmForm.Edit6.Text:=inttostr(aday); prosmForm.Edit7.Text:=inttostr(amonth); prosmForm.Edit8.Text:=inttostr(Ayear); // запасы sql_str:='SELECT * from zapas where idzapas= :P11'; MainClientsForm.ADOQuery1.Active:=false; MainClientsForm.ADOQuery1.SQL.Clear; P11 :=mainclientsform.ADOQuery1.Parameters.AddParameter; P11.Name:='P11'; p11.DataType := ftinteger; P11.Value:= idzapas; P11.Size:=4; MainClientsForm.ADOQuery1.SQL.Add(sql_str); MainClientsForm.ADOQuery1.Active:=true; MainClientsForm.ADOQuery1.ExecSQL; rez:=MainClientsForm.ADOQuery1.FieldByName('Izmerenie').AsString; prosmForm.ComboBox1.Text:=rez; rezint:= MainClientsForm.ADOQuery1.FieldByName('zapas').AsInteger; prosmForm.Edit2.Text:=inttostr( rezint); rezfloat:= MainClientsForm.ADOQuery1.FieldByName('stoimost').AsFloat; prosmForm.Edit3.Text:=floattostr( rezfloat); rez:=MainClientsForm.ADOQuery1.FieldByName('rezerv_name').AsString; prosmForm.Edit19.Text:=rez; rez:=MainClientsForm.ADOQuery1.FieldByName('rezerv_prim').AsString; prosmForm.Edit23.Text:=rez; rezint:= MainClientsForm.ADOQuery1.FieldByName('rezerv_kol').AsInteger; prosmForm.Edit18.Text:=inttostr( rezint); rezdate:= MainClientsForm.ADOQuery1.FieldByName('rezerv_date').AsDateTime; decodedatetime(rezdate,Ayear, amonth,aday,ahour,aminute,asecond,amillisecond); aday:=1; amonth:=1; Ayear:=0; if Ayear>2000 then begin prosmForm.Edit20.Text:=inttostr(aday); prosmForm.Edit21.Text:=inttostr(amonth); prosmForm.Edit22.Text:=inttostr(Ayear); end; // партия sql_str:='SELECT * from Partiya where idPartiya= :P11'; MainClientsForm.ADOQuery1.Active:=false; MainClientsForm.ADOQuery1.SQL.Clear; P11 :=mainclientsform.ADOQuery1.Parameters.AddParameter; P11.Name:='P11'; p11.DataType := ftinteger; P11.Value:= idPartiya; P11.Size:=4; MainClientsForm.ADOQuery1.SQL.Add(sql_str); MainClientsForm.ADOQuery1.Active:=true; MainClientsForm.ADOQuery1.ExecSQL; rez:=MainClientsForm.ADOQuery1.FieldByName('Nom_part').AsString; prosmForm.Edit4.Text:=rez; rez:=MainClientsForm.ADOQuery1.FieldByName('description').AsString; prosmForm.Edit13.Text:=rez; rez:=MainClientsForm.ADOQuery1.FieldByName('otkuda').AsString; prosmForm.Edit12.Text:=rez; rezdate:= MainClientsForm.ADOQuery1.FieldByName('kogda').AsDateTime; aday:=1; amonth:=1; Ayear:=0; if Ayear>2000 then begin prosmForm.Edit9.Text:=inttostr(aday); prosmForm.Edit10.Text:=inttostr(amonth); prosmForm.Edit11.Text:=inttostr(Ayear); end;end;end;procedure TMainClientsForm.N4Click(Sender: TObject);var zakForm: Taddform;begin mainflag:=false; IsMDIChildOpen(MainClientsForm,'zakForm'); IsMDIChildOpen(MainClientsForm,'addForm'); zakForm:=Taddform.Create(Owner); zakForm.Top:=240; zakForm.Left:=3; zakForm.Caption:='созданиезаказа'; zakForm.Show; zakForm.Button1.Visible:=true; zakForm.GroupBox1.Visible:=false; zakForm.GroupBox2.Visible:=false; zakForm.GroupBox4.Visible:=false; zakForm.GroupBox3.Left:=2; zakForm.GroupBox3.Top:=2; // show;end;procedure TMainClientsForm.N14Click(Sender: TObject);var poisk:Tparampoik;begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); IsMDIChildOpen(MainClientsForm,'addform'); IsMDIChildOpen(MainClientsForm,'parampoik'); poisk:=Tparampoik.Create(Owner); poisk.Left:=530; poisk.Top:=3; poisk.Width:=300; poisk.Caption:='поискналичиятовара'; nomer_poisk:=1; poisk.Label2.Visible:=false; poisk.Label3.Visible:=false; poisk.Label7.Visible:=false; poisk.Edit2.Visible:=false; poisk.Edit3.Visible:=false; poisk.Edit4.Visible:=false; poisk.Edit5.Visible:=false; poisk.Edit6.Visible:=false; poisk.Edit7.Visible:=false; poisk.UpDown1.Visible:=false; poisk.UpDown2.Visible:=false; poisk.UpDown3.Visible:=false; poisk.UpDown4.Visible:=false;end;procedure TMainClientsForm.N15Click(Sender: TObject);var poisk:Tparampoik;begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); IsMDIChildOpen(MainClientsForm,'addform'); IsMDIChildOpen(MainClientsForm,'parampoik'); poisk:=Tparampoik.Create(Owner); poisk.Left:=530; poisk.Top:=3; poisk.Width:=300; poisk.Caption:='проверкасрокагодности'; nomer_poisk:=2; poisk.Edit1.Visible:=false; poisk.Label1.Visible:=false;poisk.Label3.Visible:=false; poisk.Label2.Visible:=false;poisk.Edit5.Visible:=false; poisk.Edit6.Visible:=false; poisk.Edit7.Visible:=false; poisk.UpDown3.Visible:=false; poisk.UpDown4.Visible:=false; end;procedure TMainClientsForm.N16Click(Sender: TObject);var poisk:Tparampoik;begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); IsMDIChildOpen(MainClientsForm,'addform'); IsMDIChildOpen(MainClientsForm,'parampoik'); poisk:=Tparampoik.Create(Owner); poisk.Left:=530; poisk.Top:=3; poisk.Width:=300; poisk.Caption:='поискразмещениятовара'; nomer_poisk:=3; poisk.Label2.Visible:=false; poisk.Label3.Visible:=false; poisk.Label7.Visible:=false; poisk.Edit2.Visible:=false; poisk.Edit3.Visible:=false; poisk.Edit4.Visible:=false; poisk.Edit5.Visible:=false; poisk.Edit6.Visible:=false; poisk.Edit7.Visible:=false; poisk.UpDown1.Visible:=false; poisk.UpDown2.Visible:=false; poisk.UpDown3.Visible:=false; poisk.UpDown4.Visible:=false; end;procedure TMainClientsForm.N17Click(Sender: TObject);var poisk:Tparampoik;begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); IsMDIChildOpen(MainClientsForm,'addform'); IsMDIChildOpen(MainClientsForm,'parampoik'); poisk:=Tparampoik.Create(Owner); poisk.Left:=530; poisk.Top:=3; poisk.Width:=300; poisk.Caption:='просмотрхронологиинакладных'; nomer_poisk:=4; poisk.Label1.Visible:=false; poisk.Edit1.Visible:=false; poisk.Label7.Caption:='Накладныевпериод' end;procedure TMainClientsForm.N11Click(Sender: TObject);var naklForm: Taddform;begin mainflag:=false; IsMDIChildOpen(MainClientsForm,'naklForm'); IsMDIChildOpen(MainClientsForm,'addForm'); naklForm:=Taddform.Create(Owner); naklForm.Top:=240; naklForm.Left:=3; naklForm.Caption:='созданиенакладной'; naklForm.Show; naklForm.GroupBox1.Visible:=false; naklForm.GroupBox2.Visible:=false; naklForm.GroupBox3.Visible:=false; naklForm.GroupBox4.Left:=2; naklForm.GroupBox4.Top:=2; naklForm.GroupBox4.Width:=600; naklForm.GroupBox4.Height:=250;end;procedure TMainClientsForm.N19Click(Sender: TObject);var poisk:Tparampoik;begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); IsMDIChildOpen(MainClientsForm,'addform'); IsMDIChildOpen(MainClientsForm,'parampoik'); poisk:=Tparampoik.Create(Owner); poisk.Left:=530; poisk.Top:=3; poisk.Width:=300; poisk.Caption:='проводканакладной'; nomer_poisk:=5; poisk.Label2.Visible:=false; poisk.Label3.Visible:=false; poisk.Label7.Visible:=false; poisk.Edit2.Visible:=false; poisk.Edit3.Visible:=false; poisk.Edit4.Visible:=false; poisk.Edit5.Visible:=false; poisk.Edit6.Visible:=false; poisk.Edit7.Visible:=false; poisk.UpDown1.Visible:=false; poisk.UpDown2.Visible:=false; poisk.UpDown3.Visible:=false; poisk.UpDown4.Visible:=false; poisk.Label1.Caption:='номернакладной'; poisk.Button1.Caption:='ПРОВОДКА' end;procedure TMainClientsForm.N18Click(Sender: TObject);begin IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm');mainclientsform.DataSource1.DataSet:=mainclientsform.ADOTable8;mainclientsform.ADOTable8.Active:=true;MainClientsForm.BuildGridDatabaseDirectoryItem('покупатели', mainclientsform.DataSource1);DirectoryForm.TableDBGrid.Fields[0].DisplayLabel:='ИД.№ покупателя';DirectoryForm.TableDBGrid.Fields[1].DisplayLabel:='Ф.И.О. / Наименованиеорганизации';DirectoryForm.TableDBGrid.Fields[2].DisplayLabel:='Адрес';DirectoryForm.TableDBGrid.Fields[3].DisplayLabel:='Банковскиереквизиты';{DirectoryForm.TableDBGrid.Fields[4].DisplayLabel:='ид. запасов';DirectoryForm.TableDBGrid.Fields[5].DisplayLabel:='ид. партии';}end;end.Модуль ParamPoiskunit parampoisk;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, Menus, ChildTemplate, Grids, DBGrids,addsorce, StdCtrls, Mask,DateUtils, ExtCtrls, ComCtrls ;type Tparampoik = class(TForm) Button1: TButton; GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Label7: TLabel; Edit2: TEdit; UpDown1: TUpDown; Edit3: TEdit; Edit4: TEdit; UpDown2: TUpDown; Edit5: TEdit; UpDown3: TUpDown; Edit6: TEdit; UpDown4: TUpDown; Edit7: TEdit; Label2: TLabel; Label3: TLabel; procedure RzBitBtn4Click(Sender: TObject); procedure RzBitBtn3Click(Sender: TObject); procedure RzBitBtn1Click(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var parampoik: Tparampoik; ChildTemplateForm1: TChildTemplateForm; ff:string; flagpoisk:boolean; p1,p2:tparameter;all:boolean;ahour, aminute, asecond, amillisecond :word;priznak:string;stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string;idnakl,idzapas,i,sravn,kolnakl,kolzapas, rezerv_kol:integer;implementationuses mainclients;{$R *.dfm}procedure Tparampoik.FormClose(Sender: TObject; var Action: TCloseAction);begin Action:=caFree;end;procedure Tparampoik.RzBitBtn1Click(Sender: TObject);beginend;procedure Tparampoik.RzBitBtn3Click(Sender: TObject);var ChildTemplateForm:TChildTemplateform;all:boolean;stroka_SQL,pole,tabl, srtkl,name_poisk, sqlwhere:string; fl_book, fl_avtor, fl_izdat, fl_location, fl_vid, fl_category:boolean;beginMainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform'); MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm'); ChildTemplateForm:=TChildTemplateform.Create(Owner); ChildTemplateForm.Left:=0; ChildTemplateForm.Top:=3; mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery1; mainclientsform.ADOQuery1.Active:=false; mainclientsform.ADOQuery1.SQL.Clear; P1 :=mainclientsform.ADOQuery1.Parameters.AddParameter; P1.Name:='P1'; p1.DataType := ftstring;// P1.Direction := ptInput;{ if edit1.Text<>'' then begin srtkl := rzedit1.Text;name_poisk:= 'book.namebook' end; if rzedit2.Text<>'' then begin srtkl := rzedit2.Text;name_poisk:= 'izdat.nameizdat' end; if rzedit3.Text<>'' then begin srtkl := rzedit3.Text;name_poisk:= 'Avtor.FirstNameAvtor' end; if rzedit4.Text<>'' then begin srtkl := rzedit4.Text;name_poisk:= 'ucheb.kust_discipline' end; if rzedit5.Text<>'' then begin srtkl := rzedit5.Text;name_poisk:= 'ucheb.discipline'; end; if srtkl<>'' then beginsrtkl:='%'+ srtkl+'%';P1.Value:=srtkl; P1.Size:=Length(srtkl); end; all:=true; pole:=''; fl_book:=false; fl_avtor:=false; fl_izdat:=false; fl_vid:=false; fl_category:=false; if RzCheckBox1.Checked then begin pole:=pole+'book.namebook AS Название'; fl_book:=true; end else all:=false; if RzCheckBox2.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'avtor.FirstNameAvtor AS Фамилия'; fl_avtor:=true; end else all:=false; if RzCheckBox3.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'book.anotaciy AS Аннотация'; fl_book:=true; end else all:=false; if RzCheckBox4.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'book.god AS Аннотация'; fl_book:=true; end else all:=false; if RzCheckBox6.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'Izdat.nameizdat AS Издательство'; fl_izdat:=true; end else all:=false; if RzCheckBox7.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'Izdat.gorod AS Город'; fl_izdat:=true; end else all:=false; if RzCheckBox9.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'book.kol_str AS Страницы'; fl_book:=true; end else all:=false; if RzCheckBox10.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'book.tirag AS Тираж'; fl_book:=true; end else all:=false; if RzCheckBox12.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'Category.location AS размещение '; fl_category:=true; end else all:=false; if RzCheckBox15.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'razrabotchik.email AS Email'; fl_avtor:=true; end else all:=false; if RzCheckBox13.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'avtor.SecNameAvtor AS Фамилия'; fl_avtor:=true; end else all:=false; if RzCheckBox14.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'avtor.LastNameAvtor AS Фамилия'; fl_avtor:=true; end else all:=false; if RzCheckBox18.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'Category.razdel AS Направление'; fl_category:=false; end else all:=false; if RzCheckBox19.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'Category.discipline AS Дисциплина'; fl_category:=false; end else all:=false; if RzCheckBox16.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'vid.vid AS Вид'; fl_vid:=true; end else all:=false; if RzCheckBox17.Checked then begin if pole<>'' then pole:=pole+', '; pole:=pole+'vid.typeizdan AS Вид'; fl_vid:=true; end else all:=false;//if srtkl<>'' then sqlwhere:= ' where '+name_poisk+' LIKE :p1'if srtkl<>'' then sqlwhere:= ' where '+name_poisk+' like :P1'else sqlwhere:=''; if all=true then begin { fl_book:=false; fl_avtor:=false; fl_izdat:=false; fl_vid:=false; fl_category:=false;}stroka_SQL:='select * from book, avtor, izdat, vid, category '+sqlwhere//stroka_SQL:='select * from program, razrabotchik, typePO, location, sreda, License, ucheb where program.nameprogram like :P1'+sqlwhere;end;procedure Tparampoik.RzBitBtn4Click(Sender: TObject);begin flagpoisk:=false; MainClientsForm.IsMDIChildOpen(MainClientsForm,'parampoik');end;procedure Tparampoik.Button1Click(Sender: TObject);var ChildTemplateForm:TChildTemplateform; timenach,timekon:tdatetime;beginMainClientsForm.IsMDIChildOpen(MainClientsForm,'DBDirectoryTemplateForm'); MainClientsForm.IsMDIChildOpen(MainClientsForm,'addform'); MainClientsForm.IsMDIChildOpen(MainClientsForm,'ChildTemplateForm'); ChildTemplateForm:=TChildTemplateform.Create(Owner); ChildTemplateForm.Left:=0; ChildTemplateForm.Top:=3; mainclientsform.DataSource1.DataSet:=mainclientsform.ADOQuery2; mainclientsform.ADOQuery2.Active:=false; mainclientsform.ADOQuery2.SQL.Clear;if nomer_poisk=1 then begin P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter; P1.Name:='P1'; p1.DataType := ftstring;if edit1.Text<>'' then begin srtkl := edit1.Text;name_poisk:= 'Tovar.nameTovar' end; if srtkl<>'' then beginsrtkl:='%'+ srtkl+'%';P1.Value:=srtkl; P1.Size:=Length(srtkl); end; ChildTemplateForm.Label1.Caption:='Информацияотоваре: '+edit1.Text;sqlwhere:= ' where (zapas.idzapas = ( select tovar.idzapas from tovar where tovar.nametovar like :P1))'; stroka_SQL:='select * from zapas'+sqlwhere ; mainclientsform.ADOQuery2.SQL.Add(stroka_SQL); if stroka_SQL<>'' then begin mainclientsform.ADOQuery2.Active:=true; mainclientsform.ADOQuery2.ExecSQL; end; end; if nomer_poisk=2 then begin P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter; P1.Name:='P1'; p1.DataType := ftdatetime;ayear:= strtoint(Edit4.Text);amonth:=strtoint(Edit3.Text);aday:=strtoint(Edit2.Text);ahour:=0;aminute:=0;asecond:=0;amillisecond:=0; timenach:=encodedatetime(Ayear, amonth,aday,ahour,aminute,asecond,amillisecond); if edit1.Text<>'' then begin srtkl := edit1.Text;name_poisk:= 'Tovar.nameTovar' end; if srtkl<>'' then beginsrtkl:='%'+ srtkl+'%'; P1.Value := timenach; end;sqlwhere:= ' where addional.srok_godnost < :P1'; stroka_SQL:='select tovar.nametovar, addional.srok_godnost from tovar,addional'+ sqlwhere; mainclientsform.ADOQuery2.SQL.Add(stroka_SQL); if stroka_SQL<>'' then begin mainclientsform.ADOQuery2.Active:=true; mainclientsform.ADOQuery2.ExecSQL; end; end; if nomer_poisk=3 then begin P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter; P1.Name:='P1'; p1.DataType := ftstring; if edit1.Text<>'' then begin srtkl := edit1.Text;name_poisk:= 'Tovar.nameTovar' end; if srtkl<>'' then beginsrtkl:='%'+ srtkl+'%';P1.Value:=srtkl; P1.Size:=Length(srtkl);end;sqlwhere:= ' where (location.idlocation = ( select tovar.idlocation from tovar where tovar.nametovar like :P1))'; stroka_SQL:='select * from location '+sqlwhere ; mainclientsform.ADOQuery2.SQL.Add(stroka_SQL); if stroka_SQL<>'' then begin mainclientsform.ADOQuery2.Active:=true; mainclientsform.ADOQuery2.ExecSQL; end; end; if nomer_poisk=4 then begin P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter; P1.Name:='P1'; p1.DataType := ftdatetime;ayear:= strtoint(Edit4.Text);amonth:=strtoint(Edit3.Text);aday:=strtoint(Edit2.Text);ahour:=0;aminute:=0;asecond:=0;amillisecond:=0; timenach:=encodedatetime(Ayear, amonth,aday,ahour,aminute,asecond,amillisecond); ayear:= strtoint(Edit7.Text);amonth:=strtoint(Edit6.Text);aday:=strtoint(Edit5.Text);ahour:=0;aminute:=0;asecond:=0;amillisecond:=0; timekon:=encodedatetime(Ayear, amonth,aday,ahour,aminute,asecond,amillisecond); P2 :=mainclientsform.ADOQuery2.Parameters.AddParameter; P2.Name:='P2'; p2.DataType := ftdatetime; P1.Value := timenach; P2.Value := timekon;sqlwhere:= ' where (Nakladnaya.vremya > :P1) and (nakladnaya.vremya < :P2)'; stroka_SQL:='select * from Nakladnaya'+ sqlwhere; mainclientsform.ADOQuery2.SQL.Add(stroka_SQL); if stroka_SQL<>'' then begin mainclientsform.ADOQuery2.Active:=true; mainclientsform.ADOQuery2.ExecSQL; end; end; if nomer_poisk=5 then begin P1 :=mainclientsform.ADOQuery2.Parameters.AddParameter; P1.Name:='P1'; p1.DataType := ftinteger;if edit1.Text<>'' then begin idnakl:=strtoint(edit1.Text); P1.Value :=idnakl;sqlwhere:= ' where (Nakladnaya.idNakladnaya = :P1)'; stroka_SQL:='select * from Nakladnaya'+ sqlwhere; mainclientsform.ADOQuery2.SQL.Add(stroka_SQL); if stroka_SQL<>'' then begin mainclientsform.ADOQuery2.Active:=true; mainclientsform.ADOQuery2.ExecSQL; end; kol:= mainclientsform.ADOQuery2.RecordCount;if kol=0 then showmessage('такого товара не существует')else begin idtov:=mainclientsform.ADOQuery2.FieldByName('idtovar').AsInteger; kolnakl:=(mainclientsform.ADOQuery2.FieldByName('kolichestvo').AsInteger);priznak:=mainclientsform.ADOQuery2.FieldByName('provodka').AsString; if priznak='N' then begin mainclientsform.ADOQuery2.Active:=false; mainclientsform.ADOQuery2.SQL.Clear; P2 :=mainclientsform.ADOQuery2.Parameters.AddParameter; P2.Name:='P2'; p2.DataType := ftinteger; P2.Value :=idtov; sqlwhere:= ' where (tovar.idtovar = :P2)'; stroka_SQL:='select * from tovar'+ sqlwhere; mainclientsform.ADOQuery2.SQL.Add(stroka_SQL); if stroka_SQL<>'' then begin mainclientsform.ADOQuery2.Active:=true; mainclientsform.ADOQuery2.ExecSQL; end; kol:= mainclientsform.ADOQuery2.RecordCount;if kol=0 then showmessage('такого товара не существует')else begin idzapas:=mainclientsform.ADOQuery2.FieldByName('idZapas').AsInteger; if idzapas=0 then showmessage('товаранетвналичии') else begin mainclientsform.ADOTable3.First; for i:=1 to mainclientsform.ADOTable3.RecordCount do begin sravn:=mainclientsform.ADOTable3.FieldByName('idZapas').AsInteger; if sravn=idzapas then begin kolzapas:=mainclientsform.ADOTable3.FieldByName('Zapas').AsInteger;if kolnakl>kolzapas then showmessage('такого количества товара нет в наличии')else begin rezerv_kol:=mainclientsform.ADOTable3.FieldByName('rezerv_kol').AsInteger; if kolnakl>kolzapas- rezerv_kol thenshowmessage('проводка не осуществлена - Товар зарезервирован')else begin mainclientsform.ADOTable3.Edit; mainclientsform.ADOTable3.FieldByName('Zapas').AsInteger:=kolzapas-kolnakl;showmessage('проводка осуществлена УСПЕШНО!');mainclientsform.ADOTable2.First; for i:=1 to mainclientsform.ADOTable2.RecordCount do begin if idnakl= mainclientsform.ADOTable2.FieldByName('idNakladnaya').AsInteger then begin mainclientsform.ADOTable2.Edit; mainclientsform.ADOTable2.FieldByName('provodka').AsString:='Y'; end; mainclientsform.ADOTable2.Next; end; end; end; end; mainclientsform.ADOTable3.Next; end; end; end; end else showmessage('проводканакладнойнетребуется') end; end;end; end;еnd.Модуль DBDirectoryTemplateunit DBDirectoryTemplate;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids;type TDBDirectoryTemplateForm = class(TForm) TableDBGrid: TDBGrid; procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end;var DBDirectoryTemplateForm: TDBDirectoryTemplateForm;implementation{$R *.dfm}procedure TDBDirectoryTemplateForm.FormClose(Sender: TObject; var Action: TCloseAction);begin Action:=caFree;end;end.модуль ChildTemplateunit ChildTemplate;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Buttons, Grids, DBGrids, ExtCtrls, Menus, StdCtrls;type TChildTemplateForm = class(TForm) DBGrid1: TDBGrid; Label1: TLabel; procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure RzToolbarButton2Click(Sender: TObject); procedure RzToolbarButton1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;implementation{$R *.dfm}uses mainclients;procedure TChildTemplateForm.FormClose(Sender: TObject; var Action: TCloseAction);beginAction:=caFree;end;procedure TChildTemplateForm.RzToolbarButton1Click(Sender: TObject);begindbgrid1.DataSource.DataSet.Insert;end;procedure TChildTemplateForm.RzToolbarButton2Click(Sender: TObject);begindbgrid1.DataSource.DataSet.Edit;end;end.


ЛИТЕРАТУРА

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

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

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

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

Что такое условные обозначения и сокращения в системе автоматизации "Компьютерная техника и технология"?

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

В чем заключаются проблемы развития информационных систем в торгово-складской компании "Компьютерная техника и технология"?

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

Какие требования предъявляются к разрабатываемому программному обеспечению для торгово-складской компании "Компьютерная техника и технология"?

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

Для чего предназначена система автоматизации торгово-складской компании?

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