Разработка автоматизированной системы управления товарно-материальными ценностями предприятия

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

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

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

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

Раздел 3. Проектирование эффективной системы управления товарно-материальными ценностями

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

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

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

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

На промышленном рынке Украины существует огромное количество фирм производителей товаров промышленного характера. Как говорилось выше поставщиками Краснодонского УМТС являются более 70-ти предприятий Украины.

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

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

Рисунок 2.1 Система информации предприятия

Недостатки информационного обеспечения существенно влияют на деятельность предприятия. Недостаточная и весьма устаревшая компьютерная база предприятия не в состоянии справляться с реализуемыми объёмами поставленных задач и целей деятельности “КУМТС”, также основательно тормозящая документооборот, стоит отметить, что катастрофически не хватает принтеров и копировальной техники. Постоянно растущие долги предприятия не дают возможность выделения дополнительных средств на приобретение мощных и современных компьютеров, которые справились бы с поставленной задачей.

3.1 Обзор рынка продукции производственного назначения по Украине

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

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

Начиная с 1995 года объём выпуска товаров промышленного значения стабильно падал. Для выхода из кризиса многие предприятия занялись поиском более коротких путей к потребителю и созданием собственной розничной сети. Из выше сказанного следует отметить что в последнее время на украинский рынок промышленных товаров оказывают конкурирующее давление немало зарубежных производителей и стран СНГ. Главной причиной неполноценного развития промышленности в Украине можно считать нестабильное экономическое положение. Состояние экономики влияет главным образом на стоимость всех вводимых ресурсов и способность потребителей покупать определённые товары и услуги.

Деятельность промышленного сектора экономики в 1999 году характеризовали сезонные увеличения объёма производства и продаж, уменьшение количества новых заказов. На протяжении 1998 и 1999 годах можно выяснить главную причину тормозящую развитие бизнеса - это высокое давление налогов и нехватка оборотных средств. Если же в 1998 году 58% украинских предприятий ощущали нехватку оборотных средств, то к январю 1999 года этот показатель увеличился до 78%. Следует отметить и другие причины которые ограничивают рост промышленности (приложение Б)[6].

Анализируя таблицу в приложение Б, можно сказать, что в совокупности абсолютных значений всех факторов, на достаточном уровне поддерживается увеличение объёма производства. Итог можно подвести по уровню налогов и уровню процентных ставок, рейтинг которых уменьшился соответственно на 11,6% и 17,8%.

Нельзя не отметить экономическое положение промышленных предприятий Краснодона, ведь именно в этом городе находится исследуемое предприятие. В 1999 году промышленными предприятиями города Краснодона произведено продукции на сумму 294126,2 тысячи гривен. Объём производства продукции в сопоставимых ценах по сравнению с соответствующим периодом прошлого года увеличился на 32,8 процента. Заметная доля в этом предприятий угольной промышленности, За январь-декабрь добыча угля по сравнению с предыдущим годом увеличилась на 320675 тонн. Всего добыто 2915388 тонн угля.

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

В промышленности города занято 20731 человек, это на 756 человек меньше, чем в предыдущем году, фонд оплаты труда составил 78214,9 тысячи гривен. Среднемесячная зарплата работающего в промышленности составляет 265 гривен в месяц, наименьшая заработная плата у работников производственных видов бытового обслуживания населения- 64 гривни, а в общественном питании- 72 гривни. У работников угольной промышленности среднемесячная заработная плата составляет 267 гривен.

3.2 Управление материальными ценностями на основе экономико-математических моделей

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

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

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

затраты на приобретение материальных ценностей;

затраты на организацию заказа;

издержки хранения материальных ценностей;

потери от дефицита.

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

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

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

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

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

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

Другим важным фактором, учитывающимся при построении модели, является срок выполнения заказа, то есть интервал времени между моментом размещения заказа и его поставкой. Если этот фактор учитывается, то модель будет носить название “Модель с запаздыванием поставок”.

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

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

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

Важнейшую роль при рассмотрении всех моделей управления материальными ценностями будет играть функция изменения запаса. Это связь между количеством единиц товара на складе Q и временем t. Если на данный вид материальных ценностей имеется спрос, то функция изменения запаса Q=Q(t) убывает. Если же наоборот данный вид материальных ценностей завозится на склад, то функция возрастает.

К основным величинам и предположениям, принятым в рамках простейшей модели, то есть однономенклатурной модели, относятся:

Цена единицы товара - c УЕ. Цена постоянна, рассматривается один вид товара.

Интенсивность спроса - d единиц данного вида материальных ресурсов в год. Спрос является постоянным и непрерывным.

Организационные издержки - s УЕ за одну партию товара. Организационные издержки на организацию поставки постоянны и не зависят от величины партии,

Издержки на хранение запаса - h УЕ на единицу товара в год. Данный вид издержек предположительно считается постоянным.

