Код
предприятия
|
Наименование
филиала
|
Ф.И.О.
сотрудника
|
Код
товара
|
Наименование
товара
|
Цена
|
Количество
|
Единица
измерения
|
Сумма
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
Алгоритм получения данной ведомости представлен
в виде блок-схемы на рисунке 9.
Блок 1. Входной массив данных вводится в ПЭВМ,
контролируется и записывается на магнитный диск.
Блок 2. Сортировка введенного массива по коду
товара.
Блок 3. Объединение массивов данных для
обработки " PN, NPT,
TC, PIRT, SKP, SKT, SKS,
SKF, SKGT".
Осуществляется расчетная часть задачи.
Вычисления осуществляются по формулам:
= PNR − R
= ZN * К
где OPR ― Остаток
по реализации;
PNR ― Поступило на
реализацию;
R ― Реализовано;
SPR ― Сумма по
реализации;
ZN ― Цена;
Блок 4. Формируется и выводится на печать форма B101
с использованием нормативно-справочной информации.
Рисунок 9. Блок-схема получения на ПЭВМ
«Реализации товаров».
Технология ввода и накопления входной
информации, обеспечивающей решение задачи
Разработка алгоритмов и технологии решения задач
Технология ввода и накопления входной информации
обеспечивающая решения задачи. Данная технология представлена на рисунке 10.
Словесное описание технологического процесса
ввода и накопления входной информации:
Входная оперативная информация совместно с
массивами НСИ поступает на каналы ввода данных в ПЭВМ. Все данные хранятся в БД
программы. Автоматически при вводе тех или иных реквизитов база пополняется
новыми данными.
На этапе слияния массивов данных выявляются
ключевые кода, по которым производится сравнительный анализ информации, её
сортировка и распределение по модулям для последующей обработки.
А) Формирование массивов данных по НСИ: "
PN, NPT, TC, PIRT,
SKP, SKT, SKS, SKF,
SKGT" по
соответствующим реквизитам справочников.
Б) Массив хранимой информации "PIRT"
содержит данные по реквизитам
KT, NT,
PNR, R
Массива данных из пункта А) и Б) совместно
создает необходимый набор расчетной информации.
Этап обработки данных завершает создание массива
обработанной информации, которая позволяет сформировать выходные формы на экран
монитора и выдать машинограмму на печать.
Рисунок 10. Технология ввода и накопления
входной информации, обеспечивающей решение задачи
На базе приведенной информационной базы данных,
положенных в постановку задачи формируется диаграмма потоков данных (ДПД).
Диаграмма высшего (нулевого) уровня представляет
систему как единый овал со стрелкой, ее называют основной или контекстной
моделью. При детализации (уточнения системы) вводится диаграмма нижнего уровня,
т.е. речь идет о замене преобразователя F
на целую систему преобразователей данных. Важно сохранить непрерывность
информационного потока и его согласованность. Это значит, что входы и выходы у
каждого преобразователя на любом уровне должны быть увязаны в информационный
поток. В диаграмме отсутствуют точные указания на последовательность обработки.
Точные указания откладываются до этапа проектирования.
Рисунок 11. Структурная схема информационных
потоков, где a
i,
б i,
с i
- информационные массивы данных
Декомпозиция общего алгоритма решения задач на
модули (функции).
Алгоритм может быть разбит на несколько модулей,
реализуемых языковыми средствами. Вид данной композиции следующий:
Рисунок 12. Детальные алгоритмы реализации
отдельных модулей задач.
Программное обеспечение
Для решения задачи «Реализация товаров в
торговом предприятии» в настоящей дипломной работе был разработан модуль
«Реализации товаров» в среде программирования Borland
Delphi 7, который
выполняет следующие функции:
выдает «Ведомость реализации товаров», которая
содержит информацию о проданном и приобретенном товаре, необходимой для
принятия правильного решения;
Разработанный программный модуль работает
автономно, но при определенных доработках может использоваться в качестве
компоненты к используемому программному обеспечению.
Программа «Реализация товара» состоит из
модулей:
·
Главное
меню - запускная программа
·
Справочники
·
Документы
·
Выход
После запуска программы «Реализация товара»
открывается главное окно приложения, которое содержит вкладки Справочники,
документы и выход. При нажатии на справочники появляется меню, которое содержит
следующие информацию о НСИ: группа товаров, товары, сотрудники, филиалы,
поставщики. При выборе вкладки документы, открывается меню в котором можно
выбрать входные или выходные документы.
Входные документы:
накладная на перемещение товара
приходная накладная
Выходной документ:
реализация товара
При закрытии главного окна закрываются все
приложения.
Программные модули реализации задач
Программа написана на языке Borland Delphi.
Delphi - это комбинация нескольких важнейших технологий, к которым относятся:
· высокопроизводительный компилятор в
машинный код;
· объектно-ориентированная модель
компонентjd;
· визуальное построение приложений из
программных прототипов.
2.3 Техническое и лингвистическое обеспечение
для разработки программы по учету товаров
ЭВМ используют для обработки данных и решения
расчетных задач. В настоящее время ЭВМ стали все чаще применять для обработки
нечисловой информации (текстовой, графической) и термин “вычислительная
техника” перестал соответствовать характеру задач, решаемых с помощью
компьютера.
Пользователи ЭВМ обрабатывают цифровую,
текстовую и графическую информацию.
В процессе автоматизации управления ПЭВМ
используются в основном во всех видах работ проводящихся на рабочем месте
налогового инспектора.
Развитие систем телекоммуникаций и, в частности,
технологий локальных вычислительных сетей, позволило объединить все технические
средства обработки цифровой и текстовой информации в единую внутреннюю
информационную систему. Наиболее эффективной системой информации считается
система, основанная на одновременном использовании вычислительной техники и
средств автоматизированной обработки текстовой информации, объединенных в одну
систему.
Основу технического обеспечения системы
составляет комплекс технических средств (КТС) - совокупность взаимосвязанных
единым управлением и автономных технических средств сбора, регистрации, накопления,
передачи, обработки, вывода и представления информации, а также средств
оргтехники.
КТС должен обладать информационной, программной
и технической совместимостью входящих в него средств; адаптируемостью к
условиям функционирования службы управления персоналом; возможностью расширения
с целью подключения новых устройств.
КТС должен обеспечивать решение задач с
минимальными трудовыми и стоимостными затратами, с заданной точностью и
достоверностью, в указанные сроки.
Основными характеристиками задач, которые должны
учитываться при выборе оборудования, являются:
·
носители
входной и выходной информации (документы, типизированные бланки, машинные
носители информации и т. д.);
·
объем
входной и выходной информации по указанным носителям;
·
объемы
вычислительных работ;
·
сроки
выполнения работ по решению задач управления персоналом;
·
формы
и способы представления результатов решения задач пользователям.
При выборе оборудования следует учитывать
назначение и состав комплектов оборудования и его основные характеристики:
·
производительность
при выполнении технологических операций;
·
надежность
работы;
·
совместимость
работы оборудования различных типов, в том числе персональных компьютеров;
·
стоимость
оборудования;
·
состав
и количество обслуживающего персонала;
·
площадь,
требуемая для размещения оборудования.
Материалы анализа технического обеспечения
налоговых служб, а также данные об использовании технических средств, являются
исходной базой составления задания на проектирование технического оснащения службы.
Проектные решения должны обеспечивать:
·
рациональную
структуру, состав, необходимое количество и эффективное распределение,
размещение технических средств в структурных подразделениях службы;
·
улучшение
общего технического оснащения по отдельным видам и направлениям работ службы;
·
соответствие
производительности и надежности технологически связанных средств на уровне
служб управления предприятием в целом;
·
комплексное
использование технических средств при реализации подразделениями службы своих функций
и отдельных работ;
·
экономичность
эксплуатации средств технического оснащения.
Важнейшей задачей проектирования технического
обеспечения предприятия является выбор технических средств: он определяет
затраты на их приобретение и эффективность будущего функционирования службы
управления персоналом.
Состав и последовательность операций по выбору
технических средств для их использования в налоговых службах включает:
·
определение
видов работ, которые необходимо выполнять с использованием технических средств;
·
определение
требований, предъявляемых к техническим средствам. Обоснование состава
показателей, характеризующих предъявляемые требования к техническим средствам;
·
выбор
метода сравнения технических средств для определения наиболее эффективного;
·
проведение
сравнительного анализа технических средств;
·
обоснование
рекомендаций по выбору наиболее эффективных технических средств, в наибольшей
степени удовлетворяющих предъявляемым требованиям;
·
принятие
решения о приобретении выбранных технических средств.
В налоговой службе предлагается функционирование
единой внутренней информационной системы, объединяющей в себя все персональные
компьютеры, периферийные устройства и сервер. Сервер представляет собой
мини-ЭВМ на базе высокопроизводительного процессора, винчестера (HDD)
большой емкости и ОЗУ с коррекцией ошибок. Каждое рабочее место оснащено ПЭВМ.
В свою очередь все
концентраторы соединяются с сервером витой парой проводов. Длина кабельных
сегментов между концентраторами и сервером достигает 10 м. При превышении
максимально допустимого значения возникают помехи, которые могут привести к
потери информации и уменьшению скорости передачи данных. Для решения этой
проблемы рекомендуется на отрезках между концентраторами и сервером заменить
витую пару коаксиальным кабелем. Он имеет более высокую помехозащищенность и
скорость передачи данных. Для соединения всех концентраторов с сервером
потребуется 10 метров коаксиального кабеля.
Производительность
вычислительной сети в первую очередь зависит от мощности центрального файлового
сервера. Он может быть узким местом вычислительной сети. В случае выхода из
строя центрального узла нарушается работа всей сети. Поэтому рекомендуется
применять системы резервного питания и делать резервное копирование. Для
резервного копирования можно применять съемные накопители, но наиболее
оптимальный результат - использование резервного сервера, выполняющего функции
резервного копирования, а в случае выхода из строя центрального сервера и его
функции.
Программный модуль реализован в
среде программирования Delphi7.
Delphi
- это система объектно-ориентированного визуального программирования.
Приложения (прикладные программы) Delphi
являются интерактивными системами, в которых для организации взаимодействия
между пользователем и программой используются методы (подпрограммы),
управляемые событиями.
Система Delphi
7 (далее - Delphi) использует
технологию визуального программирования и предназначена для разработки
приложений «под Windows».
Без этой системы программирование «под Windows»
достаточно сложно и кропотливо, требует большого умения, изобретательности,
творческого потенциала и выдержки. Delphi
могут использовать программисты со средним уровнем подготовки, основательно
знающие Pascal - язык
программирования высокого уровня.
Delphi 7 решает
множество задач:
· создавать
законченные приложения для Windows
самой различной направленности (от логических и вычислительных до графических и
мультимедийных);
· быстро создавать
профессионально выглядящий оконный интерфейс для любых приложений;
· создавать мощные
системы работы с локальными и удаленными базами данных любых типов;
· создавать
приложения, которые управляются другими приложениями, в частности, такими как Windows,
так и Linux.;
· создавать
приложения различных классов для работы в Internet
и Интранете;
· создавать
профессиональные программы установки для приложений Windows,
учитывающие всю специфику и требования к Windows;
· создавать отчёты,
справочные системы, работать с библиотеками DLL,
компонентами Active
X;
· стандартизация многих
функций интерфейса, благодаря чему появляется возможность использовать
библиотеки, имеющиеся в Windows;
· ориентация на
визуальное программирование, а особенно то, что во время проектирования формы и
размещения на ней компонентов Delphi
7 автоматически формирует коды программы, включая в них соответствующие
фрагменты, описывающие компоненты. А затем в соответствующих диалоговых окнах
пользователь может изменить заданные по умолчанию значения свойств и при
необходимости написать обработчик событий. [16]
Среда визуального
программирования реализует новую концепцию создания приложений, позволяя
увидеть объекты на экране монитора до выполнения программы, в процессе
разработки ее интерфейса. Без применения технологии визуального
программирования процесс отображения требует написания и отладки достаточно
сложного кода для создания и настройки объектов, а просмотр созданных объектов
возможен только при выполнении программы.
Все версии Delphi
совместимы снизу вверх, т.е. все приложения, разработанные для более ранних
версий, работают без изменения в более поздних версиях Delphi
(кроме некоторых приложений для работы с базами данных). При разработке более
поздних версий система Delphi
дополнена средствами для работы с серверами Access'97,
CORBA, MicroSoft
Transaction
Server(MTS),
с технологией OLE, серверами COM
Windows. Все они доступны,
начиная с Delphi5.
Большинство версий выпускается в нескольких вариантах: Standard
(стандартный), Professional
(профессиональный), Client/Server
(клиент/сервер), Enterprise
(для разработки мощных баз данных). Библиотеки компонентов более поздних версий
дополняются новыми компонентами.
Объектно-ориентированное
визуальное программирование в Delphi
выводит разработку приложений на новую ступень развития программирования. Она
относится к системам быстрой разработки приложений (RAD
- Rapid Application
Development). При разработке
интерфейса пользователя в Delphi
традиционные структурные методы уступают место итерационным подходам,
выполненным в интерактивном режиме Delphi.
Это быстро развивающаяся система. В процессе ее развития были выпущены версии
от Delphi до Delphi7.
Каждая следующая версия дополняла предыдущую и повышала требования к ресурсам
ПК. На ПК с ограниченными ресурсами целесообразно использовать более ранние
версии системы. Новые версии Delphi
требуют все больший объем дисковой памяти. Растут размеры выполняемых модулей
приложений.[17]
С появлением Delphi
разработчик может не только создавать и предоставлять своим коллегам готовые к
использованию компоненты, но и расширять функциональные возможности среды, в
которой он работает.[18]
2.4 Руководство пользователя
Для установки информационной системой «Торговое
предприятие» необходимо скопировать на компьютер пользователя два файла:
- файл приложения megasport.exe.
Запуск приложения осуществляется двойным
нажатием левой кнопкой мыши по файлу megasport.exe.
После чего на экране появится главная загрузочная форма (рисунок 13).
Рисунок 13. Главная загрузочная форма ИС
«Торговое предприятие»
В данном окне пользователю предоставляется
возможность работы с меню, в котором доступны только три пункта:
Справочники;
Документы
Выход
Если пользователь решил выбрать пункт Выход, то
приложение будет закрыто.
В пункте меню Справочники можно выбрать работу с
одним из следующих справочников:
Группа товаров;
Товар;
Сотрудники;
Филиалы;
Поставщики.
Выбрав команду Справочник Группа товаров,
пользователь может просмотреть список группы товаров (рисунок 14).
Рисунок 14. Справочник Группа товаров
Панель инструментов данного окна предоставляет
возможность работы с записями (таблица 3). Кнопки данной панели повторяются
практически во всех окнах.
Выбрав команду Справочник товаров, пользователь
может просмотреть список товаров, а также цены на них (рисунок 15). Здесь также
имеется панель инструментов с кнопками для работы с записями.
Рисунок 15. Справочник товаров
Здесь также имеется панель инструментов со
стандартными кнопками. Нажав на кнопку Добавить запись, пользователь может
добавить новый товар в окне Добавление товара (рисунок 16). Информацию об уже
имеющемся товаре можно также изменить в аналогичном окне, нажав на кнопку .
Рисунок 16. Добавление товара
Аналогичные операции можно произвести и при
выборе других справочников.
В пункте меню Документы можно выбрать работу с
одним из четырех команд:
Хранение;
Перемещение товара;
Приходная накладная;
Реализация.
Выбрав команду Хранение, пользователь может
просмотреть количество товаров в каждом филиале по группам товаров (рисунок
17).
Рисунок 17. Хранение
Здесь также можно отредактировать, добавить или
удалить информацию о количестве товара.
В окне Перемещение товара (рисунок 18)
пользователь может произвести перемещение товара из одного филиала в другой.
Рисунок 18. Перемещение товара
Здесь также можно отредактировать, добавить или
удалить информацию о количестве товара.
В данной форме необходимо указать данные о
филиалах отправителя и получателя, дату и список товаров. Нажав на кнопку
Сохранить, пользователь сохраняет информацию в базе. Кнопка открывает
документ «Накладная» в MS
Excel (рисунок 19),
который в дальнейшем можно распечатать.
Рисунок 19. Выходной документ «Накладная на
перемещение»
В окне Приходная накладная пользователь может
произвести поступление товара в один из филиалов. В данном окне выходная
информация представлена в виде Приходной накладной (рисунок 20). В окне
Реализация можно произвести реализацию товара из одного филиала и распечатать
чек (рисунок 21).
Рисунок 20. Выходной документ «Приходная
накладная»
Рисунок 21. Выходной документ «Приходная
накладная»
3. Экономическая эффективность внедрения проекта
и промышленная экология
.1 Экономическая эффективность от внедрения
проекта
Внедрение современных информационных технологий
- это дорогостоящее явление. Хотя конечная цель - повышение
конкурентоспособности предприятия - при толковом подходе оправдывает средства
(в данном случае материальные). Однако пора повального увлечения
информатизацией прошла, и сегодня ни один руководитель не будет заниматься
информатизацией своего производства без просчета прямых выгод от ее внедрения и
эксплуатации, что невозможно без тщательного анализа и определения их
экономической эффективности и целесообразности.
Встает вопрос о том, как же оценить эти выгоды
или хотя бы сроки достижения безубыточности проекта по внедрению той или иной
информационной системы. Эти вопросы непросты не только потому, что связаны с
нематериальными активами предприятия (ИС - это прежде всего интеллектуальная
собственность). Сложность методик оценки экономического эффекта от внедрения и
эксплуатации ИС непосредственно зависит от сложности и многообразия современных
информационных технологий.
Высших руководителей менее всего удовлетворяют
обоснования необходимости капиталовложений в информационные технологии,
сделанные лишь на основе расчета чисто экономической эффективности.
Руководители, определяющие успех информационной технологии с точки зрения
эффективности решения отделом ИС основных производственных задач, а не просто
выполнения арифметических подсчетов, чаще чувствуют, что получают полную или
почти полную отдачу от своих капиталовложений.
Эффективность - не обязательно показатель того,
насколько эти задачи, инфраструктура или процессы отвечают общим
производственным целям вашей компании.
Экономическая оценка эффективности
автоматизированных информационных систем управления предприятиями тесно связана
с определением источников экономической эффективности. Под источниками
экономической эффективности понимаются реальные возможности улучшения
производственно-хозяйственной и финансовой деятельности предприятия, повышения
эффективности производства за счет совершенствования системы управления им.
Источники эффективности ИС - потенциально существующие на предприятии резервы
производства и упущенные возможности.
При определении эффективности ИС «Налоговые
платежи» учитываются следующие направления повышения эффективности производства,
поддающиеся количественной оценке:
· увеличение выпуска продукции за счет более
рационального использования производственных и трудовых ресурсов, оптимизации
производственной программы предприятия;
· повышение производительности труда
производственных рабочих вследствие сокращения потерь рабочего времени и
простоев производственного оборудования;
· установление оптимального уровня
запасов материальных ресурсов и объемов незавершенного производства;
· повышение качества выпускаемой
продукции (сокращение брака, повышение сортности) и экономия, получаемая
потребителями;
· снижение затрат на выпуск продукции
за счет возможного сокращения административно-управленческого персонала,
оптимизации технико-экономического и оперативно-календарного планирования,
улучшения оперативного регулирования производства, экономии условно-постоянных
расходов.
Использование перечисленных источников
экономической эффективности автоматизации налоговых платежей направлено на
снижение себестоимости производимой продукции, что обеспечивает получение
соответствующей прибыли на предприятии, внедрившем автоматизированную
информационную систему управления.
Однако методики, определяющие экономическую
эффективность автоматизированных систем управления, не удовлетворяют
требованиям современного производства и условиям рыночной экономики. В связи с
этим возникает необходимость создания методики экономической оценки внедрения
ИТ. Очевидно, что невозможно создать единую методику, которая подходила бы для
оценки любого проекта внедрения ИТ.
Многообразие современных информационных
технологий требует уточнения и корректировки методики экономической
эффективности по каждому конкретному проекту. Например, для экономической
оценки внедрения коммуникационной системы источниками эффективности выступают снижение
затрат на организацию обмена информацией, увеличение скорости передачи
информации, повышение управляемости информационными ресурсами. Для оценки
эффективности от внедрения автоматизированных систем документооборота -
снижение трудоемкости и себестоимости подготовки, обработки и использования
документов. Сложность заключается в правильном выборе источников эффективности.
В зависимости от сложности систем число их может насчитывать десятки.
Грамотное определение источников эффективности
во многом определяет достоверность будущих расчетов. Поэтому, как правило, этот
этап требует специализированного обследования.
Итак, после того, как определены возможные
источники эффективности от внедрения сложной информационной системы, можно
приступить непосредственно к количественной оценке. Но для этого необходимо
понимание не только существа будущей системы, ее функциональности, но и
представлять сегодняшнее состояние информационной системы, а так же представить
ее существование на предприятии в виде некоторой модели.
Этап формализации существующих процессов на
предприятии невозможно обойти, так как количественная оценка некоторых
параметров источников эффективности дает лишь возможность составить
представление о состоянии системы.
Моделирование существующих процессов, которые
предстоит совершенствовать и может быть автоматизировать, является следующим
этапом в расчете экономической эффективности. Сложность модели определяется
теми требованиями, которые предъявляются к достоверности расчетов.
Когда модель создана, осталось применить ту или
иную методику расчета экономической эффективности, основанную на сравнительном
анализе показателей, характеризующих конкретные источники эффективности.
Преимущества данного подхода в том, что непрерывно проходящие итерационные процессы
совершенствования той или иной информационной системы могут сразу быть оценены
с точки зрения эффективности инвестиций на уже построенной модели.
Обоснование полезности - это искусство
маркетинга, которое нелегко дается большинству отделов информационных систем.
Применение к информационной технологии некоторых приемов, если их соблюдать
правильно, позволяет достичь двух важных целей:
информационный отдел получает ощутимую обратную
связь при решении стратегических и тактических вопросов;
старшие руководители нетехнических направлений
включаются в этот процесс, что заставляет их думать о зависимости успеха
бизнеса от информационной технологии.
Но эти приемы должны также демонстрировать и
выгоды от применения информационных технологий. В противном случае, может
появиться разрыв в представлениях о том, как функционирует ИС на самом деле и
как ее работа воспринимается производственными подразделениями. Менеджер
информационных систем должен эффективно взаимодействовать с людьми, от которых
зависит решение.
Первый шаг, предпринимаемый отделом
-“заказчиком” для модернизации системы управления, это разработка технического
предложения.
Для этого необходимо провести опрос основных
пользователей системы об ощутимых и неуловимых выгодах рассматриваемого
приложения, а также об имеющем место риске. Создается группа основных
пользователей из затрагиваемых проектом подразделений. С предложенной системой
знакомятся все будущие пользователи - финансовые "эксперты". Они
должны сформулировать пункт за пунктом те материальные и качественные выгоды,
которых они ждут от реализации такого проекта. Эти выгоды должны были быть
выражены в экономических, а не в технических терминах.
Например, материальные выгоды от внедрения
нового модуля по работе с банками заключаются в сокращение сроков пересылки
платежных документов. Это ускорит текущие расчеты.
Качественные выгоды - те, величину которых
трудно выразить денежно, будут состоять в более точном осуществлении
финансового прогноза.
С другой стороны, потенциальный риск новой
системы может исходить от недостаточно благоприятного отношения к ней
пользователей.
Затем технический проект документа поступает к
специалистам по информационным технологиям. Они помогают руководителю отдела
оценить расходы - как прямые, так и косвенные, а также ожидаемый эффект. Эффект
подразделяется на исчисляемый и неисчисляемый. К материальной экономии относят
сокращение трудозатрат и оптимизацию работы с данными. К нематериальной -
повышение качества финансового анализа, конкурентоспособности или ожидаемое
увеличение прибыльности компании, не поддающееся точному измерению.
Традиционная прибыль на инвестированный капитал определяется на основе
количественных показателей расходов и доходов. Качественные выгоды излагаются
перед комитетом высших руководителей в особом разделе обоснования. Может
оказаться, что данный конкретный проект не приносит материального эффекта, но
все же должен быть рассмотрен с точки зрения его полезности для победы над
конкурентами.
Все расходы по проекту подразделяются на
обязательные (текущие) и добровольные (дополнительные). Объясняя руководителям
суть обязательных затрат, менеджер проекта говорит: "Вот ваши существующие
информационные системы, а вот, во что они вам обходятся. Это ваши необходимые
расходы - то, что нужно для поддержания статус-кво. С другой стороны, вот ваши
добровольные, т.е. дополнительные, расходы, требующиеся на ввод в эксплуатацию
новых систем". Добровольные расходы учитывают экономию от замены или от
модификации существующего способа работы. Руководителям предлагается цифра
дополнительных расходов, и им объясняют, к чему приведет внедрение новых
систем.
В этот момент становится очень легко взвесить
преимущества от планируемых усовершенствований в сравнении с дополнительными
расходами. Важным обстоятельством является понимание всеми, что одна только
информационная технология не несет в себе существенных улучшений.
Предложение, подготовленное инициатором создания
новой системы и проверенное персоналом ИС, перед тем, как оно будет направлено
на рассмотрение управленческого комитета, подписывает руководитель этого
отдела. И даже если предложение пройдет, до завершения процесса еще далеко.
Если тот или иной проект в области
информационных технологий выходит за рамки бюджета, комитет по рассмотрению
капитальных вложений утверждает дополнительные ассигнования.
После утверждения проекта назначается
контрольная дата отчета. Это позволяет компании оценить, реализованы ли
ожидаемые издержки и выгоды. Для удобства сравнения эти фактические данные
фиксируются в том же проекте, где изложены первоначальные оценки. Если
реализация проекта задерживается, дату оценки переносят. Менеджер проекта
должен снова обратиться в комитет и запросить дополнительное время.
Самое крупное преимущество рассматриваемой
системы заключается в том, что выгоды от капиталовложений в информационные
технологии ощущают как производственные подразделения, так и высшее руководство
компании. Раньше эти выгоды были скрыты.
По завершении проекта проводится заключительный
анализ, чтобы определить, насколько ожидаемые затраты и эффект близки к
фактическим результатам.
Попробуем оценить все положительное и выявить
отрицательные черты созданной информационной системы “Расчета налогов с
предпринимателей, работающих по упрощенной декларации и на основе патента”.
Не представляется возможным оценить
относительное изменение расходов после и до создания системы, т.к. для этого
требуется детальный анализ расходов работы фирмы. Ниже будут рассмотрены
абсолютные изменения сумм на содержание фирмы “до и после” в сравнении с
затратами на само создание системы, определение срока окупаемости при условии
той же эффективности работы финансистов. Конечно, на самом деле система должна
будет повысить результативность труда, и главный эффект от внедрения новых
технологий будет не на поверхности, а в общем улучшении качества управления,
которое влияет на прибыльность компании.
Таким образом, рассмотрим те составляющие
затрат, которые будут затронуты модернизацией информационной системы.
В результате сокращения рабочего времени
заработная плата работников предприятия не изменится, т.к. им установлен
фиксированный оклад, а не часовая тарифная ставка. Более того, за работу в
сверхурочные часы не производится их оплата с соответствующей индексацией (в
3-х кратном размере), за переработанные часы сотрудники могут быть награждены
персональными премиями или могут взять отгулы. Поэтому от повышения
оперативности выполнения работ прямого сокращения затрат не будет. Но будет
уменьшен общий фонд оплаты труда в результате сокращения должностей, главным
образом должностей контролирующих и перепроверяющих.
Ожидается, что тот же объем работ в новой
системе смогут выполнить в 1,5 раза меньше работников, чем при существующей
традиционной системе.
В год на работу для налогового Комитета примерно
рассчитано определенное количество канцелярских материалов - бумаги, пишущих
принадлежностей и прочих - на сумму Sk1,
которая в году составила 100 000 тенге. Прекращение использования обычных
носителей информации в большинстве операций на хранение и обработку данных в
центральном сервере сократит эти расходы на 70-80%. Конечный вывод данных на
бумагу потребуется только для тех отчетов, которые используются руководством
как официальные документы.
Т.о. снижение затрат на расходные материалы
определяется из выражения:
DЗр.м. = 0.7 * Sk1;
(1)
где Sk1
- сумма годовых расходов на канц.товары;
DЗр.м. = 0.7 * Sk1
=
70 000 тенге.
Норма работы в месяц 146 часов. Реально же
некоторые работники работают сверхурочно, что приводит к перерасходу
электроэнергии. Настольный компьютер, который выполняет функции рабочего места
налогового инспектора, потребляет в среднем Npc
= 350 Вт.
Перерасход электроэнергии за год составит:
Егод = Npc
*
T, (2)
где T
- количество часов, отработанных пользователями сверхурочно, за год
T = 1321 час
примерно за год.
Егод = 350 * 1321 = 462350 Вт.
Если финансисты будут успевать выполнять свою
работу в рабочее время, то снижение затрат в результате экономии э/энергии
составит:
DЗээ = Егод * Цкв,
(3)
где Цкв - цена одного кВт*ч
э/энергии. Цкв = 3 тенге;
DЗээ = 462350 * 1.50 * 10-3 =
1400 тенге;
Итого имеем материальных преимуществ введения
новой системы финансового учета на сумму снижения издержек в течение года :
DИS = DЗз/п
+ DЗр.м.
+ DЗээ
(4)
DИS =
1 200 000 + 266 000 + 1400 = 1 467 400 тенге
Для построения системы мы используем
существующую ЛВС. В ее состав входят:
·
файл-сервер
сети Windows
NT 4.0;
·
компьютеры
на базе Pentium
2;
·
кабельная
система на основе тонкого коаксиального кабеля;
·
активное
кабельное оборудование.
По техническим характеристикам сеть подходит для
создания на ее основе клиент/серверной системы финансового учета. Для этого
необходимы дополнительные компоненты:
·
сервер
баз данных;
·
программное
обеспечение для сервера БД;
·
программное
обеспечение для клиентских компьютеров;
Цена сервера баз данных на основе Pentium
IV составит :
Цсбд = 200 000 тенге
Сетевая карта Intel
EtherExpress
Pro для сервера БД
Цск = 18 500 тенге
Сетевая ОС Windows
NT 4.0
Цос = 175 000 тенге
Программный сервер Borland
IB Database
5.0 на 10 одновременных подключений:
Цпс = 140 000 тенге
Затраты на разработку системы будут складываться
из зарплаты штатных программистов и приобретения пакета корпоративных средств
разработки Inprise
Delphi Client/Server
Suite 4.0.
Для внедрения новой системы рассчитывается
использовать группу из 3-х специалистов.
Время разработки системы определено как:
Tp
= 1000 часов, или 6 месяцев.
Т.о. затраты на оплату труда разработчиков
составят:
Зпрог = Зз/п * 18 = 20 000
* 18 = 360 000 тенге;
Пакет Delphi
Client/Server
4.0 имеет рыночную стоимость
ЦDelphi
=
250 000 тенге
Итого единовременные капиталовложения составят:
К = Цсбд + Цск + Цос
+Цпс + Зпрог + ЦDelphi,
(5)
К = 200 000 + 18 500 + 175 000 + 140 000 + 360
000 + 250 000 = 1 143 500 тенге.
Годовая эффективность создания системы определяется
из выражения:
Эг = DЗ/(Ен
+ Кр), (6)
где DЗ - изменение
размера затрат на создание и обслуживание информационной системы определяется
из выражения:
DЗ = DИS
-
К(Ен + Кр), (7)
где DИS
- абсолютное изменение издержек работы отдела;
Ен - норматив эффективности
кап.вложений, для компьютерной техники и программного обеспечения принимается
равным 0.15;
Кр - коэффициент реновации,
принимается как норма амортизации с учетом срока службы существующего
оборудования (срок службы системы Тсл - 3 года) и определяется по
формуле:
Кр = Ен / ((1 + Ен)Тсл
- 1), (8)
Кр = 0.15 / ((1 + 0.15)3 -
1) = 0.29;
Тогда, изменение размера затрат составит:
DЗ = 1 466 700 - 1 143 500*(0.15+0.29) = 963 560
тенге,
Таким образом годовая эффективность планируется
в размере
Эг = 963 560 / (0.15+0.29) = 2 189
909 тенге.
Теперь мы можем определить срок окупаемости Ток
создания новой системы из выражения:
Ток = К / Эг, (9)
Ток = 1 143 500 / 2 189 909 = 0.52
года.
Причем данный срок окупаемости учитывает только
материальные преимущества создания новой системы.
Таким образом, мною осуществлен расчет всех
затрат на создание системы и обоснованы все преимущества ее внедрения.
3.2 Промышленная экология
Опасные и вредные производственные факторы при
работе с персональным компьютером
Имеющийся в настоящее время комплекс
разработанных организационных мероприятий и технических средств защиты,
накопленный передовой опыт работы ряда вычислительных центров (ВЦ) показывает,
что имеется возможность добиться больших успехов в деле устранения воздействия
на пользователей компьютеров опасных и вредных производственных факторов.
Однако состояние условий труда и его безопасности в ряде ВЦ ещё не
удовлетворяет современным требованиям.
Операторы персональных ЭВМ и программисты ещё
сталкиваются таких физических опасных и вредных производственных факторов, как
повышенный уровень шума, повышенная температура внешней среды, отсутствие и
недостаток естественного света, недостаточная освещенность рабочей зоны,
электрический ток, статистическое электричество и другое.
Многие пользователи персональных ЭВМ связаны с
воздействием таких психофизиологических факторов, как умственное
перенапряжение, перенапряжение зрительных и слуховых анализаторов, монотонность
труда, эмоциональные перегрузки.
Воздействие указанных неблагоприятных факторов
приводит к снижению работоспособности, вызываемое развивающимся утомлением.
Появление и развитие утомления связано с изменениями, возникающими в процессе
работы в центральной нервной системе, с тормозными процессами в коре головного
мозга. Например, сильный шум вызывает трудности в распознавании цветовых
сигналов, снижает быстроту восприятия цвета, остроту зрения, зрительную
адаптацию, нарушает восприятие визуальной информации, снижает способность
быстро и точно восполнять координированные движения, уменьшает на 5 - 10 %
производительность труда. Длительное воздействие шума с уровнем звукового
давления 90 дБ снижает производительность труда на 30 - 60 %.
Медицинские обследования работников данной сферы
показали, что помимо снижения производительности труда высокие уровни шума
приводят к ухудшению слуха и появлению тугоухости.
В ряде случаев наблюдались отравления работников
на копировально-множительных машинах, поступают многочисленные жалобы на
повышенную утомляемость и головную боль работников, обслуживающих данный вид
оборудования.
Длительное нахождение человека в зоне
комбинированного воздействия различных неблагоприятных факторов может привести
к профессиональному заболеванию.
Анализ травматизма среди работников,
пользующихся и обслуживающих ЭВМ, показывает, что в основном несчастные случаи
происходят от воздействия физических опасных производственных факторов при
заправке носителя информации, а также при выполнении сотрудниками
несвойственных для них работ (погрузочно-разгрузочных, монтаж оборудования и
другое). На втором месте - случаи, связанные с воздействием электрического
тока.
Гигиена труда и производственная санитария.
Помещения, их размеры (площадь, объём) должны в
первую очередь соответствовать количеству работающих и размещаемому в них
комплексу технических средств. В них предусматривают соответствующие параметры
температуры, освещения, чистоты воздуха, обеспечивают изоляцию от
производственных шумов и так далее.
Общие рабочие комнаты и кабинеты должны иметь
естественное освещение. В остальных помещениях допускается искусственное
освещение.
Рациональное цветовое оформление помещений
направлено на улучшение санитарно-гигиенических условий труда, повышение его
производительности и безопасности. Окраска производственных помещений влияет на
нервную систему человека, его настроение, восприятие запаха и, в конечном
счете, на производительность труда. Поэтому так важен выбор цвета помещений, в
которых работают пользователи ПЭВМ.
Восприятие цвета в большой степени зависит от
освещенности. Коэффициент отражения света материалами и оборудованием внутри
помещений имеет большое значение для освещения: чем больше света отражается,
тем выше освещенность. Освещение помещений и оборудования должно быть мягким,
без блеска, окраска интерьера помещений должна быть спокойной для визуального
восприятия.
Шум на рабочих местах в помещениях с
персональными ЭВМ создаётся внутренними источниками: техническими средствами,
устройствами кондиционирования воздуха, преобразователями напряжения и другим
оборудованием, а также шумом, проникающим в помещение извне.
Для снижения шума, создаваемого на рабочих
местах внутренними источниками, а также шума, проникающего извне, следует:
4
ослабить
шум самих источников, в частности, предусмотреть применение в их конструкциях
акустических экранов, звукоизолирующих кожухов и так далее;
5
снизить
эффект суммарного воздействия на рабочие места отраженных звуковых волн за счет
звукопоглощения энергии прямых звуковых волн поверхностями ограждающих
конструкций;
6
применять
рациональное расположение оборудования;
7
использовать
архитектурно-планировочные и технологические решения, направленные на изоляцию
источников шума.
Эргономика и эстетика производства являются
составными частями культуры производства, то есть комплекса мер по организации
труда, направленных на создание благоприятной рабочей обстановки.
Культура производства достигается правильной
организацией трудовых процессов и отношений между работающими, благоустройством
рабочих мест, эстетическим преобразованием среды.
Для создания благоприятных условий труда
необходимо учитывать психофизиологические особенности человека, а также общую
гигиеническую обстановку.
Находящийся в состоянии нервного возбуждения (в
результате ненормальных производственных взаимоотношений), человек допускает
много ошибок при работе с персональными ЭВМ и другими техническими средствами.
Товарищеские деловые отношения между работающими, особенно между руководителем
и исполнителями, создают хорошую рабочую обстановку, устраняют нервозность и тем
самым положительно влияют на производительность труда и его безопасность.
Важную роль играет планировка рабочего места,
которая должна удовлетворять требованиям удобства выполнения работ и экономии
энергии и времени оператора, рационального использования производственных
площадей и удобства обслуживания устройств персональных ЭВМ, соблюдая правила
охраны труда.
При организации рабочего места следует принимать
во внимание данные антропометрии человеческого тела, на основании которой
необходимо учитывать зоны досягаемости рук оператора при расположении дисплея,
клавиатуры и так далее, рационально разместить их как по горизонтали, так и по
вертикали. Движения работника должны быть такими, чтобы группы мышц его были
нагружены равномерно, а лишние непроизводительные движения устранены.
Производственная среда, являющаяся предметным
окружением человека, должна сочетать в себе рациональное
архитектурно-планировочное решение, оптимальные санитарно-гигиенические условия
(микроклимат, освещение, отопление, вентиляция и другое), научно обоснованную
цветовую окраску и создание высокохудожественных интерьеров.
Электробезопасность
Электрические установки, к которым относится
практически всё оборудование, связанное с персональными ЭВМ, представляют для
человека большую потенциальную опасность, так как в процессе эксплуатации или
проведения профилактических работ человек может коснуться частей оборудования,
которые находятся под напряжением.
Специфическая опасность электроустановок:
токоведущие проводники, корпуса персональных ЭВМ и прочего оборудования,
оказавшегося под напряжением в результате повреждения (пробоя) изоляции, не
подают каких-либо сигналов, которые предупреждали бы человека об опасности.
Проходя через тело человека, электрический ток
оказывает на него сложное воздействие, вызывая термическое, электролитическое,
механическое и биологическое действие.
Любое из перечисленных воздействий тока может
привести к электротравме, то есть к повреждению организма, вызванному
воздействием электрического тока (ГОСТ 12.1.009-76).
Заключение
В результате разработки
информационной системы «Торгового предприятия» получено решение задачи
«Реализация товаров торгоого предприятия «Мегаспорт». Дальнейшая разработка
этой задачи позволит автоматизировать процесс обработки данных любого крупного
предприятия торговой отрасли. Анализ торговой сети «Мегаспорт» является важной
предметной отраслью любой торговой фирмы, без анализа невозможно прогнозировать
покупательский рейтинг, ценовую политику предприятий конкурентов, поэтому
созданная информационная система может рассматриваться и как модуль в
разработке системы для всей торговой сети «Мегаспорт».
Основный вид деятельности
торгового предприятия «Мегаспорт» торговля спортивным инентврем и т.д.. Работа
с клиентами осуществляется на основе «Клиент-Продавец».
Функциональный принцип
декомпозиции - разделение АСУ на подсистемы в соответствии с функциями
управления.
Функциональная структура
торгового предприятия «Мегаспорт» включает следующие подсистемы:
менеджмент;
бухгалтерия;
учет движения товара
(товаровед);
информационный отдел
(операторы).
Задача «Реализация товаров»
занимает важное место в функциональной структуре торгового предприятия
«Мегаспорт». Решение этой задачи с применением комплекса технических средств
предназначенных для повышения эффективности обработки информации, уменьшение
ручной работы и связанных с ней производственных ошибок, улучшение качества
анализа и передачи информации. Все эти факторы сообща приводит к повышению
производительности работы и, следовательно, экономического эффекта.
В автоматизированных
информационных системах отражение предметной области представлено моделями
данных нескольких уровней, одной из которых является инфологическая модель. В
ней отображается какая-то часть реального мира, называемая предметной областью.
Для того чтобы описать исследуемую предметную область используют искусственные
формализованные языковые средства. В связи с этим под инфологической моделью
понимают описание предметной области, выполнение с использованием специальных
языковых средств, не зависящих от используемых в дальнейшем программных
средств.
Даталогическое проектирование
заключается в проектировании логической структуры БД. Таким образом, главное
отличие даталогической модели от инфологической состоит в том, что
инфологическая модель хранит в себе всю информацию о предметной области,
необходимую и достаточную для проектирования БД, но она не привязана к
определенной СУБД.
Технологический процесс работы
системы начинается с загрузки ОС. После загрузки ОС необходимо запустить непосредственно
программу АИС
учета и реализации продукции,
которая прежде чем загрузить главное меню, проводит авторизацию доступа методом
ввода пароля.
При выборе ЭВМ необходимо
руководствоваться рядом характеристик. К таким характеристикам относятся надежность,
стоимостные затраты, производительность, простота использования и др. От
значения указанных параметров зависит возможность работы с требуемыми
программными средствами, а следовательно, и успех создания системы.
Для решения задачи «Реализация
товаров» было выбрано приложение Windows
Microsoft
Access. Microsoft
Access предлагает
максимальную свободу в задании типа данных (текст, числовые данные, даты,
время, денежные значения, рисунок, звук, документы, электронные таблицы).
Дипломная работа показывает возможности
применения Иноформационной системы на Торговом
предприятии, которые направлены на сбор, хранение,
обработку и распространение между потенциальными пользователями информации о
функционировании ТП, как-то: предоставление руководителю отчета о деятельности
Торгового Предприятия, о процессе реализации продукции, процессе расчета с
поставщиками, регистрации и анализе документации, донесении до работников фирмы
информации о результатах деятельности ТП и т.д.
В дипломной работе подчеркивается, что применение
предприятием специализированной СУБД, рассчитанной на управление заранее
определенной структурой информации, позволяет значительно улучшить
организационные процессы в работе управленческого персонала, своевременно и
эффективно принимать решения администрацией, улучшить качество ведения
отчетности и документооборота.
Задачами дипломной работы являлись:
ü критическое изучение состояния
действующих информационных систем;
ü постановка комплексов задач для
проведения внедрения информационной системы Торговое предприятие;
ü теоретическое обоснование и
целесообразность выполнения и внедрения проектных работ;
ü экономический анализ собранного и
обработанного фактического материала;
ü разработка конкретных и обоснованных
рекомендаций и предложений по совершенствованию работы Торгового предприятия;
В результате предпроектных исследований была
разработана не слишком дорогая и довольно простая в работе программа даже для
не очень опытного и подготовленного пользователя. Разработанная информационная
система Торгового предприятия обеспечивает:
ü оперативный сбор, качественную и
надежную обработку информации, начиная с производственных подразделений и
заканчивая администрацией предприятия;
ü обеспечение целостности и
сохранности информации;
ü интеграцию информации, в зависимости
от уровня функций и принимаемых решений, тем или иным должностным лицом или
службой;
ü обработку информации в реальном
масштабе времени;
ü обеспечение защиты информации от
несанкционированного доступа;
В результате написания дипломной работы я закрепила
и расширила теоретические и практические знания по специальности, научилась
применять эти знания при решении конкретных информационных и экономических
задач; овладела методикой исследования при решении экономических проблем и
вопросов.
Список использованных источников
1. Андрейченко
А.В., Андрейченко О.Н. «Интеллектуальные ИС». Учебник. М.: Финансовая и
статистика, 2004
. Ахаян Р.,Горев
А., Макашарипов С. «Эффективная работа с СУБД», Санкт-Петербург, 2004
. Барановская Т.П.
и др. «Архитектура компьютерных систем и сетей». Учеб. Пособие.- М.: Финансы и
статистика, 2003
4. Болдырев Ю.Н. Покупатель и
магазин. - М., 2005
5. Громов Г.Р. Очерки
информационной технологии. - М.: ИнфоАрт, 2006.
6. Кравченко Л.И. Анализ
хозяйственной деятельности в торговле. Учебник. Мн.: Высшая школа, 2007.
7. Крейнина М.Н. «Финансовое
состояние предприятия. Методы оценки». - М.: ИКЦ «Дис», 2007.
8. Карминский A.M.,
Нестеров П.В. «Информатизация бизнеса». М.: Финансы и статистика, 2002
9. Мельников В.В.
«Безопасность информации в автоматизированных системах».- М.: Финансы и
статистика, 2003
10. Мартин Дж., Вычислительные
сети и распределенная обработка данных - М.: Финансы и статистика. 2005
11. Назаров С.В.
«Пакеты программ офисного назначения» Учеб. Пособие. - М: Финансы и статистика,
2005
. Назаров С.В.
«Администрирование локальных сетей Windows
NT/2000/NET»
Учеб. Пособие - 2-е изд., перераб. И доп. - М.: Финансы и статистика, 2003
. проф. Омарова
Ш.Е., преп. Муканова Ж.А., преп. Исбек А.Д. УМК для студента.: «Системы баз
данных».
11. Памбухчиянц О.В.
Организация, технология и проектирование торговых предприятий. - М., ИВЦ
«Маркетинг», 1998.
12. Памбухчиянц О.В. Технология
розничной торговли: Учебник. - М.: ИД «Дашков и К», 2007.
13. Примерное правило работы
предприятий розничной торговли. Комитет РК по торговле 17.03.94. г., №
1-314/32-9
14. Прохоров В.И. Справочник
контроллера-кассира. - М.: Высшая школа, 2002.
15. Раицкий К.А. Экономика
предприятия. - М.: ИВЦ «Маркетинг», 2000.
16. Саймон А.Р.
«Стратегические технологии БД» Пер. с англ. - М.: Финансы и статистика, 2006
17. Торговое дело: экономика и
организация: Учебник / Под общ. ред. проф. Л. А. Брагина и проф. Т.П. Данько.
-М.: ИНФРА-М, 2007.
18. Флинт Д.
Локальные сети ЭВМ: архитектура, принципы построения, реализация: Пер. с англ.
- М.: Финансы и статистика,
Приложение
unit MainUnit;, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,, Menus, jpeg, ExtCtrls, ComCtrls,
ImgList, ToolWin, Grids,, StdCtrls, Mask, DBCtrls, DateUtils, Buttons, ComObj;=
class(TForm): TMainMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TImage;:
TPageControl;: TTabSheet;: TCoolBar;: TToolBar;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TImageList;: TDBGrid;: TTabSheet;: TCoolBar;: TToolBar;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TDBGrid;: TMenuItem;: TMenuItem;: TTabSheet;:
TCoolBar;: TToolBar;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TDBGrid;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TTabSheet;: TDBGrid;: TDBGrid;: TDBGrid;: TCoolBar;: TToolBar;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TMenuItem;: TMenuItem;:
TMenuItem;: TTabSheet;: TLabel;: TLabel;: TDateTimePicker;: TLabel;: TDBEdit;: TDBEdit;:
TLabel;: TPanel;: TDBEdit;: TDBEdit;: TLabel;: TLabel;: TPanel;: TDBGrid;:
TPanel;: TCoolBar;: TToolBar;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TPanel;: TCoolBar;: TToolBar;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TDBEdit;: TDBEdit;:
TButton;: TButton;: TBitBtn;: TBitBtn;: TTabSheet;: TPanel;: TLabel;: TLabel;:
TDBEdit;: TDBEdit;: TBitBtn;: TBitBtn;: TCoolBar;: TToolBar;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TPanel;: TLabel;:
TLabel;: TLabel;: TLabel;: TDBEdit;: TDBEdit;: TDateTimePicker;: TDBEdit;:
TDBEdit;: TButton;: TButton;: TPanel;: TDBGrid;: TPanel;: TCoolBar;: TToolBar;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TMenuItem;: TTabSheet;: TCoolBar;: TToolBar;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TDBGrid;: TMenuItem;: TTabSheet;:
TCoolBar;: TToolBar;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TDBGrid;: TMenuItem;: TTabSheet;: TCoolBar;: TToolBar;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;: TPanel;:
TLabel;: TLabel;: TLabel;: TLabel;: TDBEdit;: TDBEdit;: TDateTimePicker;:
TDBEdit;: TDBEdit;: TButton;: TButton;: TPanel;: TLabel;: TLabel;: TDBEdit;:
TDBEdit;: TBitBtn;: TBitBtn;: TPanel;: TDBGrid;: TPanel;: TCoolBar;: TToolBar;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TToolButton;: TToolButton;: TToolButton;: TToolButton;: TToolButton;:
TMenuItem;FormCreate(Sender: TObject);ToolButton1Click(Sender:
TObject);ToolButton2Click(Sender: TObject);ToolButton3Click(Sender:
TObject);ToolButton4Click(Sender: TObject);ToolButton8Click(Sender:
TObject);ToolButton7Click(Sender: TObject);N2Click(Sender:
TObject);ToolButton9Click(Sender: TObject);ToolButton10Click(Sender:
TObject);ToolButton11Click(Sender: TObject);ToolButton12Click(Sender:
TObject);ToolButton14Click(Sender: TObject);ToolButton15Click(Sender:
TObject);ToolButton16Click(Sender: TObject);N3Click(Sender:
TObject);ToolButton17Click(Sender: TObject);ToolButton18Click(Sender:
TObject);ToolButton19Click(Sender: TObject);ToolButton20Click(Sender:
TObject);ToolButton28Click(Sender: TObject);ToolButton30Click(Sender:
TObject);ToolButton25Click(Sender: TObject);ToolButton24Click(Sender: TObject);ToolButton23Click(Sender:
TObject);ToolButton22Click(Sender: TObject);N4Click(Sender:
TObject);ToolButton37Click(Sender: TObject);N7Click(Sender:
TObject);DateTimePicker1CloseUp(Sender: TObject);ToolButton56Click(Sender:
TObject);ToolButton57Click(Sender: TObject);ToolButton58Click(Sender:
TObject);ToolButton60Click(Sender: TObject);N5Click(Sender:
TObject);Button1Click(Sender: TObject);Button2Click(Sender:
TObject);N8Click(Sender: TObject);ToolButton66Click(Sender:
TObject);ToolButton67Click(Sender: TObject);ToolButton68Click(Sender:
TObject);BitBtn1Click(Sender: TObject);ToolButton36Click(Sender:
TObject);DBGrid4CellClick(Column: TColumn);DBGrid5CellClick(Column:
TColumn);ToolButton53Click(Sender: TObject);ToolButton51Click(Sender:
TObject);ToolButton52Click(Sender: TObject);ToolButton54Click(Sender:
TObject);BitBtn2Click(Sender: TObject);ToolButton81Click(Sender:
TObject);ToolButton82Click(Sender: TObject);ToolButton83Click(Sender:
TObject);ToolButton84Click(Sender: TObject);ToolButton86Click(Sender: TObject);ToolButton87Click(Sender:
TObject);ToolButton88Click(Sender: TObject);N9Click(Sender:
TObject);ToolButton90Click(Sender: TObject);DateTimePicker2CloseUp(Sender:
TObject);Button3Click(Sender: TObject);Button4Click(Sender:
TObject);N10Click(Sender: TObject);ToolButton71Click(Sender:
TObject);ToolButton72Click(Sender: TObject);ToolButton73Click(Sender:
TObject);ToolButton74Click(Sender: TObject);ToolButton76Click(Sender:
TObject);ToolButton77Click(Sender: TObject);BitBtn3Click(Sender:
TObject);BitBtn4Click(Sender: TObject);ToolButton38Click(Sender:
TObject);ToolButton6Click(Sender: TObject);ToolButton91Click(Sender:
TObject);ToolButton92Click(Sender: TObject);ToolButton93Click(Sender:
TObject);ToolButton95Click(Sender: TObject);ToolButton96Click(Sender: TObject);ToolButton97Click(Sender:
TObject);ToolButton99Click(Sender: TObject);ToolButton110Click(Sender:
TObject);ToolButton101Click(Sender: TObject);ToolButton102Click(Sender:
TObject);ToolButton103Click(Sender: TObject);ToolButton105Click(Sender:
TObject);ToolButton106Click(Sender: TObject);ToolButton107Click(Sender:
TObject);ToolButton109Click(Sender: TObject);ToolButton100Click(Sender:
TObject);ToolButton111Click(Sender: TObject);ToolButton112Click(Sender:
TObject);ToolButton113Click(Sender: TObject);ToolButton115Click(Sender:
TObject);ToolButton116Click(Sender: TObject);ToolButton117Click(Sender:
TObject);BitBtn5Click(Sender: TObject);N11Click(Sender:
TObject);Button6Click(Sender: TObject);Button5Click(Sender:
TObject);BitBtn6Click(Sender: TObject);DateTimePicker3CloseUp(Sender:
TObject);N12Click(Sender: TObject);
{ Private declarations }
{ Public declarations };:
TMainForm;DMSport, TovarUnit, FilialUnit, XranenieUnit, FilialListUnit,,
PostavwikUnit, PostavwikListUnit, PeopleUnit,;
{$R *.dfm}TMainForm.FormCreate(Sender:
TObject);.Visible := false;.Width :=
MainForm.Width;TMainForm.ToolButton1Click(Sender:
TObject);.GroupTovarTable.First;TMainForm.ToolButton2Click(Sender:
TObject);.GroupTovarTable.Prior;TMainForm.ToolButton3Click(Sender: TObject);.GroupTovarTable.Next;TMainForm.ToolButton4Click(Sender:
TObject);.GroupTovarTable.Last;TMainForm.ToolButton8Click(Sender:
TObject);.GroupTovarTable.Delete;TMainForm.ToolButton7Click(Sender:
TObject);.GroupTovarTable.Insert;;TMainForm.N2Click(Sender: TObject);.Visible
:= true;.Pages[0].Visible := true;.Pages[0].TabVisible := true;.ActivePageIndex
:= 0;;TMainForm.ToolButton9Click(Sender:
TObject);.TovarTable.First;TMainForm.ToolButton10Click(Sender:
TObject);.TovarTable.Prior;TMainForm.ToolButton11Click(Sender:
TObject);.TovarTable.Next;TMainForm.ToolButton12Click(Sender:
TObject);.TovarTable.Last;TMainForm.ToolButton14Click(Sender: TObject);.Caption
.Show;TMainForm.ToolButton15Click(Sender: TObject);.TovarTable.Insert;.Caption
.Show;TMainForm.ToolButton16Click(Sender:
TObject);.TovarTable.Delete;TMainForm.N3Click(Sender: TObject);.Visible :=
true;.Pages[1].Visible := true;.Pages[1].TabVisible := true;.ActivePageIndex :=
1;;TMainForm.ToolButton17Click(Sender:
TObject);.FilialTable.First;TMainForm.ToolButton18Click(Sender:
TObject);.FilialTable.Prior;TMainForm.ToolButton19Click(Sender:
TObject);.FilialTable.Next;TMainForm.ToolButton20Click(Sender:
TObject);.FilialTable.Last;TMainForm.ToolButton28Click(Sender:
TObject);.Pages[0].Visible := false;.Pages[0].TabVisible :=
false;;TMainForm.ToolButton30Click(Sender: TObject);.Pages[1].Visible :=
false;.Pages[1].TabVisible := false;;TMainForm.ToolButton25Click(Sender:
TObject);.Pages[2].Visible := false;.Pages[2].TabVisible :=
false;;TMainForm.ToolButton24Click(Sender:
TObject);Application.MessageBox(PChar.FilialTable.Delete;TMainForm.ToolButton23Click(Sender:
TObject);.FilialTable.Insert;.Show;TMainForm.ToolButton22Click(Sender:
TObject);.Show;TMainForm.N4Click(Sender: TObject);.Visible :=
true;.Pages[7].Visible := true;.Pages[7].TabVisible := true;.ActivePageIndex :=
7;;TMainForm.ToolButton37Click(Sender: TObject);.Label1.Caption :=
'1';.Xranenie2Table.Insert;.Xranenie3Table.Insert;.Edit1.Text :=
'';.Show;;TMainForm.N7Click(Sender: TObject);.Xranenie2Table.Filtered :=
false;.Xranenie2Table.Filter := 'key_filial='''+
IntToStr(DM.Xranenie1Table.FieldByName('key_filial').AsInteger)+'''';.Xranenie2Table.Filtered
:= true;.XranenieTable.Filtered := false;.XranenieTable.Filter :=
'key_filial='''+ IntToStr(DM.Xranenie2Table.FieldByName('key_filial').AsInteger)+''''
+
' and key_group='''+
IntToStr(DM.Xranenie2Table.FieldByName('key_group').AsInteger)+'''';.XranenieTable.Filtered
:= true; .Visible := true;.Pages[3].Visible := true;.Pages[3].TabVisible :=
true;.ActivePageIndex := 3;;TMainForm.DateTimePicker1CloseUp(Sender:
TObject);.Prixod1Table.Edit;.Prixod1Table.FieldByName('date').AsVariant :=
DateTimePicker1.Date;.Prixod1Table.Post;TMainForm.ToolButton56Click(Sender:
TObject);.Prixod1Table.Edit;TMainForm.ToolButton57Click(Sender:
TObject);.Prixod1Table.Insert;;TMainForm.ToolButton58Click(Sender:
TObject);.Prixod1Table.Delete;.Prixod2Table.Filtered :=
false;.Prixod2Table.Filter := 'key_nakl='''+
IntToStr(DM.Prixod1Table.FieldByName('key_nakl').AsInteger)+'''';.Prixod2Table.Filtered
:= true;.Prixod2Table.First;not DM.Prixod2Table.Eof
do.Prixod2Table.Delete;.Prixod2Table.Filtered :=
false;;TMainForm.ToolButton60Click(Sender: TObject);.Pages[4].Visible :=
false;.Pages[4].TabVisible := false;;TMainForm.N5Click(Sender: TObject);.Visible
:= true;.Pages[2].Visible := true;.Pages[2].TabVisible := true;.ActivePageIndex
:= 2;;TMainForm.Button1Click(Sender: TObject);.Label1.Caption :=
'1';.Show;;TMainForm.Button2Click(Sender: TObject);.Label1.Caption :=
'2';.Show;;TMainForm.N8Click(Sender: TObject);.Date := Today();.Visible :=
true;.Pages[4].Visible := true;.Pages[4].TabVisible := true;.ActivePageIndex :=
4; ;TMainForm.ToolButton66Click(Sender: TObject);.Label2.Caption :=
DM.Prixod1Table.FieldByName('key_nakl').AsString;.DBEdit1.Visible := true;.DBEdit2.Visible
:= false;.DBEdit3.Visible := false;.Label3.Caption :=
'1';.Show;TMainForm.ToolButton67Click(Sender:
TObject);.Prixod2Table.Insert;.DBEdit1.Visible := true;.DBEdit2.Visible :=
false;.DBEdit3.Visible := false;.Label3.Caption := '1';.Show;TMainForm.ToolButton68Click(Sender:
TObject);.Prixod2Table.Delete;TMainForm.BitBtn1Click(Sender:
TObject);,m,j:integer;,s,s2 : string;.FilialTable.Filtered :=
false;.FilialTable.Filter :=
'Filial='''+DM.Prixod1Table.FieldByName('otkuda').AsString +'''';.FilialTable.Filtered
:= true;:=
DM.FilialTable.FieldByName('key_filial').AsInteger;.FilialTable.Filtered :=
false;.FilialTable.Filter :=
'Filial='''+DM.Prixod1Table.FieldByName('kuda').AsString
+'''';.FilialTable.Filtered := true;:= DM.FilialTable.FieldByName('key_filial').AsInteger;.Prixod2Table.First;:=
DM.Prixod2Table.FieldByName('key_tovar').AsString;:=
'key_filial='''+IntToStr(n) +'''';:= s + ' and key_tovar='''+ k
+'''';.XranenieTable.Filtered := false;.XranenieTable.Filter :=
s2;.XranenieTable.Filtered :=
true;.XranenieTable.Edit;.XranenieTable.FieldByName('count').AsInteger :=
DM.XranenieTable.FieldByName('count').AsInteger -
DM.Prixod2Table.FieldByName('count').AsInteger;.XranenieTable.Post;.Prixod2Table.Next;DM.Prixod2Table.Eof;.Prixod2Table.First;.XranenieTable.Filtered
:= false;.XranenieTable.Filter := 'key_filial='''+IntToStr(m) +''''+
' and
key_tovar='''+DM.Prixod2Table.FieldByName('key_tovar').AsString
+'''';.XranenieTable.Filtered := true;not DM.XranenieTable.Eof
then.XranenieTable.Edit;.XranenieTable.FieldByName('count').AsInteger :=
DM.XranenieTable.FieldByName('count').AsInteger +
DM.Prixod2Table.FieldByName('count').AsInteger;.XranenieTable.Post;.XranenieTable.Filtered
:= false;.TovarTable.Filtered := false;.TovarTable.Filter := 'key_tovara='''+
DM.Prixod2Table.FieldByName('key_tovar').AsString +'''';.TovarTable.Filtered :=
true;:= DM.TovarTable.FieldByName('key_group').AsInteger;.TovarTable.Filtered
:= false;.Xranenie1Table.Filtered := false;.Xranenie1Table.Filter :=
'key_filial'''+IntToStr(m) +'''';
{ DM.Xranenie1Table.Filtered :=
true;:= DM.Xranenie1Table.FieldByName('key_xranenie').AsInteger;
} DM.XranenieTable.Insert;
//
DM.XranenieTable.FieldByName('key_xranenie').AsInteger :=
j;.XranenieTable.FieldByName('key_filial').AsInteger := m;.XranenieTable.FieldByName('key_tovar').AsString
:=
DM.Prixod2Table.FieldByName('key_tovar').AsString;.XranenieTable.FieldByName('key_group').AsInteger
:= n;.XranenieTable.FieldByName('count').AsInteger :=
DM.Prixod2Table.FieldByName('count').AsInteger;.XranenieTable.Post;.Xranenie2Table.Filtered
:= false;.Xranenie2Table.Filter := 'key_group='''+IntToStr(n) +
'''';.Xranenie2Table.Filtered := true;DM.Xranenie2Table.Eof
then.Xranenie2Table.Insert;.Xranenie2Table.FieldByName('key_filial').AsInteger
:= m;.Xranenie2Table.FieldByName('key_group').AsInteger :=
n;.Xranenie2Table.Post;;.Prixod2Table.NextDM.Prixod2Table.Eof;:= 0;:=
0;.Prixod2Table.First;:= n + 1;
m := m +
DM.Prixod2Table.FieldByName('Ñóììà').AsInteger;.Prixod2Table.NextDM.Prixod2Table.Eof;.Prixod1Table.Edit;.Prixod1Table.FieldByName('posicij').AsInteger
:= n;.Prixod1Table.FieldByName('summa').AsInteger :=
m;.Prixod1Table.Post;.FilialTable.Filtered := false;.XranenieTable.Filtered :=
false;;TMainForm.ToolButton36Click(Sender: TObject);.Label1.Caption := '2';.Show;;TMainForm.DBGrid4CellClick(Column:
TColumn);.Xranenie2Table.Filtered := false;.Xranenie2Table.Filter :=
'key_filial='''+
IntToStr(DM.Xranenie1Table.FieldByName('key_filial').AsInteger)+'''';.Xranenie2Table.Filtered
:= true;.XranenieTable.Filtered := false;.XranenieTable.Filter :=
'key_filial='''+
IntToStr(DM.Xranenie2Table.FieldByName('key_filial').AsInteger)+'''' +
' and key_group='''+
IntToStr(DM.Xranenie2Table.FieldByName('key_group').AsInteger)+'''';.XranenieTable.Filtered
:= true; ;TMainForm.DBGrid5CellClick(Column: TColumn);.XranenieTable.Filtered
:= false;.XranenieTable.Filter := 'key_filial='''+
IntToStr(DM.Xranenie2Table.FieldByName('key_filial').AsInteger)+'''' +
' and key_group='''+
IntToStr(DM.Xranenie2Table.FieldByName('key_group').AsInteger)+'''';.XranenieTable.Filtered
:= true;;TMainForm.ToolButton53Click(Sender:
TObject);.Prixod1Table.Next;TMainForm.ToolButton51Click(Sender:
TObject);.Prixod1Table.First;TMainForm.ToolButton52Click(Sender:
TObject);.Prixod1Table.Prior;TMainForm.ToolButton54Click(Sender:
TObject);.Prixod1Table.Last;TMainForm.BitBtn2Click(Sender:
TObject);,Sheet,Colum:Variant;,i: integer;:=
CreateOleObject('Excel.Application');.Visible:=true;.Workbooks.Add(-4167);.Application.EnableEvents
:= false;.Workbooks[1].WorkSheets[1].Name
Sheet:=XLApp.Workbooks[1].WorkSheets['Íàêëàäíàÿ'];.Cells[1,3]:=.Cells[3,3]:='
¹ '+ IntToStr(DM.Prixod1Table.FieldByName('key_nakl').AsInteger);
Sheet.Cells[4,1]:=' îò '+
DateToStr(DM.Prixod1Table.FieldByName('date').AsDateTime);.Cells[6,1]:='
' + DM.Prixod1Table.FieldByName('otkuda').AsString;.Cells[7,1]:= ' +
DM.Prixod1Table.FieldByName('kuda').AsString;
Sheet.Cells[9,1]:='¹';.Cells[9,2]:=.Cells[9,3]:=.Cells[9,4]:=.Cells[9,5]:=.Cells[9,6]:=.Cells[9,7]:=.Prixod2Table.First;:=
10;:=1;.Cells[k,1]:= IntToStr(i);.Cells[k,2]:=DM.Prixod2Table.FieldByName('key_tovar').AsString;.Cells[k,3]:=DM.Prixod2Table.FieldByName('tovar').AsString;.Cells[k,4]:=DM.Prixod2Table.FieldByName('prise').AsInteger;.Cells[k,5]:=DM.Prixod2Table.FieldByName('count').AsInteger;.Cells[k,6]:=DM.Prixod2Table.FieldByName('Izmerenie').AsString;
Sheet.Cells[k,7]:=DM.Prixod2Table.FieldByName('Ñóììà').AsInteger;.Prixod2Table.next;:=
k+1;:= i+1DM.Prixod2Table.eof;.Cells[k+1,1] := ' +
IntToStr(DM.Prixod1Table.FieldByName('posicij').AsInteger);.Cells[k+2,1] := ' +
IntToStr(DM.Prixod1Table.FieldByName('summa').AsInteger);.Cells[k+4,1] :=
.Cells[k+4,4] := ;TMainForm.ToolButton81Click(Sender:
TObject);.PostavwikTable.First;TMainForm.ToolButton82Click(Sender:
TObject);.PostavwikTable.Prior;TMainForm.ToolButton83Click(Sender:
TObject);.PostavwikTable.Next;TMainForm.ToolButton84Click(Sender:
TObject);.PostavwikTable.Last;TMainForm.ToolButton86Click(Sender:
TObject);.Caption .Show;TMainForm.ToolButton87Click(Sender: TObject);.Caption
:= .PostavwikTable.Insert;.Show;TMainForm.ToolButton88Click(Sender:
TObject);Application.MessageBox(PChar
'Âíèìàíèå!!!',MB_OKCANCEL)=id_OK
then.PostavwikTable.Delete;TMainForm.N9Click(Sender:
TObject);.Visible := true;.Pages[6].Visible := true;.Pages[6].TabVisible :=
true;.ActivePageIndex := 6;;TMainForm.ToolButton90Click(Sender:
TObject);.Pages[6].Visible := false;.Pages[6].TabVisible :=
false;;TMainForm.DateTimePicker2CloseUp(Sender:
TObject);.PrixodNaklTable.Edit;.PrixodNaklTable.FieldByName('date').AsVariant
:= DateTimePicker1.Date;.PrixodNaklTable.Post;TMainForm.Button3Click(Sender:
TObject);.Show;;TMainForm.Button4Click(Sender: TObject);.Label1.Caption :=
'3';.Show;;TMainForm.N10Click(Sender: TObject);.Date := Today();.Visible :=
true;.Pages[5].Visible := true;.Pages[5].TabVisible := true;.ActivePageIndex :=
5;;TMainForm.ToolButton71Click(Sender:
TObject);.PrixodNaklTable.First;TMainForm.ToolButton72Click(Sender:
TObject);.PrixodNaklTable.Prior;TMainForm.ToolButton73Click(Sender:
TObject);.PrixodNaklTable.Next;TMainForm.ToolButton74Click(Sender:
TObject);.PrixodNaklTable.Last;TMainForm.ToolButton76Click(Sender:
TObject);.Caption := .Label2.Caption :=
DM.SaleTable.FieldByName('key_chek').AsString;.DBEdit2.Visible :=
true;.DBEdit1.Visible := false;.DBEdit3.Visible := false;.Label3.Caption :=
'2';.Show;TMainForm.ToolButton77Click(Sender:
TObject);.PrixodNakl2Table.Insert;.Caption .DBEdit2.Visible :=
true;.DBEdit1.Visible := false;.DBEdit3.Visible := false;.Label3.Caption :=
'2';.Show;TMainForm.BitBtn3Click(Sender: TObject);,m,j:integer;,s,s2 :
string;.FilialTable.Filtered := false;.FilialTable.Filter :=
'Filial='''+DM.PrixodNaklTable.FieldByName('kuda').AsString
+'''';.FilialTable.Filtered := true;:=
DM.FilialTable.FieldByName('key_filial').AsInteger;.PrixodNakl2Table.First;.XranenieTable.Filtered
:= false;.XranenieTable.Filter := 'key_filial='''+IntToStr(m) +''''+
' and
key_tovar='''+DM.PrixodNakl2Table.FieldByName('key_tovar').AsString
+'''';.XranenieTable.Filtered := true;not DM.XranenieTable.Eof
then.XranenieTable.Edit;.XranenieTable.FieldByName('count').AsInteger :=
DM.XranenieTable.FieldByName('count').AsInteger +
DM.PrixodNakl2Table.FieldByName('count').AsInteger;.XranenieTable.Post;.XranenieTable.Filtered
:= false;.TovarTable.Filtered := false;.TovarTable.Filter := 'key_tovara='''+
DM.PrixodNakl2Table.FieldByName('key_tovar').AsString
+'''';.TovarTable.Filtered := true;:=
DM.TovarTable.FieldByName('key_group').AsInteger;.TovarTable.Filtered :=
false;.Xranenie1Table.Filtered := false;.Xranenie1Table.Filter := 'key_filial'''+IntToStr(m)
+'''';
{ DM.Xranenie1Table.Filtered :=
true;:= DM.Xranenie1Table.FieldByName('key_xranenie').AsInteger;
} DM.XranenieTable.Insert;
//
DM.XranenieTable.FieldByName('key_xranenie').AsInteger :=
j;.XranenieTable.FieldByName('key_filial').AsInteger :=
m;.XranenieTable.FieldByName('key_tovar').AsString :=
DM.PrixodNakl2Table.FieldByName('key_tovar').AsString;.XranenieTable.FieldByName('key_group').AsInteger
:= n;.XranenieTable.FieldByName('count').AsInteger :=
DM.PrixodNakl2Table.FieldByName('count').AsInteger;.XranenieTable.Post;.Xranenie2Table.Filtered
:= false;.Xranenie2Table.Filter := 'key_group='''+IntToStr(n) +
'''';.Xranenie2Table.Filtered := true;DM.Xranenie2Table.Eof
then.Xranenie2Table.Insert;.Xranenie2Table.FieldByName('key_filial').AsInteger
:= m;.Xranenie2Table.FieldByName('key_group').AsInteger :=
n;.Xranenie2Table.Post;;.PrixodNakl2Table.NextDM.PrixodNakl2Table.Eof;:= 0;:=
0;.PrixodNakl2Table.First;:= n + 1;
m := m +
DM.PrixodNakl2Table.FieldByName('Ñóììà').AsInteger;.PrixodNakl2Table.NextDM.PrixodNakl2Table.Eof;.PrixodNaklTable.Edit;.PrixodNaklTable.FieldByName('posicij').AsInteger
:= n;.PrixodNaklTable.FieldByName('summa').AsInteger :=
m;.PrixodNaklTable.Post;.FilialTable.Filtered := false;.XranenieTable.Filtered
:= false;;TMainForm.BitBtn4Click(Sender: TObject);,Sheet,Colum:Variant;,i:
integer;:=
CreateOleObject('Excel.Application');.Visible:=true;.Workbooks.Add(-4167);.Application.EnableEvents
:=
false;.Workbooks[1].WorkSheets[1].Name:=XLApp.Workbooks[1].WorkSheets.Cells[1,3]:=.Cells[3,3]:=
¹ '+ IntToStr(DM.PrixodNaklTable.FieldByName('key_nakl').AsInteger);
Sheet.Cells[4,1]:=' îò '+
DateToStr(DM.PrixodNaklTable.FieldByName('date').AsDateTime);.Cells[6,1]:=
' + DM.PrixodNaklTable.FieldByName('otkuda').AsString;.Cells[7,1]:= ' + DM.PrixodNaklTable.FieldByName('kuda').AsString;
Sheet.Cells[9,1]:='¹';.Cells[9,2]:=.Cells[9,3]
Sheet.Cells[9,4]:
Sheet.Cells[9,5]:
Sheet.Cells[9,6]:;.Cells[9,7]:
DM.PrixodNakl2Table.First;:=
10;:=1;.Cells[k,1]:= IntToStr(i);.Cells[k,2]:=DM.PrixodNakl2Table.FieldByName('key_tovar').AsString;.Cells[k,3]:=DM.PrixodNakl2Table.FieldByName('tovar').AsString;.Cells[k,4]:=DM.PrixodNakl2Table.FieldByName('prise').AsInteger;.Cells[k,5]:=DM.PrixodNakl2Table.FieldByName('count').AsInteger;.Cells[k,6]:=DM.PrixodNakl2Table.FieldByName('Izmerenie').AsString;
Sheet.Cells[k,7]:=DM.PrixodNakl2Table.FieldByName('Ñóììà').AsInteger;.PrixodNakl2Table.next;:=
k+1;:= i+1DM.PrixodNakl2Table.eof;
Sheet.Cells[k+1,1] :=
'Êîëè÷åñòâî
ïîçèöèé: ' +
IntToStr(DM.PrixodNaklTable.FieldByName('posicij').AsInteger);
Sheet.Cells[k+2,1] :=
'Èòîãî(Ñóììà):
' +
IntToStr(DM.PrixodNaklTable.FieldByName('summa').AsInteger);
Sheet.Cells[k+4,1] :=
'Îòïóñòèë';.Cells[k+4,4]
:= 'Ïîëó÷èë'
end;TMainForm.ToolButton38Click(Sender:
TObject);
if
Application.MessageBox(PChar('Âû
äåéñòâèòåëüíî
æåëàåòå
óäàëèòü äàííóþ
çàïèñü?'),
'Âíèìàíèå!!!',MB_OKCANCEL)=id_OK
then.XranenieTable.Delete;TMainForm.ToolButton6Click(Sender:
TObject);.PeopleTable.First;TMainForm.ToolButton91Click(Sender:
TObject);.PeopleTable.Prior;TMainForm.ToolButton92Click(Sender:
TObject);.PeopleTable.Next;TMainForm.ToolButton93Click(Sender:
TObject);.PeopleTable.Last;TMainForm.ToolButton95Click(Sender: TObject);
PeopleForm.Caption :=
'Ðåäàêòèðîâàíèå
ñîòðóäíèêà';.Show;TMainForm.ToolButton96Click(Sender:
TObject);
PeopleForm.Caption :=
'Ðåäàêòèðîâàíèå
ñîòðóäíèêà';.PeopleTable.Insert;.Show;TMainForm.ToolButton97Click(Sender:
TObject);
if
Application.MessageBox(PChar('Âû
äåéñòâèòåëüíî
æåëàåòå
óäàëèòü äàííóþ
çàïèñü?'),
'Âíèìàíèå!!!',MB_OKCANCEL)=id_OK
then.PeopleTable.Delete;TMainForm.ToolButton99Click(Sender:
TObject);.Pages[7].Visible := false;.Pages[7].TabVisible :=
false;;TMainForm.ToolButton110Click(Sender:
TObject);.Sale2Table.First;TMainForm.ToolButton101Click(Sender:
TObject);.SaleTable.Prior;TMainForm.ToolButton102Click(Sender:
TObject);.SaleTable.Next;TMainForm.ToolButton103Click(Sender:
TObject);.SaleTable.Last;TMainForm.ToolButton105Click(Sender:
TObject);.SaleTable.Edit;TMainForm.ToolButton106Click(Sender: TObject);.SaleTable.Insert;TMainForm.ToolButton107Click(Sender:
TObject);
if
Application.MessageBox(PChar('Âû
äåéñòâèòåëüíî
æåëàåòå
óäàëèòü äàííóþ
çàïèñü?'),
'Âíèìàíèå!!!',MB_OKCANCEL)=id_OK
then.SaleTable.Delete;.Sale2Table.Filtered
:= false;.Sale2Table.Filter := 'key_chek='''+
IntToStr(DM.SaleTable.FieldByName('key_chek').AsInteger)+'''';.Sale2Table.Filtered
:= true;.Sale2Table.First;not DM.Sale2Table.Eof
do.Sale2Table.Delete;.Sale2Table.Filtered :=
false;;TMainForm.ToolButton109Click(Sender: TObject);.Pages[8].Visible :=
false;.Pages[8].TabVisible := false;;TMainForm.ToolButton100Click(Sender:
TObject);.SaleTable.First;TMainForm.ToolButton111Click(Sender:
TObject);.Sale2Table.Prior;TMainForm.ToolButton112Click(Sender:
TObject);.Sale2Table.Next;TMainForm.ToolButton113Click(Sender:
TObject);.Sale2Table.Last;TMainForm.ToolButton115Click(Sender: TObject);
TovarListForm.Caption :=
'Ðåäàêòèðîâàíèå
ñïèñêà
òîâàðîâ';.Label2.Caption
:= DM.SaleTable.FieldByName('key_chek').AsString;.DBEdit2.Visible :=
false;.DBEdit1.Visible := false;.DBEdit3.Visible := true;.Label3.Caption :=
'3';.Show;TMainForm.ToolButton116Click(Sender: TObject);.Sale2Table.Insert;
TovarListForm.Caption :=
'Äîáàâëåíèå
ñïèñêà
òîâàðîâ';.Label2.Caption
:= DM.SaleTable.FieldByName('key_chek').AsString;.DBEdit2.Visible :=
false;.DBEdit1.Visible := false;.DBEdit3.Visible := true;.Label3.Caption :=
'3';.Show;TMainForm.ToolButton117Click(Sender: TObject);
if
Application.MessageBox(PChar('Âû
äåéñòâèòåëüíî
æåëàåòå
óäàëèòü äàííóþ
çàïèñü?'),
'Âíèìàíèå!!!',MB_OKCANCEL)=id_OK
then.Sale2Table.Delete;TMainForm.BitBtn5Click(Sender:
TObject);,m,j:integer;,s,s2 : string;.FilialTable.Filtered :=
false;.FilialTable.Filter :=
'Filial='''+DM.SaleTable.FieldByName('otkuda').AsString
+'''';.FilialTable.Filtered := true;:= DM.FilialTable.FieldByName('key_filial').AsInteger;.FilialTable.Filtered
:= false;.Sale2Table.First;:=
DM.Sale2Table.FieldByName('key_tovar').AsString;:= 'key_filial='''+IntToStr(n)
+'''';:= s + ' and key_tovar='''+ k +'''';.XranenieTable.Filtered := false;.XranenieTable.Filter
:= s2;.XranenieTable.Filtered :=
true;.XranenieTable.Edit;.XranenieTable.FieldByName('count').AsInteger :=
DM.XranenieTable.FieldByName('count').AsInteger -
DM.Sale2Table.FieldByName('count').AsInteger;.XranenieTable.Post;.Sale2Table.Next;DM.Sale2Table.Eof;:=
0;:= 0;.Sale2Table.First;:= n + 1;
m := m +
DM.Sale2Table.FieldByName('Ñóììà').AsInteger;.Sale2Table.NextDM.Sale2Table.Eof;.SaleTable.Edit;.SaleTable.FieldByName('posicij').AsInteger
:= n;.SaleTable.FieldByName('summa').AsInteger :=
m;.SaleTable.Post;.FilialTable.Filtered := false;.XranenieTable.Filtered :=
false;;TMainForm.N11Click(Sender: TObject);.Date := Today();.Visible :=
true;.Pages[8].Visible := true;.Pages[8].TabVisible := true;.ActivePageIndex :=
8;;TMainForm.Button6Click(Sender: TObject);.Label1.Caption :=
'4';.Show;;TMainForm.Button5Click(Sender: TObject);.PeopleTable.Filtered :=
false;.PeopleTable.Filter := 'key_filial='''+
IntToStr(DM.SaleTable.FieldByName('otkuda').AsInteger)
+'''';.PeopleTable.Filtered := true;.Show;TMainForm.BitBtn6Click(Sender:
TObject);,Sheet,Colum:Variant;,i: integer;:=
CreateOleObject('Excel.Application');.Visible:=true;.Workbooks.Add(-4167);.Application.EnableEvents
:= false;.Workbooks[1].WorkSheets[1].Name:='×åê';:=XLApp.Workbooks[1].WorkSheets['×åê'];
Sheet.Cells[1,3]:='Ñåòü
ìàãàçèíîâ
"Ìåãàñïîðò"';
Sheet.Cells[3,3]:='×åê
¹ '+ IntToStr(DM.SaleTable.FieldByName('key_chek').AsInteger);
Sheet.Cells[4,1]:=' îò '+
DateToStr(DM.SaleTable.FieldByName('date').AsDateTime);
Sheet.Cells[6,1]:='Ôèëèàë:
' + DM.SaleTable.FieldByName('otkuda').AsString;
Sheet.Cells[7,1]:=
DM.SaleTable.FieldByName('dolzhnost').AsString + ': '+
DM.SaleTable.FieldByName('ÔÈÎ_ñîòðóäíèêà').AsString;.Cells[9,1]:='¹';.Cells[9,2]:='Àðòèêóë
òîâàðà';
Sheet.Cells[9,3]:='Íàèìåíîâàíèå
òîâàðà';
Sheet.Cells[9,4]:='Öåíà';
Sheet.Cells[9,5]:='Êîëè÷åñòâî';
Sheet.Cells[9,6]:='Åäèíèöà
èçìåðåíèÿ';
Sheet.Cells[9,7]:='Ñóììà';
DM.Sale2Table.First;:=
10;:=1;.Cells[k,1]:=
IntToStr(i);.Cells[k,2]:=DM.Sale2Table.FieldByName('key_tovar').AsString;.Cells[k,3]:=DM.Sale2Table.FieldByName('tovar').AsString;.Cells[k,4]:=DM.Sale2Table.FieldByName('prise').AsInteger;.Cells[k,5]:=DM.Sale2Table.FieldByName('count').AsInteger;.Cells[k,6]:=DM.Sale2Table.FieldByName('Izmerenie').AsString;
Sheet.Cells[k,7]:=DM.Sale2Table.FieldByName('Ñóììà').AsInteger;.Sale2Table.next;:=
k+1;:= i+1DM.Sale2Table.eof;
Sheet.Cells[k+1,1] :=
'Êîëè÷åñòâî
ïîçèöèé: ' +
IntToStr(DM.SaleTable.FieldByName('posicij').AsInteger);
Sheet.Cells[k+2,1] :=
'Èòîãî(Ñóììà):
' + IntToStr(DM.SaleTable.FieldByName('summa').AsInteger);
Sheet.Cells[k+4,1] :=
'Îòïóñòèë';
Sheet.Cells[k+4,4] :=
'Ïîëó÷èë'
end;TMainForm.DateTimePicker3CloseUp(Sender:
TObject);.SaleTable.Edit;.SaleTable.FieldByName('date').AsVariant :=
DateTimePicker3.Date;.SaleTable.Post;TMainForm.N12Click(Sender:
TObject);;.DMSport;, Classes, DB, ADODB;= class(TDataModule): TADOConnection;:
TADOTable;: TADOTable;: TDataSource;: TDataSource;_group: TAutoIncField;:
TWideStringField;_tovara: TWideStringField;: TWideStringField;_group: TIntegerField;:
TBCDField;: TStringField;: TADOTable;: TDataSource;_filial: TAutoIncField;:
TWideStringField;: TWideStringField;: TWideStringField;Table: TADOTable;Source:
TDataSource;Tablekey_xranenie: TAutoIncField;Tablekey_filial:
TIntegerField;TableField: TStringField;Table: TADOTable;Source:
TDataSource;Table: TADOTable;Source: TDataSource;Tablekey_group:
TIntegerField;TableField: TStringField;Tablekey_tovar:
TWideStringField;Tablecount: TIntegerField;Tablekey_filial:
TIntegerField;Tablekey_group: TIntegerField;: TDataSource;: TADOTable;:
TWideStringField;: TWideStringField;: TIntegerField;: TBCDField;TableField:
TStringField;Table: TADOTable;Table: TADOTable;Tablekey_nakl:
TAutoIncField;Tabledate: TDateTimeField;Tableposicij: TIntegerField;Tablesumma:
TIntegerField;Tablecount: TIntegerField;Source: TDataSource;Source:
TDataSource;Tableprise: TIntegerField;TableField2: TIntegerField;:
TWideStringField;TableIzmerenie: TWideStringField;Tableotkuda:
TWideStringField;Tablekuda: TWideStringField;Tablekey_nakl: TIntegerField;Tabletovar:
TWideStringField;Tablekey_tovar: TWideStringField;: TADOTable;:
TDataSource;_xranenie: TIntegerField;_filial: TIntegerField;_group:
TIntegerField;_tovar: TWideStringField;: TIntegerField;: TStringField;:
TADOTable;: TDataSource;_postavwik: TAutoIncField;: TWideStringField;:
TWideStringField;: TWideStringField;: TADOTable;: TAutoIncField;:
TDateTimeField;: TWideStringField;: TWideStringField;: TIntegerField;:
TIntegerField;Source: TDataSource;: TDataSource;Table: TADOTable;Tablekey_nakl:
TIntegerField;Tablekey_tovar: TWideStringField;Tabletovar:
TWideStringField;Tableprise: TIntegerField;TableIzmerenie:
TWideStringField;Tablecount: TIntegerField;TableField: TIntegerField;:
TADOTable;: TDataSource;_people: TAutoIncField;_people: TWideStringField;:
TWideStringField;: TWideStringField;: TWideStringField;_filial: TIntegerField;:
TStringField;: TADOTable;Table: TADOTable;: TDataSource;Source:
TDataSource;_chek: TAutoIncField;: TDateTimeField;_people: TIntegerField;:
TWideStringField;: TIntegerField;: TIntegerField;Tablekey_chek:
TIntegerField;Tablekey_tovar: TWideStringField;Tabletovar:
TWideStringField;Tableprise: TIntegerField;TableIzmerenie:
TWideStringField;Tablecount: TIntegerField;_: TStringField;: TIntegerField;:
TStringField;TableField: TIntegerField;Prixod2TableCalcFields(DataSet:
TDataSet);PrixodNakl2TableCalcFields(DataSet:
TDataSet);Sale2TableCalcFields(DataSet: TDataSet);
{ Private declarations }
{ Public declarations };: TDM;
{$R
*.dfm}TDM.Prixod2TableCalcFields(DataSet: TDataSet);TableField2.Value :=
Prixod2Tableprise.AsInteger *
Prixod2Tablecount.AsInteger;TDM.PrixodNakl2TableCalcFields(DataSet:
TDataSet);TableField.Value := PrixodNakl2Tableprise.AsInteger *
PrixodNakl2Tablecount.AsInteger;TDM.Sale2TableCalcFields(DataSet: TDataSet);TableField.Value
:= Sale2Tableprise.AsInteger * Sale2Tablecount.AsInteger;.FilialListUnit;,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids,
DBGrids, StdCtrls, Buttons, ExtCtrls;= class(TForm): TPanel;: TBitBtn;:
TBitBtn;: TDBGrid;: TLabel;BitBtn1Click(Sender: TObject);BitBtn2Click(Sender:
TObject);
{ Private declarations }
{ Public declarations };:
TFilialListForm;DMSport;
{$R
*.dfm}TFilialListForm.BitBtn1Click(Sender: TObject);Label1.Caption = '1'
then.Prixod1Table.Edit;.Prixod1Table.FieldByName('otkuda').AsString :=
DM.FilialTable.FieldByName('Filial').AsString;.Prixod1Table.Post;Label1.Caption='2'
then.Prixod1Table.Edit;.Prixod1Table.FieldByName('kuda').AsString :=
DM.FilialTable.FieldByName('Filial').AsString;.Prixod1Table.Post;Label1.Caption
= '3' then.PrixodNaklTable.Edit;.PrixodNaklTable.FieldByName('kuda').AsString
:=
DM.FilialTable.FieldByName('Filial').AsString;.PrixodNaklTable.Post;Label1.Caption
= '4' then.SaleTable.Edit;.SaleTable.FieldByName('otkuda').AsInteger := DM.FilialTable.FieldByName('key_filial').AsInteger;.SaleTable.Post;;;TFilialListForm.BitBtn2Click(Sender:
TObject);;.FilialUnit;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, StdCtrls, Mask, DBCtrls, Buttons, ExtCtrls;= class(TForm):
TPanel;: TPanel;: TBitBtn;: TBitBtn;: TLabel;: TDBEdit;: TLabel;: TDBEdit;:
TLabel;: TDBEdit;BitBtn1Click(Sender: TObject);BitBtn2Click(Sender: TObject);
{ Private declarations }
{ Public declarations };:
TFilialForm;DMSport;
{$R *.dfm}TFilialForm.BitBtn1Click(Sender:
TObject);DM.FilialTable.Modified
then.FilialTable.Post;.Xranenie1Table.Insert;.Xranenie1Table.FieldByName('key_filial').AsInteger
:=
DM.FilialTable.FieldByName('key_filial').AsInteger;DM.Xranenie1Table.Modified
then.Xranenie1Table.Post;;TFilialForm.BitBtn2Click(Sender:
TObject);;.PeopleListUnit;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls;= class(TForm):
TPanel;: TLabel;: TBitBtn;: TBitBtn;: TDBGrid;BitBtn1Click(Sender: TObject);BitBtn2Click(Sender:
TObject);
{ Private declarations }
{ Public declarations };:
TPeopleListForm;DMSport;
{$R
*.dfm}TPeopleListForm.BitBtn1Click(Sender:
TObject);.SaleTable.Edit;.SaleTable.FieldByName('key_people').AsInteger :=
DM.PeopleTable.FieldByName('key_people').AsInteger;.SaleTable.FieldByName('dolzhnost').AsString
:=
DM.PeopleTable.FieldByName('dolzhnost').AsString;.SaleTable.Post;.PeopleTable.Filtered
:= false;;TPeopleListForm.BitBtn2Click(Sender: TObject);;.PeopleUnit;,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, DBCtrls,
StdCtrls, Mask, Buttons, ExtCtrls;= class(TForm): TPanel;: TBitBtn;: TBitBtn;:
TPanel;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;: TDBEdit;: TDBEdit;:
TDBLookupComboBox;: TDBEdit;: TDBEdit;BitBtn1Click(Sender:
TObject);BitBtn2Click(Sender: TObject);
{ Private declarations }
{ Public declarations };:
TPeopleForm;DMSport;
{$R
*.dfm}TPeopleForm.BitBtn1Click(Sender:
TObject);.PeopleTable.Post;;TPeopleForm.BitBtn2Click(Sender:
TObject);;.PostavwikListUnit;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls;= class(TForm):
TPanel;: TLabel;: TBitBtn;: TBitBtn;: TDBGrid;BitBtn1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };: TPostavwikListForm;DMSport;
{$R
*.dfm}TPostavwikListForm.BitBtn1Click(Sender:
TObject);.PrixodNaklTable.Edit;.PrixodNaklTable.FieldByName('otkuda').AsString
:=
DM.PostavwikTable.FieldByName('Postavwik').AsString;.PrixodNaklTable.Post;;.PostavwikUnit;,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls,
Buttons, Mask, DBCtrls, ExtCtrls;= class(TForm): TPanel;: TLabel;: TLabel;:
TLabel;: TDBEdit;: TDBEdit;: TDBEdit;: TPanel;: TBitBtn;:
TBitBtn;BitBtn1Click(Sender: TObject);BitBtn2Click(Sender: TObject);
{ Private declarations }
{ Public declarations };:
TPostavwikForm;DMSport;
{$R
*.dfm}TPostavwikForm.BitBtn1Click(Sender:
TObject);.PostavwikTable.Post;;TPostavwikForm.BitBtn2Click(Sender:
TObject);;.TovarListUnit;, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,, StdCtrls, Mask, DBCtrls, Grids, DBGrids, Buttons, ExtCtrls;=
class(TForm): TPanel;: TBitBtn;: TBitBtn;: TDBGrid;: TDBEdit;: TLabel;:
TLabel;: TLabel;: TDBEdit;: TDBEdit;BitBtn1Click(Sender: TObject);
{ Private declarations }
{ Public declarations };:
TTovarListForm;DMSport;
{$R
*.dfm}TTovarListForm.BitBtn1Click(Sender: TObject);, sum:
integer;Label3.Caption ='1'
then.Prixod2Table.Edit;.Prixod2Table.FieldByName('key_nakl').AsInteger := DM.Prixod1Table.FieldByName('key_nakl').AsInteger;.Prixod2Table.FieldByName('key_tovar').AsString
:=
DM.TovarTable2.FieldByName('key_tovara').AsString;.Prixod2Table.FieldByName('tovar').AsString
:= DM.TovarTable2.FieldByName('tovar').AsString;.TovarTable.Filtered :=
false;.TovarTable.Filter := 'key_tovara='''+
DM.Prixod2Table.FieldByName('key_tovar').AsString+'''';.TovarTable.Filtered :=
true;.Prixod2Table.FieldByName('Izmerenie').AsString :=
DM.TovarTable.FieldByName('Izmerenie').AsString;.TovarTable.Filtered :=
false;.Prixod2Table.FieldByName('prise').AsInteger :=
DM.TovarTable2.FieldByName('prise').AsInteger;.Prixod2Table.Post;.Prixod2Table.First;:=0;:=0;:=
k+1;:= sum + DM.Prixod2Table.FieldByName('Сумма').AsInteger;.Prixod2Table.NextDM.Prixod2Table.Eof;.Prixod1Table.Edit;.Prixod1Table.FieldByName('posicij').AsInteger
:= k;.Prixod1Table.FieldByName('summa').AsInteger :=
sum;DM.Prixod1Table.Modified then DM.Prixod1Table.Post;Label3.Caption = '2'
then.PrixodNakl2Table.Edit;.PrixodNakl2Table.FieldByName('key_nakl').AsInteger
:=
DM.PrixodNaklTable.FieldByName('key_nakl').AsInteger;.PrixodNakl2Table.FieldByName('key_tovar').AsString
:=
DM.TovarTable2.FieldByName('key_tovara').AsString;.PrixodNakl2Table.FieldByName('tovar').AsString
:= DM.TovarTable2.FieldByName('tovar').AsString;.TovarTable.Filtered :=
false;.TovarTable.Filter := 'key_tovara='''+
DM.PrixodNakl2Table.FieldByName('key_tovar').AsString+'''';.TovarTable.Filtered
:= true;.PrixodNakl2Table.FieldByName('Izmerenie').AsString :=
DM.TovarTable.FieldByName('Izmerenie').AsString;.TovarTable.Filtered :=
false;.PrixodNakl2Table.FieldByName('prise').AsInteger :=
DM.TovarTable2.FieldByName('prise').AsInteger;.PrixodNakl2Table.Post;.PrixodNakl2Table.First;:=0;:=0;:=
k+1;:= sum + DM.PrixodNakl2Table.FieldByName('Сумма').AsInteger;.PrixodNakl2Table.NextDM.PrixodNakl2Table.Eof;.PrixodNaklTable.Edit;.PrixodNaklTable.FieldByName('posicij').AsInteger
:= k;.PrixodNaklTable.FieldByName('summa').AsInteger :=
sum;DM.PrixodNaklTable.Modified then DM.PrixodNaklTable.Post;Label3.Caption
='3' then.Sale2Table.Edit;.Sale2Table.FieldByName('key_chek').AsInteger :=
DM.SaleTable.FieldByName('key_chek').AsInteger;.Sale2Table.FieldByName('key_tovar').AsString
:=
DM.TovarTable2.FieldByName('key_tovara').AsString;.Sale2Table.FieldByName('tovar').AsString
:= DM.TovarTable2.FieldByName('tovar').AsString;.TovarTable.Filtered :=
false;.TovarTable.Filter := 'key_tovara='''+
DM.Sale2Table.FieldByName('key_tovar').AsString+'''';.TovarTable.Filtered :=
true;.Sale2Table.FieldByName('Izmerenie').AsString :=
DM.TovarTable.FieldByName('Izmerenie').AsString;.TovarTable.Filtered :=
false;.Sale2Table.FieldByName('prise').AsInteger :=
DM.TovarTable2.FieldByName('prise').AsInteger;.Sale2Table.Post;.Sale2Table.First;:=0;:=0;:=
k+1;:= sum + DM.Sale2Table.FieldByName('Сумма').AsInteger;.Sale2Table.NextDM.Sale2Table.Eof;.SaleTable.Edit;.SaleTable.FieldByName('posicij').AsInteger
:= k;.SaleTable.FieldByName('summa').AsInteger := sum;DM.SaleTable.Modified
then DM.SaleTable.Post;;;;.TovarUnit;, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms,, StdCtrls, Buttons, Mask, DBCtrls, ExtCtrls;=
class(TForm): TPanel;: TBitBtn;: TPanel;: TBitBtn;: TDBEdit;: TDBEdit;:
TDBLookupComboBox;: TDBEdit;: TLabel;: TLabel;: TLabel;: TLabel;: TLabel;:
TDBEdit;BitBtn1Click(Sender: TObject);BitBtn2Click(Sender: TObject);
{ Private declarations }
{ Public declarations };:
TTovarForm;DMSport;
{$R
*.dfm}TTovarForm.BitBtn1Click(Sender: TObject);DM.TovarTable.Modified
then.TovarTable.Post;;TTovarForm.BitBtn2Click(Sender: TObject);;.XranenieUnit;,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids,
DBGrids, ExtCtrls, StdCtrls, Buttons, Mask, DBCtrls;= class(TForm): TPanel;:
TPanel;: TDBGrid;: TDBGrid;: TBitBtn;: TBitBtn;: TEdit;: TLabel;: TDBEdit;:
TLabel;BitBtn1Click(Sender: TObject);BitBtn2Click(Sender: TObject);
{ Private declarations }
{ Public declarations };:
TXranenieForm;DMSport, MainUnit;
{$R
*.dfm}TXranenieForm.BitBtn1Click(Sender: TObject);: boolean;Label1.Caption =
'2' then.Xranenie2Table.Edit;.Xranenie2Table.FieldByName('key_group').AsInteger
:=
DM.GroupTovarTable.FieldByName('key_group').AsInteger;.Xranenie2Table.Post;.XranenieTable.Edit;.XranenieTable.FieldByName('key_xranenie').AsInteger
:= DM.Xranenie1Table.FieldByName('key_xranenie').AsInteger;.XranenieTable.FieldByName('key_filial').AsInteger
:=
DM.Xranenie1Table.FieldByName('key_filial').AsInteger;.XranenieTable.FieldByName('key_group').AsInteger
:=
DM.GroupTovarTable.FieldByName('key_group').AsInteger;.XranenieTable.FieldByName('key_tovar').AsString
:= DM.TovarTable2.FieldByName('key_tovara').AsString;
//
DM.XranenieTable.FieldByName('count').AsInteger :=
StrToInt(Edit1.Text);.XranenieTable.Post;Label1.Caption='1'
then.XranenieTable.Insert;
//
DM.XranenieTable.Edit;.XranenieTable.FieldByName('key_xranenie').AsInteger :=
DM.Xranenie1Table.FieldByName('key_xranenie').AsInteger;.XranenieTable.FieldByName('key_filial').AsInteger
:=
DM.Xranenie1Table.FieldByName('key_filial').AsInteger;.XranenieTable.FieldByName('key_group').AsInteger
:= DM.TovarTable2.FieldByName('key_group').AsInteger;.XranenieTable.FieldByName('key_tovar').AsString
:=
DM.TovarTable2.FieldByName('key_tovara').AsString;.XranenieTable.FieldByName('count').AsInteger
:= StrToInt(Edit1.Text);.XranenieTable.Post;:= false;.Xranenie2Table.First;DM.Xranenie2Table.FieldByName('key_group').AsInteger
= DM.GroupTovarTable.FieldByName('key_group').AsInteger then:=
true;.Xranenie2Table.NextDM.Xranenie2Table.Eof;not flag
then.Xranenie2Table.Insert;.Xranenie2Table.FieldByName('key_filial').AsInteger :=
DM.Xranenie1Table.FieldByName('key_filial').AsInteger;.Xranenie2Table.FieldByName('key_group').AsInteger
:=
DM.GroupTovarTable.FieldByName('key_group').AsInteger;.Xranenie2Table.Post;;;;;TXranenieForm.BitBtn2Click(Sender:
TObject);
begin;.