Разработка автоматизированного рабочего места менеджера по продажам ООО "ТиЭль-Плюс"

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Информатика
  • 157 157 страниц
  • 27 + 27 источников
  • Добавлена 29.05.2010
4 785 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
СОДЕРЖАНИЕ
СПИСОК УСЛОВНЫХ ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
ВВЕДЕНИЕ
І АНАЛИТИЧЕСКАЯ ЧАСТЬ
1.1 Технико-экономическая ООО «Ти эль плюс»
1.1.1 Характеристика предприятия и его деятельности
1.1.2. Организационная структура управления предприятием
1.2 Характеристика комплекса задач, задачи и обоснование необходимости автоматизации
1.2.1 Выбор комплекса задач автоматизации и характеристика существующих бизнес процессов
1.2.2 Определение места проектируемой задачи в комплексе задач и ее описание
1.2.3 Обоснования необходимости использования вычислительной техники для решения задачи
1.3 Анализ существующих разработок и выбор стратегии автоматизации
1.3.1 Анализ существующих разработок для автоматизации задачи
1.3.2 Выбор и обоснование стратегии автоматизации задачи
1.3.3 Выбор и обоснование способа приобретения ИС для автоматизации комплекса задач
1.4 Обоснование проектных решений
1.4.1 Обоснование проектных решений по техническому обеспечению
1.4.2 Обоснование проектных решений по информационному обеспечению
1.4.3 Обоснование проектных решений по программному обеспечению
II ПРОЕКТНАЯ ЧАСТЬ
2.1 Разработка проекта автоматизации
2.1.1 Этапы жизненного цикла проекта автоматизации
2.1.2 Ожидаемые риски на этапах жизненного цикла и их описание
2.2 Информационное обеспечение задачи
2.2.1 Информационная модель и её описание
2.2.2. Используемые классификаторы и системы кодирования
2.2.3. Характеристика нормативно-справочной, входной и оперативной информации
2.2.4 Характеристика результатной информации
2.3 Описание программного проекта
2.3.1.Общие положения
2.3.2. Характеристика базы данных
2.3.3 Структурная схема пакета
2.3.4 Описание программных модулей
2.4 Технологическое обеспечение
2.5 Контрольный пример реализации проекта и его описание
III ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТА
3.1 Выбор и обоснование методики расчёта экономической эффективности
3.2 Расчёт показателей экономической эффективности проекта
ЗАКЛЮЧЕНИЕ
ЛИТЕРАТУРА
ПРИЛОЖЕНИЕ Листинг разработанной программы

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

На компьютере, который является клиентом, устанавливается MS SQL Server 2005 в конфигурации Client.
При инсталяции и настройке MS SQL Server 2005 Client указывается IP адрес компьютера, который является сервером.
На компьютере, который является клиентом, запускается разработанный программный проект.
Для разработки системы поиска программного обеспечения в качестве основного инструмента для программирования был выбран один из современных инструментов Borland Delphi, позволяет проектировать программное обеспечение, с современным интерфейсом и при этом вести безошибочное проектирование с контролем ошибок проектирования, с возможной поддержкой различных платформ и операционных систем.

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

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




Рисунок 2.53 – Настройка связи с базой данных

После этого приведем в исполнение элемент управления – кнопку «создать». получаем Подтверждающую надпись.(рисунок 2.53)


Рисунок 2.54– Выбор просмотра данных о комплектующих



Рисунок 2.55 – Результат просмотра данных






Рисунок 2.56 – просмотр всей базы данных

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

III ОБОСНОВАНИЕ ЭКОНОМИЧЕСКОЙ ЭФФЕКТИВНОСТИ ПРОЕКТА

3.1 Выбор и обоснование методики расчёта экономической эффективности

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

(3.1)