Размер одной парии товара постоянен - q единиц. Уровень запаса одного вида материальных ценностей снижается равномерно от q до 0, после чего подается заказ на доставку новой партии величиной q. Заказ выполняется мгновенно, и уровень запаса восстанавливается до величины q.

При сделанных предположениях график функции изменения запаса будет таким, как показано на рисунке 2.2.

Рисунок 2.2 - График функции изменения запаса

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

Параметры c, d, s, h считаются заданными. Задача управления состоит в выборе параметра q таким образом, чтобы минимизировать годовые затраты.

Для решения сформулированной задачи, прежде всего, надо выразить эти затраты через параметры c, d, s, h.

Так как годовая интенсивность спроса равна d, а цена единицы данного вида материальных ценностей - c, то общая стоимость данного вида материальных ценностей равна:

cd. (1)

Поскольку в одной партии q единиц товара, а годовой спрос равен d, то число поставок равно:

d/q. (2)

В течение года организационные издержки равны:

(3)

Средний уровень запаса равен отношению площади под графиком за цикл к продолжительности цикла. Этот средний уровень равен q/2 (на рисунке 2.2 обозначен пунктиром).

Поскольку годовые издержки на хранение единицы данного вида материальных ресурсов равны h, то общие издержки на хранение составляют:

(4)

Таким образом, общие издержки C вычисляются по формуле:

(5)

В рамках модели параметры c, d, s, h считаются заданными, и требуется найти такое число , чтобы функция C=C(q) принимала наименьшее значение на множестве q>0 именно в точке .

График функции C=C(q) показан на рисунке 2.3.

Рисунок 2.3 - График функции С=C(q).

Для нахождения точки минимума функции C=C(q) найдем ее производную (c, d, s, h - фиксированные числа) [11]:

(6)

Приравнивая к нулю, получаем:

(7)

Отсюда можно найти . Имеем [11]:

(8)

Полученная формула называется формулой оптимального запаса или формулой Харриса [11].

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

При отсутствии взаимодействия между запасами различных видов материальных ценностей затраты С в единицу времени для системы, включающей N видов хранимых материальных ценностей вычисляются по формуле [12]

(9)

Откуда, используя необходимый признак экстремума, находим:

(11)

Минимальные издержки в единицу времени составляют:

(10)

Пусть общая складская площадь ограничена величиной f. Ограничение на складские площади имеет вид [12]:

(11)

где - площадь, необходимая для хранения i-го вида материальных ценностей, - величина партии i-го вида материальных ценностей.

В выражении (11) обычно вводится нормировочный множитель k для учета того фактора, что запасы отдельных номенклатур могут поступать независимо друг от друга. Если запасы всех номенклатур пополняются одновременно, то в это время запас и занятая ими площадь являются средними. Маловероятно, что занятая площадь окажется много меньше половины имеющейся, поэтому с учетом сказанного ограничение (11) запишется так:

(12)

Для определения экстремума функции (9) при наличии ограничения (12) применяется метод множителей Лагранжа. Составляется дополнительная функция Лагранжа, которая состоит из двух слагаемых. Первое слагаемое - это функция, экстремальное (минимальное или максимальное) значение которой необходимо определить. В данном случае это суммарные издержки в единицу времени, которые надо минимизировать. Второе слагаемое - это разность между левой и правой частью ограничивающего условия, умноженная на неопределенный множитель л, которому можно придать любое произвольное значение. Если ограничение является несущественным, то отрицательная величина, а л=0. Возможны два случая [12]:

(13)

Это обеспечивает возможность составления функции Лагранжа. Поскольку выражение в любом случае равно нулю, то функция суммарных затрат в единицу времени будет иметь вид [12]

(14)

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

. (15)

Откуда выводим систему из N+1 уравнения с N+1 неизвестной [12]:

(16)

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

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

Аналогично решается задача, если ограничения накладываются на величину оборотных средств А, потраченных на приобретение материальных ценностей. Пусть - стоимость единицы материала i-го вида, тогда ограничение имеет вид [12]:

. (17)

Пропуская математические выкладки, запишем систему для решения задачи [12]:

. (18)

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

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

Раздел 4. Программное обеспечение автоматизированной системы управления учета товарно-материальных ценностей в “КУМТС”

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

Программы работающие на компьютере, можно разделить на три категории:

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

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

- инструментальные системы (системы программирования), обеспечивающие создание новых программ для компьютера [9].

4.1 Некоторые тенденции развития программного обеспечения

Создание программного обеспечения для персональных компьютеров за какой-то десяток лет превратилось из занятия программистов-одиночек в важную и мощную сферу промышленности. Только в США более 50 фирм-производителей программного обеспечения имеют объёмы продаж более 10 млн. дол., а у десяти из них (в частности, Microsoft, Lotus, Novell, Borland, Autodesk, Adobl, Symantek и Computer Associates) объёмы продаж превышают 100 млн. дол. Поэтому развитие программного обеспечения, предназначенного для широкого круга пользователей, происходит уже не в состязании индивидуальных программистов, а в процессе ожесточённой конкурентной борьбы между фирмами-производителями программного обеспечения. Доля некоммерческого программного обеспечения постоянно снижается и всё более ограничивается программами, создаваемыми в процессе научных исследований или для собственного удовольствия.

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

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

