Файл: Разработка конфигурации «Учет реализации лекарственных препаратов через аптечную сеть» (Выбор комплекса задач автоматизации).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 198

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Библиографический список

  1. ГОСТ 2.105-95 ЕСКД. Общие требования к текстовым документам.
  2. ГОСТ 19.103-33 ЕСПД. Обозначение программ и программных документов.
  3. ГОСТ 19.701-90 ЕСПД. Схемы алгоритмов, программ, данных и систем.
  4. Агальцов В. П. Базы данных. - М.: Мир, 2002.
  5. Архангельский П.А. Программирование в Delphi 5. - M.: Наука, 2000.
  6. Бобровский С.И. Delphi 5. – М.: Питер, 2002.
  7. Гаевский A. Разработка программных приложений на Delphi 6. – М.: Киев, 2000.
  8. Гагарина Л.Г., Киселёв Д.В. Разработка и эксплуатация автоматизированных информационных систем. – М.: ИНФРА-М. 2007.
  9. Горев А., Макащарипов С., Владимиров Ю. Microsoft SQL. Server 6.5 для профессионалов. - СПб.: Питер, 1998.
  10. Дарахвелидзе П.Г. Программирование в DELPHI 5. - СПб.: Бином, 2000.
  11. Евдокимова В.В. Информационные системы в экономике. – СПб.: Питер 2007.
  12. Емельянова Н.З., Партыка Т.Л., Попов И.И. Основы построения автоматизированных информационных систем. – М.: ИНФРА-М. 2005.
  13. Зуев В. A. Turbo Pascal 6.0, 7.0. - М.: Москва, 1998.
  14. Карпова Т.С. Базы данных: модели, разработка. - СПб.: Питер, 2001.
  15. Коноплева Е.А., Хохлова О.А., Денисов А.В. Информационные технологии. – М.: Проспект. 2007.
  16. Немнюгин С.А. Программирование. – М.: Питер, 2000.
  17. Петров В.Н. Информационные системы. – СПб.: Питер, 2002.
  18. Романова М.В. Управление проектами. – М.: ИНФРА-М. 2007.
  19. Советов Б.Я., Цехановский В.В.- Базы данных. - М.: Высшая школа. 2005.
  20. Тиори Т., Фрай Дж. Проектирование структур баз данных: В 2-х кн. Пер. с англ. - М.: Мир, 1985.
  21. Угринович Н. Информатика и информационные технологии. Набор базовых знаний. - М.: Радио и связь, 2000.
  22. Харрингтон Дж. Проектирование реляционных баз данных. - М.:
  23. Ломакин В.К. Мировая экономика: Учебник для вузов. – М.: Финансы, ЮНИТИ, 2008.
  24. http://v8.1c.ru. 1С:Предприятие 8 [Электронный курс]

Приложение А - Листинг ПО

///////////////////////////////////////////////////////////////////////////////

// ОБРАБОТЧИКИ СОБЫТИЙ

// Процедура - обработчик события "ОбработкаЗаполнения".

//

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

ИнициализироватьДокумент(ДанныеЗаполнения);


КонецПроцедуры

// Процедура - обработчик события "ОбработкаПроведения".

//

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);

Документы.РеализацияУслуг.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);

ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);

ПродажиСервер.ОтразитьПродажи(ДополнительныеСвойства, Движения, Отказ);

ПродажиСервер.ОтразитьПродажиПоДисконтнымКартам(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиНаСкладах(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиОрганизаций(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиКОтгрузке(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьДвиженияСерийныхНомеров(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьДвиженияСерийУслуг(ДополнительныеСвойства, Движения, Отказ);

СформироватьСписокРегистровДляКонтроля();

ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);

ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);

ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);

ДополнительныеСвойства.Вставить("Отказ", Отказ);

КонецПроцедуры

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

МассивНепроверяемыхРеквизитов = Новый Массив;

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеКоличества(ЭтотОбъект, ПроверяемыеРеквизиты, Отказ);

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеХарактеристик(ЭтотОбъект,МассивНепроверяемыхРеквизитов,Отказ);

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеСерий(ЭтотОбъект,Документы.РеализацияУслуг.ПараметрыУказанияСерий(ЭтотОбъект),Отказ);

ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты,МассивНепроверяемыхРеквизитов);

МаркетинговыеАкцииСервер.ПроверитьЦеныСертификатов(

ЭтотОбъект,

"Услуги",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьЗаполнениеТабличнойЧастиСерийныеНомера(

ЭтотОбъект,

"Услуги",

"СерийныеНомера",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьДвиженияСерийныхНомеров(

ЭтотОбъект,

"Услуги",

"СерийныеНомера",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьОкончаниеАбсолютныхСроковДействияСертификатов(


ЭтотОбъект,

"Услуги",

Отказ,

);

КонецПроцедуры

// Процедура - обработчик события "ОбработкаУдаленияПроведения".

//

Процедура ОбработкаУдаленияПроведения(Отказ)

ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства);

ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);

СформироватьСписокРегистровДляКонтроля();

ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);

ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);

ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);

КонецПроцедуры

// Процедура - обработчик события "ПередЗаписью".

//

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

Если ОбменДанными.Загрузка Тогда

Возврат;

КонецЕсли;

Справочники.СерийныеНомера.ОчиститьВДокументеНеиспользуемыеСерийныеНомера(Услуги, СерийныеНомера);

ОбщегоНазначенияРТСервер.УдалитьНеиспользуемыеСтрокиСерий(ЭтотОбъект,Документы.РеализацияУслуг.ПараметрыУказанияСерий(ЭтотОбъект));

