Форма документа
|
Документопоток
|
|
входящей информации
|
внутренних документов
|
исходящей информации
|
Электронные документы
|
Сообщения электронной почты,
факсимильная информация
|
Сообщения в корпоративной
сети, факсы
|
Ответы и письма по
электронной почте, факсимильная информация
|
Бумажные документы
|
Письма, договоры и
контракты, законодательные акты, нормативные документы, периодические
издания, Книги, реклама
|
Приказы, инструкции,
отчеты, служебные записки, бухгалтерские документы
|
Письма, договоры и
контракты, Служебные записки
|
Автоматизация взаимоотношений с поставщиками на этом уровне требует
предварительного обследования документопотоков на предприятии с последующей
фиксацией модифицированного регламента делопроизводства в инструкциях и
положениях, а также настройки регламентов прохождения электронных документов по
рабочим местам. Специальное структурное подразделение осуществляет: регистрацию
документов, контроль и учет их исполнения, систематизацию документов,
формирование номенклатуры дел и контроль состояния самих дел.
Безбумажное делопроизводство предусматривает применение компьютера в
управленческой деятельности для хранения, поиска и отображения информации,
позволяя свести к минимуму или исключить полностью применение бумажных
носителей.
Необходимость автоматизации документооборота продиктована проблемами,
возникающими в работе компаний всех организационно-правовых форм, которые по
сути своей идентичны: потеря документа, либо его долгий поиск (большой объем
документации; поиск документов в рамках организации затруднен из-за
децентрализованной регистрации); задержки прохождения и исполнения документов
(сложные схемы согласования документов и человеческий фактор); фактическая
бесконтрольность исполнения (отсутствие информации об исполнении и исполнителе
в реальном времени); проблемы контроля исполнения документа (отсутствие или
плохая организация упреждающего контроля; неисполнение документов или задержка
их исполнения); избыточность документооборота (в т.ч. дублирование документов);
большой штат сотрудников, работающих с документами (рутинные технологические
операции) и др.
В результате вышеописанного положения дел управление организацией не
может осуществляться в полном объеме. И выражается это в том, что руководитель
организации (равно как и руководители всех ее уровней) самостоятельно (без
помощи заместителей, ответственных за те или иные направления деятельности), не
владеют информацией в режиме реального времени и в случае необходимости не
смогут оперативно ответить даже на такие вопросы: какие документы и по каким
проблема находятся в работе; какова предыстория и состояние решения конкретных
вопросов и т.п.; а следовательно, оперативно среагировать на изменившуюся
конъюнктуру рынка и принять верное решение.
«Источник причин большинства проблем документооборота - изначальное
противоречие между требованием централизованного управления документацией и
децентрализованной технологией учета». Традиционный (каталожно-карточный, либо
журнальный) учет работы с документами на бумажных носителях ведется автономно в
каждом подразделении. При этом процедура выяснения состояния исполнения
конкретного документа состоит в последовательном сборе данных о нем на всех этапах,
требует существенных трудозатрат и времени, а также зависит от квалификации
сотрудников служб управления. Для обеспечения эффективного централизованного
учета и контроля исполнения всех документов организации, службе
документооборота необходимо оперативно отслеживать и дублировать информацию об
исполнении и движении каждого документа в отдельности, получая ее из
соответствующих подразделений и централизованно фиксировать (регистрировать) ее
в своём отделе. Это требует огромных накладных расходов, строгой регламентации
работы всех структурных подразделений и ее сотрудников, наличия
квалифицированного персонала, больших трудовых и временных затрат на проведение
рутинных технологических операций по поиску, сбору, обобщению и анализу
распределенной информации. На сегодняшний день, практически ни одна организация
не может позволить себе проведение вышеперечисленных работ в полном объеме.
Учитывая существующую тенденцию увеличения количества поставщиков, объема
товара и объема документооборота вопрос об автоматизации документационного
обеспечения управления, внедрения в работу новых информационных технологий
встает весьма остро.
При принятии решения об автоматизации документооборота пред руководителем
неизбежно встанут вопросы:
Какие цели преследуются при автомтизиации и какие задачи должны быть
решены?
Где проходит граница документооборота организации и что должно быть
автоматизировано?
Цели автоматизации документооборота всех организаций, вне зависимости от
их организационно-правовых форм, довольно схожи и заключаются в следующем:
повышение качества и оперативности управления, и как следствие этого
обеспечение конкурентоспособности предприятия на рынке;
объединение в единый делопроизводственный цикл всех структурных
подразделений организации, включая территориально-удаленные;
обеспечение оперативного, и в то же время разграниченного доступа к
информационным (документационным) ресурсам организации;
снижение трудовых и временных затрат и накладных расходов, и как
следствие, получение экономического эффекта;
заложение основы постепенного перехода к электронному документообороту на
предприятии, работа на перспективу.
Достижение поставленных целей возможно посредством решения задач
автоматизации документооборота организации, которые условно можно
систематизировать по следующим областям:
Подготовка и оформление документов.
повышение качества и оперативности подготовки документов, создаваемых в
организации;
унификация процесса работы с документами на всех этапах его
существования;
Организация документооборота и исполнения документов.
исключение дублирования ввода информации о документе на различных этапах
работы с ним (процесс регистрации);
исключение возможности потери документа (создание документальной базы
организации);
упорядочение документооборота организации (упрощение схем прохождения
документов - маршрутизация);
повышение оперативности и качества работы исполнителей с документами;
сокращение сроков исполнения и прохождения документов;
своевременное информирование сотрудников и руководства о поступивших и
создаваемых документах (исключение дублирования работы над одним и тем же
документом);
Организация контроля исполнения документов.
объединение документационных потоков всех подразделений организации (в
том числе территориально-удаленных);
оперативное получение информации о состоянии исполнения и месте
нахождения любого документа;
обеспечение отслеживания этапов прохождением документов в подразделениях
организации с момента их получения (создания) до завершения работы с ними
(исполнения);
Организация хранения документов, поисковая система.
обеспечение централизованного хранения текстов документов, подготовленных
в электронном виде, их графических образов и материалов к ним;
обеспечение возможности оперативного поиска и организации логического
связывания документов, относящихся к одному вопросу;
обеспечение оперативного поиска и подборки документов (материалов) по
тематическому набору реквизитов;
Таким образом, суммируя все вышесказанное можно сделать вывод:
автоматизация документационного обеспечения управления организации, вне
зависимости от ее организационно-правовых форм, ввиду комплексного подхода к
решению проблем документооборота, повышает оперативность управления,
эффективность работы ее сотрудников, а, следовательно, приводит к повышению
конкурентоспособности на рынке.
1.3 Программная и техническая архитектура ИС
предприятия
В рассматриваемой нами аптеке уже внедрен программный продукт М-аптека и
ЦЕЗ, а бухгалтерия использует Эскейп.
М-аптека и ЦЕЗ является платформой для построения приложений
автоматизации управленческих и документных процессов. Особенностью системы
является объектно-ориентированная архитектура, благодаря которой возможно
создание информационных систем, автоматизирующих работу со
сложноструктурированными данными и неформализованными динамическими процессами.
В составе программного продукта содержатся базовые функции, позволяющие
организовывать работу распределённых рабочих групп и создавать приложения
автоматизации процессов. М-аптека и ЦЕЗ принято считать законченной системой
автоматизации деятельности предприятия.
1.3.1 Основные функции
Основной функцией являются постоянный документооборот;
Просмотр прайс-листа, просмотр архива и просмотр отчета по забракованным
сериям ;
Работа с накладными - постановка на товар, выгруз отмеченных накладных, формирования
сообщения в офис о постановке товара;
Формирования отчетов по родовым сертификатам;
Формирования отчетов по товару за месяц;
Формирования ежедневного отчета по товару;
Формирования заказа на товар;
Прием электронных документов и занесение их в реестр;
Просмотр наличия товара;
Дефектура по отделу;
Переработка готовых фрорм;
Но увы в эти программы не входит запись и регистрация информационных
бюллетеней на новые препараты, бюллетеней о продлении сроков годности
препаратов и изъятии из аптечной сети. Нет договоров с обслуживающим
персоналом. Таким образом, связь между поставщиками и аптекой становится не
постоянной и нерентабельной. Требует улучшения и автоматизации.
Этим главным недостатком и обусловлена задача разработки и внедрения
новой информационной системы документооборота в организации.
1.3.2 Анализ существующих разработок и выбор
стратегии автоматизации делопроизводства взаимоотношении поставщиков
лекарственных препаратов с аптекой
Обзор рынка программных средств данного класса систем позволил
проанализировать возможные финансовые затраты и соответствие функций, требуемых
данной организации. Произведем сравнение нескольких самых крупных ИС
документооборота рынка программных средств.
Таблица 2 - Сравнительные характеристики систем документооборота
|
ЕВФРАТ - Документооборот
|
DocsVision
|
КАДО
|
Регистрация документов
|
+
|
+
|
+
|
Ведение регистрационной
карточки
|
+
|
+
|
+
|
Ведение номенклатуры дел
|
+
|
+
|
+
|
Сканирование
|
+
|
+
|
+/-
|
Распознавание документов
|
+
|
+
|
+
|
Связанные документы
|
+
|
+
|
+
|
Прикрепленные файлы
|
+
|
+
|
+
|
Работа со словарями и
справочниками
|
+
|
+
|
+
|
Сроки поручений
|
+
|
+
|
+
|
Поиск по реквизитам, по
виду регистрационной карточки
|
+ +
|
+ +
|
+ -
|
Списание документа в архив
|
+
|
+
|
+
|
Ведение архивов
|
+
|
+
|
+
|
Генерация отчетов
|
+
|
+
|
+
|
маршрутизация
|
+
|
+
|
+
|
Возможно ли внедрение
собственными силами
|
да
|
нет
|
нет
|
Web-доступ
|
+
|
+
|
+/-
|
Классифика-ция ИС
|
Автоматизиро-ванная
информационная система; Информационно-поисковая система; Клиент-серверная ИС;
Организационного управленя; Модельная.
|
Автоматизирован-ная
информационная система; Информационно-поисковая система; Клиент-серверная ИС;
Организационного управления; Модельная.
|
Автоматизирован-ная
информационная система; Информационно-поисковая система; Клиент-серверная ИС;
Организационного управления; Модельная.
|
Соответствие требованиям
организации
|
+
|
+
|
+
|
Стоимостные оценки
|
7200$
|
9200$ + покупка
СУБД
|
14700$ + покупка
СУБД
|
Надежность ИС
|
+
|
+
|
+
|
Выводы
В данном разделе произведено исследование предметной области. Предметом
дипломного проекта является Аптека Ригла, которая является учреждением
здравоохранения по лекарственному (Медикаментозного) обеспечению населения,
учреждений здоровья, других учреждений, предприятий и организаций.
Основной целью деятельности Аптека Ригла является обеспечение населения,
учреждений здравоохранения и других учреждений, предприятий, организаций
продукцией медико-фармацевтического назначения (лекарственные средства -
лекарства, лекарственные вещества, лекарственное растительное сырье,
минеральные воды лечебные, иммунобиологические препараты, изделия медицинского
назначения - перевязочные материалы и лейкопластыри, резиновые изделия
санитарии и гигиены, аптечная посуда и рецептурное стекло, дезинфекционные
средства, прочие медицинские товары; химреактивы).
Аптека Ригла в своей деятельности руководствуется действующим
законодательством Российской Федерации и своим Уставом.
Таким образом, суммируя все вышесказанное можно сделать вывод:
автоматизация документационного обеспечения управления организации, вне
зависимости от ее организационно-правовых форм, ввиду комплексного подхода к
решению проблем документооборота, повышает оперативность управления,
эффективность работы ее сотрудников, а, следовательно, приводит к повышению
конкурентоспособности на рынке.
2. СПЕЦИАЛЬНЫЙ РАЗДЕЛ
.1 Разработка проекта базы данных аптеки «Ригла»
.1.1 Инфологическая модель
В аптеке хранится препаратов, услугами аптеки пользуются тысячи клиентов.
Для обеспечения оперативности ведения информации о препаратах, с такими
сведениями как способ применения, показания к применению, фармакологические
свойства, производитель и т.д., информации о фирмах, поставляющих данные
товары, цены, поставляемых препаратов необходима автоматизированная система,
основанная на современной базе данных. Использование базы данных и
автоматизированной системы для работы с базой данных существенно упростит, а
главное вся информация, касающаяся препаратов в данной аптеке, будет храниться
в одном месте. Если предоставить данную базу для общего пользования, то
клиенты, даже не имея специальной подготовки, смогут самостоятельно заказывать
необходимые. Время работы фармацевтов и провизоров значительно сократиться.
В аптеке необходимо хранить разнообразную информацию о препаратах, чтобы
оперативно можно было определить информацию о том, для каких заболеваний
необходимо принимать препарат, о его форме выпуска, типе препарата (витамин,
биологически-активная добавка (БАК), лекарство, косметические препараты),
способ применения данного препарата, показания к применению, фармакологические
свойства, производитель. Необходимо учесть, что препараты в аптеке могут
присутствовать в нескольких экземплярах, что препараты могут поставляться одной
фирмой, могут иметь одинаковое название, поэтому препаратам необходимо
присваивать некоторые уникальные шифры.
Также может быть такое, что несколько препаратов лечат одно и тоже
заболевание, и один препарат может лечить несколько заболеваний, поэтому и
заболеваниям даны уникальные шифры.
Форма выпуска у препарата может быть также различной.
Информация о фирмах должна быть полной и достаточной для отправления
заявки на препарат, то есть мы должны иметь почтовый адрес, индекс, или адрес
электронной почты, должны знать цену препарата для каждой фирмы, номер
телефона. При оплате клиентам необходимо знать номер лицевого счета, банк, в
котором он зарегистрирован. Необходимо учесть, что среди названий фирм также
могут быть повторения для этого у каждой фирмы должен быть уникальный шифр.
Работать с базой данных «Аптека-препараты» будут следующие пользователи:
зав. аптеки;
фармацевты;
оператор ЭВМ,
клиенты аптеки.
Пользователи базой данной «Аптека» должны иметь возможность
систематизировать список имеющихся препаратов, т.е. распределять препараты по
типу, добавлять новые и списывать старые, иметь возможность быстро найти
необходимый препарат, поставляющую его фирму, добавить фирму, удалить фирму,
иметь возможность заказать препарат.
База данных «Аптека» выполнит задачи повышение оперативности пополнения
аптеки медпрепаратами, сокращение времени учета препаратов в аптеке, поиск
необходимых препаратов или их заменителей (фармацевты), формирование заявки на
препараты (фармацевты), формирование ведомости препаратов, необходимых в аптеке
(зав.аптеки).
В результате в БД аптеки «Ригла» используются следующие входные данные:
информация о товарах,
информация о заказах,
информация о поставщиках,
информация о сотрудниках,
информация об аптеках.
Выходными данными являются запросы. Информация выводится на экран в
специальных формах, упрощающих работу с записями таблиц БД.
В дипломном проекте в БД аптеки «Ригла» пользователю ограничен ввод даты
из будущего. Также присутствует целостность таблицы, т. е. поддерживаются:
уникальность строк таблицы. Определен первичный ключ таблицы, и
значение его определено;
все уникальные ключи, выявленные в ходе анализа предметной
области. Эти ограничения реализуются в командах создания и модификации таблиц.
Проанализировав предметную область, мы можем сказать, что разработка базы
данных для аптеки актуальна. Целью разработки базы данных «Аптека» и
автоматизированной системы для работы с ней является повышение качества и
скорости обслуживания клиентов, а также при общедоступном пользовании
самостоятельному выбору и заказу лекарств клиентами на прямую через фирму.
Эти цели могут быть достигнуты за счет сокращения времени поиска необходимых
препаратов по определенным критериям, за счет снижения времени поиска
информации о фирмах.
Задачами автоматизированной системы являются:
1. Запись нового препарата
2. Поиск препарата из существующих и их заменителей
. Удаление препарата
. Отображение фирм, поставляющих данный препарат
. Отображение цен в фирмах, поставляющих препарат
. Отображение сведений фармакологические свойства
. Отображение сведений способ применения
. Отображение сведений показания к применению
. Сортировка препаратов по типу(витамины, БАК, лекарства,
косметика)
. Возможность добавления нового заболевания
. Подготовка сведений о фирмах
. Удаление фирмы
. Добавление фирмы
. Формирование заказа определенного препарата, с выбором его из
каталога фирмы
. Формирование общей суммы «к оплате»
В БД существуют ограничения на свойства объекта предметной области,
присутствуют значение поля, тип, диапазон значения поля (значение целое и
положительное). Далее каждая таблица проектируемой БД связана с другими
посредством соответствующих первичных и внешних ключей, т. е. родительская
(главная) по отношению к другим таблицам, либо дочерняя (подчиненная), либо та
и другая для разного уровня связей.
На этапе инфологического проектирования базы данных строится
инфологическая модель предметной области, которая должна отображать семантику
(смысл взаимосвязи объектов) предметной области. ИЛМ строится не для отдельного
объекта, а отображает классы объектов и связи между ними. Диаграмма, отражающая
связи объектов предметной области, называется диаграммой ER-типа (так как
Entity - сущность, Relationship - связь).
Выделим основные сущности:
сущность «Препараты»;
сущность «Фирмы»;
сущность «Прайс цен»;
сущность «Показания к применению»;
сущность «Заболевания»
сущность «Заказ по фирме»
сущность «Содержание заказа»
Инфологическая модель базы данных «Библиотека» представлена на рис. 1.
Рис.1. Инфологическая модель предметной области (ПО) «Аптека - препараты»
Сущность «Препараты» содержит информацию обо всех препаратах, имеющихся в
аптеке. Отдельный препарат этой сущности может поставляться различными фирмами
и иметь различные цены в различных фирмах, поэтому водиться сущность «Прайс
цен». Каждый препарат сущности «Прайс цен» содержит информацию поставляющей
фирме и о цене конкретного препарата. Между сущностью «Препараты» и сущностью
«Прайс цен» существует связь типа «1:М», обязательная с обеих сторон (если есть
информация о препарате, то есть хотя бы одна фирма, поставляющая данный
препарат цена препарата, если есть цена препарата и поставляющая его фирма, то
должна быть информация о препарате). Сущность «Фирмы» содержит информацию о
фирмах поставляющих препараты. Отдельная фирма этой сущности содержит
информацию об одной цене отдельного препарата. Существует связь между сущностью
«Фирмы» и сущностью «Прайс цен» типа «1:М», не обязательная с обеих сторон (ни
одна фирма может не поставлять ни одного препарата).
Сущность «Препараты» содержит информацию обо всех препаратах, имеющихся в
аптеке. Отдельный препарат этой сущности иметь различные показания к
применению, поэтому водиться сущность «Показания к применению». Каждое
показание к применению сущности «Показание к применению» содержит информацию
применению отдельного препарата. Между сущностью «Препараты» и сущностью
«Показания к применению» существует связь типа «1:М», обязательная с обеих
сторон (если есть информация о препарате, то обязательно должно быть показание
к применению, если есть показание к применению, то обязательно должна быть
информация о препарате). Сущность «Заболевания» содержит информацию о показания
к применению, ведь при разных заболеваниях показания к применению могут быть
различными. Отдельное заболевание сущности «Заболевания» содержит информацию об
одном показании к применению одного препарата. Существует связь между сущностью
«Заболевания» и сущностью «Показания к применению» типа «1:М», обязательная с
обеих сторон (если есть показание к применению, то должно быть и заболевание,
для лечения которого оно предназначено). «Заказ по фирме» относиться к «Фирмы»
как 1:М, то есть каждому шифру фирмы соответствует одна фирма. «Содержание заказа
» относится к таблице «Заказ по фирме» также 1:М, то есть в одном заказе
содержится лишь товар, заказанный у одной фирмы, к таблице «Препараты» также
отношение 1:М, то есть определенному номеру препарата соответствует один
препарат.
Определим ключи - уникальные идентификаторы каждой сущности: для сущности
«Препараты» - это номер препарата (№Препарата), для сущности «Прайс цен» -
номер препарата, шифр фирмы, для сущности «Фирмы» - шифр фирмы, для сущности
«Показания к применению» номер препарата и шифр заболевания, для сущности
«Заболевания» - шифр заболевания, в «Заказ по фирме»- номер заказа(№Заказа), в
«Содержимое заказа»-номер заказа(№Заказа),номер препарата (№Препарата).
2.1.2 Реализация базы данных
Реляционная модель - модель представления данных, которая описывает
структуру данных, допустимые операции над данными и специальные правила,
обеспечивающие целостность данных.
Понятие функциональной зависимости является базовым, так как на его
основе формулируется определение всех остальных видов зависимостей.
Следующим шагом в проектировании РБД является нормализация отношений.
Даталогическое концептуальное проектирование состоит в разработке корректной
схемы в виде совокупности взаимосвязанных отношений отражающих объекты
предметной области и их семантические связи. В такой схеме должны отсутствовать
нежелательные функциональные зависимости между атрибутами. Нормализированный
набор таблиц обладает лучшими свойствами при включении, модификации и удалении
данных, чем любой другой набор таблиц представляющий те же данные.
Проектирование может выполняться путем декомпозиции или путем синтеза. При
проектировании с использованием декомпозиции переходят от одной нормальной
формы к другой нормальной форме более высокого уровня, сохраняя эквивалентность
схем Базы Данных. Выделяют несколько нормальных форм (НФ): 1НФ, 2НФ, 3НФ, 4НФ,
5НФ. Каждая следующая НФ улучшает свойство схемы, сохраняя свойства предыдущей
НФ.
Отношение «Препараты»
№ препарата
Регистрационный номер
Торговое патентовое название препарата
Международное непатентовое название препарата
Химическое название
Срок хранения, месяцы
Изображение
Тип препарат
Форма выпуска
Состав и лекарственная форма
Фармокотерапевтическая группа
Фармакодинамика
Фармакокинетика
Производитель
Отношение «Прайс цен»
№Препарата
Шифр фирмы
Оптовая цена
Количество штук
Фирмы-поставщики
Шифр фирмы
Название фирмы
Адрес
Телефон
Идентификационный номер
Банк
Расчетный счет
БИК
К/с
Индекс
Сайт
Показания к применению
№Препарата
Шифр заболевания
Доза
Побочные действия
Противопоказания
Взаимодействия с другими препаратами
Показания к применению
Особые указания
Передозировка
Информация о заболеваниях
Шифр заболевания
Название заболевания
Тип препарат
Заказ по фирме
№Заказа
Шифр фирмы
Дата заказа
К оплате за заказ
Содержание заказа
№Препарата
№Заказа
Кол_во заказа
К_оплате_за товар
2.1.3 Даталогическая модель
Даталогическим (логическим) проектированием называют проектирование
логической структуры БД в среде конкретной СУБД. Выберем в качестве модели
данных реляционную базу данных (РБД).
Существуют разные способы проектирования логической структуры РБД.
Рассмотрим способ проектирования, основанный на анализе инфологической модели и
переходе от нее к реляционным отношениям.
Для РБД проектирование логической структуры заключается в том, чтобы
разбить всю информацию по отношениям, а также определить состав атрибутов для
каждого из этих отношений. От ER-модели перейдем к реляционной модели данных.
Ограничения или свойства таблиц:
. Каждая таблица представляет собой реальный объект- сущность.
. Элементы таблиц должны быть неделимыми.
. Столбцы- поименованы.
. Элементы столбца должны быть однородными. В таблице не должно быть двух
одинаковых строк.
. Каждая таблица должна иметь первичный ключ для идентификации каждой
строки таблицы.
В результате получили следующие отношения:
Препараты (№ Препарата, Регистрационный номер, Торговое патентовое
название препарата, Международное непатентовое название препарата, Химическое
название, Срок хранения, месяцы, Изображение, Тип препарата, Примечание, Форма
выпуска, Состав и лекарственная форма, Фармокотерапевтическая группа,
Фармакодинамика, Фармакокинетика, Производитель).
Прайс цен (№Препарата, Шифр фирмы, Оптовая цена, Количество штук,).
Фирмы (Шифр фирмы, Название фирмы, Адрес, Телефон, Идентификационный
номер, Банк, Расчетный счет, БИК, К/с, Индекс, Сайт).
Показания к применению (№Препарата, Шифр заболевания, Доза, Побочные
действия, Противопоказания, Взаимодействия с другими препаратами, Показания к
применению, Особые указания, Передозировка).
Заболевания (Шифр заболевания, Название заболевания, Тип препарата).
Заказ_по_фирме (№заказа,Шифр фирмы, Дата заказа, Итого к оплате за
заказ).
Содержимое заказа(№Препарата, №Заказа, Кол_заказа, К оплате за товар).
Выполним физическое проектирование в среде СУБД Microsoft SQL Server 2005. Зададим имена таблиц и полей, определим типы
данных и размерность полей таблиц. В таблицах выберем первичные ключи и
индексированные поля. Так же для поля определим его основные характеристики -
является ли это поле внешним или первичным ключом, создан ли индекс по этому
полю, задано ли для поля значение по умолчанию, какие ограничения заданы для
данного поля (уникальность значений, маска ввода). Вся эта информация
представлена в таблице 1.
Физическое проектирование.
Выполним физическое проектирование. Поименуем таблицы и атрибуты,
определим типы данных и размерность атрибутов. В таблицах выберем первичные
ключи и индексированные поля.
Таблица 1 - Структура таблиц РБД «Аптека»
Название таблицы
|
Имя поля
|
Тип данных
|
Размер поля
|
Первичный ключ / вторичный
ключ / индексированное поле
|
Препараты
|
№ Препарата
|
Счетчик, int
|
Длинное целое
|
Первичный ключ
|
|
Регистрационный номер
|
nchar
|
20
|
|
|
Название препарата
|
nchar
|
150
|
|
|
Международное
непатентованное название
|
nchar
|
50
|
|
|
Химическое название
|
nchar
|
100
|
|
|
Срок хранения
|
int
|
Длинное целое
|
|
|
Изображение
|
image
|
|
|
|
Тип препарата
|
nchar
|
20
|
|
|
Примечание
|
nchar
|
250
|
|
|
Форма выпуска
|
int
|
Длинное целое
|
|
|
Состав и лекарственная
форма
|
nchar
|
255
|
|
|
Фармакотерапевтическая
группа
|
nchar
|
200
|
|
|
Фармакодинамика
|
ntext
|
|
|
|
Фармакокинетика
|
ntext
|
|
|
|
Производитель
|
ntext
|
|
|
Фирмы
|
Шифр фирмы
|
Счетчик,int
|
Длинное целое
|
Первичный ключ
|
|
Название фирмы
|
nchar
|
30
|
|
|
Адрес
|
nchar
|
150
|
|
|
Телефон
|
nchar
|
30
|
|
|
Идентификационный номер
|
nchar
|
50
|
|
|
Банк
|
nchar
|
100
|
|
|
Расчетный счет
|
nchar
|
50
|
|
|
БИК
|
int
|
Длинное целое
|
|
|
К/с
|
nchar
|
50
|
|
|
Индекс
|
int
|
Длинное целое
|
|
|
Сайт
|
nchar
|
50
|
|
Заболевания
|
Шифр заболевания
|
nchar
|
50
|
Первичный ключ
|
|
При заболеваниях
|
nchar
|
50
|
|
|
Тип препарат
|
nchar
|
20
|
|
Показания к применению
|
№ Препарата
|
nchar
|
Длинное целое
|
Первичный ключ
|
|
Шифр заболевания
|
nchar
|
50
|
Вторичный ключ
|
|
Доза
|
nchar
|
255
|
|
|
Побочные действия
|
ntext
|
|
|
|
Противопоказания
|
ntext
|
|
|
|
Взаимодействие с другими
лекарствами
|
ntext
|
|
|
|
Показания к применению
|
ntext
|
|
|
|
Особые указания
|
ntext
|
|
|
|
Передозировка
|
ntext
|
|
|
Прайс цен
|
№Препарата
|
int
|
Длинное целое
|
Первичный ключ
|
|
Шифр фирмы
|
int
|
Длинное целое
|
Вторичный ключ
|
|
Оптовая цена
|
money
|
|
|
|
Количество, штук
|
int
|
Длинное целое
|
|
Заказ по фирме
|
№Заказа
|
Счетчик,int
|
Длинное целое
|
Первичный ключ
|
|
Шифр фирмы
|
Текстовый
|
20
|
|
|
Дата заказа
|
datetime
|
|
|
|
Итого к оплате за заказ
|
money
|
|
|
Содержание заказа
|
№Препарата
|
int
|
Длинное целое
|
Первичный ключ
|
|
№Заказа
|
int
|
Длинное целое
|
Вторичный ключ
|
|
Кол_заказа
|
int
|
Длинное целое
|
|
|
К_оплате_за_заказ
|
money
|
|
|
2.1.3 Обоснование выбора среды базы данных
Структурой хранения данных в SQL Server 2005 является база данных
(database). Вся работа SQL Server 2005 сводится к управлению базами данных
(БД). Системные данные сервера, отвечающие за его функционирование, также
хранятся в базах данных. Базу данных SQL Server 2005 можно рассматривать с двух
сторон: физической и логической. При работе с любой базой данных SQL Server
2005 - пользовательской или системной - действуют одни и те же механизмы.
Физическая база данных представляет собой набор файлов, расположенных на
диске. С этими файлами можно выполнять любые операции, разрешенные для обычных
файлов: копирование, переименование, удаление и т. д. Конечно, делать этого не
стоит, но все же выполнение перечисленных операций в случае необходимости
возможно. Физическая структура базы данных описывает количество файлов данных и
журнала транзакций, из которых состоит база данных, их первоначальный и текущий
размер, положение на диске, имя, расширение, шаг приращения и некоторые другие
параметры. Эти параметры необходимы только для правильного восприятия SQL
Server 2005 базы данных. Для пользователей, работающих с базой данных, в
подавляющем большинстве случаев ее физическая структура не имеет значения.
Гораздо больший интерес для пользователей представляет логическая
структура базы данных, описывающая все ее объекты, их поведение и
взаимодействие друг с другом. Логическая структура базы данных включает в себя
системные и пользовательские таблицы, представления, хранимые процедуры,
пользователей и роли, умолчания, ограничения целостности и другие объекты.
Microsoft SQL Server 2005 - это законченное предложение в
области баз данных и анализа данных для быстрого создания масштабируемых
решений электронной коммерции, бизнес-приложений и хранилищ данных. Оно
позволяет значительно сократить время выхода этих решений на рынок,
одновременно обеспечивая масштабируемость, отвечающую самым высоким
требованиям. В сервер SQL Server 2005
включена поддержка языка XML и
протокола HTTP, средства повышения быстродействия и
доступности, позволяющие распределить нагрузку и обеспечить бесперебойную
работу, функции для улучшения управления и настройки, снижающие совокупную
стоимость владения. Кроме того, SQL Server 2005
полностью использует все возможности операционной системы Windows, включая поддержку до 32 процессоров
и 64 ГБ ОЗУ.
Система управления базами данных SQL Server 2005 предоставляет пользователям широкие возможности
по разработке и сопровождению баз данных. Для этого в составе системы имеется
набор графических средств (Enterprise Manager, Query Analyzer), языковых средств (язык Transact-SQL), набор хранимых процедур.
Основными задачами в процессе разработки и сопровождения баз данных в
среде SQL Server 2005 являются создание, модификация и удаление баз
данных, таблиц, а также объектов баз данных, таких как индексы, представления,
запросы, хранимые процедуры и триггеры.
Создание базы данных возможно несколькими способами:
· средствами языка Transact-SQL;
· с помощью графической утилиты Enterprise Manager
· с помощью мастера создания базы данных Create Database Wizard.
Создание базы данных заключается в том, что на уровне операционной
системы будет создан набор файлов, который и станет представлять базу данных.
Напомним, что каждая база данных как минимум состоит из двух файлов - один для
данных и один для журнала транзакций. Помимо этих двух файлов, могут быть
созданы дополнительные файлы данных и журнала транзакций. Один из файлов данных
является первичным (primary) и содержит все системные таблицы базы данных.
Помимо этого, в системной таблице sysdatabases системной базы данных
master SQL Server создается новая строка, которая описывает новую базу данных.
В столбце filename этой строки содержится полный путь и имя первичного файла
базы данных. Всю остальную информацию о параметрах базы данных, в том числе о
количестве и размещении файлов данных и журнала транзакций, сервер получает из
системных таблиц базы данных, размещенных в первичном файле.
Помимо имени первичного файла, таблица sysdatabases содержит также
идентификационный номер базы данных (столбец dbid), идентификатор безопасности
владельца базы данных (столбец sid), дату создания (столбец crdate), уровень
совместимости (столбец cmptlevel) и другую информацию.
Создание новой базы данных выполняется с помощью окна Database
Properties. Открыть это окно можно разными способами:
· выбрав в контекстном меню папки Databases команду New Database; база
данные таблица утилита
· щелкнув правой кнопкой мыши на пустом пространстве правой части и
выбрав в открывшемся контекстном меню команду New Database;
· нажав в панели инструментов Enterprise Manager кнопку
New Database;
· выбрав в меню Action (Действия ) команду New Database.
Окно свойств базы данных Database Properties имеет три вкладки. Первая
вкладка General предназначена для указания имени базы данных и сопоставления,
которое будет использоваться для базы данных. Остальные элементы управления
вкладки General предназначены для предоставления пользователю различной
информации о базе данных. На момент создания базы данных этой информации еще не
существует, и поэтому указываются значения Unknown (неизвестно) и None (нет).
При выборе имени базы данных, которое должно быть введено в поле Name,
следует придерживаться тех же правил, которые используются при непосредственной
работе с командой Create Database. Сопоставление, которое будет иметь база
данных, выбирается с помощью раскрывающегося списка Collation name. По
умолчанию список содержит значение (Server default), что предписывает применять
для базы данных то же сопоставление, которое было указано на уровне сервера при
установке SQL Server 2005. Однако можно выбрать и любое другое сопоставление.
Вкладка Data Files предназначена для определения файлов данных, из
которых будет состоять создаваемая база данных. В верхней части вкладки Data
Files расположена таблица Database files, с помощью которой собственно и
определяются файлы базы данных. В столбце File Name указывается логическое имя
файла, в столбце Location задается полный путь и имя файла операционной
системы. Отметим, что указанный в столбце Location файл не должен существовать
на момент создания базы данных. Путь и имя файла могут быть введены вручную или
выбраны с помощью окна Locate Database File, открыть которое можно с помощью
кнопки, расположенной в левой части столбца Location.
В столбце Initial size (MB) находится первоначальный размер, который файл
будет иметь непосредственно после создания базы данных. Если отсутствует
какой-либо суффикс, то подразумевается, что значение указано в мегабайтах.
С помощью столбца Filegroup можно определить группу файлов, к которой
должен принадлежать файл. По умолчанию все файлы размещаются в группе файлов
primary.
Помимо сведений, указываемых в таблице Database files, файлы базы данных
имеют дополнительные свойства, такие, как максимальный размер и шаг прироста.
Управление этими свойствами осуществляется с помощью группы элементов
управления File properties, расположенной в нижней части вкладки Data Files.
Вкладка Transaction Log предназначена для управления файлами журнала
транзакций. Эта вкладка в значительной степени напоминает вкладку Data Files.
Единственное различие между ними состоит в том, что при определении файлов
журнала транзакций нельзя работать с группами файлов.
После того как все файлы базы данных будут определены, а также указано
имя базы данных и сопоставление, остается только нажать кнопку ОК и Enterprise
Manager приступит к непосредственному созданию базы данных. Для этого он
сгенерирует код команды create database на основе введенных пользователем
значений и выполнит его. Рассмотрение создания базы данных средствами
Enterprise Manager можно считать оконченным.
Вначале таблицы необходимо создать. Во время этой операции пользователь
определяет имя таблицы, имена столбцов, тип хранимых в них данных, значения по
умолчанию, возможность хранения неопределенных значений, первичный и внешний
ключи и некоторые другие свойства. Создание таблиц в SQL Server 2005 возможно
либо с помощью графического интерфейса Enterprise Manager, либо с помощью
команд Transact-SQL. К сожалению, мастера создания таблиц в SQL Server 2005
нет.
При создании таблиц пользователь может для столбцов, помимо задания
базовых свойств, таких, как имя, тип данных, размер и точность, указать
ограничения целостности. Ограничения целостности (constraints) - это механизм
контроля значений, которые могут храниться в полях строки. В SQL Server 2005
поддерживаются следующие ограничения целостности:
· Check - с помощью логических условий налагает ограничение на значения,
которые могут храниться в столбце;
· Null - задает возможность хранения неопределенных значений;
· Default - определяет значение по умолчанию;
· Unique - гарантирует уникальность значений в столбце;
· Primary Key - определяет первичный ключ;
· Foreign Key - определяет внешний ключ;
· No Action - предписывает не выполнять в зависимой таблице никаких
действий при удалении или обновлении строк в главной таблице;
· Cascade - в данном случае будет осуществляться каскадное изменение
значений в зависимой таблице при внесении изменений в главную таблицу.
Каждая база данных имеет свой собственный набор таблиц, посмотреть
который можно средствами Enterprise Manager, открыв папку Tables. При открытии
папки Tables базы данных в правом окне Enterprise Manager появляется список
таблиц со следующими атрибутами: имя таблицы, владелец (обычно владелец базы
данных data base owner-dbo), тип (пользовательская или системная) и дата
создания таблицы. Для просмотра самой таблицы следует дважды щелкнуть по ней
или в ее контекстном меню исполнить команду Properties.
В открывшемся окне представлены все свойства таблицы и ее столбцов.
Кнопка Permission позволяет просмотреть и отредактировать права доступа к
таблице: SELECT, INSERT, UPDATE, DELETE, EXES и DRI. Щелкнув по столбцу
таблицы, можно просмотреть и отредактировать права доступа к столбцу. Если
установлена на сервере служба MSSearch, то с помощью вкладки Full-text Indexing
можно отредактировать параметры этой службы.
Создание таблицы выполняется с помощью окна New Table, для открытия
которого достаточно в контекстном меню папки Tables выбрать команду New Table.
Окно New Table разделено на две части. С помощью верхней части
формируется набор столбцов, из которых будет состоять таблица, а также
указываются их основополагающие свойства. Самая верхняя строка соответствует
первому столбцу таблицы, вторая строка - второму столбцу и т.д. Порядок
перечисления столбцов очень важен. При вставке и выборке данных без указания
столбцов сервер будет обрабатывать значения именно в той последовательности, в
которой они были перечислены при создании таблицы.
Создание таблицы выполняется с помощью окна New Table, для открытия
которого достаточно в контекстном меню папки Tables выбрать команду New Table.
Окно New Table разделено на две части. С помощью верхней части
формируется набор столбцов, из которых будет состоять таблица, а также
указываются их основополагающие свойства. Самая верхняя строка соответствует
первому столбцу таблицы, вторая строка - второму столбцу и т.д. Порядок
перечисления столбцов очень важен. При вставке и выборке данных без указания
столбцов сервер будет обрабатывать значения именно в той последовательности, в
которой они были перечислены при создании таблицы.
С помощью верхней части окна создания таблицы можно также определить
первичный ключ таблиц. Для этого достаточно выделить один или более столбцов,
из которых должен состоять первичный ключ, щелкнуть правой кнопкой мыши и в
открывшимся контекстном меню выбрать команду Set Primary Key. После этого слева
от каждого столбца, включенного в первичный ключ, будет отображаться символ
ключ.
В SQL Server 2005 имеется средство, облегчающее понимание структуры базы
данных, позволяющее наглядно представлять структуру таблиц и связей между ними.
Это средство называется диаграммой. Диаграммы определены только на уровне
Enterprise Manager и являются надстройкой над объектами базы данных.
При выборе первого из них столбец конфигурируется в качестве уникального
глобального идентификатора строки, что соответствует указанию ключевого слова
rowguidcol при описании столбца в команде create table. Таким образом, при
добавлении в таблицу новой строки в соответствующий столбец будет автоматически
помешаться уникальное значение. Только один столбец в таблице может быть
сконфигурирован как уникальный глобальный идентификатор строки. Так же можно
задавать ограничения с помощью команды Check Constrains
После того как будут сконфигурированы параметры всех столбцов, необходимо
сохранить сконфигурированную таблицу. Для этого достаточно нажать кнопку Save,
расположенную в панели инструментов. При этом будет выведено окно Choose Name,
с помощью которого следует ввести имя, которое будет присвоено
сконфигурированной таблице. На этом работу по созданию таблиц можно закончить.
Однако можно определить в таблице ограничения целостности, проиндексировать те
или иные столбцы, а также указать в какой группе файлов должна быть расположена
таблица. Для управления этими свойствами используется окно Properties
(Свойства), которое открывается нажатием кнопки Table and Index Properties
(Свойства таблиц и индексов) на панели инструментов.
Для просмотра созданных диаграмм необходимо в окне Enterprise Manager
выбрать требуемую базу данных и открыть папку Diagram. Диаграмма не имеет
свойств, для просмотра диаграммы необходимо дважды щелкнуть на ней левой
клавишей мыши.
2.1.4 Схема данных
Связи между таблицами в базе данных «Аптека» представлены на рис.3
Рис.3. Связи между таблицами в базе данных
Выводы
Благодаря такому широкому набору инструментария для создания базы данных,
а также относительной простоте разработки и внедрения проекта базы данных, нами
было принято решение о создании базы данных Аптека «Ригла» средствами Microsoft SQL Server 2005.
. АВТОМАТИЗИРОВАННАЯ ИНФОРМАЦИОННАЯ СИСТЕМА НА ОСНОВЕ БАЗЫ ДАННЫХ
«Аптека «РИГЛА»
3.1 ТРИГГЕРЫ
Тригеры таблицы «Содержание заказа»:
1. добавление_товара_в_заказ
При добавлении заказа в таблицу проверяем количество товара в
наличие в таблице «Прайс цен». Если вводимый заказ больше того, что имеется ,
то в заказ пишем то количество которое есть в наличие, а в «Прайсе цен»
количество в наличие обнуляем.
USE [Apteka_Aibolit]
GO
/****** Object: Trigger [dbo].[добавление_товара_в_заказ] Script
Date: 06/16/2009 02:26:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[добавление_товара_в_заказ]
on [dbo].[Содержимое_заказа]
for insert
as
declare @Kol int, @Kol_Nal int, @NPr int, @Ch_firmi int, @NZakaza int
select @Kol=Кол_заказа from inserted
select @NPr=NПрепарата from inserted
select @NZakaza=NЗаказа from inserted
select @Ch_firmi=Шифр_фирмы from Заказ_по_фирме
where NЗаказа=@NZakaza
select @Kol_Nal=Количество_штук from Прайс_цен
where NПрепарата=@NPr and Шифр_фирмы=@Ch_firmi
if @Kol_Nal<@Kol
begin
update Содержимое_заказа set Кол_заказа=@Kol_Nal
where NПрепарата=@NPr and NЗаказа=@NZakaza
update Прайс_цен set Количество_штук=0
where NПрепарата=@NPr and Шифр_фирмы=@Ch_firmi
end
2. изменение_количества_в_прайсе_при_добавлении_товара_в
_заказ
При добавлении заказа в таблицу проверяем количество товара в
наличие в таблице «Прайс цен». Если вводимый заказ меньше того, что имеется ,
то в заказ пишем заказываемое количество, а в «Прайсе цен» количество уменьшаем
на величину, равную заказу.
[Apteka_Aibolit]
/****** Object: Trigger [dbo].[изменение_количества_в_прайсе_при_добавлении_товара_в_заказ]
Script Date: 06/16/2009 02:28:50 ******/
SET ANSI_NULLS ONQUOTED_IDENTIFIER ON
GOtrigger
[dbo].[изменение_количества_в_прайсе_при_добавлении_товара_в_заказ]
on [dbo].[Содержимое_заказа]insert@Kol int, @Kol_Nal
int, @NPr int, @Ch_firmi int,@NZakaza int@Kol=Кол_заказа from inserted@NPr=NПрепарата from inserted@NZakaza=NЗаказа from inserted
select @Ch_firmi=Шифр_фирмы from Заказ_по_фирме
where NЗаказа=@NZakaza@Kol_Nal=Количество_штук from Прайс_ценNПрепарата=@NPr and Шифр_фирмы=@Ch_firmi@Kol_Nal>@KolПрайс_цен set Количество_штук=@Kol_Nal-@KolNПрепарата=@NPr and Шифр_фирмы=@Ch_firmi
end
. изменение_количества_в_прайсе_при_удалении_товара_из_заказа
При удалении из заказа одного из препаратов пересчитываем количество в
наличие в «Прайсе цен».
[Apteka_Aibolit]
/****** Object: Trigger
[dbo].[изменение_количества_в_прайсе_при_удалении_товара_из_заказа] Script
Date: 06/16/2009 02:30:52 ******/
SET ANSI_NULLS ONQUOTED_IDENTIFIER ON
GOtrigger [dbo].[изменение_количества_в_прайсе_при_удалении_товара_из_заказа]
on [dbo].[Содержимое_заказа]delete@Kol int, @Kol_Nal
int, @NPr int, @Ch_firmi int,@NZakaza int@Kol=Кол_заказа from deleted@NPr=NПрепарата from deleted@NZakaza=NЗаказа from deleted
select @Ch_firmi=Шифр_фирмы from Заказ_по_фирме
where NЗаказа=@NZakaza@Kol_Nal=Количество_штук from Прайс_ценNПрепарата=@NPr and Шифр_фирмы=@Ch_firmiПрайс_цен set Количество_штук=@Kol_Nal+@KolNПрепарата=@NPr and Шифр_фирмы=@Ch_firmi
end
4. подсчет_итого_к_оплате_за_товар
Подсчет «к оплате» за один товар. То есть количество заказанного
препарата умножаем на его цену из «Прайса цен».
USE [Apteka_Aibolit]
/****** Object: Trigger [dbo].[подсчет_к_оплате_за_один_товар] Script Date: 06/16/2009 02:32:34
******/ANSI_NULLS ONQUOTED_IDENTIFIER ON
GOtrigger [dbo].[подсчет_к_оплате_за_один_товар]
on [dbo].[Содержимое_заказа]insert@Stoim int,@Kol
int, @NPr int, @Ch_firmi int, @NZakaza int, @K_oplate money@Kol=Кол_заказа from inserted@NPr=NПрепарата from inserted@NZakaza=NЗаказа from inserted @Ch_firmi=Шифр_фирмы from Заказ_по_фирме
where NЗаказа=@NZakaza
select
@Stoim = цена from Прайс_цен
where NПрепарата=@NPr and Шифр_фирмы=@Ch_firmi
if @Kol!=0Содержимое_заказа set
К_оплате_за_товар=@Kol*@StoimNПрепарата=@NPr
5. подсчет_к_оплате_за_один_товар
Подсчет «Итого к оплате за заказ». Суммируем все «К оплате» по одному
номеру заказа.
USE [Apteka_Aibolit]
/****** Object: Trigger [dbo].[подсчет_итого_к_оплате_за_товар] Script Date: 06/16/2009 02:35:30
******/ANSI_NULLS ONQUOTED_IDENTIFIER ON
GOtrigger [dbo].[подсчет_итого_к_оплате_за_товар]
on [dbo].[Содержимое_заказа]insert@NPr int, @Ch_firmi
int, @NZakaza int, @K_oplate money, @Itogo_K_oplate money@NZakaza=NЗаказа from inserted@Ch_firmi=Шифр_фирмы from Заказ_по_фирме
6. изменение_итого_к_оплате_в_заказ_по_фирме_при_удалении_товара_из_заказа
При удалении товара из заказа пересчет «Итого к оплате за заказ».
USE [Apteka_Aibolit]
/****** Object: Trigger
[dbo].[изменение_итого_к_оплате_в_заказ_по_фирме_при_удалении_товара_из_заказа]
Script Date: 06/16/2009 02:37:02 ******/
SET ANSI_NULLS ONQUOTED_IDENTIFIER ON
GOtrigger
[dbo].[изменение_итого_к_оплате_в_заказ_по_фирме_при_удалении_товара_из_заказа]
on [dbo].[Содержимое_заказа]delete@Kol int, @NPr int,
@Ch_firmi int,@NZakaza int, @itogo_k_oplate_za_zakaz money, @k_oplate_za_tovar
money@NZakaza=NЗаказа from deleted@k_oplate_za_tovar=К_оплате_за_товар from deleted
select @Ch_firmi=Шифр_фирмы from
Заказ_по_фирмеNЗаказа=@NZakaza@itogo_k_oplate_za_zakaz=Итого_к_оплате_за_заказ
from Заказ_по_фирмеNЗаказа=@NZakaza
Заказ_по_фирме set Итого_к_оплате_за_заказ=@itogo_k_oplate_za_zakaz-@k_oplate_za_tovar
where NЗаказа=@NZakaza and Шифр_фирмы=@Ch_firmi
3.2 ХРАНИМЫЕ ПРОЦЕДУРЫ
. sel.
Предназначена для отображения для определенного препарата фирм, ее
поставляющих, цен на этих фирмах, количество в наличии.
USE [Apteka_Aibolit]
/****** Object: StoredProcedure [dbo].[sel] Script Date:
06/16/2009 02:44:16 ******/ANSI_NULLS ONQUOTED_IDENTIFIER ONproc [dbo].[sel]
@se nchar(150)Препараты.*, Прайс_цен.цена, Прайс_цен.Количество_штук, Фирмы.Название_фирмы, Фирмы.Адрес, Фирмы.Телефон, Фирмы.СайтПрайс_цен INNER JOIN
Препараты ON Прайс_цен.NПрепарата = Препараты.NПрепарата INNER JOIN
Фирмы ON Прайс_цен.Шифр_фирмы =
Фирмы.Шифр_фирмы(Препараты.Название_препарата = @se)
. БАД.
Предназначена для отбора из препаратов только БАД.
USE [Apteka_Aibolit]
/****** Object: StoredProcedure [dbo].[БАД] Script Date: 06/16/2009 02:45:33
******/ANSI_NULLS ONQUOTED_IDENTIFIER ONproc [dbo].[БАД]NПрепарата, Регистрационный_номер, Название_препарата,
Международное_непатентовонне_название, Химическое_название, Срок_хранения,
Изображение, Тип_препарата, Примечание, Форма_выпуска,
Состав_и_лекарственная_форма, Фармакотерапевтическая_группа, Фармакодинамика,
Фармакокинетика, ПроизводительПрепараты(Препараты.Тип_препарата = 'Бад')
. Витамин
Предназначена для отбора из препаратов только Витаминов.
USE [Apteka_Aibolit]
/****** Object: StoredProcedure [dbo].[Витамин] Script Date: 06/16/2009 02:45:33
******/ANSI_NULLS ONQUOTED_IDENTIFIER ONproc [dbo].[БАД]NПрепарата, Регистрационный_номер, Название_препарата,
Международное_непатентовонне_название, Химическое_название, Срок_хранения,
Изображение, Тип_препарата, Примечание, Форма_выпуска,
Состав_и_лекарственная_форма, Фармакотерапевтическая_группа, Фармакодинамика,
Фармакокинетика, ПроизводительПрепараты(Препараты.Тип_препарата =
'Витамин)
. Косметика
Предназначена для отбора из препаратов только косметики.
USE [Apteka_Aibolit]
/****** Object: StoredProcedure [dbo].[Косметика] Script Date: 06/16/2009 02:45:33
******/ANSI_NULLS ONQUOTED_IDENTIFIER ONproc [dbo].[БАД]NПрепарата, Регистрационный_номер, Название_препарата,
Международное_непатентовонне_название, Химическое_название, Срок_хранения,
Изображение, Тип_препарата, Примечание, Форма_выпуска,
Состав_и_лекарственная_форма, Фармакотерапевтическая_группа, Фармакодинамика,
Фармакокинетика, ПроизводительПрепараты(Препараты.Тип_препарата =
'Косметика)
. Лекарственные препараты
Предназначена для отбора из препаратов только БАД.
USE [Apteka_Aibolit]
/****** Object: StoredProcedure [dbo].[БАД] Script Date: 06/16/2009 02:45:33
******/ANSI_NULLS ONQUOTED_IDENTIFIER ON
ALTER proc [dbo].[Лекарственные
препараты]NПрепарата, Регистрационный_номер, Название_препарата,
Международное_непатентовонне_название, Химическое_название, Срок_хранения,
Изображение, Тип_препарата, Примечание, Форма_выпуска,
Состав_и_лекарственная_форма, Фармакотерапевтическая_группа, Фармакодинамика,
Фармакокинетика, ПроизводительПрепараты(Препараты.Тип_препарата =
'Лекаство')
. Поиск_препарата
Предназначена для поиска препарата по его названию.
USE [Apteka_Aibolit]
GO
/****** Object: StoredProcedure [dbo].[Поиск_препарата] Script Date: 06/16/2009 02:50:48 ******/ANSI_NULLS
ONQUOTED_IDENTIFIER ONproc [dbo].[Поиск_препарата]
@nazv nchar(150)NПрепарата, Регистрационный_номер,
Название_препарата, Международное_непатентовонне_название, Химическое_название,
Срок_хранения,
Изображение, Тип_препарата, Примечание, Форма_выпуска,
Состав_и_лекарственная_форма, Фармакотерапевтическая_группа, Фармакодинамика,
Фармакокинетика, ПроизводительПрепараты(Препараты.Название_препарата =
@nazv)
7. Поиск_фирмы
Предназначена для поиска фирмы по ее названию.
USE [Apteka_Aibolit]
/****** Object: StoredProcedure [dbo].[Поиск_фирмы] Script Date: 06/16/2009 02:54:56 ******/ANSI_NULLS
ONQUOTED_IDENTIFIER ON
proc [dbo].[Поиск_фирмы]
@nazv nchar(30)Фирмы.*
FROM Фирмы(Фирмы.Название_фирмы = @nazv)
. показания_к_применению_по_заболеванию
Предназначена для выбора для определенного препарата показания к
применению по определенному заболеванию.
USE [Apteka_Aibolit]
/****** Object: StoredProcedure [dbo].[показания_к_применению_по_заболеванию] Script Date: 06/16/2009 02:56:10 ******/ANSI_NULLS
ONQUOTED_IDENTIFIER ON
GOproc [dbo].[показания_к_применению_по_заболеванию]
@zabolevanie nchar(50)Заболевания.При_зболеваниях, Заболевания.Тип_препарата,
Показания_к_применению.*, Препараты.Название_препаратаЗаболевания INNER JOIN
Показания_к_применению ON Заболевания.Шифр_заболевания =
Показания_к_применению.[При заболеваниях] INNER JOIN
Препараты ON Показания_к_применению.NПрепарата = Препараты.NПрепарата(Заболевания.При_зболеваниях
= @zabolevanie)
.3 ОРГАНИЗАЦИЯ ИНТЕРФЕЙСА С ПОЛЬЗОВАТЕЛЕМ
После нажатия на кнопку «Препараты» открывается окно, представленное на
рисунке 5. В этом окне можно просматривать каталог товаров и осуществлять по
нему поиск.
Рис.5. Окно «Препараты»
При нажатии на ссылку «Показания к применению» открывается окно, которое
представлено на рис. 6. Здесь при вводе категории заболевания можно получить по
нему показания к применению:
Рис.6. Показания к применению
При нажатии на ссылку «Фармакологические свойства» появляется окно,
представленное на рис.7.
Рис.7. Фармакологические свойства
При нажатии на ссылку «Состав и лекарственная форма» появляется окно,
представленное на рис.8.:
Рис.8. Состав и лекарственная форма
При нажатии на одну из ссылок «Витамины», «Лекарственные препараты»,
«БАД», «Косметика» появляются такие окна, представленные на рис.9.
Рис.9. Тип препарата
При нажатии на кнопку поиск по названию, появляется окно, представленное
на рис.10
Рис.10. Поиск по названию
При нажатии на кнопку «Фирмы», появляется окно, представленное на рис. 11
Рис 11. Фирмы
При нажатии на кнопку поиск по названию, появляется окно, представленное
на рис.12
Рис.12. Поиск по названию
При нажатии из главного окна на кнопку «Прайс цен», появляется окно,
представленное на рис.13.
Рис.13 «Прайс цен»
При нажатии на кнопку «Заказ», появляется окно, представленное на рис.14.
Рис.14 Заказ
При нажатии на кнопку «Содержимое заказа», появляется окно,
представленное на рис.15.
Рис. 15 «Содержимое заказа».
Выводы
В данной главе был рассмотрен порядок разработки базы данных средствами MySQL, а также разработан внешний
интерфейс программного продукта
4. Обоснование экономической эффективности разработки базы данных
для автоматизации работы аптеки «Ригла»
.1 Выбор и обоснование методики расчёта
экономической эффективности
Возможны следующие варианты расчета экономической эффективности:
- сравнение вариантов предлагаемой и существующей АС по комплексу задач;
- сравнение вариантов организации автоматизированной системы;
- сравнение вариантов по трудозатратам базового и
автоматизированного варианта [14].
В рассматриваемом варианте внедренной АС все результативные показатели
являются расчетными. В связи с этим, наиболее подходящим является вариант
сравнения базовой и усовершенствованной технологий по сравнению трудозатрат по
операциям технологического процесса.
Экономической эффективностью является разность стоимостного эффекта от
внедрения автоматизированной системы и затрат на ее создание и эксплуатацию за
определенный период времени.
Рассматриваемая методика рассчитана на такую ситуацию, когда невозможно
оценить общую эффективность автоматизации задачи (косвенный экономический
эффект). В основе этой методики лежит сопоставление показателей, полученных в
работе с использованием АС, с показателями базового варианта обработки
информации без ИС [5].
Экономическая эффективность оценивается трудовыми и стоимостными показателями,
которые позволяют измерить экономию от внедрения предлагаемого проекта машинной
обработки информации относительно базового варианта.
К трудовым показателям относятся следующие:
) Показатель абсолютного снижения трудовых затрат за год (DТ) [час/год], который рассчитывается
по формуле [14]:
где:
Т0 - трудовые затраты на обработку информации по базовому варианту;
Т1
- трудовые затраты на обработку информации по предлагаемому варианту;
)
Коэффициент относительного снижения трудовых затрат (Кт), показывающий на какую
долю или процент снижаются затраты предлагаемого варианта по сравнению с
базовым, который рассчитывается по формуле:
)
Индекс снижения трудовых затрат (IT), показывающий во сколько раз снижаются трудовые
затраты предлагаемого j-того варианта по сравнению с базовым вариантом, и
рассчитываемый по формуле [14]:
К
стоимостным показателям относятся следующие:
)
Показатель абсолютного снижения стоимостных затрат за год (DС) [руб/год], который можно рассчитать по формуле:
где:
C0 - стоимостные затраты на обработку информации по
базовому варианту [руб/год];
C1 - стоимостные
затраты на обработку информации по предлагаемому варианту [руб/год];
)
Индекс снижения стоимостных затрат IC, рассчитываемый по формуле:
)
Коэффициент снижения стоимостных затрат за год KC, который
рассчитывается по формуле:
)
Показатель стоимостных затрат на j- ой технологический процесс CJ представляет
собой сумму затрат на j- ый технологический процесс по следующим статьям
затрат:
- на заработную плату;
- на амортизацию;
- на ведение информационной базы;
- накладные расходы.
Этот показатель рассчитывается по формуле:
где:
8) Cij показатель стоимостных затрат на i-тую
операцию j-того технологического процесса, в состав которого
включаются следующие компоненты:
CIJ = Cз/п
+ Cнр+ Cа+ Cиб (8)
где:
8.1) Cз/п затраты на заработную плату пользователя, которые
можно рассчитать по формуле:
Cз/п = tij *
ri (9)
где:
tij - трудоемкость выполнения i-ой операции j-го
технологического процесса;
ri - тарифная
ставка i- ой операции;
.2)
Cнр - затраты на накладные расходы, рассчитываемые как
производная величина от затрат на заработную плату:
Cнр = Cз/п
* Кнр (10)
где:
KHP величина коэффициента накладных расходов, принимая
как правило в размере 0,6 -0,7 от величины затрат за заработную плату [10];
.3)
Cа - величина амортизационных отчислений на используемую
технику, рассчитываемая по формуле:
Cа = tij *
ai (11)
где:
аi - норма амортизационных отчислений [10];
.4)
Cиб - годовые затраты на ведение информационной базы.
Коэффициенты
Kj и K0 характеризуют рост производительности труда за счет
внедрения более экономичного варианта проектных решений.
При
оценке эффективности используются обобщающие и частные показатели.
К
основным обобщающим показателям экономической эффективности относятся:
- годовой экономический эффект;
- расчетный коэффициент эффективности капитальных вложений;
- срок окупаемости системы;
Годовой экономический эффект от внедрения проекта (Э) определяется как
разность между головной экономией и нормативной прибылью [руб/год]:
Э = (С0 + Ен * К0) - (Сj + Ен
* Кj) (12)
где: Kj и K0 - капитальные затраты, включающие в себя затраты на
следующие направления:
1. На приобретение вычислительной
техники в базовом и предлагаемом вариантах;
2. На покупку ПО;
3. На освоение программного обеспечения;
4. На проектирование и отладку проекта.
Ен - нормативный коэффициент эффективности капитальных вложений; Значение
Ен принимается равным 0,2 для всех отраслей народного хозяйства [10]. Он
представляет собой усредненную норму эффективности капитальных вложений, ниже
которых они нецелесообразны.
Произведение Ен, в данном случае, следует рассматривать как нормативную
прибыль [в руб.], которая должна быть получена от внедрения системы.
Помимо вышеприведенных показателей эффективности проектировщики
рассчитывают также показатель срока окупаемости капитальных затрат (Ток),
представляющий собой отношение капитальных затрат к экономии стоимостных
затрат:
Расчетный коэффициент экономической эффективности капитальных затрат (Ер)
представляет собой отношение годовой экономии (годового прироста прибыли) к
капитальным затратам на разработку и внедрение АИС:
Предлагается
так же годовой экономический эффект (Эгод) определить по формуле:
Эгод = С1 - С2 (15)
где: С1 - себестоимость до внедрения программного комплекса;
С2 - себестоимость после внедрения программного комплекса.
Коэффициент экономической эффективности (Е):
Е = Эгод / Квл
где: Эгод -
годовой экономический эффект;
Квл - капитальные вложения.
Срок окупаемости затрат на внедрение программного продукта (Ток)
вычисляется по формуле: Ток = 1/ Е.
4.2 Расчёт показателей экономической
эффективности
Примем стоимость одного часа работы как среднее значение почасовой
зарплаты фармацевта. При средней зарплате 40 000 рублей/месяц средняя почасовая
зарплата составит:
Ri =
4000/176 = 227,27 руб/час
План продаж - 416 часов, отчёт по фактическим продажам - 936 часов, план
производства - 416 часов, отчёт производства - 990 часов, план складирования -
730 часов, складской отчёт - 1460 часов, план доставки - 1095 часов, отчёт о
доставке - 730 часов. Итого - 6773 часа в год.
Стоимостные затраты по базовому варианту 6773 * 227,27 = 1 539 299, 71
рублей в год.
Операция тех. процесса
|
Объём работы в год
(операций)
|
Норма выработки по ручной
операции или производительность ЭВМ (опер/час)
|
Трудоёмкость (час)
|
Часовая зарплата
специалиста
|
Часовая норма амортизации
(руб/час)
|
Часовая стоимость накладных
расходов
|
Стоимость
|
1
|
2
|
3
|
4 = 2/3
|
5
|
6
|
7 = 5*0,7
|
8 = (5 + 6 + 7)*4
|
Вызов главного меню
|
52
|
360
|
0,14
|
227,27
|
28,76
|
159,09
|
58,12
|
Выбор и вызов пункта меню
«Отчёт по поставщикам»
|
52
|
720
|
0,07
|
227,27
|
28,76
|
159,09
|
29,06
|
Импорт данных о проданных
препаратах
|
52
|
720
|
0,07
|
227,27
|
28,76
|
159,09
|
29,06
|
Заполнение таблицы БД
|
52
|
~0
|
~0
|
227,27
|
28,76
|
159,09
|
~0
|
Формирование плана в результативной
таблице
|
52
|
~0
|
~0
|
227,27
|
28,76
|
159,09
|
~0
|
Просмотр результативной
таблицы
|
52
|
6
|
8,6
|
227,27
|
28,76
|
159,09
|
3570,03
|
Формирование файла с планом
|
52
|
~0
|
~0
|
227,27
|
28,76
|
159,09
|
~0
|
Печать фрагмента таблицы
|
52
|
120
|
0,4
|
227,27
|
28,76
|
159,09
|
166,05
|
Загрузка файла в
корпоративную ИС
|
52
|
~0
|
~0
|
227,27
|
28,76
|
159,09
|
~0
|
Итого:
|
---
|
---
|
9,28
|
---
|
--
|
----
|
3852,31
|
Вызов главного меню
|
52
|
360
|
0,14
|
227,27
|
28,76
|
159,09
|
58,12
|
Выбор и вызов пункта меню
«Отчёт по препаратам»
|
52
|
720
|
0,07
|
227,27
|
28,76
|
159,09
|
29,06
|
Импорт данных из отчёта
|
52
|
900
|
0,06
|
227,27
|
28,76
|
159,09
|
24,91
|
Задание временного периода
|
52
|
720
|
0,07
|
227,27
|
28,76
|
159,09
|
29,06
|
Формирование файла
|
52
|
~0
|
~0
|
227,27
|
28,76
|
159,09
|
~0
|
Печать файла
|
52
|
1200
|
0,04
|
227,27
|
28,76
|
159,09
|
16,61
|
Итого:
|
---
|
---
|
0,38
|
---
|
---
|
---
|
157,75
|
В таблице приведён расчёт стоимостных затрат в варианте с использованием
АС для плана продаж и статистического отчёта по видам продукции в соответствии
с технологическим процессом.
Временные затраты на работу с интерфейсом определялись по хронометражу.
Процессы внутримашинной обработки, ориентировочно, приравнивались нулю, т.к. в
АС интегрирован четырехпроцессорный, четырехъядерный сервер и, соответственно,
временные затраты на внутримащинную обработку малозначимы по сравнению с
ручными операциями при работе с интерфейсом.
Планы-отчёты по выполненным работам и по запасным частям формируются один
раз в календарную неделю, а план по складированию и по доставке - один раз в
день. Все основные технологические процессы идентичны.
Трудоёмкость с использованием АС составит:
,28*2 + ((9,28*2)/52)*360 + 0,38*3 = 148,15 часов в год
Расходы на обработку документов с использованием АС:
(227,27 + 28,76 + 159,09) * 148,15 = 61 500, 03 рублей в год.
В таблице приведены показатели эффективности от внедрения новой технологии.
Расчеты проведены в соответствие с формулами (1 - 6):
Таблица. Расчет показателей экономической эффективности
№п/п
|
Показатель
|
Затраты базового варианта
|
Затраты предлагаемого
варианта
|
Абсолютное изменение затрат
|
Коэффициент изменения
затрат (%)
|
Индекс изменения затрат
(б/р)
|
2
|
3
|
4
|
5=3-4
|
6 = (5/3)*100
|
7 = 3/4
|
11
|
Трудоёмкость (часов)
|
6773
|
148,15
|
6624,85
|
97,81
|
45,72
|
22
|
Стоимость (рублей)
|
1539299,71
|
61500,03
|
1477799,68
|
96,01
|
25,03
|
Годовой экономический эффект от внедрения проекта:
Эгод = 1 477 799,68 - 1 242 247,92 * 0,2 = 1 229 350,1 рублей
Коэффициент экономической эффективности (Е):
Е = 1 229 350,1 /
1 242 247,92 = 0,99
Срок окупаемости затрат на внедрение программного продукта:
ТОК = 1 / 0,99 * 12 = 12,12 месяцев.
поставщик лекарственный
препарат аптека
Выводы
Таким образом, проект окупится за один год, с учетом затрат на этапе
эксплуатации, рассчитанным на пять лет. Годовой экономический эффект составляет
1 229 350, 1 рублей.
Внедрение АС по обработке заявок экономически целесообразно, так как АС
окупит себя за один год. И за время эксплуатации в течение пяти лет, даст
прямой экономический эффект в размере 6 146 750,5 рублей.
ЗАКЛЮЧЕНИЕ
В современных условиях поиск оптимального решения проблемы организации
интерфейса взаимодействия приобретает характер комплексной задачи, решение
которой существенно осложняется необходимостью оптимизации функционального
взаимодействия работников предприятия между собой и с техническими средствами
АСУ в условиях изменяющегося характера их профессиональной деятельности.
На современном этапе развития общества, когда происходит полная
компьютеризация, время требует от программистов разработки новых программ,
которые сумеют облегчить труд людей в разных сферах жизни. Современному
человеку необходимы программы для реализации их возрастающих масштабов
деятельности и данная программа им в этом поможет.
Предоставленная программа предназначена для работы с базой данных
«Аптека» для любого пользователя.
Свойства программы - быстрый ввод, обработка и поиск данных в данной
базе. Программа включает в себя следующие процедуры: создание новой базы
данных, просмотр существующей базы данных, редактирование записей, их
добавление и удаление (все с сохранением в текстовом файле), поиск записей и
сортировка записей по данному полю.
Особый упор при внедрении данных задач, проектирование и разработка АИС
следует, конечно, придавать современным CASE-средствам разработки программ, так
как они наиболее оптимально позволяют проектировать решения в основе которых
лежат, в первую очередь, требования к согласованному пользовательскому
интерфейсу, каковым и является интерфейс Windows. Никакие продукты других фирм,
доступные сегодня, не обеспечивают одновременную простоту использования,
производительность и гибкость в такой степени, как Delphi. Этот язык заполнил
брешь между языками 3-го и 4-го поколений, соединив их сильные стороны и создав
мощную, и производительную среду разработки.
В данной дипломной работе была спроектирована автоматизированная система
учета продаж лекарственных препаратов в аптеке «Ригла»
В ходе написания дипломной работы было выполнено следующее:
1 Проанализирована деятельность ООО «Ригла»;
2 Изучены функциональные обязанности работников и сущность процесса
учета и контроля заявок;
Выбраны средства разработки;
Спроектирована структура разрабатываемой системы;
Разработан пользовательский интерфейс;
Реализована и протестирована АС на данных конкретного примера;
7 Рассчитан экономический эффект от внедрения
Спроектированная АС занимает минимум пространства и памяти при условии
всех связей между данными. В нее легко можно вводить новые данные. База данных
полностью удовлетворяет требованиям клиента, так как она удобна в использовании
и выдает нужную информацию.
Все поставленные цели в результате выполнения работы достигнуты.
5. Безопасность жизнедеятельности
Конструкция монитора (видео терминального устройства - ВДТ) должна
обеспечивать возможность фронтального наблюдения экрана путем поворота корпуса
в горизонтальной плоскости вокруг вертикальной оси в пределах ± 30° и в вертикальной плоскости вокруг горизонтальной оси
в пределах ± 30° с фиксацией в заданном положении.
Дизайн мониторов должен предусматривать окраску в спокойные мягкие тона с
диффузным рассеиванием света. Корпус монитора и ПЭВМ, клавиатура должны иметь
матовую поверхность одного цвета с коэффициентом отражения 0,4 - 0,6 и не иметь
блестящих деталей, способных создавать блики.
Конструкция ВДТ должна предусматривать наличие ручек регулировки яркости
и контраста, обеспечивающие возможность регулировки яркости и контраста,
обеспечивающие возможность регулировки этих параметров от минимальных до
максимальных значений.
ВДТ и ПЭВМ должны обеспечивать мощность экспозиционной дозы
рентгеновского излучения в любой точке на расстоянии 0,05м. от экрана и корпуса
монитора при любых положениях регулировочных устройств не должна превышать
7,74х10 А/кг, что соответствует эквивалентной дозе, равной 0,1 мбэр/час (100
мкР/час).
Таблица 7 - Визуальные эргономические параметры ВДТ и пределы их
изменений.
НАИМЕНОАНИЕ ПАРАМЕТРОВ
|
ПРЕДЕЛЫ ЗНАЧЕНИЙ ПАРАМЕТРОВ
|
|
миним. (не менее)
|
макс. (не более)
|
Яркость знака (яркость
фона), кд/ кв. м. (измеренная в темноте)
|
35
|
120
|
Внешняя освещенность
экрана, лк
|
100
|
250
|
Угловой размер знака, угл.
Мин.
|
16
|
60
|
. Оптимальным диапазоном значений визуального эргономического параметра
называется диапазон, в пределах которого обеспечивается безошибочное считывание
информации при времени реакции человека - оператора, превышающем минимальное,
установленное экспериментально для данного типа ВДТ, не более чем в 1,2 раза.
. Допустимым диапазоном значений визуального эргономического параметра
называется диапазон, при котором обеспечивается безошибочное считывание
информации, а время реакции человека - оператора превышает минимальное,
установленное экспериментально для данного типа ВДТ, не более чем в 1,5 раза.
. Угловой размер знака - угол между линиями, соединяющими крайние точки
знака по высоте и глаз наблюдателя.
Угловой размер знака определяется по формуле: a = arctg
(h/2 l), где h -
высота знака, l - расстояние от знака до глаза
наблюдателя.
. Данные, приведенные в настоящей таблице (17), подлежат корректировке по
мере введения в действие новых стандартов, регламентирующих требования и нормы
на визуальные параметры ВДТ.
Таблица 8 - Нормируемые визуальные параметры видео дисплейных терминалов
№
|
НАИМЕНОВАНИЕ ПАРАМЕТРОВ
|
ЗНАЧЕНИЯ ПАРАМЕТРОВ
|
1
|
Контраст (для монохромных
ВДТ)
|
От 3 : 1 до 1,5 : 1
|
2
|
Неравномерность яркости 2/
элементов знаков, %
|
не более ± 25
|
3
|
Неравномерность яркости 2/
рабочего поля экрана, %
|
не более ± 20
|
4
|
Формат матрицы знака для
прописных букв и цифр, (для отображения диакритических знаков и строчных букв
с нижними выносными элементами формат матрицы должен быть увеличен сверху или
снизу на 2 элемента изображения)
|
не менее 7 * 9 элементов
изображения не менее 5 * 7 элементов изображения
|
5
|
Отношение ширины знака к
его высоте для прописных букв
|
от 0,7 до 0.9 (допускается
от 0,5 до 1,0)
|
6
|
Размер минимального
элемента отображения (пикселя) для монохромного ВДТ, мм
|
0,3
|
7
|
Угол наклона линии
наблюдения, град.
|
не более 60 град ниже
горизонтали
|
8
|
Угол наблюдения, град.
|
не более 40 град. от
нормали к любой точке экрана дисплея
|
9
|
Допустимое горизонтальное
смещение однотипных знаков, % от ширины знака
|
не более 5
|
10
|
Допустимое вертикальное
смещение однотипных знаков, % от высоты матрицы,
|
не более 5
|
11
|
Отклонение формы рабочего
поля экрана ВДТ от правильного прямоугольника не должно превышать: 1. по
горизонтали 2. по вертикали 3. по диагонали где В1 и В2 - значения длин
верхней и нижней строк текста на рабочем поле экрана, мм; Н1 и Н2 - значения
длин крайних столбцов на рабочем поле экрана, мм; D1 и D2
значения длин диагоналей рабочего поля экрана, мм;
|
В1 - В2 DВ=В1 + В2 < 0,02 Н1 - Н2 DВ=Н1 + Н2 < 0,02 D1 - D2 DВ=D1 + D2 < 0,04 (Н1 - Н2)
|
12
|
Допустимая пространственная
нестабильность изображения (дрожание по амплитуде изображения) при частоте
колебаний в диапазоне от 0,5 до 30 Гц, мм
|
- 4 не более 2 х L10
е (L-расстояние наблюдения мм)
|
13
|
Допустимая временная
нестабильность изображения (мерцание)
|
не должна быть
зафиксирована 90 % наблюдателей
|
14
|
Отражательная способность,
зеркальное и смешанное отражение (блики), % (допускается выполнение
требования при использовании) приэкранного фильтра
|
не более 1
|
Монитор, как и любое устройство должен соответствовать определенным
требованиям и стандартам. Требования на мониторы разделяют на две основные
группы стандартов и рекомендаций - по безопасности и эргономике.
К первой группе относятся стандарты UL, CSA, DHHS, CE, скандинавские
SEMRO, DEMKO, NEMKO, а также FCC Class B. Из второй группы наиболее известны
MPR-II, TCO’92, TCO’95, ISO 9241-3, EPA Energy Star, TUV Ergonomie. Вот
некоторые из них:
. FCC Class B - этот стандарт разработан канадской федеральной комиссией
по коммуникациям для обеспечения приемлемой защиты окружающей среды от влияния
радиопомех в замкнутом пространстве. Оборудование, соответствующее требованиям
FCC Class B, не должно мешать работе теле- и радио аппаратуры.
. MPR-II - этот стандарт был выпущен в 1990г. Шведским национальным
департаментом и утвержден ЕЭС. MPR-II налагает ограничения на излучения от
компьютерных мониторов и промышленной техники, используемой в офисе.
. TCO’92 (TCO’95) - рекомендация, разработанная Шведской конференцией
профсоюзов и Национальным советом индустриального и технического развития
Швеции (NUTEK), регламентирует взаимодействие с окружающей средой. Она требует
уменьшения электрического и магнитного полей до технически возможного уровня с
целью защиты пользователя.
Таблица 9 - Требования ГОСТ
ДИАПАЗОН ЧАСТОТ
|
ТРЕБОВАНИЯ MPR-II
(расстояние 0,5)
|
ТРЕБОВАНИЯ TCO’92
(расстояние 0,5)
|
ЭЛЕКТРИЧЕСКОЕ ПОЛЕ
|
Сверхнизкие (5 Гц - 2кГц)
|
25 В/м
|
10 В/м
|
Низкие (2 кГц -400 кГц)
|
2,5 В/м
|
1 В/м
|
МАГНИТНОЕ ПОЛЕ
|
Сверхнизкие (5 Гц - 2кГц)
|
250 нТ
|
200 нТ
|
Низкие (2 кГц -400 кГц)
|
25 нТ
|
25 нТ
|
4. EPA Energy Star VESA DPMS - согласно этому стандарту монитор должен
поддерживать три энергосберегающих режима - ожидание (stand-by), приостановку
(suspend) и “сон” (off). В режиме ожидания изображение на экране пропадает, но
внутренние компоненты монитора функционируют в нормальном режиме, а
энергопотребление снижается до 80% от рабочего состояния. В режиме
приостановки, как правило, отключаются высоковольтные узлы, а потребление
электроэнергии падает до 30 Вт и менее. И, наконец, в режиме так называемого
“сна” монитор потребляет не более 8 Вт, а функционирует у него только
микропроцессор. При нажатии любой клавиши клавиатуры или движении мыши монитор
переходит в нормальный режим работы.
. Российский стандарт ГОСТ 27954 - 88 на видео мониторы персональных ЭВМ.
Требования этого стандарта обязательны для любого монитора продаваемого в РФ.
Основные требования приведены в таблице №10.
Таблица 10 - Требования ГОСТ
ХАРАКТЕРИСТИКА МОНИТОРА
|
ТРЕБОВАНИЯ ГОСТ - 27954-88
|
Частота кадров при работе с
позитивным контрастом
|
Не менее 60 Гц
|
Частота кадров режиме
обработки текста
|
Не менее 72 Гц
|
Дрожание элементов
изображения
|
Не более 0,1 мм
|
Антибликовое покрытие
|
Обязательно
|
Допустимый уровень шума
|
Не более 50 дБА
|
Мощность дозы
рентгеновского излучения на расстоянии 5 см от экрана при 41 - часовой недели
|
Не более 0,03 мкР/с
|
Кроме того, данным стандартом не допускается применение взрывоопасных
ЭЛТ, регламентируется степень детализации технической документации на мониторы,
а так же устанавливаются требования стандартизации и унификации,
технологичности, эргономики и технической эстетики, экологической безопасности,
технического ремонта и обслуживания, а также надежности. Мониторы персональных
компьютеров и рабочих станций при обязательных сертификационных испытаниях по
следующим параметрам:
Параметры безопасности - электрическая, механическая, пожарная
безопасность (ГОСТ Р 50377 - 92).
Санитарно - гигиенические требования - уровень звуковых шумов (ГОСТ 26329
- 84 или ГОСТ 2718 - 88), ультрафиолетовое, рентгеновское излучения и
показатели качества изображения (ГОСТ 27954 - 88).
. Электромагнитная совместимость - излучаемые радиопомехи (ГОСТ 29216 -
91).
Сертификат выдается только на весь комплекс вышеперечисленных ГОСТов.
Также рекомендуется наличие на экранах мониторов антистатического
покрытия (antistatic coating) - которое препятствует возникновению на поверхности
экрана электростатического заряда, притягивающего пыль и не благоприятно
влияющего на здоровье пользователя.
5.2 Требования к помещениям для эксплуатации мониторов и ПЭВМ
Помещение с мониторами и ПЭВМ должны иметь естественное и искусственное
освещение. Естественное освещение должно осуществляться через светопроемы,
ориентированные преимущественно на север и северо-восток обеспечивать коэффициент
естественного освещения (КЕО) не ниже 1,2 % в зонах с устойчивым снежным
покровом и не ниже 1,5 % на остальной территории. Указанные значения КЕО
нормируются для зданий, расположенных в III световом климатическом поясе.
Площадь на одно рабочее место с ВДТ или ПЭВМ для взрослых пользователей
должна составлять не менее 6,0 кв. м., а объем не менее 20,0 куб. м.
Для внутренней отделки интерьера помещений с мониторами и ПЭВМ должны
использоваться диффузно - отражающиеся материалы с коэффициентом отражения для
потолка - 0,7 - 0,8; для стен - 0,5 - 0,6; для пола - 0,3 - 0,5.
Поверхность пола в помещениях эксплуатации мониторов и ПЭВМ должна быть
ровной, без выбоин, нескользкой, удобной для очистки и для влажной уборки,
обладать антистатическими свойствами.
В производственных помещениях, в которых работа с мониторами и ПЭВМ
является основной (диспетчерские, операторские, расчетные, кабины и посты
управления, залы вычислительной техники и др.) должны обеспечиваться
оптимальные параметры микроклимата.
Для повышения влажности воздуха в помещениях с мониторами ПЭВМ следует
применять увлажнители воздуха, заправляемые ежедневно дистиллированной или
прокипяченной питьевой водой.
При выполнении основной работы на мониторах и ПЭВМ (диспетчерские,
операторские, расчетные, кабины и посты управления, залы вычислительной техники
и др.) где работают инженерно - технические работники, осуществляющие
лабораторный, аналитический или измерительный контроль, уровень шума не должен
превышать 60 дБА.
В помещениях операторов ЭВМ (без дисплеев) уровень шума не должен
превышать 65 дБА.
На рабочих местах в помещениях для размещения шумных агрегатов
вычислительных машин (АЦПУ, принтеры и др.) уровень шума не должен превышать 75
дБА.
Шумящее оборудование (АЦПУ, принтеры и др.), уровни шума которого
превышают нормированные, должно находится вне помещения с монитором и ПЭВМ.
Снизить уровень шума в помещениях с мониторами и ПЭВМ можно
использованием звукопоглощающих материалов с максимальными коэффициентами
звукопоглощения в области частот 63 - 8000 Гц для отделки помещений
(разрешенных органами и учреждениями Госсанэпиднадзора России), подтвержденных
специальными акустическими расчетами.
Дополнительным звукопоглощением служат однотонные занавеси из плотной
ткани, гармонирующие с окраской стен и подвешенные в складку на расстоянии 15 -
20 см от ограждения. Ширина занавеси должна быть в 2 раза больше ширины окна.
5.3 Требования к освещению помещений и рабочих мест с мониторами и
ПЭВМ
Искусственное освещение в помещениях эксплуатации мониторов и ПЭВМ должно
осуществляться системой общего равномерного освещения. Допускается
использование местного освещения, предназначенного для освещения зоны
расположения документов.
Освещенность на поверхности стола в зоне размещения рабочего документа
должна быть 300 - 500 лк. Допускается установка светильников местного освещения
для подсветки документов. Местное освещение не должно создавать бликов на
поверхности экрана и увеличивать освещенность экрана более 300 лк.
Следует ограничивать прямую блесткость от источников освещения, при этом
яркость светящихся поверхностей (окна, светильники и др.), находящихся в поле
зрения, не должна быть более 200 кд/ кв.м.
Следует ограничивать неравномерность распределения яркости в поле зрения
монитором и ПЭВМ, при этом соотношение яркости между рабочими поверхностями не
должно превышать 3:1 - 5:1, а между рабочими поверхностями и поверхностями стен
и оборудования 10:1.
Яркость светильников общего освещения в зоне углов излучения от 50° до 90° с вертикалью в продольной и поперечной плоскостях
должна составлять не более 200 кд/ кв. м., защитный угол светильников должен
быть не менее 40°.
Светильники местного освещения должны иметь не просвечивающий отражатель
с защитным углом не менее 40 градусов.
5.4 Требования к организации и оборудованию рабочих мест с
мониторами и ПЭВМ
Рабочие места с ВДТ и ПЭВМ по отношению к световым проектам должны
располагаться так, чтобы естественный свет падал сбоку, преимущественно слева.
Схемы размещения рабочих мест с ВДТ и ПЭВМ должны учитывать расстояния
между рабочими столами с видеомониторами (в направлении тыла поверхности одного
видеомонитора и экрана другого видеомонитора), которое должно быть не мене 2,0
м, а расстояние между боковыми поверхностями видеомониторов - не менее 1,2 м.
Оконные проемы в помещениях использования ВДТ и ПЭВМ должны быть
оборудованы регулируемыми устройствами типа: жалюзи, занавесей, внешних
козырьков и др.
Экран видеомонитора должен находиться на расстоянии 600 - 700 мм, но не
ближе 500 мм с учетом алфавитно-цифровых знаков и символов, рис. 7.5.
Помещения с ВДТ и ПЭВМ должны быть оснащены аптечкой первой помощи и
углекислотными огнетушителями.
Рис. 5. Схема расположения рабочих мест относительно светопроемов
5.5 Требования к клавиатуре
Конструкция клавиатуры должна предусматривать:
исполнение в виде отдельного устройства с возможностью свободного
перемещения;
опорное приспособление, позволяющее изменять угол наклона поверхности
клавиатуры в пределах от 5°до 15°;
высоты среднего ряда клавиш не более 30 мм;
расположение часто используемых клавиш в центре, внизу и справа, редко
используемых - вверх и влево;
выделение цветом, размером формой и местом расположения функциональных
групп клавиш;
минимальный размер клавиш - 13 мм, оптимальный - 15 мм;
клавиши с углублением в центре и шагом 19 ± 1 мм;
расстояние между клавишами не менее 3 мм;
одинаковый ход для всех клавиш с минимальным сопротивлением нажатию 0,25
Н и максимальной - не более 1,5Н;
звуковую обратную связь от включения клавиш с регулировкой уровня
звукового сигнала и возможностью его отключения.
Таблица 11 - Время регламентных перерывов в зависимости от
продолжительности рабочей смены, вида и категории трудовой деятельности с ВДТ И
ПЭВМ
Категория работы
|
Уровень нагрузки за рабочую
смену при видах работ с ВДТ
|
Суммарное время
регламентированных перерывов, мин
|
c ВДТ или ПЭВМ
|
группа А, количество знаков
|
группа Б, количество знаков
|
группа В, час
|
при 8 - ми часовой смене
|
при 16 - ми часовой смене
|
I
|
до 20.000
|
до 15.000
|
до 2,0
|
30
|
70
|
II
|
до 40.000
|
до 30.000
|
до 4,0
|
50
|
90
|
III
|
до 60.000
|
до 60.000
|
до 6,0
|
70
|
120
|
5.6 Требования к организации медицинского обслуживания пользователей
ВДТ и ПЭВМ
Профессиональные пользователи ВДТ и ПЭВМ должны проходить обязательные
предварительные (при поступлении на работу) и периодические осмотры в порядке и
в сроки, установленные Минздравмедпромом России и Госкомсанэпиднадзором России.
К непосредственной работе с ВДТ и ПЭВМ допускаются лица, не имеющие
медицинских противопоказаний.
Женщины со времени установления беременности и в период кормления ребенка
грудью к выполнению всех видов работ, связанных с использованием ВДТ и ПЭВМ, не
допускаются. Трудоустройство беременных женщин следует осуществлять в
соответствии с «Гигиеническими рекомендациями по рациональному трудоустройству
беременных женщин».[15,24]
Выводы
В главе рассмотрено влияние аппаратно-технических средств сети на
человека. Непосредственная эксплуатация разработанного программного обеспечения
производится на ЭВМ и для производственных целей, поэтому при работе необходимо
руководствоваться правилами техники безопасности.
Пользователь ЭВМ сталкивается с таким воздействием физических факторов,
как повышенный уровень шума, недостаточная освещенность рабочих мест,
электрический ток, статическое электричество, неправильная эргономика места,
состояние производственного помещения.
Заключение
В современных условиях поиск оптимального решения проблемы организации
интерфейса взаимодействия приобретает характер комплексной задачи, решение
которой существенно осложняется необходимостью оптимизации функционального
взаимодействия работников предприятия между собой и с техническими средствами
АСУ в условиях изменяющегося характера их профессиональной деятельности.
Особый упор при внедрении данных задач, проектирование и разработка АИС
следует, конечно, придавать современным CASE-средствам разработки программ, так
как они наиболее оптимально позволяют проектировать решения в основе которых
лежат, в первую очередь, требования к согласованному пользовательскому
интерфейсу, каковым и является интерфейс Windows. Никакие продукты других фирм,
доступные сегодня, не обеспечивают одновременную простоту использования,
производительность и гибкость в такой степени, как Delphi. Этот язык заполнил
брешь между языками 3-го и 4-го поколений, соединив их сильные стороны и создав
мощную, и производительную среду разработки.
В данной дипломной работе была спроектирована автоматизированная система
учета продаж Аптеки «Ригла».
В ходе написания дипломной работы было выполнено следующее:
8 Проанализирована деятельность Аптеки «Ригла»;
Изучены функциональные обязанности работников и сущность
процесса учета продаж;
Выбраны средства разработки;
Спроектирована структура разрабатываемой системы;
Разработан пользовательский интерфейс;
Реализована и протестирована АС на данных конкретного примера;
Рассчитан экономический эффект от внедрения
Спроектированная АС занимает минимум пространства и памяти при условии
всех связей между данными. В нее легко можно вводить новые данные. База данных
полностью удовлетворяет требованиям клиента, так как она удобна в использовании
и выдает нужную информацию.
Все поставленные цели в результате выполнения работы достигнуты.
СПИСОК ЛИТЕРАТУРЫ
1. Лазуков
Д. С., Кладиев А. В. Методическое пособие к выполнению лабораторных работ курса
«Распределённые базы данных».
2. Ризаев
И. С. Системы распределённой обработки данных: Учебное пособие. Казань: 2007. -
83 с.
. Федоров А. А. Microsoft Visual Studio
2008. Краткий обзор
ключевых новинок. 2008.
4. Арунянц
Г. Г. Информационные технологии в медицине и здравоохранении: практикум / Г. Г.
Арунянц, Д. Н. Столбовский. - Ростов-на-Дону : Феникс, 2009. - 187 c.
5. Бадаев
Ф. И. Технология предварительной электронной записи на консультативные приемы
поликлиники областной больницы: анализ реализации проекта на территории
Свердловской области 2007-2009 гг. / Ф. И. Бадаев, Ф. И. Терещук // Менеджер
здравоохранения. - 2009. - № 10. - С. 46-50.
. Внедрение
ИТ в здравоохранении на региональном уровне. Итоги заседания Экспертно-консультативной
группы Совета / Р. Ивакин [и др.] // Менеджер здравоохранения. - 2011. - № 2. -
С. 58-61.
. Гусев
А. В. Обзор решений "Электронная регистратура" / А. В. Гусев //
Менеджер здравоохранения. - 2011. - № 3. - С. 60-71.
. Ежова
Т. В. Информационные технологии на службе здравоохранения / Т. В. Ежова, Н. Е.
Ставская // Здравоохранение Российской Федерации. - 2009. - № 3. - С. 30-34.
. Емельянников
М. Ю. Персональные данные в медицинских учреждениях - новые задачи и новые
риски / М. Ю. Емельянников // Менеджер здравоохранения. - 2011. - № 2. - С.
52-57.
. Кобринский
Б. А. Единая концепция построения персональных электронных медицинских карт,
территориальных систем и специализированных регистров / Б.А. Кобринский // Врач
и информационные технологии. - 2011. - № 4. - С. 15-21.
. Котлова
И. Кто крайний в Интернет? / И. Котлова // Областная газета. - 2011. - 2 февр.
- С. 2.
. Круглов
Е. Е. Управление работой медицинского персонала Московского областного
научно-исследовательского клинического института на основе современных
принципов оплаты труда, ориентированных на результат / Е. Е. Круглов, И. Л.
Андреева // Проблемы управления здравоохранением. - 2010. - № 1. - С. 6-15.
. Крылов
В. В. Информационные технологии и здоровье нации / В. В. Крылов // Стратегия
России. - 2010. - № 4. - С. 69-74.
. Кузнецов
П. П. Современные тенденции развития принципов использования персональных
медицинских данных / П. П. Кузнецов, А. П. Столбов // Менеджер здравоохранения.
- 2008. - № 10. - С. 22-29.
. Куракова
Н. Г. Компании по уничтожению уже существующего в ЛПУ программного обеспечения
не будет / Куракова Н. Г. // Менеджер здравоохранения. - 2009. - № 11. - С.
44-45.
. Куракова
Н. Г. Что избавит наших граждан от унизительного стояния в очередях? / Н. Г.
Куракова // Менеджер здравоохранения. - 2011. - № 3. - С. 59.
. Куракова
Н. Закон "О персональных данных": типовые угрозы для ЛПУ 2010 года. /
Н. Куракова // Менеджер здравоохранения. - 2010. - № 1. - С. 56-60.
. Ладина
О. Сетевой прием: об электрон. гос. услугах для населения Тюм. обл./ О. Ладина
// Российская газета. - 2009. - 1 окт. - С. 15.
. Орлов
Г. Типовая медицинская информационная система персонифицированного учета
оказания медицинской помощи в вопросах и ответах. Ч.1 / Г. Орлов, А. Власова //
Менеджер здравоохранения. - 2009. - № 8. - С. 39-43.
. Орлов
Г. Типовая медицинская информационная система персонифицированного учета
оказания медицинской помощи в вопросах и ответах. Ч. 2 / Г. Орлов // Менеджер
здравоохранения. - 2009. - № 10. - С. 64-67.
. Переход
Росздравнадзора на безбумажный документооборот: план // Менеджер
здравоохранения. - 2011. - № 8. - С. 20.
. По
техническим причинам закрыта: не приведут ли ошибки в информатизации
здравоохранения к появлению таких объявлений? / Подготовила Н. Куракова //
Менеджер здравоохранения. - 2011. - № 5. - С. 47-49.
. Симанков
В. С. Системный анализ и современные информационные технологии в медицинских
системах поддержки принятия решений / В. С. Симанков, А. А. Халафин. - М. :
Медиа,2009. - 234 c.
. Слесаренко
М. И. Применение информационных систем фирмы "1С" для повышения
эффективности деятельности медицинских организаций в условиях экономического
кризиса / М. И. Слесаренко, Д. Р. Байбиков // Менеджер здравоохранения. - 2009.
- № 11. - С. 29-39
. Управление
и экономика здравоохранения : учеб. пособие для вузов / А. И. Вялков и др. -
3-е изд., доп. - М. : ГЭОТАР-Медиа, 2009. - 658 с.
. Хай
Г. А. Информационные аспекты оценки и управления качеством медицинской помощи /
Г. А. Хай // Менеджер здравоохранения. - 2008. - № 9. С. 51-57.
. Шифрин
М. А. Роль и место информационных технологий в меняющейся парадигме
здравоохранения стареющей Европы / М. А. Шифрин Менеджер здравоохранения. -
2009. - № 12. - С. 51-52.
. Шкловский-Корди
Н. Е. Телемедицина умерла, да здравствует скайп! / Н. Е. Шкловский-Корди //
Менеджер здравоохранения. - 2009. - № 12. - С. 53.
. Экономика
здравоохранения : учеб. пособие / Л. С. Засимова [и др.]. - М. ГУ ВШЭ, 2009. -
479 с.
. Экономика
и управление больничным хозяйством : курс лекций / А. Б. Блохин и др. - Екатеринбург
: Изд-во УрГЭУ, 2009. - 162 с.
. Электронные
истории болезни не улучшат здравоохранение США // Менеджер здравоохранения. -
2011. - № 5. - С. 46.
. Ястребова
М. В. Развитие системы управления инновационным обеспечением системы
здравоохранения на современном этапе / М. В. Ястребова // Экономическое
возрождение России. - 2011. - № 1. - С. 139-146.
Приложение
Листинг программы
<?xml version="1.0" encoding="utf-8"?>
<ordesignerObjectsDiagram dslVersion="1.0.0.0"
absoluteBounds="0, 0, 11, 8.5" name="Apteka">
<DataContextMoniker Name="/AptekaDataContext"
/>
<nestedChildShapes>
<classShape
Id="c3d6d175-1f4f-4c6c-9dc0-d2cfd576b24b" absoluteBounds="4,
6.375, 2, 1.3862939453125">
<DataClassMoniker Name="/AptekaDataContext/Заболевания" />
<nestedChildShapes>
<elementListCompartment
Id="03ae29e0-83f7-4b69-abe7-9fbff5906065"
absoluteBounds="4.0150000000000006, 6.835, 1.9700000000000002,
0.8262939453125" name="DataPropertiesCompartment"
titleTextColor="Black" itemTextColor="Black" />
</nestedChildShapes>
</classShape>
<classShape
Id="c528b361-d1ca-4749-94f0-874403c2050c" absoluteBounds="5.625,
4.5, 2, 1.5785953776041666">
<DataClassMoniker Name="/AptekaDataContext/Заказ_по_фирме" />
<nestedChildShapes>
<elementListCompartment
Id="0d1714e1-67a0-4f7f-b6a3-d5533e3fb966"
absoluteBounds="5.6400000000000006, 4.96, 1.9700000000000002,
1.0185953776041665" name="DataPropertiesCompartment"
titleTextColor="Black" itemTextColor="Black" />
</nestedChildShapes>
</classShape>
<classShape Id="cbbaf274-00a4-4177-aab1-0fdb7a349ba6"
absoluteBounds="1.5, 5.25, 2, 2.5401025390625">
<DataClassMoniker Name="/AptekaDataContext/Показания_к_применению" />
<nestedChildShapes>
<elementListCompartment
Id="bfbbac82-6493-41c9-be78-e991c3433189"
absoluteBounds="1.5150000000000001, 5.71, 1.9700000000000002,
1.9801025390625" name="DataPropertiesCompartment"
titleTextColor="Black" itemTextColor="Black" />
</nestedChildShapes>
</classShape>
<associationConnector edgePoints="[(4 :
7.06814697265625); (3.5 : 7.06814697265625)]" fixedFrom="NotFixed"
fixedTo="NotFixed">
<AssociationMoniker
Name="/AptekaDataContext/Заболевания/Заболевания_Показания_к_применению"
/>
<nodes>
<classShapeMoniker
Id="c3d6d175-1f4f-4c6c-9dc0-d2cfd576b24b" />
<classShapeMoniker
Id="cbbaf274-00a4-4177-aab1-0fdb7a349ba6" />
</nodes>
</associationConnector>
<classShape
Id="e9ffe9c7-7862-426a-b050-66d8dcab5f17" absoluteBounds="3,
1.125, 2, 1.5785953776041666">
<DataClassMoniker Name="/AptekaDataContext/Прайс_цен" />
<nestedChildShapes>
<elementListCompartment Id="32afbd85-bacd-45fb-986e-be744a32af7a"
absoluteBounds="3.015, 1.585, 1.9700000000000002, 1.0185953776041665"
name="DataPropertiesCompartment" titleTextColor="Black"
itemTextColor="Black" />
</nestedChildShapes>
</classShape>
<classShape Id="0a4902e1-defd-4ed9-a21a-d25ca841de01"
absoluteBounds="0.5, 0.625, 2, 3.6939111328124996">
<DataClassMoniker Name="/AptekaDataContext/Препараты" />
<nestedChildShapes>
<elementListCompartment
Id="4a432ae9-00df-4386-bdab-58ce7081a690"
absoluteBounds="0.51500000000000012, 1.085, 1.9700000000000002,
3.1339111328125" name="DataPropertiesCompartment"
titleTextColor="Black" itemTextColor="Black" />
</nestedChildShapes>
</classShape>
<associationConnector edgePoints="[(2 :
4.3189111328125); (2 : 5.25)]" fixedFrom="NotFixed"
fixedTo="NotFixed">
<AssociationMoniker Name="/AptekaDataContext/Препараты/Препараты_Показания_к_применению" />
<nodes>
<classShapeMoniker Id="0a4902e1-defd-4ed9-a21a-d25ca841de01"
/>
<classShapeMoniker
Id="cbbaf274-00a4-4177-aab1-0fdb7a349ba6" />
</nodes>
</associationConnector>
<associationConnector edgePoints="[(2.5 :
1.91429768880208); (3 : 1.91429768880208)]" fixedFrom="NotFixed"
fixedTo="NotFixed">
<AssociationMoniker Name="/AptekaDataContext/Препараты/Препараты_Прайс_цен" />
<nodes>
<classShapeMoniker
Id="0a4902e1-defd-4ed9-a21a-d25ca841de01" />
<classShapeMoniker
Id="e9ffe9c7-7862-426a-b050-66d8dcab5f17" />
</nodes>
</associationConnector>
<classShape Id="0800c838-214e-4b27-ad7b-6e8bb69bfb92"
absoluteBounds="6.375, 0.625, 2, 2.9247054036458331">
<DataClassMoniker Name="/AptekaDataContext/Фирмы" />
<nestedChildShapes>
<elementListCompartment
Id="c63d4f51-62a9-4ed2-aeb7-ac878fca3f2c" absoluteBounds="6.3900000000000006,
1.085, 1.9700000000000002, 2.364705403645833"
name="DataPropertiesCompartment" titleTextColor="Black"
itemTextColor="Black" />
</nestedChildShapes>
</classShape>
<associationConnector edgePoints="[(6.375 :
1.91429768880208); (5 : 1.91429768880208)]" fixedFrom="NotFixed"
fixedTo="NotFixed">
<AssociationMoniker Name="/AptekaDataContext/Фирмы/Фирмы_Прайс_цен" />
<nodes>
<classShapeMoniker
Id="0800c838-214e-4b27-ad7b-6e8bb69bfb92" />
<classShapeMoniker
Id="e9ffe9c7-7862-426a-b050-66d8dcab5f17" />
</nodes>
</associationConnector>
<classShape
Id="17e8d52c-5fc7-43f7-8492-25149fd155bc" absoluteBounds="3.375,
3.5, 2, 1.5785953776041666">
<DataClassMoniker Name="/AptekaDataContext/Содержимое_заказа" />
<nestedChildShapes>
<elementListCompartment Id="346df960-cac1-48a9-8455-ab74b6328cbc"
absoluteBounds="3.39, 3.96, 1.9700000000000002, 1.0185953776041665"
name="DataPropertiesCompartment" titleTextColor="Black"
itemTextColor="Black" />
</classShape>
<associationConnector edgePoints="[(5.625 :
4.78929768880208); (5.375 : 4.78929768880208)]"
fixedFrom="NotFixed" fixedTo="NotFixed">
<AssociationMoniker
Name="/AptekaDataContext/Заказ_по_фирме/Заказ_по_фирме_Содержимое_заказа"
/>
<nodes>
<classShapeMoniker
Id="c528b361-d1ca-4749-94f0-874403c2050c" />
<classShapeMoniker
Id="17e8d52c-5fc7-43f7-8492-25149fd155bc" />
</nodes>
</associationConnector>
<associationConnector edgePoints="[(2.5 :
3.90945556640625); (3.375 : 3.90945556640625)]"
fixedFrom="NotFixed" fixedTo="NotFixed">
<AssociationMoniker Name="/AptekaDataContext/Препараты/Препараты_Содержимое_заказа" />
<nodes>
<classShapeMoniker
Id="0a4902e1-defd-4ed9-a21a-d25ca841de01" />
<classShapeMoniker
Id="17e8d52c-5fc7-43f7-8492-25149fd155bc" />
</nodes>
</associationConnector>
</nestedChildShapes>
</ordesignerObjectsDiagram>
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.1434
//
// Changes to this file may cause incorrect behavior and will
be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------Диплом_Ригла
{System.Data.Linq;System.Data.Linq.Mapping;System.Data;System.Collections.Generic;System.Reflection;System.Linq;System.Linq.Expressions;System.ComponentModel;System;
[System.Data.Linq.Mapping.DatabaseAttribute(Name="Apteka_Aibolit")]partial
class AptekaDataContext : System.Data.Linq.DataContext
{
static System.Data.Linq.Mapping.MappingSource mappingSource =
new AttributeMappingSource();
#region Extensibility Method Definitionsvoid OnCreated();void
InsertЗаболевания(Заболевания instance);void UpdateЗаболевания(Заболевания instance);void DeleteЗаболевания(Заболевания instance);void InsertЗаказ_по_фирме(Заказ_по_фирме instance);
partial void UpdateЗаказ_по_фирме(Заказ_по_фирме instance);void
DeleteЗаказ_по_фирме(Заказ_по_фирме instance);void
InsertПоказания_к_применению(Показания_к_применению instance);void
UpdateПоказания_к_применению(Показания_к_применению instance);void
DeleteПоказания_к_применению(Показания_к_применению instance);
partial void InsertПрайс_цен(Прайс_цен instance);void UpdateПрайс_цен(Прайс_цен instance);void DeleteПрайс_цен(Прайс_цен instance);void InsertПрепараты(Препараты instance);void UpdateПрепараты(Препараты instance);void DeleteПрепараты(Препараты instance);void InsertФирмы(Фирмы instance);void UpdateФирмы(Фирмы instance);void DeleteФирмы(Фирмы instance);
partial void InsertСодержимое_заказа(Содержимое_заказа instance);void
UpdateСодержимое_заказа(Содержимое_заказа instance);void
DeleteСодержимое_заказа(Содержимое_заказа instance);
#endregion
AptekaDataContext() :(global::Диплом_Ригла.Properties.Settings.Default.Apteka_AibolitConnectionString,
mappingSource)
{();
}
AptekaDataContext(string connection) :(connection,
mappingSource)
{();
}
AptekaDataContext(System.Data.IDbConnection connection)
:(connection, mappingSource)
{();
}
AptekaDataContext(string connection,
System.Data.Linq.Mapping.MappingSource mappingSource) :(connection,
mappingSource)
{();
}
AptekaDataContext(System.Data.IDbConnection connection,
System.Data.Linq.Mapping.MappingSource mappingSource) :(connection, mappingSource)
{();
}
System.Data.Linq.Table<Заболевания> Заболеванияs
{
{this.GetTable<Заболевания>();
}
}
System.Data.Linq.Table<Заказ_по_фирме> Заказ_по_фирмеs
{
{this.GetTable<Заказ_по_фирме>();
}
}
System.Data.Linq.Table<Показания_к_применению> Показания_к_применениюs
{
{this.GetTable<Показания_к_применению>();
}
}
System.Data.Linq.Table<Прайс_цен> Прайс_ценs
{
{this.GetTable<Прайс_цен>();
}
}
System.Data.Linq.Table<Препараты> Препаратыs
{
{this.GetTable<Препараты>();
}
}System.Data.Linq.Table<Фирмы> Фирмыs
{
{this.GetTable<Фирмы>();
}
}
System.Data.Linq.Table<Содержимое_заказа> Содержимое_заказаs
{
{this.GetTable<Содержимое_заказа>();
}
}
[Function(Name="dbo.sel")]ISingleResult<selResult>
sel([Parameter(DbType="NChar(150)")] string se)
{result = this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())),
se);((ISingleResult<selResult>)(result.ReturnValue));
}
[Function(Name="dbo.показания_к_применению_по_заболеванию")]ISingleResult<показания_к_применению_по_заболеваниюResult>
показания_к_применению_по_заболеванию([Parameter(DbType="NChar(50)")]
string zabolevanie)
{result = this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())), zabolevanie);
return
((ISingleResult<показания_к_применению_по_заболеваниюResult>)(result.ReturnValue));
}
[Function(Name="dbo.БАД")]ISingleResult<БАДResult> БАД()
{result = this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())));((ISingleResult<БАДResult>)(result.ReturnValue));
}
[Function(Name="dbo.Витамин")]ISingleResult<ВитаминResult> Витамин()
{result = this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())));((ISingleResult<ВитаминResult>)(result.ReturnValue));
}
[Function(Name="dbo.Косметика")]ISingleResult<КосметикаResult> Косметика()
{result = this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())));((ISingleResult<КосметикаResult>)(result.ReturnValue));
}
[Function(Name="dbo.Лекарство")]ISingleResult<ЛекарствоResult> Лекарство()
{result = this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())));((ISingleResult<ЛекарствоResult>)(result.ReturnValue));
}
[Function(Name="dbo.Поиск_препарата")]ISingleResult<Поиск_препаратаResult> Поиск_препарата([Parameter(DbType="NChar(150)")]
string nazv)
{result = this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())), nazv);((ISingleResult<Поиск_препаратаResult>)(result.ReturnValue));
}
[Function(Name="dbo.Поиск_фирмы")]ISingleResult<Поиск_фирмыResult> Поиск_фирмы([Parameter(DbType="NChar(30)")]
string nazv)
{result = this.ExecuteMethodCall(this,
((MethodInfo)(MethodInfo.GetCurrentMethod())), nazv);((ISingleResult<Поиск_фирмыResult>)(result.ReturnValue));
}
object показания_к_применению_по_заболеванию()
{new NotImplementedException();
}
}
[Table(Name="dbo.Заболевания")]partial class Заболевания : INotifyPropertyChanging, INotifyPropertyChanged
{
static PropertyChangingEventArgs emptyChangingEventArgs = new
PropertyChangingEventArgs(String.Empty);
string _Шифр_заболевания;
string _При_зболеваниях;
string _Тип_препарата;
EntitySet<Показания_к_применению> _Показания_к_применениюs;
#region Extensibility Method Definitionsvoid OnLoaded();void
OnValidate(System.Data.Linq.ChangeAction action);void OnCreated();void OnШифр_заболеванияChanging(string value);void OnШифр_заболеванияChanged();void OnПри_зболеванияхChanging(string value);void OnПри_зболеванияхChanged();void OnТип_препаратаChanging(string value);void OnТип_препаратаChanged();
#endregionЗаболевания()
{._Показания_к_применениюs = new
EntitySet<Показания_к_применению>(new
Action<Показания_к_применению>(this.attach_Показания_к_применениюs), new
Action<Показания_к_применению>(this.detach_Показания_к_применениюs));
OnCreated();
}
[Column(Storage="_Шифр_заболевания",
DbType="NChar(50) NOT NULL", CanBeNull=false,
IsPrimaryKey=true)]string Шифр_заболевания
{
{this._Шифр_заболевания;
}
{((this._Шифр_заболевания != value))
{.OnШифр_заболеванияChanging(value);.SendPropertyChanging();._Шифр_заболевания = value;.SendPropertyChanged("Шифр_заболевания");.OnШифр_заболеванияChanged();
}
}
}
[Column(Storage="_При_зболеваниях",
DbType="NChar(50)")]string При_зболеваниях
{
{this._При_зболеваниях;
}
{((this._При_зболеваниях != value))
{.OnПри_зболеванияхChanging(value);.SendPropertyChanging();._При_зболеваниях = value;.SendPropertyChanged("При_зболеваниях");.OnПри_зболеванияхChanged();
}
}
}
[Column(Storage="_Тип_препарата",
DbType="NChar(20)")]string Тип_препарата
{
{this._Тип_препарата;
}
{((this._Тип_препарата != value))
{.OnТип_препаратаChanging(value);.SendPropertyChanging();._Тип_препарата = value;.SendPropertyChanged("Тип_препарата");
this.OnТип_препаратаChanged();
}
}
}
[Association(Name="Заболевания_Показания_к_применению",
Storage="_Показания_к_применениюs", OtherKey="При_заболеваниях")]EntitySet<Показания_к_применению>
Показания_к_применениюs
{
{this._Показания_к_применениюs;
}
{._Показания_к_применениюs.Assign(value);
}
}
event PropertyChangingEventHandler PropertyChanging;
event PropertyChangedEventHandler PropertyChanged;
virtual void SendPropertyChanging()
{((this.PropertyChanging != null))
{.PropertyChanging(this, emptyChangingEventArgs);
}
}
virtual void SendPropertyChanged(String propertyName)
{((this.PropertyChanged != null))
{.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
void attach_Показания_к_применениюs(Показания_к_применению entity)
{.SendPropertyChanging();.Заболевания = this;
}
void detach_Показания_к_применениюs(Показания_к_применению entity)
{.SendPropertyChanging();.Заболевания = null;
}
}
[Table(Name="dbo.Заказ_по_фирме")]
public partial class Заказ_по_фирме : INotifyPropertyChanging,
INotifyPropertyChanged
{
static PropertyChangingEventArgs emptyChangingEventArgs = new
PropertyChangingEventArgs(String.Empty);
int _NЗаказа;
System.Nullable<int> _Шифр_фирмы;
System.Nullable<System.DateTime> _Дата_заказа;
System.Nullable<decimal> _Итого_к_оплате_за_заказ;
EntitySet<Содержимое_заказа> _Содержимое_заказаs;
#region Extensibility Method Definitionsvoid OnLoaded();void
OnValidate(System.Data.Linq.ChangeAction action);void OnCreated();void OnNЗаказаChanging(int value);void OnNЗаказаChanged();void OnШифр_фирмыChanging(System.Nullable<int> value);void OnШифр_фирмыChanged();void OnДата_заказаChanging(System.Nullable<System.DateTime>
value);void OnДата_заказаChanged();void OnИтого_к_оплате_за_заказChanging(System.Nullable<decimal> value);
partial void OnИтого_к_оплате_за_заказChanged();
#endregion
Заказ_по_фирме()
{._Содержимое_заказаs = new EntitySet<Содержимое_заказа>(new
Action<Содержимое_заказа>(this.attach_Содержимое_заказаs), new
Action<Содержимое_заказа>(this.detach_Содержимое_заказаs));
OnCreated();
}
[Column(Storage="_NЗаказа", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL
IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]int NЗаказа
{
{this._NЗаказа;
}
{((this._NЗаказа
!= value))
{.OnNЗаказаChanging(value);.SendPropertyChanging();._NЗаказа = value;.SendPropertyChanged("NЗаказа");.OnNЗаказаChanged();
}
}
}
[Column(Storage="_Шифр_фирмы",
DbType="Int")]System.Nullable<int> Шифр_фирмы
{
{this._Шифр_фирмы;
}
{((this._Шифр_фирмы != value))
{.OnШифр_фирмыChanging(value);.SendPropertyChanging();._Шифр_фирмы = value;.SendPropertyChanged("Шифр_фирмы");.OnШифр_фирмыChanged();
}
}
}
[Column(Storage="_Дата_заказа",
DbType="DateTime")]System.Nullable<System.DateTime> Дата_заказа
{
{this._Дата_заказа;
}
{((this._Дата_заказа != value))
{.OnДата_заказаChanging(value);.SendPropertyChanging();._Дата_заказа = value;.SendPropertyChanged("Дата_заказа");.OnДата_заказаChanged();
}
}
}
[Column(Storage="_Итого_к_оплате_за_заказ",
DbType="Money")]
public System.Nullable<decimal> Итого_к_оплате_за_заказ
{
{this._Итого_к_оплате_за_заказ;
}
{((this._Итого_к_оплате_за_заказ != value))
{.OnИтого_к_оплате_за_заказChanging(value);.SendPropertyChanging();._Итого_к_оплате_за_заказ
=
value;.SendPropertyChanged("Итого_к_оплате_за_заказ");.OnИтого_к_оплате_за_заказChanged();
}
}
}
[Association(Name="Заказ_по_фирме_Содержимое_заказа",
Storage="_Содержимое_заказаs",
OtherKey="NЗаказа")]EntitySet<Содержимое_заказа> Содержимое_заказаs
{
{this._Содержимое_заказаs;
}
{._Содержимое_заказаs.Assign(value);
}
}
event PropertyChangingEventHandler PropertyChanging;
event PropertyChangedEventHandler PropertyChanged;
virtual void SendPropertyChanging()
{((this.PropertyChanging != null))
{.PropertyChanging(this, emptyChangingEventArgs);
}
}
virtual void SendPropertyChanged(String propertyName)
{((this.PropertyChanged != null))
{.PropertyChanged(this, new
PropertyChangedEventArgs(propertyName));
}
}
void attach_Содержимое_заказаs(Содержимое_заказа entity)
{.SendPropertyChanging();.Заказ_по_фирме = this;
}
void detach_Содержимое_заказаs(Содержимое_заказа entity)
{.SendPropertyChanging();.Заказ_по_фирме = null;
}
}
[Table(Name="dbo.Показания_к_применению")]
public partial class Показания_к_применению : INotifyPropertyChanging,
INotifyPropertyChanged
{
static PropertyChangingEventArgs emptyChangingEventArgs = new
PropertyChangingEventArgs(String.Empty);
int _NПрепарата;
string _При_заболеваниях;
string _Доза;
string _Побочные___действия;
private string _Противопоказания;
string _Взаимодействие_с_другими_препаратами;
string _Показания_к_применению1;
private string _Особые_указания;
string _Передозировка;
EntityRef<Заболевания> _Заболевания;
EntityRef<Препараты> _Препараты;
#region Extensibility Method Definitionsvoid OnLoaded();void
OnValidate(System.Data.Linq.ChangeAction action);void OnCreated();void OnNПрепаратаChanging(int value);void OnNПрепаратаChanged();void OnПри_заболеванияхChanging(string value);void OnПри_заболеванияхChanged();void OnДозаChanging(string value);void OnДозаChanged();void OnПобочные___действияChanging(string value);void OnПобочные___действияChanged();void OnПротивопоказанияChanging(string
value);void OnПротивопоказанияChanged();void OnВзаимодействие_с_другими_препаратамиChanging(string value);
partial void OnВзаимодействие_с_другими_препаратамиChanged();
partial void OnПоказания_к_применению1Changing(string value);
partial void OnПоказания_к_применению1Changed();
partial void OnОсобые_указанияChanging(string value);void
OnОсобые_указанияChanged();void OnПередозировкаChanging(string value);void OnПередозировкаChanged();
#endregion
Показания_к_применению()
{
this._Заболевания = default(EntityRef<Заболевания>);._Препараты =
default(EntityRef<Препараты>);
OnCreated();
}
[Column(Storage="_NПрепарата", DbType="Int NOT NULL",
IsPrimaryKey=true)]int NПрепарата
{
{this._NПрепарата;
}
{((this._NПрепарата != value))
{(this._Препараты.HasLoadedOrAssignedValue)
{new
System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
}.OnNПрепаратаChanging(value);.SendPropertyChanging();._NПрепарата = value;.SendPropertyChanged("NПрепарата");.OnNПрепаратаChanged();
}
}
}
[Column(Name="[При заболеваниях]", Storage="_При_заболеваниях", DbType="NChar(50) NOT NULL",
CanBeNull=false, IsPrimaryKey=true)]
public string При_заболеваниях
{
{this._При_заболеваниях;
}
{((this._При_заболеваниях != value))
{.OnПри_заболеванияхChanging(value);
this.SendPropertyChanging();._При_заболеваниях =
value;.SendPropertyChanged("При_заболеваниях");.OnПри_заболеванияхChanged();
}
}
}
[Column(Storage="_Доза", DbType="NChar(255)")]string Доза
{
{this._Доза;
}
{((this._Доза !=
value))
{.OnДозаChanging(value);.SendPropertyChanging();._Доза = value;.SendPropertyChanged("Доза");.OnДозаChanged();
}
}
}
[Column(Name="[Побочные\r\n_действия]", Storage="_Побочные___действия", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Побочные___действия
{
{this._Побочные___действия;
}
{((this._Побочные___действия != value))
{.OnПобочные___действияChanging(value);.SendPropertyChanging();._Побочные___действия = value;.SendPropertyChanged("Побочные___действия");.OnПобочные___действияChanged();
}
}
}
[Column(Storage="_Противопоказания", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Противопоказания
{
{this._Противопоказания;
}
{((this._Противопоказания != value))
{.OnПротивопоказанияChanging(value);.SendPropertyChanging();._Противопоказания =
value;.SendPropertyChanged("Противопоказания");.OnПротивопоказанияChanged();
}
}
}
[Column(Storage="_Взаимодействие_с_другими_препаратами", DbType="NText",
UpdateCheck=UpdateCheck.Never)]
public string Взаимодействие_с_другими_препаратами
{
{this._Взаимодействие_с_другими_препаратами;
}
{((this._Взаимодействие_с_другими_препаратами != value))
{.OnВзаимодействие_с_другими_препаратамиChanging(value);.SendPropertyChanging();._Взаимодействие_с_другими_препаратами
=
value;.SendPropertyChanged("Взаимодействие_с_другими_препаратами");.OnВзаимодействие_с_другими_препаратамиChanged();
}
}
}
[Column(Name="Показания_к_применению", Storage="_Показания_к_применению1",
DbType="NText", UpdateCheck=UpdateCheck.Never)]string
Показания_к_применению1
{
{this._Показания_к_применению1;
}
{((this._Показания_к_применению1 != value))
{.OnПоказания_к_применению1Changing(value);.SendPropertyChanging();._Показания_к_применению1
=
value;.SendPropertyChanged("Показания_к_применению1");.OnПоказания_к_применению1Changed();
}
}
[Column(Storage="_Особые_указания", DbType="NText",
UpdateCheck=UpdateCheck.Never)]
public string Особые_указания
{
{this._Особые_указания;
}
{((this._Особые_указания != value))
{.OnОсобые_указанияChanging(value);.SendPropertyChanging();._Особые_указания = value;.SendPropertyChanged("Особые_указания");.OnОсобые_указанияChanged();
}
}
}
[Column(Storage="_Передозировка", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Передозировка
{
{this._Передозировка;
}
{((this._Передозировка != value))
{.OnПередозировкаChanging(value);.SendPropertyChanging();._Передозировка = value;.SendPropertyChanged("Передозировка");.OnПередозировкаChanged();
}
}
}
[Association(Name="Заболевания_Показания_к_применению", Storage="_Заболевания", ThisKey="При_заболеваниях", IsForeignKey=true,
DeleteOnNull=true, DeleteRule="CASCADE")]
public Заболевания Заболевания
{
{this._Заболевания.Entity;
}
{
Заболевания previousValue = this._Заболевания.Entity;
if (((previousValue != value)
|| (this._Заболевания.HasLoadedOrAssignedValue == false)))
{.SendPropertyChanging();((previousValue != null))
{._Заболевания.Entity = null;.Показания_к_применениюs.Remove(this);
}._Заболевания.Entity = value;((value !=
null))
{.Показания_к_применениюs.Add(this);._При_заболеваниях =
value.Шифр_заболевания;
}
{._При_заболеваниях = default(string);
}.SendPropertyChanged("Заболевания");
}
}
}
[Association(Name="Препараты_Показания_к_применению",
Storage="_Препараты", ThisKey="NПрепарата",
IsForeignKey=true, DeleteOnNull=true, DeleteRule="CASCADE")]Препараты
Препараты
{
{this._Препараты.Entity;
}
{
Препараты previousValue = this._Препараты.Entity;(((previousValue != value)
|| (this._Препараты.HasLoadedOrAssignedValue == false)))
{.SendPropertyChanging();((previousValue != null))
{._Препараты.Entity = null;.Показания_к_применениюs.Remove(this);
}._Препараты.Entity = value;((value !=
null))
{.Показания_к_применениюs.Add(this);._NПрепарата = value.NПрепарата;
}
{
this._NПрепарата = default(int);
}.SendPropertyChanged("Препараты");
}
}
}
event PropertyChangingEventHandler PropertyChanging;
event PropertyChangedEventHandler PropertyChanged;
virtual void SendPropertyChanging()
{((this.PropertyChanging != null))
{.PropertyChanging(this, emptyChangingEventArgs);
}
}
virtual void SendPropertyChanged(String propertyName)
{((this.PropertyChanged != null))
{.PropertyChanged(this, new
PropertyChangedEventArgs(propertyName));
}
}
}
[Table(Name="dbo.Прайс_цен")]partial class Прайс_цен : INotifyPropertyChanging, INotifyPropertyChanged
{
static PropertyChangingEventArgs emptyChangingEventArgs = new
PropertyChangingEventArgs(String.Empty);
int _NПрепарата;
int _Шифр_фирмы;
System.Nullable<int> _Количество_штук;
System.Nullable<decimal> _цена;
EntityRef<Препараты> _Препараты;EntityRef<Фирмы> _Фирмы;
#region Extensibility Method Definitionsvoid OnLoaded();void
OnValidate(System.Data.Linq.ChangeAction action);void OnCreated();void OnNПрепаратаChanging(int value);void OnNПрепаратаChanged();void OnШифр_фирмыChanging(int value);void OnШифр_фирмыChanged();void OnКоличество_штукChanging(System.Nullable<int> value);void OnКоличество_штукChanged();void OnценаChanging(System.Nullable<decimal> value);void OnценаChanged();
#endregion
Прайс_цен()
{._Препараты = default(EntityRef<Препараты>);._Фирмы = default(EntityRef<Фирмы>);();
}
[Column(Storage="_NПрепарата", DbType="Int NOT NULL",
IsPrimaryKey=true)]int NПрепарата
{
{this._NПрепарата;
}
{((this._NПрепарата != value))
{(this._Препараты.HasLoadedOrAssignedValue)
{new
System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
}.OnNПрепаратаChanging(value);.SendPropertyChanging();._NПрепарата = value;.SendPropertyChanged("NПрепарата");.OnNПрепаратаChanged();
}
}
}
[Column(Storage="_Шифр_фирмы", DbType="Int
NOT NULL", IsPrimaryKey=true)]int Шифр_фирмы
{
{this._Шифр_фирмы;
}
{((this._Шифр_фирмы != value))
{(this._Фирмы.HasLoadedOrAssignedValue)
{new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
}.OnШифр_фирмыChanging(value);.SendPropertyChanging();._Шифр_фирмы = value;.SendPropertyChanged("Шифр_фирмы");.OnШифр_фирмыChanged();
}
}
}
[Column(Storage="_Количество_штук",
DbType="Int")]System.Nullable<int> Количество_штук
{
{this._Количество_штук;
}
{((this._Количество_штук != value))
{.OnКоличество_штукChanging(value);.SendPropertyChanging();._Количество_штук = value;.SendPropertyChanged("Количество_штук");.OnКоличество_штукChanged();
}
}
}
[Column(Storage="_цена", DbType="Money")]System.Nullable<decimal>
цена
{
{this._цена;
}
{((this._цена !=
value))
{.OnценаChanging(value);.SendPropertyChanging();._цена = value;.SendPropertyChanged("цена");.OnценаChanged();
}
}
}
[Association(Name="Препараты_Прайс_цен", Storage="_Препараты", ThisKey="NПрепарата", IsForeignKey=true,
DeleteOnNull=true, DeleteRule="CASCADE")]Препараты Препараты
{
{this._Препараты.Entity;
}
{
Препараты previousValue = this._Препараты.Entity;(((previousValue != value)
|| (this._Препараты.HasLoadedOrAssignedValue == false)))
{.SendPropertyChanging();((previousValue != null))
{._Препараты.Entity = null;.Прайс_ценs.Remove(this);
}._Препараты.Entity = value;((value !=
null))
{.Прайс_ценs.Add(this);._NПрепарата = value.NПрепарата;
}
{._NПрепарата = default(int);
}.SendPropertyChanged("Препараты");
}
}
}
[Association(Name="Фирмы_Прайс_цен", Storage="_Фирмы", ThisKey="Шифр_фирмы", IsForeignKey=true, DeleteOnNull=true,
DeleteRule="CASCADE")]Фирмы Фирмы
{
{this._Фирмы.Entity;
}
{
Фирмы
previousValue = this._Фирмы.Entity;(((previousValue
!= value)
|| (this._Фирмы.HasLoadedOrAssignedValue
== false)))
{.SendPropertyChanging();((previousValue != null))
{._Фирмы.Entity = null;.Прайс_ценs.Remove(this);
}._Фирмы.Entity = value;((value !=
null))
{.Прайс_ценs.Add(this);._Шифр_фирмы = value.Шифр_фирмы;
}
{._Шифр_фирмы = default(int);
}.SendPropertyChanged("Фирмы");
}
}
}
event PropertyChangingEventHandler PropertyChanging;
event PropertyChangedEventHandler PropertyChanged;
virtual void SendPropertyChanging()
{((this.PropertyChanging != null))
{.PropertyChanging(this, emptyChangingEventArgs);
}
}
virtual void SendPropertyChanged(String propertyName)
{((this.PropertyChanged != null))
{.PropertyChanged(this, new
PropertyChangedEventArgs(propertyName));
}
}
}
[Table(Name="dbo.Препараты")]partial class Препараты : INotifyPropertyChanging, INotifyPropertyChanged
{
static PropertyChangingEventArgs emptyChangingEventArgs = new
PropertyChangingEventArgs(String.Empty);
int _NПрепарата;
string _Регистрационный_номер;
string _Название_препарата;
private string _Международное_непатентовонне_название;
private string _Химическое_название;
System.Nullable<int> _Срок_хранения;
System.Data.Linq.Binary _Изображение;
string _Тип_препарата;
string _Примечание;
private string _Форма_выпуска;
string _Состав_и_лекарственная_форма;
string _Фармакотерапевтическая_группа;
string _Фармакодинамика;
private string _Фармакокинетика;
string _Производитель;
private EntitySet<Показания_к_применению> _Показания_к_применениюs;
EntitySet<Прайс_цен> _Прайс_ценs;
EntitySet<Содержимое_заказа> _Содержимое_заказаs;
#region Extensibility Method Definitionsvoid OnLoaded();void
OnValidate(System.Data.Linq.ChangeAction action);void OnCreated();void OnNПрепаратаChanging(int value);void OnNПрепаратаChanged();void OnРегистрационный_номерChanging(string value);void OnРегистрационный_номерChanged();void OnНазвание_препаратаChanging(string value);void OnНазвание_препаратаChanged();void OnМеждународное_непатентовонне_названиеChanging(string value);
partial void OnМеждународное_непатентовонне_названиеChanged();
partial void OnХимическое_названиеChanging(string
value);void OnХимическое_названиеChanged();void OnСрок_храненияChanging(System.Nullable<int> value);void OnСрок_храненияChanged();void OnИзображениеChanging(System.Data.Linq.Binary value);void OnИзображениеChanged();void OnТип_препаратаChanging(string value);void OnТип_препаратаChanged();void OnПримечаниеChanging(string value);void OnПримечаниеChanged();void OnФорма_выпускаChanging(string value);void OnФорма_выпускаChanged();void OnСостав_и_лекарственная_формаChanging(string value);
partial void OnСостав_и_лекарственная_формаChanged();
partial void OnФармакотерапевтическая_группаChanging(string value);void OnФармакотерапевтическая_группаChanged();void OnФармакодинамикаChanging(string value);void OnФармакодинамикаChanged();void OnФармакокинетикаChanging(string
value);void OnФармакокинетикаChanged();void OnПроизводительChanging(string value);void OnПроизводительChanged();
#endregion
Препараты()
{._Показания_к_применениюs = new
EntitySet<Показания_к_применению>(new
Action<Показания_к_применению>(this.attach_Показания_к_применениюs), new
Action<Показания_к_применению>(this.detach_Показания_к_применениюs));._Прайс_ценs
= new EntitySet<Прайс_цен>(new Action<Прайс_цен>(this.attach_Прайс_ценs),
new Action<Прайс_цен>(this.detach_Прайс_ценs));._Содержимое_заказаs = new
EntitySet<Содержимое_заказа>(new
Action<Содержимое_заказа>(this.attach_Содержимое_заказаs), new
Action<Содержимое_заказа>(this.detach_Содержимое_заказаs));
OnCreated();
}
[Column(Storage="_NПрепарата", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL
IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]int NПрепарата
{
{this._NПрепарата;
}
{((this._NПрепарата != value))
{.OnNПрепаратаChanging(value);.SendPropertyChanging();._NПрепарата = value;.SendPropertyChanged("NПрепарата");.OnNПрепаратаChanged();
}
}
}
[Column(Storage="_Регистрационный_номер",
DbType="NChar(20)")]
public string Регистрационный_номер
{
{this._Регистрационный_номер;
}
{((this._Регистрационный_номер != value))
{.OnРегистрационный_номерChanging(value);.SendPropertyChanging();
this._Регистрационный_номер =
value;.SendPropertyChanged("Регистрационный_номер");.OnРегистрационный_номерChanged();
}
}
}
[Column(Storage="_Название_препарата", DbType="NChar(150)")]string
Название_препарата
{
{this._Название_препарата;
}
{((this._Название_препарата != value))
{.OnНазвание_препаратаChanging(value);
this.SendPropertyChanging();._Название_препарата =
value;.SendPropertyChanged("Название_препарата");.OnНазвание_препаратаChanged();
}
}
}
[Column(Storage="_Международное_непатентовонне_название",
DbType="NChar(50)")]string Международное_непатентовонне_название
{
{this._Международное_непатентовонне_название;
}
{((this._Международное_непатентовонне_название != value))
{.OnМеждународное_непатентовонне_названиеChanging(value);.SendPropertyChanging();._Международное_непатентовонне_название
=
value;.SendPropertyChanged("Международное_непатентовонне_название");.OnМеждународное_непатентовонне_названиеChanged();
}
}
}
[Column(Storage="_Химическое_название",
DbType="NChar(100)")]string Химическое_название
{
{this._Химическое_название;
}
{((this._Химическое_название != value))
{.OnХимическое_названиеChanging(value);.SendPropertyChanging();._Химическое_название = value;.SendPropertyChanged("Химическое_название");.OnХимическое_названиеChanged();
}
}
}
[Column(Storage="_Срок_хранения",
DbType="Int")]System.Nullable<int> Срок_хранения
{
{this._Срок_хранения;
}
{((this._Срок_хранения != value))
{.OnСрок_храненияChanging(value);.SendPropertyChanging();._Срок_хранения = value;.SendPropertyChanged("Срок_хранения");.OnСрок_храненияChanged();
}
}
}
[Column(Storage="_Изображение", DbType="Image",
UpdateCheck=UpdateCheck.Never)]System.Data.Linq.Binary Изображение
{
{this._Изображение;
}
{((this._Изображение != value))
{.OnИзображениеChanging(value);.SendPropertyChanging();._Изображение = value;.SendPropertyChanged("Изображение");.OnИзображениеChanged();
}
}
}
[Column(Storage="_Тип_препарата",
DbType="NChar(20)")]string Тип_препарата
{
{this._Тип_препарата;
}
{((this._Тип_препарата != value))
{.OnТип_препаратаChanging(value);.SendPropertyChanging();._Тип_препарата = value;.SendPropertyChanged("Тип_препарата");.OnТип_препаратаChanged();
}
}
}
[Column(Storage="_Примечание", DbType="NChar(250)")]string Примечание
{
{this._Примечание;
}
{((this._Примечание != value))
{.OnПримечаниеChanging(value);.SendPropertyChanging();._Примечание = value;.SendPropertyChanged("Примечание");.OnПримечаниеChanged();
}
}
}
[Column(Storage="_Форма_выпуска",
DbType="NChar(25)")]string Форма_выпуска
{
{this._Форма_выпуска;
}
{((this._Форма_выпуска != value))
{.OnФорма_выпускаChanging(value);.SendPropertyChanging();._Форма_выпуска = value;.SendPropertyChanged("Форма_выпуска");.OnФорма_выпускаChanged();
}
}
}
[Column(Storage="_Состав_и_лекарственная_форма", DbType="NChar(255)")]
public string Состав_и_лекарственная_форма
{
{this._Состав_и_лекарственная_форма;
}
{((this._Состав_и_лекарственная_форма != value))
{.OnСостав_и_лекарственная_формаChanging(value);.SendPropertyChanging();._Состав_и_лекарственная_форма
=
value;.SendPropertyChanged("Состав_и_лекарственная_форма");.OnСостав_и_лекарственная_формаChanged();
}
}
}
[Column(Storage="_Фармакотерапевтическая_группа",
DbType="NChar(200)")]string Фармакотерапевтическая_группа
{
{this._Фармакотерапевтическая_группа;
}
{((this._Фармакотерапевтическая_группа != value))
{.OnФармакотерапевтическая_группаChanging(value);.SendPropertyChanging();._Фармакотерапевтическая_группа
= value;.SendPropertyChanged("Фармакотерапевтическая_группа");.OnФармакотерапевтическая_группаChanged();
}
}
}
[Column(Storage="_Фармакодинамика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакодинамика
{
{this._Фармакодинамика;
}
{((this._Фармакодинамика != value))
{.OnФармакодинамикаChanging(value);.SendPropertyChanging();._Фармакодинамика =
value;.SendPropertyChanged("Фармакодинамика");.OnФармакодинамикаChanged();
}
}
}
[Column(Storage="_Фармакокинетика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакокинетика
{
{this._Фармакокинетика;
}
{((this._Фармакокинетика != value))
{.OnФармакокинетикаChanging(value);.SendPropertyChanging();._Фармакокинетика =
value;.SendPropertyChanged("Фармакокинетика");.OnФармакокинетикаChanged();
}
}
}
[Column(Storage="_Производитель", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Производитель
{
{this._Производитель;
}
{((this._Производитель != value))
{.OnПроизводительChanging(value);.SendPropertyChanging();._Производитель = value;.SendPropertyChanged("Производитель");.OnПроизводительChanged();
}
}
}
[Association(Name="Препараты_Показания_к_применению",
Storage="_Показания_к_применениюs",
OtherKey="NПрепарата")]EntitySet<Показания_к_применению>
Показания_к_применениюs
{
{this._Показания_к_применениюs;
}
{._Показания_к_применениюs.Assign(value);
}
}
[Association(Name="Препараты_Прайс_цен",
Storage="_Прайс_ценs",
OtherKey="NПрепарата")]EntitySet<Прайс_цен> Прайс_ценs
{
}
{._Прайс_ценs.Assign(value);
}
}
[Association(Name="Препараты_Содержимое_заказа", Storage="_Содержимое_заказаs", OtherKey="NПрепарата")]
public EntitySet<Содержимое_заказа> Содержимое_заказаs
{
{this._Содержимое_заказаs;
}
{._Содержимое_заказаs.Assign(value);
}
}
event PropertyChangingEventHandler PropertyChanging;
event PropertyChangedEventHandler PropertyChanged;virtual
void SendPropertyChanging()
{((this.PropertyChanging != null))
{.PropertyChanging(this, emptyChangingEventArgs);
}
}
virtual void SendPropertyChanged(String propertyName)
{((this.PropertyChanged != null))
{.PropertyChanged(this, new
PropertyChangedEventArgs(propertyName));
}
}
void attach_Показания_к_применениюs(Показания_к_применению entity)
{.SendPropertyChanging();.Препараты = this;
}
void detach_Показания_к_применениюs(Показания_к_применению entity)
{.SendPropertyChanging();.Препараты = null;
}void attach_Прайс_ценs(Прайс_цен entity)
{.SendPropertyChanging();.Препараты = this;
}
void detach_Прайс_ценs(Прайс_цен entity)
{.SendPropertyChanging();.Препараты = null;
}
void attach_Содержимое_заказаs(Содержимое_заказа entity)
{.SendPropertyChanging();.Препараты = this;
}
void detach_Содержимое_заказаs(Содержимое_заказа entity)
{.SendPropertyChanging();.Препараты = null;
}
}
[Table(Name="dbo.Фирмы")]partial class Фирмы : INotifyPropertyChanging, INotifyPropertyChanged
{static PropertyChangingEventArgs emptyChangingEventArgs =
new PropertyChangingEventArgs(String.Empty);
int _Шифр_фирмы;
string _Название_фирмы;
string _Адрес;
string _Телефон;
string _Идентификационный_номер;
string _Банк;
string _Расчетный_счет;
System.Nullable<int> _БИК;
string _К_с;
System.Nullable<int> _Индекс;
string _Сайт;
EntitySet<Прайс_цен> _Прайс_ценs;
#region Extensibility Method Definitionsvoid OnLoaded();void
OnValidate(System.Data.Linq.ChangeAction action);void OnCreated();void OnШифр_фирмыChanging(int value);void OnШифр_фирмыChanged();void OnНазвание_фирмыChanging(string value);void OnНазвание_фирмыChanged();void OnАдресChanging(string value);void OnАдресChanged();void OnТелефонChanging(string value);void OnТелефонChanged();void OnИдентификационный_номерChanging(string value);void OnИдентификационный_номерChanged();void OnБанкChanging(string value);void OnБанкChanged();void OnРасчетный_счетChanging(string value);void OnРасчетный_счетChanged();void
OnБИКChanging(System.Nullable<int>
value);void OnБИКChanged();void OnК_сChanging(string value);void OnК_сChanged();void OnИндексChanging(System.Nullable<int>
value);void OnИндексChanged();void OnСайтChanging(string value);void OnСайтChanged();
#endregion
Фирмы()
{._Прайс_ценs = new EntitySet<Прайс_цен>(new Action<Прайс_цен>(this.attach_Прайс_ценs), new Action<Прайс_цен>(this.detach_Прайс_ценs));();
}
[Column(Storage="_Шифр_фирмы",
AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true,
IsDbGenerated=true)]int Шифр_фирмы
{
{this._Шифр_фирмы;
}
{((this._Шифр_фирмы != value))
{.OnШифр_фирмыChanging(value);.SendPropertyChanging();._Шифр_фирмы = value;.SendPropertyChanged("Шифр_фирмы");.OnШифр_фирмыChanged();
}
}
}
[Column(Storage="_Название_фирмы",
DbType="NChar(30)")]string Название_фирмы
{
{this._Название_фирмы;
}
{((this._Название_фирмы != value))
{.OnНазвание_фирмыChanging(value);.SendPropertyChanging();._Название_фирмы = value;.SendPropertyChanged("Название_фирмы");.OnНазвание_фирмыChanged();
}
}
}
[Column(Storage="_Адрес", DbType="NChar(150)")]string Адрес
{
{this._Адрес;
}
{((this._Адрес
!= value))
{.OnАдресChanging(value);.SendPropertyChanging();._Адрес = value;.SendPropertyChanged("Адрес");.OnАдресChanged();
}
}
}
[Column(Storage="_Телефон", DbType="NChar(30)")]string Телефон
{
{this._Телефон;
}
{((this._Телефон
!= value))
{.OnТелефонChanging(value);.SendPropertyChanging();._Телефон = value;.SendPropertyChanged("Телефон");.OnТелефонChanged();
}
}
}
[Column(Storage="_Идентификационный_номер",
DbType="NChar(50)")]
public string Идентификационный_номер
{
{this._Идентификационный_номер;
}
{((this._Идентификационный_номер != value))
{.OnИдентификационный_номерChanging(value);.SendPropertyChanging();
this._Идентификационный_номер =
value;.SendPropertyChanged("Идентификационный_номер");.OnИдентификационный_номерChanged();
}
}
}
[Column(Storage="_Банк", DbType="NChar(100)")]
public string Банк
{
{this._Банк;
}
{((this._Банк !=
value))
{.OnБанкChanging(value);.SendPropertyChanging();._Банк = value;.SendPropertyChanged("Банк");.OnБанкChanged();
}
}
}
[Column(Storage="_Расчетный_счет",
DbType="NChar(50)")]string Расчетный_счет
{
{this._Расчетный_счет;
}
{((this._Расчетный_счет != value))
{.OnРасчетный_счетChanging(value);.SendPropertyChanging();._Расчетный_счет = value;.SendPropertyChanged("Расчетный_счет");.OnРасчетный_счетChanged();
}
}
}
[Column(Storage="_БИК", DbType="Int")]System.Nullable<int> БИК
{
{this._БИК;
}
{((this._БИК !=
value))
{.OnБИКChanging(value);.SendPropertyChanging();._БИК = value;.SendPropertyChanged("БИК");.OnБИКChanged();
}
}
}
[Column(Storage="_К_с",
DbType="NChar(50)")]string К_с
{
{this._К_с;
}
{((this._К_с != value))
{.OnК_сChanging(value);.SendPropertyChanging();._К_с = value;.SendPropertyChanged("К_с");.OnК_сChanged();
}
}
}
[Column(Storage="_Индекс", DbType="Int")]System.Nullable<int> Индекс
{
{this._Индекс;
}
{((this._Индекс
!= value))
{.OnИндексChanging(value);.SendPropertyChanging();._Индекс = value;.SendPropertyChanged("Индекс");.OnИндексChanged();
}
}
}
[Column(Storage="_Сайт", DbType="NChar(50)")]string Сайт
{
{this._Сайт;
}
{((this._Сайт !=
value))
{.OnСайтChanging(value);.SendPropertyChanging();._Сайт = value;.SendPropertyChanged("Сайт");.OnСайтChanged();
}
}
}
[Association(Name="Фирмы_Прайс_цен", Storage="_Прайс_ценs", OtherKey="Шифр_фирмы")]EntitySet<Прайс_цен> Прайс_ценs
{
{this._Прайс_ценs;
}
{._Прайс_ценs.Assign(value);
}
}
event PropertyChangingEventHandler PropertyChanging;event
PropertyChangedEventHandler PropertyChanged;
virtual void SendPropertyChanging()
{((this.PropertyChanging != null))
{.PropertyChanging(this, emptyChangingEventArgs);
}
}
virtual void SendPropertyChanged(String propertyName)
{((this.PropertyChanged != null))
{.PropertyChanged(this, new
PropertyChangedEventArgs(propertyName));
}
}
void attach_Прайс_ценs(Прайс_цен entity)
{.SendPropertyChanging();.Фирмы = this;
}
void detach_Прайс_ценs(Прайс_цен entity)
{.SendPropertyChanging();.Фирмы = null;
}
}
[Table(Name="dbo.Содержимое_заказа")]
public partial class Содержимое_заказа :
INotifyPropertyChanging, INotifyPropertyChanged
{
static PropertyChangingEventArgs emptyChangingEventArgs = new
PropertyChangingEventArgs(String.Empty);
int _NПрепарата;
int _NЗаказа;
System.Nullable<int> _Кол_заказа;
System.Nullable<decimal> _К_оплате_за_товар;
private EntityRef<Заказ_по_фирме> _Заказ_по_фирме;
private EntityRef<Препараты> _Препараты;
#region Extensibility Method Definitionsvoid OnLoaded();void
OnValidate(System.Data.Linq.ChangeAction action);void OnCreated();void OnNПрепаратаChanging(int value);void OnNПрепаратаChanged();void OnNЗаказаChanging(int value);void OnNЗаказаChanged();void OnКол_заказаChanging(System.Nullable<int> value);void OnКол_заказаChanged();void OnК_оплате_за_товарChanging(System.Nullable<decimal> value);void OnК_оплате_за_товарChanged();
#endregion
public Содержимое_заказа()
{._Заказ_по_фирме = default(EntityRef<Заказ_по_фирме>);._Препараты
= default(EntityRef<Препараты>);
OnCreated();
}
[Column(Storage="_NПрепарата", DbType="Int NOT NULL",
IsPrimaryKey=true)]int NПрепарата
{
{this._NПрепарата;
}
{((this._NПрепарата != value))
{(this._Препараты.HasLoadedOrAssignedValue)
{new
System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
}.OnNПрепаратаChanging(value);.SendPropertyChanging();._NПрепарата = value;.SendPropertyChanged("NПрепарата");.OnNПрепаратаChanged();
}
}
}
[Column(Storage="_NЗаказа", DbType="Int NOT NULL",
IsPrimaryKey=true)]int NЗаказа
{
{this._NЗаказа;
}
{((this._NЗаказа
!= value))
{(this._Заказ_по_фирме.HasLoadedOrAssignedValue)
{new
System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
}.OnNЗаказаChanging(value);.SendPropertyChanging();._NЗаказа = value;.SendPropertyChanged("NЗаказа");.OnNЗаказаChanged();
}
}
}
[Column(Storage="_Кол_заказа",
DbType="Int")]System.Nullable<int> Кол_заказа
{
{this._Кол_заказа;
}
{((this._Кол_заказа != value))
{.OnКол_заказаChanging(value);.SendPropertyChanging();._Кол_заказа = value;.SendPropertyChanged("Кол_заказа");.OnКол_заказаChanged();
}
}
}
[Column(Storage="_К_оплате_за_товар",
DbType="Money")]System.Nullable<decimal> К_оплате_за_товар
{
{this._К_оплате_за_товар;
}
{((this._К_оплате_за_товар != value))
{.OnК_оплате_за_товарChanging(value);
this.SendPropertyChanging();._К_оплате_за_товар = value;
this.SendPropertyChanged("К_оплате_за_товар");.OnК_оплате_за_товарChanged();
}
}
}
[Association(Name="Заказ_по_фирме_Содержимое_заказа",
Storage="_Заказ_по_фирме", ThisKey="NЗаказа",
IsForeignKey=true, DeleteOnNull=true, DeleteRule="CASCADE")]Заказ_по_фирме
Заказ_по_фирме
{
{this._Заказ_по_фирме.Entity;
}
{
Заказ_по_фирме previousValue = this._Заказ_по_фирме.Entity;
if (((previousValue != value)
|| (this._Заказ_по_фирме.HasLoadedOrAssignedValue == false)))
{.SendPropertyChanging();((previousValue != null))
{._Заказ_по_фирме.Entity = null;
previousValue.Содержимое_заказаs.Remove(this);
}._Заказ_по_фирме.Entity = value;((value != null))
{.Содержимое_заказаs.Add(this);._NЗаказа = value.NЗаказа;
}
{._NЗаказа = default(int);
}.SendPropertyChanged("Заказ_по_фирме");
}
}
}
[Association(Name="Препараты_Содержимое_заказа",
Storage="_Препараты", ThisKey="NПрепарата",
IsForeignKey=true, DeleteOnNull=true, DeleteRule="CASCADE")]Препараты
Препараты
{
{this._Препараты.Entity;
}
{
Препараты previousValue = this._Препараты.Entity;(((previousValue != value)
|| (this._Препараты.HasLoadedOrAssignedValue == false)))
{.SendPropertyChanging();((previousValue != null))
{._Препараты.Entity = null;.Содержимое_заказаs.Remove(this);
}._Препараты.Entity = value;((value !=
null))
{.Содержимое_заказаs.Add(this);._NПрепарата = value.NПрепарата;
}
{
this._NПрепарата = default(int);
}.SendPropertyChanged("Препараты");
}
}
}
event PropertyChangingEventHandler PropertyChanging;event
PropertyChangedEventHandler PropertyChanged;virtual void SendPropertyChanging()
{((this.PropertyChanging != null))
{.PropertyChanging(this, emptyChangingEventArgs);
}
}
virtual void SendPropertyChanged(String propertyName)
{((this.PropertyChanged != null))
{.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}
partial class selResult
{
int _NПрепарата;
private string _Регистрационный_номер;
string _Название_препарата;
string _Международное_непатентовонне_название;
private string _Химическое_название;System.Nullable<int>
_Срок_хранения;
System.Data.Linq.Binary _Изображение;
string _Тип_препарата;
string _Примечание;
private string _Форма_выпуска;
string _Состав_и_лекарственная_форма;
string _Фармакотерапевтическая_группа;
string _Фармакодинамика;
private string _Фармакокинетика;
string _Производитель;
System.Nullable<decimal> _цена;
System.Nullable<int> _Количество_штук;
string _Название_фирмы;
string _Адрес;
string _Телефон;string
_Сайт;selResult()
{
}
[Column(Storage="_NПрепарата", DbType="Int NOT NULL")]int NПрепарата
{
{this._NПрепарата;
}
{((this._NПрепарата != value))
{._NПрепарата = value;
}
}
}
[Column(Storage="_Регистрационный_номер",
DbType="NChar(20)")]
public string Регистрационный_номер
{
{this._Регистрационный_номер;
}
{((this._Регистрационный_номер != value))
{._Регистрационный_номер = value;
}
}
}
[Column(Storage="_Название_препарата",
DbType="NChar(150)")]string Название_препарата
{
{this._Название_препарата;
}
{((this._Название_препарата != value))
{._Название_препарата = value;
}
}
}
[Column(Storage="_Международное_непатентовонне_название",
DbType="NChar(50)")]string Международное_непатентовонне_название
{
{this._Международное_непатентовонне_название;
}
{((this._Международное_непатентовонне_название != value))
{._Международное_непатентовонне_название = value;
}
}
[Column(Storage="_Химическое_название",
DbType="NChar(100)")]string Химическое_название
{
{this._Химическое_название;
}
{((this._Химическое_название != value))
{._Химическое_название = value;
}
}
}
[Column(Storage="_Срок_хранения", DbType="Int")]
public System.Nullable<int> Срок_хранения
{
{this._Срок_хранения;
}
{((this._Срок_хранения != value))
{._Срок_хранения = value;
}
}
}
[Column(Storage="_Изображение", DbType="Image")]System.Data.Linq.Binary Изображение
{
{this._Изображение;
}
{((this._Изображение != value))
{._Изображение = value;
}
}
}
[Column(Storage="_Тип_препарата",
DbType="NChar(20)")]string Тип_препарата
{
{this._Тип_препарата;
}
{((this._Тип_препарата != value))
{._Тип_препарата = value;
}
}
}
[Column(Storage="_Примечание", DbType="NChar(250)")]string Примечание
{
{this._Примечание;
}
{((this._Примечание != value))
{._Примечание = value;
}
}
}
[Column(Storage="_Форма_выпуска",
DbType="NChar(25)")]string Форма_выпуска
{
{this._Форма_выпуска;
}
{((this._Форма_выпуска != value))
{._Форма_выпуска = value;
}
}
}
[Column(Storage="_Состав_и_лекарственная_форма", DbType="NChar(255)")]
public string Состав_и_лекарственная_форма
{
{this._Состав_и_лекарственная_форма;
}
{((this._Состав_и_лекарственная_форма != value))
{._Состав_и_лекарственная_форма = value;
}
}
}
[Column(Storage="_Фармакотерапевтическая_группа",
DbType="NChar(200)")]string Фармакотерапевтическая_группа
{
{this._Фармакотерапевтическая_группа;
}
{((this._Фармакотерапевтическая_группа != value))
{._Фармакотерапевтическая_группа = value;
}
}
}
[Column(Storage="_Фармакодинамика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакодинамика
{
{this._Фармакодинамика;
}
{((this._Фармакодинамика != value))
{._Фармакодинамика = value;
}
}
}
[Column(Storage="_Фармакокинетика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакокинетика
{
{this._Фармакокинетика;
}
{((this._Фармакокинетика != value))
{._Фармакокинетика = value;
}
}
}
[Column(Storage="_Производитель", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Производитель
{
{this._Производитель;
}
{((this._Производитель != value))
{._Производитель = value;
}
}
}
[Column(Storage="_цена",
DbType="Money")]System.Nullable<decimal> цена
{
{this._цена;
}
{((this._цена !=
value))
{._цена = value;
}
}
}
[Column(Storage="_Количество_штук",
DbType="Int")]System.Nullable<int> Количество_штук
{
{this._Количество_штук;
}
{((this._Количество_штук != value))
{._Количество_штук = value;
}
}
}
[Column(Storage="_Название_фирмы",
DbType="NChar(30)")]string Название_фирмы
{
{this._Название_фирмы;
}
{((this._Название_фирмы != value))
{._Название_фирмы = value;
}
}
}
[Column(Storage="_Адрес", DbType="NChar(150)")]string Адрес
{
{this._Адрес;
}
{((this._Адрес
!= value))
{._Адрес = value;
}
}
}
[Column(Storage="_Телефон", DbType="NChar(30)")]string Телефон
{
{this._Телефон;
}
{((this._Телефон
!= value))
{._Телефон = value;
}
}
}
[Column(Storage="_Сайт", DbType="NChar(50)")]string Сайт
{
{this._Сайт;
}
{((this._Сайт !=
value))
{._Сайт = value;
}
}
}
}
partial class показания_к_применению_по_заболеваниюResult
{
string _При_зболеваниях;
string _Тип_препарата;
int _NПрепарата;
string _При_заболеваниях;
string _Доза;
string _Побочные___действия;
private string _Противопоказания;
string _Взаимодействие_с_другими_препаратами;
string _Показания_к_применению;
private string _Особые_указания;
string _Передозировка;
private string _Название_препарата;
показания_к_применению_по_заболеваниюResult()
{
}
[Column(Storage="_При_зболеваниях",
DbType="NChar(50)")]
public string При_зболеваниях
{
{this._При_зболеваниях;
}
{((this._При_зболеваниях != value))
{._При_зболеваниях = value;
}
}
}
[Column(Storage="_Тип_препарата",
DbType="NChar(20)")]string Тип_препарата
{
{this._Тип_препарата;
}
{((this._Тип_препарата != value))
{._Тип_препарата = value;
}
}
}
[Column(Storage="_NПрепарата", DbType="Int NOT NULL")]int NПрепарата
{
{this._NПрепарата;
}
{((this._NПрепарата != value))
{._NПрепарата = value;
}
}
}
[Column(Name="[При заболеваниях]", Storage="_При_заболеваниях", DbType="NChar(50) NOT NULL",
CanBeNull=false)]
public string При_заболеваниях
{
{this._При_заболеваниях;
}
{((this._При_заболеваниях != value))
{._При_заболеваниях = value;
}
}
}
[Column(Storage="_Доза", DbType="NChar(255)")]string Доза
{
{this._Доза;
}
{((this._Доза !=
value))
{._Доза = value;
}
}
}
[Column(Name="[Побочные\r\n_действия]", Storage="_Побочные___действия", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Побочные___действия
{
{this._Побочные___действия;
}
{((this._Побочные___действия != value))
{._Побочные___действия = value;
}
}
}
[Column(Storage="_Противопоказания", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Противопоказания
{
{this._Противопоказания;
}
{((this._Противопоказания != value))
{._Противопоказания = value;
}
}
}
[Column(Storage="_Взаимодействие_с_другими_препаратами", DbType="NText",
UpdateCheck=UpdateCheck.Never)]
public string Взаимодействие_с_другими_препаратами
{
{this._Взаимодействие_с_другими_препаратами;
}
{((this._Взаимодействие_с_другими_препаратами != value))
{._Взаимодействие_с_другими_препаратами = value;
}
}
}
[Column(Storage="_Показания_к_применению",
DbType="NText", UpdateCheck=UpdateCheck.Never)]string
Показания_к_применению
{
{this._Показания_к_применению;
}
{((this._Показания_к_применению != value))
{._Показания_к_применению = value;
}
}
}
[Column(Storage="_Особые_указания", DbType="NText",
UpdateCheck=UpdateCheck.Never)]
public string Особые_указания
{
{this._Особые_указания;
}
{((this._Особые_указания != value))
{._Особые_указания = value;
}
}
}
[Column(Storage="_Передозировка", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Передозировка
{
{this._Передозировка;
}
{((this._Передозировка != value))
{._Передозировка = value;
}
}
}
[Column(Storage="_Название_препарата",
DbType="NChar(150)")]string Название_препарата
{
{this._Название_препарата;
}
{((this._Название_препарата != value))
{._Название_препарата = value;
}
}
}
}
partial class БАДResult
{
int _NПрепарата;
private string _Регистрационный_номер;
string _Название_препарата;
string _Международное_непатентовонне_название;
private string _Химическое_название;
System.Nullable<int> _Срок_хранения;
System.Data.Linq.Binary _Изображение;
string _Тип_препарата;
string _Примечание;
private string _Форма_выпуска;string _Состав_и_лекарственная_форма;string
_Фармакотерапевтическая_группа;
string _Фармакодинамика;
private string _Фармакокинетика;
string _Производитель;
БАДResult()
{
}
[Column(Storage="_NПрепарата", DbType="Int NOT NULL")]int NПрепарата
{
{this._NПрепарата;
}
{((this._NПрепарата != value))
{._NПрепарата = value;
}
}
}
[Column(Storage="_Регистрационный_номер",
DbType="NChar(20)")]
public string Регистрационный_номер
{
{this._Регистрационный_номер;
}
{((this._Регистрационный_номер != value))
{._Регистрационный_номер = value;
}
}
}
[Column(Storage="_Название_препарата",
DbType="NChar(150)")]string Название_препарата
{
{this._Название_препарата;
}
{((this._Название_препарата != value))
{._Название_препарата = value;
}
}
}
[Column(Storage="_Международное_непатентовонне_название",
DbType="NChar(50)")]string Международное_непатентовонне_название
{
{this._Международное_непатентовонне_название;
}
{((this._Международное_непатентовонне_название != value))
{._Международное_непатентовонне_название = value;
}
}
}
[Column(Storage="_Химическое_название",
DbType="NChar(100)")]string Химическое_название
{
{this._Химическое_название;
}
{((this._Химическое_название != value))
{._Химическое_название = value;
}
}
[Column(Storage="_Срок_хранения", DbType="Int")]
public System.Nullable<int> Срок_хранения
{
{this._Срок_хранения;
}
{((this._Срок_хранения != value))
{._Срок_хранения = value;
}
}
}
[Column(Storage="_Изображение", DbType="Image")]System.Data.Linq.Binary Изображение
{
{this._Изображение;
}
{((this._Изображение != value))
{._Изображение = value;
}
}
}
[Column(Storage="_Тип_препарата",
DbType="NChar(20)")]string Тип_препарата
{
{this._Тип_препарата;
}
{((this._Тип_препарата != value))
{._Тип_препарата = value;
}
}
}
[Column(Storage="_Примечание", DbType="NChar(250)")]string Примечание
{
{this._Примечание;
}
{((this._Примечание != value))
{._Примечание = value;
}
}
}
[Column(Storage="_Форма_выпуска",
DbType="NChar(25)")]string Форма_выпуска
{
{this._Форма_выпуска;
}
{((this._Форма_выпуска != value))
{._Форма_выпуска = value;
}
}
}
[Column(Storage="_Состав_и_лекарственная_форма", DbType="NChar(255)")]
public string Состав_и_лекарственная_форма
{
{this._Состав_и_лекарственная_форма;
}
{((this._Состав_и_лекарственная_форма != value))
{._Состав_и_лекарственная_форма = value;
}
}
}
[Column(Storage="_Фармакотерапевтическая_группа",
DbType="NChar(200)")]string Фармакотерапевтическая_группа
{
{this._Фармакотерапевтическая_группа;
}
{((this._Фармакотерапевтическая_группа != value))
{._Фармакотерапевтическая_группа = value;
}
}
}
[Column(Storage="_Фармакодинамика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакодинамика
{
{this._Фармакодинамика;
}
{((this._Фармакодинамика != value))
{._Фармакодинамика = value;
}
}
}
[Column(Storage="_Фармакокинетика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакокинетика
{
{this._Фармакокинетика;
}
{((this._Фармакокинетика != value))
{._Фармакокинетика = value;
}
}
}
[Column(Storage="_Производитель", DbType="NText", UpdateCheck=UpdateCheck.Never)]string
Производитель
{
{this._Производитель;
}
{((this._Производитель != value))
{._Производитель = value;
}
}
}
}
partial class ВитаминResult
{
int _NПрепарата;
private string _Регистрационный_номер;
string _Название_препарата;
string _Международное_непатентовонне_название;
private string _Химическое_название;System.Nullable<int>
_Срок_хранения;System.Data.Linq.Binary _Изображение;
string _Тип_препарата;
string _Примечание;
private string _Форма_выпуска;
string _Состав_и_лекарственная_форма;
string _Фармакотерапевтическая_группа;
string _Фармакодинамика;
private string _Фармакокинетика;
string _Производитель;
ВитаминResult()
{
}
[Column(Storage="_NПрепарата", DbType="Int NOT NULL")]int NПрепарата
{
{this._NПрепарата;
}
{((this._NПрепарата != value))
{._NПрепарата = value;
}
}
}
[Column(Storage="_Регистрационный_номер",
DbType="NChar(20)")]
public string Регистрационный_номер
{
{this._Регистрационный_номер;
}
{((this._Регистрационный_номер != value))
{._Регистрационный_номер = value;
}
}
}
[Column(Storage="_Название_препарата",
DbType="NChar(150)")]string Название_препарата
{
{this._Название_препарата;
}
{((this._Название_препарата != value))
{._Название_препарата = value;
}
}
}
[Column(Storage="_Международное_непатентовонне_название",
DbType="NChar(50)")]string Международное_непатентовонне_название
{
{this._Международное_непатентовонне_название;
}
{((this._Международное_непатентовонне_название != value))
{._Международное_непатентовонне_название = value;
}
}
}
[Column(Storage="_Химическое_название",
DbType="NChar(100)")]string Химическое_название
{
{this._Химическое_название;
}
{((this._Химическое_название != value))
{._Химическое_название = value;
}
}
}
[Column(Storage="_Срок_хранения", DbType="Int")]
public System.Nullable<int> Срок_хранения
{
{this._Срок_хранения;
}
{((this._Срок_хранения != value))
{._Срок_хранения = value;
}
}
}
[Column(Storage="_Изображение", DbType="Image")]System.Data.Linq.Binary Изображение
{
{this._Изображение;
}
{((this._Изображение != value))
{._Изображение = value;
}
}
}
[Column(Storage="_Тип_препарата",
DbType="NChar(20)")]string Тип_препарата
{
{this._Тип_препарата;
}
{((this._Тип_препарата != value))
{._Тип_препарата = value;
}
}
}
[Column(Storage="_Примечание", DbType="NChar(250)")]string Примечание
{
{this._Примечание;
}
{((this._Примечание != value))
{._Примечание = value;
}
}
}
[Column(Storage="_Форма_выпуска",
DbType="NChar(25)")]string Форма_выпуска
{
{this._Форма_выпуска;
}
{((this._Форма_выпуска != value))
{._Форма_выпуска = value;
}
}
}
[Column(Storage="_Состав_и_лекарственная_форма", DbType="NChar(255)")]
public string Состав_и_лекарственная_форма
{
{this._Состав_и_лекарственная_форма;
}
{((this._Состав_и_лекарственная_форма != value))
{._Состав_и_лекарственная_форма = value;
}
}
}
[Column(Storage="_Фармакотерапевтическая_группа",
DbType="NChar(200)")]string Фармакотерапевтическая_группа
{
{this._Фармакотерапевтическая_группа;
}
{((this._Фармакотерапевтическая_группа != value))
{._Фармакотерапевтическая_группа = value;
}
}
}
[Column(Storage="_Фармакодинамика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакодинамика
{
{this._Фармакодинамика;
}
{((this._Фармакодинамика != value))
{._Фармакодинамика = value;
}
}
}
[Column(Storage="_Фармакокинетика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакокинетика
{
{this._Фармакокинетика;
}
{((this._Фармакокинетика != value))
{._Фармакокинетика = value;
}
}
}
[Column(Storage="_Производитель", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Производитель
{
{this._Производитель;
}
{((this._Производитель != value))
{._Производитель = value;
}
}
}
}
partial class КосметикаResult
{int _NПрепарата;
private string _Регистрационный_номер;
string _Название_препарата;
string _Международное_непатентовонне_название;
private string _Химическое_название;
System.Nullable<int> _Срок_хранения;
System.Data.Linq.Binary _Изображение;
string _Тип_препарата;
string _Примечание;
private string _Форма_выпуска;
string _Состав_и_лекарственная_форма;
string _Фармакотерапевтическая_группа;
string _Фармакодинамика;
private string _Фармакокинетика;
string _Производитель;
КосметикаResult()
{
}
[Column(Storage="_NПрепарата", DbType="Int NOT NULL")]int NПрепарата
{
{this._NПрепарата;
}
{((this._NПрепарата != value))
{._NПрепарата = value;
}
}
}
[Column(Storage="_Регистрационный_номер",
DbType="NChar(20)")]
public string Регистрационный_номер
{
{this._Регистрационный_номер;
}
{((this._Регистрационный_номер != value))
{._Регистрационный_номер = value;
}
}
}
[Column(Storage="_Название_препарата",
DbType="NChar(150)")]string Название_препарата
{
{this._Название_препарата;
}
{((this._Название_препарата != value))
{._Название_препарата = value;
}
}
}
[Column(Storage="_Международное_непатентовонне_название",
DbType="NChar(50)")]string Международное_непатентовонне_название
{
{this._Международное_непатентовонне_название;
}
{((this._Международное_непатентовонне_название != value))
{._Международное_непатентовонне_название = value;
}
}
}
[Column(Storage="_Химическое_название",
DbType="NChar(100)")]string Химическое_название
{
{this._Химическое_название;
}
{((this._Химическое_название != value))
{._Химическое_название = value;
}
}
}
[Column(Storage="_Срок_хранения", DbType="Int")]
public System.Nullable<int> Срок_хранения
{
{this._Срок_хранения;
}
{((this._Срок_хранения != value))
{._Срок_хранения = value;
}
}
}
[Column(Storage="_Изображение", DbType="Image")]System.Data.Linq.Binary Изображение
{
{this._Изображение;
}
{((this._Изображение != value))
{._Изображение = value;
}
}
}
[Column(Storage="_Тип_препарата",
DbType="NChar(20)")]string Тип_препарата
{
{this._Тип_препарата;
}
{((this._Тип_препарата != value))
{._Тип_препарата = value;
}
}
}
[Column(Storage="_Примечание", DbType="NChar(250)")]string Примечание
{
{this._Примечание;
}
{((this._Примечание != value))
{._Примечание = value;
}
}
[Column(Storage="_Форма_выпуска",
DbType="NChar(25)")]string Форма_выпуска
{
{this._Форма_выпуска;
}
{((this._Форма_выпуска != value))
{._Форма_выпуска = value;
}
}
}
[Column(Storage="_Состав_и_лекарственная_форма", DbType="NChar(255)")]
public string Состав_и_лекарственная_форма
{
{this._Состав_и_лекарственная_форма;
}
{((this._Состав_и_лекарственная_форма != value))
{._Состав_и_лекарственная_форма = value;
}
}
}
[Column(Storage="_Фармакотерапевтическая_группа",
DbType="NChar(200)")]string Фармакотерапевтическая_группа
{
{this._Фармакотерапевтическая_группа;
}
{((this._Фармакотерапевтическая_группа != value))
{._Фармакотерапевтическая_группа = value;
}
}
}
[Column(Storage="_Фармакодинамика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакодинамика
{
{this._Фармакодинамика;
}
{((this._Фармакодинамика != value))
{._Фармакодинамика = value;
}
}
}
[Column(Storage="_Фармакокинетика", DbType="NText", UpdateCheck=UpdateCheck.Never)]string
Фармакокинетика
{
{this._Фармакокинетика;
}
{((this._Фармакокинетика != value))
{._Фармакокинетика = value;
}
}
}
[Column(Storage="_Производитель", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Производитель
{
{this._Производитель;
}
{((this._Производитель != value))
{._Производитель = value;
}
}
}
}
partial class ЛекарствоResult
{
int _NПрепарата;
private string _Регистрационный_номер;
string _Название_препарата;
string _Международное_непатентовонне_название;
private string _Химическое_название;
System.Nullable<int> _Срок_хранения;
System.Data.Linq.Binary _Изображение;
string _Тип_препарата;string _Примечание; string _Форма_выпуска;
string _Состав_и_лекарственная_форма;
string _Фармакотерапевтическая_группа;
string _Фармакодинамика;
private string _Фармакокинетика;
string _Производитель;
ЛекарствоResult()
{
}
[Column(Storage="_NПрепарата", DbType="Int NOT NULL")]int NПрепарата
{
{this._NПрепарата;
}
{((this._NПрепарата != value))
{._NПрепарата = value;
}
}
}
[Column(Storage="_Регистрационный_номер",
DbType="NChar(20)")]
public string Регистрационный_номер
{
{this._Регистрационный_номер;
}
{((this._Регистрационный_номер != value))
{._Регистрационный_номер = value;
}
}
}
[Column(Storage="_Название_препарата",
DbType="NChar(150)")]string Название_препарата
{
{this._Название_препарата;
}
{((this._Название_препарата != value))
{._Название_препарата = value;
}
}
}
[Column(Storage="_Международное_непатентовонне_название",
DbType="NChar(50)")]string Международное_непатентовонне_название
{
{this._Международное_непатентовонне_название;
}
{((this._Международное_непатентовонне_название != value))
{._Международное_непатентовонне_название = value;
}
}
}
[Column(Storage="_Химическое_название",
DbType="NChar(100)")]string Химическое_название
{
{this._Химическое_название;
}
{((this._Химическое_название != value))
{._Химическое_название = value;
}
}
}
[Column(Storage="_Срок_хранения", DbType="Int")]
public System.Nullable<int> Срок_хранения
{
{this._Срок_хранения;
}
{((this._Срок_хранения != value))
{._Срок_хранения = value;
}
}
}
[Column(Storage="_Изображение", DbType="Image")]System.Data.Linq.Binary Изображение
{
{this._Изображение;
}
{((this._Изображение != value))
{._Изображение = value;
}
}
}
[Column(Storage="_Тип_препарата",
DbType="NChar(20)")]string Тип_препарата
{
{this._Тип_препарата;
}
{((this._Тип_препарата != value))
{._Тип_препарата = value;
}
}
}
[Column(Storage="_Примечание", DbType="NChar(250)")]string Примечание
{
{this._Примечание;
}
{((this._Примечание != value))
{._Примечание = value;
}
}
}
[Column(Storage="_Форма_выпуска",
DbType="NChar(25)")]string Форма_выпуска
{
{this._Форма_выпуска;
}
{((this._Форма_выпуска != value))
{._Форма_выпуска = value;
}
}
}
[Column(Storage="_Состав_и_лекарственная_форма", DbType="NChar(255)")]
public string Состав_и_лекарственная_форма
{
{this._Состав_и_лекарственная_форма;
}
{((this._Состав_и_лекарственная_форма != value))
{._Состав_и_лекарственная_форма = value;
}
}
}
[Column(Storage="_Фармакотерапевтическая_группа",
DbType="NChar(200)")]string Фармакотерапевтическая_группа
{
{this._Фармакотерапевтическая_группа;
}
{((this._Фармакотерапевтическая_группа != value))
{._Фармакотерапевтическая_группа = value;
}
}
}
[Column(Storage="_Фармакодинамика", DbType="NText", UpdateCheck=UpdateCheck.Never)]string Фармакодинамика
{
{this._Фармакодинамика;
}
{((this._Фармакодинамика != value))
{._Фармакодинамика = value;
}
}
}
[Column(Storage="_Фармакокинетика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакокинетика
{
{this._Фармакокинетика;
}
{((this._Фармакокинетика != value))
{._Фармакокинетика = value;
}
}
}
[Column(Storage="_Производитель", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Производитель
{
{this._Производитель;
}
{((this._Производитель != value))
{._Производитель = value;
}
}
}
}
partial class Поиск_препаратаResult
{
int _NПрепарата;
string _Регистрационный_номер;
string _Название_препарата;
private string _Международное_непатентовонне_название;
private string _Химическое_название;
System.Nullable<int> _Срок_хранения;
System.Data.Linq.Binary _Изображение;
string _Тип_препарата;
string _Примечание;
private string _Форма_выпуска;
string _Состав_и_лекарственная_форма;
string _Фармакотерапевтическая_группа;
string _Фармакодинамика;
private string _Фармакокинетика;
string _Производитель;
Поиск_препаратаResult()
{
}
[Column(Storage="_NПрепарата", DbType="Int NOT NULL")]int NПрепарата
{
{this._NПрепарата;
}
{((this._NПрепарата != value))
{._NПрепарата = value;
}
}
}
[Column(Storage="_Регистрационный_номер",
DbType="NChar(20)")]
public string Регистрационный_номер
{
{this._Регистрационный_номер;
}
{((this._Регистрационный_номер != value))
{._Регистрационный_номер = value;
}
}
}
[Column(Storage="_Название_препарата",
DbType="NChar(150)")]string Название_препарата
{
{this._Название_препарата;
}
{((this._Название_препарата != value))
{._Название_препарата = value;
}
}
}
[Column(Storage="_Международное_непатентовонне_название",
DbType="NChar(50)")]string Международное_непатентовонне_название
{
{this._Международное_непатентовонне_название;
}
{((this._Международное_непатентовонне_название != value))
{._Международное_непатентовонне_название = value;
}
}
}
[Column(Storage="_Химическое_название",
DbType="NChar(100)")]string Химическое_название
{
{this._Химическое_название;
}
{((this._Химическое_название != value))
{._Химическое_название = value;
}
}
}
[Column(Storage="_Срок_хранения", DbType="Int")]
public System.Nullable<int> Срок_хранения
{
{this._Срок_хранения;
}
{((this._Срок_хранения != value))
{._Срок_хранения = value;
}
}
}
[Column(Storage="_Изображение", DbType="Image")]System.Data.Linq.Binary Изображение
{
{this._Изображение;
}
{((this._Изображение != value))
{._Изображение = value;
}
}
}
[Column(Storage="_Тип_препарата",
DbType="NChar(20)")]string Тип_препарата
{
{this._Тип_препарата;
}
{((this._Тип_препарата != value))
{._Тип_препарата = value;
}
}
}
[Column(Storage="_Примечание", DbType="NChar(250)")]string Примечание
{
{this._Примечание;
}
{((this._Примечание != value))
{._Примечание = value;
}
}
}
[Column(Storage="_Форма_выпуска",
DbType="NChar(25)")]string Форма_выпуска
{
{this._Форма_выпуска;
}
{((this._Форма_выпуска != value))
{._Форма_выпуска = value;
}
}
}
[Column(Storage="_Состав_и_лекарственная_форма", DbType="NChar(255)")]
public string Состав_и_лекарственная_форма
{
{this._Состав_и_лекарственная_форма;
}
{((this._Состав_и_лекарственная_форма != value))
{._Состав_и_лекарственная_форма = value;
}
}
}
[Column(Storage="_Фармакотерапевтическая_группа", DbType="NChar(200)")]string
Фармакотерапевтическая_группа
{
{this._Фармакотерапевтическая_группа;
}
{((this._Фармакотерапевтическая_группа != value))
{._Фармакотерапевтическая_группа = value;
}
}
}
[Column(Storage="_Фармакодинамика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакодинамика
{
{this._Фармакодинамика;
}
{._Фармакодинамика = value;
}
}
}
[Column(Storage="_Фармакокинетика", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Фармакокинетика
{
{this._Фармакокинетика;
}
{((this._Фармакокинетика != value))
{._Фармакокинетика = value;
}
}
}
[Column(Storage="_Производитель", DbType="NText",
UpdateCheck=UpdateCheck.Never)]string Производитель
{
{this._Производитель;
}
{((this._Производитель != value))
{._Производитель = value;
}
}
}
}
partial class Поиск_фирмыResult
{
int _Шифр_фирмы;
string _Название_фирмы;
string _Адрес;
string _Телефон;
string _Идентификационный_номер;
string _Банк;
string _Расчетный_счет;
System.Nullable<int> _БИК;
string _К_с;
System.Nullable<int> _Индекс;
string _Сайт;Поиск_фирмыResult()
{
}
[Column(Storage="_Шифр_фирмы", DbType="Int
NOT NULL")]int Шифр_фирмы
{
{this._Шифр_фирмы;
}
{((this._Шифр_фирмы != value))
{._Шифр_фирмы = value;
}
}
}
[Column(Storage="_Название_фирмы",
DbType="NChar(30)")]string Название_фирмы
{
{this._Название_фирмы;
}
{((this._Название_фирмы != value))
{._Название_фирмы = value;
}
}
}
[Column(Storage="_Адрес", DbType="NChar(150)")]string Адрес
{
{this._Адрес;
}
{((this._Адрес
!= value))
{._Адрес = value;
}
}
}
[Column(Storage="_Телефон", DbType="NChar(30)")]string Телефон
{
{this._Телефон;
}
{((this._Телефон
!= value))
{._Телефон = value;
}
}
}
[Column(Storage="_Идентификационный_номер",
DbType="NChar(50)")]
public string Идентификационный_номер
{
{this._Идентификационный_номер;
}
{((this._Идентификационный_номер != value))
{._Идентификационный_номер = value;
}
}
}
[Column(Storage="_Банк", DbType="NChar(100)")]
public string Банк
{
{this._Банк;
}
{((this._Банк !=
value))
{._Банк = value;
}
}
}
[Column(Storage="_Расчетный_счет",
DbType="NChar(50)")]string Расчетный_счет
{
{this._Расчетный_счет;
}
{((this._Расчетный_счет != value))
{._Расчетный_счет = value;
}
}
}
[Column(Storage="_БИК", DbType="Int")]System.Nullable<int> БИК
{
{this._БИК;
}
{((this._БИК !=
value))
{._БИК = value;
}
}
}
[Column(Storage="_К_с",
DbType="NChar(50)")]string К_с
{
{this._К_с;
}
{((this._К_с != value))
{._К_с = value;
}
}
}
[Column(Storage="_Индекс", DbType="Int")]System.Nullable<int> Индекс
{
{this._Индекс;
}
{((this._Индекс
!= value))
{._Индекс = value;
}
}
}
[Column(Storage="_Сайт", DbType="NChar(50)")]string Сайт
{
{this._Сайт;
}
{((this._Сайт !=
value))
{._Сайт = value;
}
}
}
}
}
#pragma warning restore 1591