где Э – годовой экономический эффект;
П – годовая экономия(годовой прирост прибыли), руб.;
К – единовременные капитальные затраты, руб.;
Ен – нормативный коэффициент эффективности капитальных вложений.
Значение Ен принимается равным 0.15. Ен представляет собой минимальную норму эффективности капитальных вложений, ниже которой они нецелесообразны.
Расчетный коэффициент эффективности капитальных вложений определяется по формуле (3.2):
(3.2)
Полученное значение сравнивается со значением Ен . Если Ер ≥ Ен , то капитальные затраты можно считать целесообразными, в противном случае они экономически необоснованны.
Срок окупаемости Т представляет собой период времени (в годах), в течение которого капитальные затраты на разработку ЭИС полностью окупятся, и рассчитывается по формуле (3.3):
(3.3)
Расчет указанных обобщающих показателей требует вычисления частных показателей:
- годовая экономия (годовой прирост прибыли); -е диновременные затраты на разработку и внедрение системы; -среднегодовая трудоемкость функционирования и др. Годовая экономия П рассчитывается по формуле (3.4):
(3.4)
где П1 - годовая стоимостная оценка результатов применения ЭИС, рассчитанная без учета затрат на обработку информации, руб.;
Зп - приведенные к одному году затраты на обработку информации при предполагаемом варианте организации системы.
Показатель П1 может быть оценен с применением нескольких альтернативных подходов. В данном случае автоматизируются ранее решавшиеся задачи при условии получения примерно одинаковых конечных результатов, поэтому значение П1 может быть взято равным затратам существующей системы обработки данных. Тогда формула (3.4) примет вид (3.5):
(3.5)
где Зб - приведенные к одному году затраты на обработку информации при существующем варианте организации системы обработки данных (СОД).
Среднегодовые затраты на обработку информации Зп определяются по формуле (3.6):
(3.6)
где Р - стоимость приобретения и освоения используемых средств автоматизации проектирования, руб.;
С - единовременные затраты на создание системы, не учитываемые в себестоимости машино-часа, руб.;
Тэкс - предполагаемый срок эксплуатации системы, лет;
Ф - среднегодовые затраты на функционирование системы, руб.;
А - единовременные затраты на модернизацию системы, руб.;
Тмод - среднее время между смежными периодами модернизации, лет;
Z - среднегодовая сумма потерь вследствие ненадежности системы, руб.
Существует несколько методик оценки экономической эффективности. Так, разработаны алгоритмы расчета эффективности для ранее  решавшихся  и  принципиально  новых  задач,  есть  методика, оценивающая эффективность путем вычисления прироста прибыли за счет увеличения объема производства, и другие.
Экономическая эффективность проекта (Э) складывается из двух составляющих:
- Косвенного эффекта, который, например, характеризуется увеличением прибыли, привлечением большего числа клиентов, снижением уровня брака в производстве, уменьшение количества рекламаций, получаемых от клиентов, снижение затрат на сырье и материалы, уменьшение сумм штрафов, неустоек и т. д.
- Прямого эффекта, который характеризуется снижением трудовых, стоимостных показателей.
К трудовым показателям относятся следующие:
1) абсолютное снижение трудовых затрат ((Т) в часах за год:

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

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

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

3) индекс снижения трудовых затрат или повышение производительности труда (YT):
YT = T0 / T1. (3.9)

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



Таблица 3.1
Характеристика затрат на обработку информации по базовому варианту.

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

При оценке показателей эффективности сравниваются затраты на обработку информации при существующем (базовом) варианте, то есть расчете зарплаты вручную, и проектируемом, то есть автоматизированном варианте.
Для удобства расчет трудовых и стоимостных затрат на обработку информации при базовом и проектируемом вариантах осуществляется с помощью таблиц 3.1 и 3.2 соответственно.
Для   удобства   анализа   результаты   расчетов   приведены   в таблице 3.3.
Таблица 3.3
Показатели эффективности внедрения нового проекта
Затраты абсолютное изменение затрат Коэффициент изменения затрат индекс изменения затрат базовый вариант проектируемый вариант Трудоемкость Т0, (час) Т1, (час) IT 77.136 10.722 66.414 0,86 7,194 Стоимость С0(руб) С1(руб) 3187.91 523.08 2664,83 0,836 6,094 единовременные капитальные затраты определяются по формуле