- наглядный, удобный, интуитивно понятный и привычный пользователю интерфейс (т.е. способ взаимодействия программы с пользователем);

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

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

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

Оборотной стороной увеличения мощности программ является повышение их требований к аппаратуре. Программы, работающие под управлением Windows, нельзя использовать на IBM PC XT, требуется компьютер не ниже класса AT, для сносного быстродействия при этом необходим компьютер с микропроцессором 80386 и 4 Мбайта памяти, а для комфортной работы -- 80486 и 8Мбайт оперативной памяти. Для многих программ необходимы оперативная память не менее 2-4 Мбайт, графический монитор класса не ниже EGA или VGA, математический сопроцессор и т.д.

4.2 Описание комплекса инструментальных средств

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

Можно сказать, что программа достаточно мощная, особенно в последних версиях -- Exсel 7.0 и Exсel 97, а сейчас уже новый в пакете Ms-Ofice 2000 [10].

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

4.3 Порядок работы автоматизированной системы управление и учета товарно-материальных ценностей предприятия

Программа выполнена при помощи одной из самых популярных программ электронных таблиц. Exсel даёт расширенные возможности обработки баз данных. При использовании наиболее удобных форм и возможностей VBA программирования появляется возможность сократить время и силы потраченные на ведение учёта товарно-материальных ценностей на исследуемом нами предприятии. Программа достаточно проста для использования даже неопытными пользователями.

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

- оборотная ведомость;

- инвентаризационная опись формы -3;

- требование формы м-11;

- товарно-транспортная накладная формы 1-ТН;

Для упрощения работы с программой на одном рабочем листе, который назван Главным листом, было создано меню (рисунок 4.1).

Рисунок 4.1 Меню программы

Как видно в меню расположены три кнопки с описанием для чего они нужны. При нажатии первой “Учёт ТМЦ по прибытию” открывается диалоговое окно в котором вам предлагается выбрать участок или склад который вас интересует, ввести данные о товаре: наименование, код, количество и цену (рисунок 4.2). Программа автоматически внесёт товарно-материальные ценности в соответствующую строку таблицы учёта и сосчитает на какую сумму был приобретен данный товар. Дата устанавливается текущая на момент совершения той или иной операции.

Рисунок 4.2 Форма прибытия ТМЦ

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

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

Как и для учёта по прибытию товарно-материальных ценностей существует необходимость учёта их отпуска со склада предприятиям-потребителям. Для этой цели в главном меню программы предусмотрена вторая кнопка, которая активизирует очередное диалоговое окно “Убытие ТМЦ”, соответственно запускающее второй программный модуль макроса. Для того, чтобы понять как действует эта часть программы следует взглянуть на рисунок (рисунок 4.3).

Рисунок 4.3 Расход материалов

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

Рисунок 4.4 Выбор кода товара

По этому коду программа осуществляет поиск конкретного товара и определяет адрес ячейки в которую записан код. Для подтверждения ввода существует кнопка “Далее”. После её нажатия активизируется следующее диалоговое окно, которое предлагает ввести цену товара по какой мы хотим его реализовать (рисунок 4.4). В этом окне нас программа информирует о количестве товара этого вида на складе и предлагает ввести количество продукта которое подлежит реализации или же убытию со склада.

Рисунок 4.5 Диалоговое окно для отпуска товарно-материальных ценностей по конкретной цене

Далее программа предоставляет последний шанс откорректировать введенную информацию или подтвердить правильность ввода таковой. Это осуществляется при помощи кнопок “Назад” и “Готово”. В любой момент можно прервать операцию расходования материальных средств нажав кнопку “Отмена”.

Рисунок 4.6 Расход материалов. Конечная форма

На этом этапе программа активизирует всю строку, где находится необходимая информация о товаре, переходит в ячейку которой присвоено значение о количестве товара. Затем выдаёт эту информацию в окно для того, чтобы что бы не ввести слишком большое количество реализуемого товара. Если щёлкнуть по кнопке “ОК” в этом окне, то программа автоматически отнимет введённое количество от количества имеющегося на складе товара, а результат буден записан в эту ячейку со всеми необходимыми изменениями (рисунок 4.7).

Рисунок 4.7 Таблица данных по первому складу

Кнопка “Return” служит для того, чтобы в любой момент можно было вернутся в главное меню программы.

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

Рисунок 4.7 «Диалог для добавления поставщика»

После нажатия на кнопку «ОК», данные введенные в этом диалоге, переносятся в справочник по поставщикам, пример таблицы с поставщиками представлен на рисунке 4.8.