ПроведениеСервер.УстановитьРежимПроведения(Проведен, РежимЗаписи, РежимПроведения);

ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());

ДополнительныеСвойства.Вставить("РежимЗаписи", РежимЗаписи);

ОбщегоНазначенияРТ.УстановитьНовоеЗначениеРеквизита(

ЭтотОбъект,

ОбработкаТабличнойЧастиУслугиКлиентСервер.ПолучитьСуммуДокумента(Услуги, ЦенаВключаетНДС),

"СуммаДокумента");

ДополнительныеСвойства.Вставить("Отказ", Отказ);

КонецПроцедуры

// Процедура - обработчик события "ПриКопировании".

//

Процедура ПриКопировании(ОбъектКопирования)

СкидкиРассчитаны = Ложь;

СкидкиНаценкиСервер.ОтменитьСкидки(ЭтотОбъект, "Услуги");

Серии.Очистить();

ИнициализироватьДокумент();

КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////

// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

///////////////////////////////////////////////////////////////////////////////

// Инициализация и заполнение

// Инициализирует документ

//

Процедура ИнициализироватьДокумент(ДанныеЗаполнения = Неопределено)

Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда

ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения);

Если ДанныеЗаполнения.Свойство("Магазин")

И НЕ ЗначениеЗаполнено(Магазин) Тогда

Склад = ЗначениеНастроекПовтИсп.ПолучитьСкладПродажиПоУмолчанию(ДанныеЗаполнения.Магазин,,Склад, Ответственный);


КонецЕсли;

Если ДанныеЗаполнения.Свойство("Организация")

И НЕ ЗначениеЗаполнено(Организация) Тогда

БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(ДанныеЗаполнения.Организация,,БанковскийСчетОрганизации);

КонецЕсли;

КонецЕсли;

Ответственный = Пользователи.ТекущийПользователь();

Магазин = ЗначениеНастроекПовтИсп.ПолучитьМагазинПоУмолчанию(Магазин);

Склад = ЗначениеНастроекПовтИсп.ПолучитьСкладПродажиПоУмолчанию(Магазин,,Склад, Ответственный);

Если ЗначениеЗаполнено(Склад) Тогда

Организация = Склад.Организация;

КонецЕсли;

Организация = ЗначениеНастроекПовтИсп.ПолучитьОрганизациюПоУмолчанию(Организация,Ответственный);

Контрагент = ЗначениеНастроекПовтИсп.ПолучитьПокупателяПоУмолчанию(Контрагент, Ответственный);

БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(Организация,,БанковскийСчетОрганизации);

Продавец = ЗначениеНастроекПовтИсп.ПолучитьПродавцаПоУмолчанию(Продавец, Ответственный);

КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////

// Прочее

//Процедура формирует массив имен регистров для контроля проведения

//

Процедура СформироватьСписокРегистровДляКонтроля()

Массив = Новый Массив;

// При проведении выполняется контроль превышения остатков на складах

Если ДополнительныеСвойства.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда

Массив.Добавить(Движения.УслугиНаСкладах);

Массив.Добавить(Движения.ДвиженияСерийныхНомеров);

КонецЕсли;

ДополнительныеСвойства.ДляПроведения.Вставить("РегистрыДляКонтроля", Массив);

ДополнительныеСвойства.ДляПроведения.Вставить("ПопыткиПродажПревышающихОстаток");

КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////

// ОБРАБОТЧИКИ СОБЫТИЙ

// Процедура - обработчик события "ОбработкаЗаполнения".

//

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

ИнициализироватьДокумент(ДанныеЗаполнения);

КонецПроцедуры

// Процедура - обработчик события "ОбработкаПроведения".

//

Процедура ОбработкаПроведения(Отказ, РежимПроведения)

ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);

Документы.РеализацияУслуг.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);

ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);


ПродажиСервер.ОтразитьПродажи(ДополнительныеСвойства, Движения, Отказ);

ПродажиСервер.ОтразитьПродажиПоДисконтнымКартам(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиНаСкладах(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиОрганизаций(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиКОтгрузке(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьДвиженияСерийныхНомеров(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьДвиженияСерийУслуг(ДополнительныеСвойства, Движения, Отказ);

СформироватьСписокРегистровДляКонтроля();

ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);

ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);

ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);

ДополнительныеСвойства.Вставить("Отказ", Отказ);

КонецПроцедуры

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)

МассивНепроверяемыхРеквизитов = Новый Массив;

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеКоличества(ЭтотОбъект, ПроверяемыеРеквизиты, Отказ);

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеХарактеристик(ЭтотОбъект,МассивНепроверяемыхРеквизитов,Отказ);

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеСерий(ЭтотОбъект,Документы.РеализацияУслуг.ПараметрыУказанияСерий(ЭтотОбъект),Отказ);

ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты,МассивНепроверяемыхРеквизитов);

МаркетинговыеАкцииСервер.ПроверитьЦеныСертификатов(

ЭтотОбъект,

"Услуги",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьЗаполнениеТабличнойЧастиСерийныеНомера(

ЭтотОбъект,

"Услуги",

"СерийныеНомера",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьДвиженияСерийныхНомеров(

ЭтотОбъект,

"Услуги",

"СерийныеНомера",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьОкончаниеАбсолютныхСроковДействияСертификатов(

ЭтотОбъект,

"Услуги",

Отказ,

);

КонецПроцедуры

// Процедура - обработчик события "ОбработкаУдаленияПроведения".

//

Процедура ОбработкаУдаленияПроведения(Отказ)

ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства);

ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);