(3.12)
где - затраты на освоение системы;
- затраты на разработку системы;
-затраты на загрузку системы;
- затраты на приобретение необходимого обеспечения;
- затраты на модернизацию системы;
p рассчитывается по формуле (3.13):

(3.13)

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

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

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

(3.14)
Ер=2664.83/1111.25=2.398

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

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


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

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

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


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

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

ЗАКЛЮЧЕНИЕ

В дипломном проекте была спроектирована и разработана автоматизированное рабочее место менеджера отдела продаж ОАО «Ти Эль Плюс».
Динамический процесс проектирования системы происходил в несколько стадий.
На этапе обследования была рассмотрена общая характеристика объекта автоматизации, его организационная структура и организация работы. На основе анализа сформированы и обоснованы требования к работе системы и к ее отдельным компонентам: программному, информационному, техническому.
На стадии проектирования разработана общая структура информационной системы в целом, а также по каждой отдельной ее задаче. Определены основные проектные решения, что стало основанием для разработки, отладки программной части и для конструирования эксплуатационной документации.
Создание и внедрение автоматизированного рабочего места менеджера отдела продаж ОАО «Ти Эль Плюс» позволит повысить производительность труда менеджера, увеличит объем продаваемой продукции на 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;
interface
uses
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.last
end;
procedure TMainClientsForm.FormCreate(Sender: TObject);
var NewConnection: Widestring;
begin
NewConnection := 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;
begin
if mainflag then
begin
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.

Модуль ParamPoisk
unit parampoisk;
interface
uses
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;
implementation
uses mainclients;
{$R *.dfm}
procedure Tparampoik.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure Tparampoik.RzBitBtn1Click(Sender: TObject);
begin
end;
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;
begin
MainClientsForm.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
begin
srtkl:='%'+ 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;
begin
MainClientsForm.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
begin
srtkl:='%'+ 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
begin
srtkl:='%'+ 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
begin
srtkl:='%'+ 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 then
showmessage('проводка не осуществлена - Товар зарезервирован')
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.

Модуль DBDirectoryTemplate

unit DBDirectoryTemplate;
interface
uses
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.

модуль ChildTemplate
unit ChildTemplate;
interface
uses
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);
begin
Action:=caFree;
end;
procedure TChildTemplateForm.RzToolbarButton1Click(Sender: TObject);
begin
dbgrid1.DataSource.DataSet.Insert;
end;
procedure TChildTemplateForm.RzToolbarButton2Click(Sender: TObject);
begin
dbgrid1.DataSource.DataSet.Edit;
end;
end.














120


157








Юрисконсульт

Специалист


ParamPoisk.pas

AddSource.pas

DbdDirectoryTemplate

childTemplate.pas

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

Проект

Кладовщик

Кассир

Отдел качества

Технический
персонал

Начальник отдела

Отдел
комплектации

Отдел кадров

Грузчики

Начальник отдела

Начальник склада

Начальник охраны

Системный администратор



Бухгалтера

Гл. бухгалтер

Менеджеры

Отдел сбыта

Бухгалтерия

Отдел экономической безопасности

Отдел снабжения

Генеральный директор

ЛИТЕРАТУРА

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





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

Какие задачи решает автоматизированное рабочее место менеджера по продажам?

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

Какие бизнес-процессы существуют на предприятии ООО ТиЭль Плюс?

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

Как происходит выбор комплекса задач для автоматизации?

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

Какие преимущества автоматизированного рабочего места менеджера по продажам для предприятия ООО ТиЭль Плюс?

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

Какая организационная структура управления предприятием ООО ТиЭль Плюс?

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

Что такое ООО ТиЭль Плюс и какова характеристика его деятельности?

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

Какова организационная структура управления предприятием ООО ТиЭль Плюс?

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

Почему компания ООО ТиЭль Плюс решила автоматизировать рабочее место менеджера по продажам и какие задачи требуют автоматизации?

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