Рисунок 4.8 «Пример таблицы с поставщиками»

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

Рисунок 4.9 «Диалог для добавления потребителя»

После нажатия на кнопку «ОК», данные введенные в этом диалоге, переносятся в справочник по потребителям, пример таблицы с поставщиками представлен на рисунке 4.10.

Рисунок 4.10 «Пример таблицы с потребителями»

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

Рисунок 4.11 «Диалог для добавления товара»

После нажатия на кнопку «ОК», данные введенные в этом диалоге, переносятся в справочник по товарам, пример таблицы с товарами представлен на рисунке 4.12.

Рисунок 4.12 «Пример таблицы с товарами»

При нажатии на кнопку в главном меню «Отчет», мы переходим в таблицу, где ведется учет поступления и расходования товарно-материальных ценностей, пример данной таблицы представлен на рисунке 4.13.

Рисунок 4.13 «Пример Отчета»

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

Рисунок 4.14 «Информационное окно по компаниям»

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

Рисунок 4.15 «Модель»

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

Заключение

В дипломной работе были представлены материалы о деятельности ГОАО КУМТС.

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

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

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

документооборот занимает значительное время, потому что складские помещения находятся на значительном расстоянии от конторы;

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

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

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

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

Список использованных источников

Положение о ГОАО “Краснодонское управление материально-технического снабжения” от 15 апреля 1998 г.

Котлер Ф.-Маркетинг менеджмент.-СПб: Питер Ком,1999-896с.

Системный анализ и структура управления. Под. ред. проф. В. Г. Шорина.:М., "Знание", 1975.-303с.

Мескон М. Х., Альберт М., Хедоури Ф. Основы менеджмента: Пер. с англ.-М.: "Дело", 1992.-702с.

Социально-экономическое положение города Краснодона в 1999 году// Слава Краснодона. - 2000 г. - № 4. - с. 4.

"Бiзнес-огляд. Дослидження економiки Украiни" березень 2000-30с.

Отчет о финансово-экономической деятельности КУМТС за 1996-1999

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

А. Левин. Самоучитель работы на компьютере. Нолидж.1998

EXСEL-7.0 Пер. с нем. К. 1997.-464с.

Шикин Е.В., Чхартишвили А.Г. Математические методы и модели в управлении: Учебное пособие. - М.: Дело, 2000. - 440 с.

Экономико-математические модели и методы: Учебное пособие / Н.И. Холод, А.В. Кузнецов, Я.Н. Жихар и др; под общ. ред. А.В. Кузнецова. - Мн.: БГЭУ, 1999. - 413 с.

Приложения

ПРИЛОЖЕНИЕ А

Факторы, ограничивающие рост производства

Факторы

III-й кв. 1998 %

I-й кв. 1999 %

II-кв.1999 %

III-кв. 1999 %

IV-кв. 1999 %

Изм-е к III-кв.99

Уровень налогов

82,3

89,3

76,7

85,5

73,9

-11,6

Недостаточное количество заказов/уровень реализации

55,9

52,5

42,9

49,7

47,1

-2,6

Высокие процентные ставки

30,2

41,5

44,9

50,0

32,2

-17,8

Отсталая технология

15,3

15,1

12,1

14,5

11,9

-2,6

Нехватка сырья и материалов

19,1

25,8

35,5

29,1

30,5

1,4

Нехватка квалифицированных работников

2,8

2,3

2,1

3,0

4,1

1,1

Нехватка производственных мощностей

4,9

4,9

4,2

3,4

4,1

0,7

Нехватка оборотных средств

58,3

78,3

84,3

80,7

75,3

-5,3

Неблагоприятный регулирующий климат

10,4

21,1

9,4

13,5

8,5

-5,0

ПРИЛОЖЕНИЕ Б

Организационная структура КУМТС

ПРИЛОЖЕНИЕ В

Type sklad_ved

sklad_name As String

kod As Long

name_tov As String

coast As Currency

kol As Long

d_ch As String

kod_op As String

kod_post As Long

End Type

Dim vedom As sklad_ved

Global skld() As String

Global sprav() As String

Dim SheetInform(1 To 2) As Boolean

Sub auto_open()

Dim Y() As String

Dim ySp() As String

Dim Sum_S As Integer

Dim Sum_Sp As Integer

Sum_S = 0

Sum_Sp = 0

For Each X In ActiveWorkbook.Worksheets

If InStr(1, UCase(X.Name), "СКЛАД") <> 0 Then

Sum_S = Sum_S + 1

ReDim Preserve Y(1 To Sum_S)

Y(Sum_S) = X.Name

End If

If InStr(1, UCase(X.Name), "CPR") <> 0 Then

Sum_Sp = Sum_Sp + 1

ReDim Preserve ySp(1 To Sum_Sp)

ySp(Sum_Sp) = X.Name

