Файл: Разработка конфигурации «Учет реализации лекарственных препаратов через аптечную сеть.pdf
Добавлен: 17.06.2023
Просмотров: 138
Скачиваний: 3
СОДЕРЖАНИЕ
1.1 Выбор комплекса задач автоматизации
1.2 Характеристика документооборота, возникающего при решении задачи
1.3 Обоснование проектных решений по информационному обеспечению
2.2 Характеристика разработанных экранных форм документов в среде 1С:Предприятие
2.2.2 Описание разработанных форм отчетов, необходимых для отражения результатов решения задачи
2.3 Описание реализации периодических расчетов в среде 1С:Предприятие
2.4 Описание созданной / откорректированной карты маршрута бизнес-процесса в среде 1С:Предприятие
2.5 Описание разработанных подсистем в среде 1С:Предприятие
2.7 Контрольный пример реализации проекта в среде 1С:Предприятие и его описание
Отчет по остаткам в разрезе серий
Отчет предназначен для анализа номенклатуры по складам в разрезе серий за произвольный период Рис. 2.57
Рисунок 2.57
Отчет по продажам
Отчет предназначен для анализа количества продаваемого товара, анализа выручки, анализа НДС за произвольный период Рис. 2.58
Рисунок 2.58
Ведомость по товарам на складах
Отчет предназначен для анализа информации о количественном движении и остатках товаров на складах предприятия Рис. 2.59
Рисунок 2.59
Заключение
В результате выполнения проекта была разработана автоматизированная информационная система для аптеки.
Для этого выполнены следующие этапы работы:
- рассмотрены характеристики функциональной структуры и подсистем типовой автоматизированной системы учета;
- выбрана среда разработки программного обеспечения;
- разработана функциональная структура автоматизированной информационной системы;
- построен алгоритм решения задачи автоматизированной информационной системы финансовой и хозяйственной деятельности;
- разработана база данных автоматизированной системы;
- произведено тестирование реализованных запросов к базе.
В аналитической части выполнен комплекс работ, которые направлены на обоснование необходимости автоматизации: определена сущность задачи, описаны основные свойства системы, дано описание всем существующим бизнес—процессам, рассмотрены вопросы, которые связаны с анализом существующих разработок в этой области. Также в первой главе обосновываются проектные решения по информационному, техническому, программному и технологическому обеспечению.
В результате проведенной работы выбрана стратегия автоматизации по участкам, кроме того, в результате анализа языков программирования и СУБД, представленных на рынке, как наилучший вариант определены Delphi и Access.
Как наилучший вариант принято решение о самостоятельной разработке информационной системы, так как компания располагает квалифицированными сотрудниками для разработки и внедрения данной информационной системы, кроме того, только в данном случае гарантируется соответствие программного продукта бизнес—процессам, происходящим на предприятии.
Проектная часть посвящена рассмотрению этапов жизненного цикла проекта. Далее дана характеристика информационной архитектуры разрабатываемого проекта, построена информационная модель задачи, проведено моделирование «сущность—связь» (ER—модель), описана структура полей таблиц базы данных, проанализированы все информационные потоки входной, оперативной, нормативно—справочной и результатной информации.
В процессе реализации проектных решений по программному обеспечению построены: дерево диалога (сценарий работы с системой), структурная схема пакета и ряд других компонент проекта, подробно раскрывающих сущность машинной реализации задачи.
Разработанная информационная система подлежит интеграции с уже существующими на предприятии программными комплексами, кроме того, несмотря на то, что разрабатывалась для конкретного предприятия, может быть использована и на других, аналогичных фирмах за счет своей универсальности с минимальными изменениями.
Библиографический список
- ГОСТ 2.105-95 ЕСКД. Общие требования к текстовым документам.
- ГОСТ 19.103-33 ЕСПД. Обозначение программ и программных документов.
- ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем.
- Агальцов В. П. Базы данных. - М.: Мир, 2002.
- Архангельский П.А. Программирование в Delphi 5. - M.: Наука, 2000.
- Бобровский С.И. Delphi 5. – М.: Питер, 2002.
- Гаевский A. Разработка программных приложений на Delphi 6. – М.: Киев, 2000.
- Гагарина Л.Г., Киселёв Д.В. Разработка и эксплуатация автоматизированных информационных систем. – М.: ИНФРА-М. 2007.
- Горев А., Макащарипов С., Владимиров Ю. Microsoft SQL. Server 6.5 для профессионалов. - СПб.: Питер, 1998.
- Дарахвелидзе П.Г. Программирование в DELPHI 5. - СПб.: Бином, 2000.
- Евдокимова В.В. Информационные системы в экономике. – СПб.: Питер 2007.
- Емельянова Н.З., Партыка Т.Л., Попов И.И. Основы построения автоматизированных информационных систем. – М.: ИНФРА-М. 2005.
- Зуев В. A. Turbo Pascal 6.0, 7.0. - М.: Москва, 1998.
- Карпова Т.С. Базы данных: модели, разработка. - СПб.: Питер, 2001.
- Коноплева Е.А., Хохлова О.А., Денисов А.В. Информационные технологии. – М.: Проспект. 2007.
- Немнюгин С.А. Программирование. – М.: Питер, 2000.
- Петров В.Н. Информационные системы. – СПб.: Питер, 2002.
- Романова М.В. Управление проектами. – М.: ИНФРА-М. 2007.
- Советов Б.Я., Цехановский В.В.- Базы данных. - М.: Высшая школа. 2005.
- Тиори Т., Фрай Дж. Проектирование структур баз данных: В 2-х кн. Пер. с англ. - М.: Мир, 1985.
- Угринович Н. Информатика и информационные технологии. Набор базовых знаний. - М.: Радио и связь, 2000.
- Харрингтон Дж. Проектирование реляционных баз данных. - М.:
- Ломакин В.К. Мировая экономика: Учебник для вузов. – М.: Финансы, ЮНИТИ, 2008.
- http://v8.1c.ru. 1С:Предприятие 8 [Электронный курс]
Приложение А - Листинг ПО
///////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
// Процедура - обработчик события "ОбработкаЗаполнения".
//
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
ИнициализироватьДокумент(ДанныеЗаполнения);
КонецПроцедуры
// Процедура - обработчик события "ОбработкаПроведения".
//
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);
Документы.РеализацияУслуг.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);
ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
ПродажиСервер.ОтразитьПродажи(ДополнительныеСвойства, Движения, Отказ);
ПродажиСервер.ОтразитьПродажиПоДисконтнымКартам(ДополнительныеСвойства, Движения, Отказ);
ЗапасыСервер.ОтразитьУслугиНаСкладах(ДополнительныеСвойства, Движения, Отказ);
ЗапасыСервер.ОтразитьУслугиОрганизаций(ДополнительныеСвойства, Движения, Отказ);
ЗапасыСервер.ОтразитьУслугиКОтгрузке(ДополнительныеСвойства, Движения, Отказ);
ЗапасыСервер.ОтразитьДвиженияСерийныхНомеров(ДополнительныеСвойства, Движения, Отказ);
ЗапасыСервер.ОтразитьДвиженияСерийУслуг(ДополнительныеСвойства, Движения, Отказ);
СформироватьСписокРегистровДляКонтроля();
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
ДополнительныеСвойства.Вставить("Отказ", Отказ);
КонецПроцедуры
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
МассивНепроверяемыхРеквизитов = Новый Массив;
ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеКоличества(ЭтотОбъект, ПроверяемыеРеквизиты, Отказ);
ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеХарактеристик(ЭтотОбъект,МассивНепроверяемыхРеквизитов,Отказ);
ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеСерий(ЭтотОбъект,Документы.РеализацияУслуг.ПараметрыУказанияСерий(ЭтотОбъект),Отказ);
ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты,МассивНепроверяемыхРеквизитов);
МаркетинговыеАкцииСервер.ПроверитьЦеныСертификатов(
ЭтотОбъект,
"Услуги",
Отказ
);
МаркетинговыеАкцииСервер.ПроверитьЗаполнениеТабличнойЧастиСерийныеНомера(
ЭтотОбъект,
"Услуги",
"СерийныеНомера",
Отказ
);
МаркетинговыеАкцииСервер.ПроверитьДвиженияСерийныхНомеров(
ЭтотОбъект,
"Услуги",
"СерийныеНомера",
Отказ
);
МаркетинговыеАкцииСервер.ПроверитьОкончаниеАбсолютныхСроковДействияСертификатов(
ЭтотОбъект,
"Услуги",
Отказ,
);
КонецПроцедуры
// Процедура - обработчик события "ОбработкаУдаленияПроведения".
//
Процедура ОбработкаУдаленияПроведения(Отказ)
ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства);
ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
СформироватьСписокРегистровДляКонтроля();
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
КонецПроцедуры
// Процедура - обработчик события "ПередЗаписью".
//
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Справочники.СерийныеНомера.ОчиститьВДокументеНеиспользуемыеСерийныеНомера(Услуги, СерийныеНомера);
ОбщегоНазначенияРТСервер.УдалитьНеиспользуемыеСтрокиСерий(ЭтотОбъект,Документы.РеализацияУслуг.ПараметрыУказанияСерий(ЭтотОбъект));
ПроведениеСервер.УстановитьРежимПроведения(Проведен, РежимЗаписи, РежимПроведения);
ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
ДополнительныеСвойства.Вставить("РежимЗаписи", РежимЗаписи);
ОбщегоНазначенияРТ.УстановитьНовоеЗначениеРеквизита(
ЭтотОбъект,
ОбработкаТабличнойЧастиУслугиКлиентСервер.ПолучитьСуммуДокумента(Услуги, ЦенаВключаетНДС),
"СуммаДокумента");
ДополнительныеСвойства.Вставить("Отказ", Отказ);
КонецПроцедуры
// Процедура - обработчик события "ПриКопировании".
//
Процедура ПриКопировании(ОбъектКопирования)
СкидкиРассчитаны = Ложь;
СкидкиНаценкиСервер.ОтменитьСкидки(ЭтотОбъект, "Услуги");
Серии.Очистить();
ИнициализироватьДокумент();
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
///////////////////////////////////////////////////////////////////////////////
// Инициализация и заполнение
// Инициализирует документ
//
Процедура ИнициализироватьДокумент(ДанныеЗаполнения = Неопределено)
Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения);
Если ДанныеЗаполнения.Свойство("Магазин")
И НЕ ЗначениеЗаполнено(Магазин) Тогда
Склад = ЗначениеНастроекПовтИсп.ПолучитьСкладПродажиПоУмолчанию(ДанныеЗаполнения.Магазин,,Склад, Ответственный);
КонецЕсли;
Если ДанныеЗаполнения.Свойство("Организация")
И НЕ ЗначениеЗаполнено(Организация) Тогда
БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(ДанныеЗаполнения.Организация,,БанковскийСчетОрганизации);
КонецЕсли;
КонецЕсли;
Ответственный = Пользователи.ТекущийПользователь();
Магазин = ЗначениеНастроекПовтИсп.ПолучитьМагазинПоУмолчанию(Магазин);
Склад = ЗначениеНастроекПовтИсп.ПолучитьСкладПродажиПоУмолчанию(Магазин,,Склад, Ответственный);
Если ЗначениеЗаполнено(Склад) Тогда
Организация = Склад.Организация;
КонецЕсли;
Организация = ЗначениеНастроекПовтИсп.ПолучитьОрганизациюПоУмолчанию(Организация,Ответственный);
Контрагент = ЗначениеНастроекПовтИсп.ПолучитьПокупателяПоУмолчанию(Контрагент, Ответственный);
БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(Организация,,БанковскийСчетОрганизации);
Продавец = ЗначениеНастроекПовтИсп.ПолучитьПродавцаПоУмолчанию(Продавец, Ответственный);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////
// Прочее
//Процедура формирует массив имен регистров для контроля проведения
//
Процедура СформироватьСписокРегистровДляКонтроля()
Массив = Новый Массив;
// При проведении выполняется контроль превышения остатков на складах
Если ДополнительныеСвойства.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
Массив.Добавить(Движения.УслугиНаСкладах);
Массив.Добавить(Движения.ДвиженияСерийныхНомеров);
КонецЕсли;
ДополнительныеСвойства.ДляПроведения.Вставить("РегистрыДляКонтроля", Массив);
ДополнительныеСвойства.ДляПроведения.Вставить("ПопыткиПродажПревышающихОстаток");
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ
// Процедура - обработчик события "ОбработкаЗаполнения".
//
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
ИнициализироватьДокумент(ДанныеЗаполнения);