End If

Next X

ReDim skld(1 To UBound(Y))

ReDim sprav(1 To UBound(ySp))

For i = 1 To UBound(Y)

skld(i) = Y(i)

Next i

For i = 1 To UBound(ySp)

sprav(i) = ySp(i)

Next i

Worksheets("Главный лист").Activate

Worksheets("Главный лист").EnableSelection = -4142

If if_sheet_add Then setup_sp

SaveSheetInfo

With Application

.DisplayFormulaBar = False

.DisplayStatusBar = False

End With

End Sub

Function GetNomRec(ByVal SheetsName As String)

With Sheets(SheetsName)

If IsError(.Cells(2, 1)) Then GetNomRec = 0 Else GetNomRec = .Cells(2, 1)

End With

End Function

Sub auto_close()

With Application

.DisplayFormulaBar = SheetInform(1)

.DisplayStatusBar = SheetInform(2)

End With

End Sub

Private Sub SaveSheetInfo()

With Application

SheetInform(1) = .DisplayFormulaBar

SheetInform(2) = .DisplayStatusBar

End With

End Sub

Sub run_m()

With DialogSheets("Приход")

.DropDowns("sp2").RemoveAllItems

For i = 1 To GetNomRec(sprav(nahg("Пост")))

.DropDowns("sp2").AddItem Sheets(sprav(nahg("Пост"))).Cells(i + 2, 2)

Next i

If .DropDowns("sp2").ListCount <> 0 Then

.DropDowns("sp2").ListIndex = 1

X = .Show

If X Then write_to_sklad

Else

MsgBox "Нет ни одного поставщика"

End If

End With

End Sub

Sub run_rash()

DialogSheets("Расход").DropDowns("sp4").RemoveAllItems

For i = 1 To GetNomRec(sprav(nahg("Потр")))

DialogSheets("Расход").DropDowns("sp4").AddItem Sheets(sprav(nahg("Потр"))).Cells(i + 2, 2)

Next i

DialogSheets("Расход").Show

End Sub

Private Sub write_to_sklad()

Attribute write_to_sklad.VB_ProcData.VB_Invoke_Func = " \n14"

Dim matr(4)

For i = 1 To 4

matr(i) = DialogSheets("Приход").EditBoxes(i).Text

Next i

i_sp = DialogSheets("Приход").DropDowns("sp1").Text

Sheets(i_sp).Activate

znach = GetNomRec(i_sp) + 1

With vedom

.sklad_name = i_sp

.name_tov = matr(3)

.kod = matr(1)

.coast = matr(2)

.d_ch = Format(Date, "dd.mm.yyyy")

.kod_op = "Приход"

.kol = matr(4)

.kod_post = DialogSheets("Приход").DropDowns("sp2").ListIndex

End With

Application.ScreenUpdating = False

N_znach = poisk_eq(znach, vedom)

If N_znach <> 0 Then

Cells(N_znach + 2, 5) = Cells(N_znach + 2, 5) + matr(4)

a_s = Cells(N_znach + 2, 4) * Cells(N_znach + 2, 5)

Cells(N_znach + 2, 6) = a_s 'сумма

Cells(N_znach + 2, 8) = vedom.kod_post

Else

per = "A" + Trim(Str(znach + 2))

Range(per).Value = znach

Cells(znach + 2, 2) = matr(3)

Cells(znach + 2, 3) = matr(1) 'код

Cells(znach + 2, 4) = matr(2) 'цена

Cells(znach + 2, 5) = matr(4) 'кол-во

a_s = Cells(znach + 2, 4) * Cells(znach + 2, 5)

Cells(znach + 2, 6) = a_s 'сумма

Cells(znach + 2, 7) = Format(Date, "dd.mm.yyyy") 'дата

Cells(znach + 2, 8) = vedom.kod_post

End If

otchet vedom

Application.ScreenUpdating = True

End Sub

Function poisk_eq(mm, vd As sklad_ved) As Long 'mm-кол-во записей return nomder of eqvalent record

poisk_eq = 0

If Not (IsError(Cells(2, 1))) Then

For i = 1 To mm

With vd

If .kod = Cells(i + 2, 3) Then

If UCase(.name_tov) = UCase(Cells(i + 2, 2)) Then

If .coast = Cells(i + 2, 4) Then

If .d_ch = Cells(i + 2, 7) Then

poisk_eq = i

Exit Function

End If

End If

End If

End If

End With

Next i

Else

poisk_eq = 0

End If

End Function

Sub otchet(vd As sklad_ved)

sv_w = ActiveSheet.Name

Sheets("Отчет").Activate

Nb = GetNomRec("Отчет") + 1

'произвести поиск по дате коду товара и по цене

per = "A" + Trim(Str(Nb + 2))

Range(per).Value = Nb

With vd

Cells(Nb + 2, 2) = .d_ch

Cells(Nb + 2, 3) = .kod_op

Cells(Nb + 2, 4) = .sklad_name

Cells(Nb + 2, 5) = .kod

Cells(Nb + 2, 6) = .kol

Cells(Nb + 2, 7) = Abs(.coast)

Cells(Nb + 2, 8) = .coast * Cells(Nb + 2, 6)

Cells(Nb + 2, 9) = .kod_post

End With

Sheets(sv_w).Activate

End Sub

Function if_sheet_add() As Boolean

If ActiveWorkbook.Worksheets("Главный лист").Cells(1, 1) <> UBound(skld) Then

if_sheet_add = True

Else

if_sheet_add = False

End If

End Function

Private Sub setup_sp()

Dim DsNm

DsNm = Array("Приход", "Расход")

ActiveWorkbook.Worksheets("Главный лист").Cells(1, 1) = UBound(skld)

For j = 0 To 1

With DialogSheets(DsNm(j))

'.DropDowns.Select

.DropDowns("sp1").RemoveAllItems

.DropDowns("sp1").DropDownLines = UBound(skld)

With .DropDowns("sp1")

For i = 1 To UBound(skld)

.AddItem Text:=skld(i), Index:=i

Next i

End With

End With

Next j

pereh

'ActiveWorkbook.Worksheets("Главный лист").DropDowns("R_sp1").RemoveAllItems

End Sub

Sub pereh()

With ActiveWorkbook.Worksheets("Главный лист")

With .DropDowns("R_sp1")

.RemoveAllItems

For i = 1 To UBound(skld)

.AddItem Text:=skld(i), Index:=i

Next i

End With

With .DropDowns("R_sp2")

.RemoveAllItems

For i = 1 To UBound(sprav)

.AddItem Text:=sprav(i), Index:=i

Next i

End With

End With

End Sub

Private Sub pr()

sv_w = ActiveSheet.Name

Sheets("Отчет").Activate

Sheets(sv_w).Activate

End Sub

Sub return_s()

Worksheets("Главный лист").Activate

End Sub

Private Sub step1()

With DialogSheets("Расход")

.DropDowns("sp1").Visible = True

.Labels("l1").Visible = True

.Buttons("b1").Visible = True

.Buttons("b1").Enabled = False

.Buttons("b2").Visible = True

End With

End Sub

Private Sub step2()

Dim kods() As String

ReDim Preserve kods(1 To 2)

Sheet_N = DialogSheets("Расход").DropDowns("sp1").Text

If Len(Sheet_N) = 0 Then Exit Sub

Sheets(Sheet_N).Select

If IsError(Cells(2, 1)) Then

z = 0

MsgBox "На складе вообще отсутствуют товары", vbExclamation + vbOKOnly, "Ошибка"

Exit Sub

Else

z = Cells(2, 1)

End If

s = 0

For i = 1 To z

v_r = True

t_v = Cells(i + 2, 3)

For j = 1 To UBound(kods)

If t_v = kods(j) Then

v_r = False

Exit For

End If

Next j

If v_r Then

s = s + 1

ReDim Preserve kods(1 To s)

kods(s) = t_v

End If

Next i

With DialogSheets("Расход")

.DropDowns("sp1").Visible = False

.Labels("l1").Visible = False

.Buttons("b1").Visible = False

.Buttons("b2").Visible = False

.DropDowns("sp2").Visible = True

.Labels("l2").Visible = True

.Buttons("b3").Visible = True

.Buttons("b4").Visible = True

.DropDowns("sp2").Text = ""

.DropDowns("sp2").RemoveAllItems

.DropDowns("sp2").DropDownLines = 4

With .DropDowns("sp2")

For i = 1 To UBound(kods)

.AddItem Text:=kods(i), Index:=i

Next i

End With

End With

End Sub

Private Sub nb0()

With DialogSheets("Расход")

.DropDowns("sp2").Visible = False

.Labels("l2").Visible = False

.Buttons("b3").Visible = False

.Buttons("b4").Visible = False

End With

step1

End Sub

Private Sub step3()

Dim prs() As String

ReDim Preserve prs(1 To 2)

t_kod = DialogSheets("Расход").DropDowns("sp2").Text

If Len(t_kod) = 0 Then Exit Sub

z = Cells(2, 1)

s = 0

For i = 1 To z

t_pr = Cells(i + 2, 4)

v_r = False

For j = 1 To UBound(prs)

If t_kod = CStr(Cells(i + 2, 3)) Then

If t_pr = prs(j) Then

v_r = False

Exit For

Else

v_r = True

End If

End If

Next j

If v_r Then

s = s + 1

ReDim Preserve prs(1 To s)

prs(s) = t_pr

End If

Next i

With DialogSheets("Расход")

.DropDowns("sp2").Visible = False

.Labels("l2").Visible = False

.Buttons("b3").Visible = False

.Buttons("b4").Visible = False

.DropDowns("sp3").Visible = True

.Labels("l3").Visible = True

.Buttons("b5").Visible = True

.Buttons("b6").Visible = True

.DropDowns("sp3").RemoveAllItems

.DropDowns("sp3").Text = ""

.DropDowns("sp3").DropDownLines = 4

With .DropDowns("sp3")

For i = 1 To UBound(prs)

.AddItem Text:=prs(i), Index:=i

Next i

End With

End With

End Sub

Private Sub nb1()

With DialogSheets("Расход")

.DropDowns("sp3").Visible = False

.Labels("l3").Visible = False

.Buttons("b5").Visible = False

.Buttons("b6").Visible = False

End With

step2

End Sub

Private Sub step4()

t_cen = DialogSheets("Расход").DropDowns("sp3").Text

If Len(t_cen) = 0 Then Exit Sub

t_skl = DialogSheets("Расход").DropDowns("sp1").Text

t_kod = DialogSheets("Расход").DropDowns("sp2").Text

z = Cells(2, 1)

s_tov = 0

For i = 1 To z

t_pr = Cells(i + 2, 4)

If t_kod = CStr(Cells(i + 2, 3)) And (t_cen = t_pr) Then

s_tov = s_tov + Cells(i + 2, 5)

End If

Next i

tz = "На " + t_skl + "," + Chr(10) + "по коду №" + t_kod + ", по цене: " + t_cen + _

Chr(10) + "Завезено: " + CStr(s_tov) + "."

With DialogSheets("Расход")

.EditBoxes("p2").Text = CStr(s_tov)

.DropDowns("sp3").Visible = False

.Labels("l3").Visible = False

.Buttons("b5").Visible = False

.Buttons("b6").Visible = False

.Labels("l4").Caption = tz

.Buttons("b8").Enabled = False

.EditBoxes("p1").Text = ""

.DropDowns("sp4").Visible = True

.EditBoxes("p1").Visible = True

.Labels("l4").Visible = True

.Labels("l5").Visible = True

.Labels("l6").Visible = True

.Buttons("b7").Visible = True

.Buttons("b8").Visible = True

End With

End Sub

Private Sub nb2()

With DialogSheets("Расход")

.EditBoxes("p1").Visible = False

.DropDowns("sp4").Visible = False

.Labels("l4").Visible = False

.Labels("l5").Visible = False

.Labels("l6").Visible = False

.Buttons("b7").Visible = False

.Buttons("b8").Visible = False

End With

step3

End Sub

Private Sub step5()

With DialogSheets("Расход")

t_cen = .DropDowns("sp3").Text 'цена

If Len(t_cen) = 0 Then Exit Sub

t_skl = .DropDowns("sp1").Text 'склад

t_kod = .DropDowns("sp2").Text 'кодтовара

t_kol = Val(.EditBoxes("p1").Text) 'сколько забрать

End With

If t_kol > 0 Then

pashod t_skl, t_kod, t_cen, t_kol

del_zero

With vedom

.sklad_name = t_skl

.kod = t_kod

.coast = (-1) * t_cen

.d_ch = Format(Date, "dd.mm.yyyy")

.kod_op = "Расход"

.kol = Val(DialogSheets("Расход").EditBoxes("p1").Text)

.kod_post = DialogSheets("Расход").DropDowns("sp4").ListIndex

End With

Application.ScreenUpdating = False

otchet vedom

Application.ScreenUpdating = True

End If

With DialogSheets("Расход")

.EditBoxes("p1").Visible = False

.Labels("l4").Visible = False

.Labels("l5").Visible = False

.Buttons("b7").Visible = False

.Buttons("b8").Visible = False

End With

step1

DialogSheets("Расход").Hide

End Sub

Private Sub pashod(nm_skl, nm_kod, nm_cen, sk_tov)

If Not (IsError(Cells(2, 1))) Then

z = Cells(2, 1)

With ActiveWorkbook.Worksheets(nm_skl)

For i = 1 To z

If nm_kod = CStr(.Cells(i + 2, 3)) Then

If nm_cen = .Cells(i + 2, 4) Then

get_tov = .Cells(i + 2, 5)

If sk_tov > get_tov Then

.Cells(i + 2, 5) = .Cells(i + 2, 5) - get_tov

sk_tov = sk_tov - get_tov

Else

.Cells(i + 2, 5) = .Cells(i + 2, 5) - sk_tov

sk_tov = 0

a_s = .Cells(i + 2, 4) * .Cells(i + 2, 5)

.Cells(i + 2, 6) = a_s 'сумма

End If

End If

End If

Next i

End With

End If

End Sub

Private Sub del_zero()

k = 1

While Cells(k + 2, 1) <> 0

If Cells(k + 2, 5) = 0 Then

sk = CStr(k + 2)

sk = sk + ":" + sk

Rows(sk).Delete Shift:=xlUp

End If

k = k + 1

Wend

End Sub

Private Sub DropDownsAdds(Name As String)

With DialogSheets(Name)

'.DropDowns(Nomer).RemoveAllItems

With .DropDowns(Name)

For i = 1 To .ListCount

If .Text = .List(i) Then Exit Sub

Next i

.DropDownLines = 5 '.ListCount + 1

.AddItem Text:=.Text, Index:=.ListCount

End With

End With

End Sub

Private Sub p1_Изменение()

With DialogSheets("Расход")

t_z = .EditBoxes("p1").Text

t_z1 = Val(.EditBoxes("p2").Text)

If Val(t_z) > 0 And Len(t_z) <> 0 And Val(t_z) <= t_z1 Then

.Buttons("b8").Enabled = True

Else

.Buttons("b8").Enabled = False

End If

End With

End Sub

Private Sub otmena()

With DialogSheets("Расход")

.DropDowns("sp2").Visible = False

.Labels("l2").Visible = False

.Buttons("b3").Visible = False

.Buttons("b4").Visible = False

.DropDowns("sp3").Visible = False

.Labels("l3").Visible = False

.Buttons("b5").Visible = False

.Buttons("b6").Visible = False

.EditBoxes("p1").Visible = False

.DropDowns("sp4").Visible = False

.Labels("l4").Visible = False

.Labels("l5").Visible = False

.Labels("l6").Visible = False

.Buttons("b7").Visible = False

.Buttons("b8").Visible = False

End With

step1

End Sub

Sub show_otch()

Sheets("Отчет").Activate

End Sub

Type Comp_d

KodComp As String

Nazva As String

Rek As String

End Type

Sub Раскрсписок22_Изменение()

Sheets(skld(ActiveWorkbook.Worksheets("Главный лист").DropDowns("R_sp1"))).Activate

End Sub

Sub Раскрсписок20_Изменение()

Sheets(sprav(ActiveWorkbook.Worksheets("Главный лист").DropDowns("R_sp2"))).Activate

End Sub

Sub model()

Sheets("Модель").Activate

End Sub

Sub postav()

With DialogSheets("Поств")

X = .Show

If X Then Write_sprav .Name, nahg(.Name)

End With

End Sub

Sub potrb()

With DialogSheets("Потр")

X = .Show

If X Then Write_sprav .Name, nahg(.Name)

End With

End Sub

Function nahg(ByVal FirstSm As String)

For i = 1 To UBound(sprav)

If InStr(1, UCase(sprav(i)), UCase(Left(FirstSm, 4))) <> 0 Then

nahg = i

Exit Function

End If

Next i

End Function

Sub Write_sprav(Nb As String, nm As Byte)

Dim z As String

idx = GetNomRec(sprav(nm)) + 3

With DialogSheets(Nb)

For Each c In Sheets(sprav(nm)).Range("B3:B" & CStr(idx))

If UCase(c.Value) = UCase(.EditBoxes("p1").Text) Then

rez = MsgBox("В записях обнаружено одинаковое название" + Chr(13) + _

"Продолжить?", vbYesNo + vbQuestion, "Внимание")

If rez = vbYes Then

Exit For

Else

Exit Sub

End If

End If

Next

Sheets(sprav(nm)).Cells(idx, 1) = idx - 2

Sheets(sprav(nm)).Cells(idx, 2) = .EditBoxes("p1").Text

Sheets(sprav(nm)).Cells(idx, 3) = .EditBoxes("p2").Text

End With

End Sub

Sub AddTovar()

With DialogSheets("Товар")

.DropDowns("sp1").RemoveAllItems

For i = 1 To GetNomRec(sprav(nahg("Пост")))

.DropDowns("sp1").AddItem Sheets(sprav(nahg("Пост"))).Cells(i + 2, 2)

Next i

If .DropDowns("sp1").ListCount <> 0 Then

.DropDowns("sp1").ListIndex = 1

X = .Show

If X Then

NmSh = sprav(nahg(.Name))

idx = GetNomRec(NmSh) + 3

MsgBox idx

Sheets(NmSh).Cells(idx, 1) = .EditBoxes("p1").Text

Sheets(NmSh).Cells(idx, 2) = .EditBoxes("p2").Text

Sheets(NmSh).Cells(idx, 3) = .DropDowns("sp1").ListIndex

Sheets(NmSh).Cells(idx, 4) = .EditBoxes("p3").Text

End If

Else

MsgBox "Нет ни одного поставщика"

End If

End With

End Sub

Function GetCompRec(ShName As String, KodRec) As Comp_d

mx = GetNomRec(ShName) + 3

For Each c In Sheets(ShName).Range("A3:A" & CStr(mx))

If c.Value = KodRec Then

GetCompRec.Nazva = c.Offset(0, 1)

GetCompRec.Rek = c.Offset(0, 2)

Exit Function

End If

Next

End Function

Размещено на Allbest.ur

...

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

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