РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ АКТ НА СПИСАНИЕ МАЛОЦЕННЫХ И БЫСТРОИЗНАШИВАЮЩИХСЯ ПРЕДМЕТОВ

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

2015-08-10

1.3 MB

9 чел.


Поделитесь работой в социальных сетях

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


СОДЕРЖАНИЕ

[1] СОДЕРЖАНИЕ

[2]
1. АНАЛИЗ ДОКУМЕНТА «АКТ НА СПИСАНИЕ МАЛОЦЕННЫХ И БЫСТРОИЗНАШИВАЮЩИХСЯ ПРЕДМЕТОВ» И СУЩЕСТВУЮЩИХ СИСТЕМ АВТОМАТИЗАЦИИ

[2.1] Структура и информационные потоки документа «Акт на списание малоценных и быстроизнашивающихся предметов»

[2.2] Анализ существующих систем автоматизации

[2.3] Требования к разрабатываемой информационной системе и постановка задачи

[3]
2. РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ АКТ НА СПИСАНИЕ МАЛОЦЕННЫХ И БЫСТРОИЗНАШИВАЮЩИХСЯ ПРЕДМЕТОВ

[3.1] 2.1 Выбор средства реализации

[3.2] 2.2 Моделирование предметной области информационной системы

[3.3]
2.3 Моделирование структуры данных

[3.4]
2.4 Создание структуры базы данных

[3.5] 2.5 Разработка форм ввода и вывода информации

[3.6] 2.6 Разработка отчетов

[3.7] 2.7 Формирование программного обеспечения информационной системы

[4]
3. ТЕХНОЛОГИЯ РАБОТЫ С ИНФОРМАЦИОННОЙ СИСТЕМОЙ

[4.1] 3.1 Подготовка системы к работе. Требование к оборудованию и программному обеспечению

[4.2] 3.2 Описание работы с системой

[5]
ЗАКЛЮЧЕНИЕ

[6]
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

[7] ПРИЛОЖЕНИЕ 1. Бланк «Акт на списание малоценных и быстроизнашивающихся предметов»

[8] ПРИЛОЖЕНИЕ 2. Код функции number2word


ВВЕДЕНИЕ

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

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

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

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


1. АНАЛИЗ ДОКУМЕНТА «АКТ НА СПИСАНИЕ МАЛОЦЕННЫХ И БЫСТРОИЗНАШИВАЮЩИХСЯ ПРЕДМЕТОВ» И СУЩЕСТВУЮЩИХ СИСТЕМ АВТОМАТИЗАЦИИ

  1.  Структура и информационные потоки документа «Акт на списание малоценных и быстроизнашивающихся предметов»

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

Акт на списание малоценных и быстроизнашивающихся предметов (форма № МБ-8) применяется для оформления списания изношенных и непригодных для дальнейшего использования малоценных и быстроизнашивающихся предметов. Акт на списание малоценных и быстроизнашивающихся предметов должен содержать следующие реквизиты:

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

Структура документа приведена в приложении 1.

Форму № МБ-8 применяют для оформления списания объектов, потерявших свою первоначальную ценность, непригодных для дальнейшего использования. Акт в одном экземпляре составляет комиссия, и после сдачи списанных объектов в кладовую его вместе с распиской кладовщика передают в бухгалтерию. На разные виды малоценных и быстроизнашивающихся предметов акты составляют отдельно. Для отражения ввода и движения имущества, перешедшего согласно правилам бухгалтерского учета в состав основных средств из категории малоценных и быстроизнашивающихся предметов, могут использоваться унифицированные формы первичной учетной документации № МБ-2, № МБ-4, № МБ-7, № МБ-8.

  1.  Анализ существующих систем автоматизации

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

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

  •  «ЕВФРАТ»

"Евфрат" является простым электронным архивом с базовыми возможностями контроля исполнения. Разработан компанией Cognitive Technologies. Компания предлагает спектр продуктов для организаций различного масштаба - от версии для малого офиса до варианта для крупных компаний. Собственного хранилища файлов "Евфрат" не имеет - система хранит только ссылки на файлы или на страницы в Internet. Для хранения реквизитов документов используется СУБД собственной разработки. В комплект продукта входят утилиты, позволяющие уплотнять и архивировать базу данных этой СУБД.

Система позволяет реализовать различные схемы автоматизации работы с документами и автоматизировать ключевые бизнес-процессы организации. Так внедрение системы может обеспечить работу как в соответствии с отечественными принципами управления (функциональный подход), так и в соответствии с западными стандартами (процессный подход). В «ЕВФРАТ» реализована автоматическая обработка документов и событий в рамках бизнес-процессов (на базе метода «Когнитивного отображения»). Благодаря этому спектр решаемых системой задач, помимо делопроизводства и документооборота, включает автоматизацию ключевых бизнес-процессов. При этом исключения из рутинных операций человека позволяет добиться большей по сравнению с другими системами глубины, а значит и эффективности, автоматизации бизнес-процессов.

  •  Microsoft

В качестве основы комплексной системы автоматизации документооборота компания Microsoft предлагает использовать продукт Microsoft Exchange - сервер в комплекте с клиентским приложением Microsoft Outlook. Также предлагается использовать продукт Microsoft Sharepoint Portal Server в качестве архива документов и средства организации корпоративного Intranet/Extranet портала. Кроме того, компания предоставляет полный набор средств для организации оn-line-взаимодействий.

  •  IBM/Lotus

Компания IBM предлагает использовать платформу Lotus Notes как базовое средство автоматизации документооборота. Помимо этого предполагается расширить базовую функциональность не только средствами организации архива документов Domino.doc, WorkFlow подсистемой Domino.Workflow, но и дополнительными средствами для организации групповых взаимодействий.

  •  Documentum

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

  •  Oracle

Представляет собой интегрированное решение, обеспечивающее управление корпоративным контентом на основе интернет-технологий (Web Content Management), управление оцифрованными образами (Digital Asset Management), управление хранением (Retention Management) и управление документами. Компоненты UCM предоставляют самые широкие возможности по работе с контентом, в том числе такие, как потоковое сканирование, преобразование в различные форматы, публикация.

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

  1.  Требования к разрабатываемой информационной системе и постановка задачи

Разрабатываемая информационная система должна отвечать следующим требованиям:

1. Требования к функциональным характеристикам:

  •  внесение данных в справочники «Организации», «Предметы», «Подразделения»;
  •  автоматическое заполнение полей акта на списание данными из справочника;
  •  внесение данных в акт на списание малоценных и быстроизнашивающихся предметов
  •  наличие журнала актов на списание с возможностью выбора актов по дате
  •  открытие или создание нового акта на списание из журнала
  •  вывод на печать акта на списание
    1.  Требования к надежности:

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

  1.  Требования к составу и параметрам технических средств:

Минимальные требования к рабочему месту:

  •  процессор: Celeron 1600 MHz или более мощный;
  •  ОЗУ: 512 Mb и более;
  •  не менее 1,5 Gb свободного места на жестком диске;
  •  струйный или лазерный принтер (возможно сетевой).

Рекомендуемые требования к рабочему месту:

  •  процессор: Celeron 2400 MHz или более мощный;
  •  ОЗУ: 1 Gb и более;
  •  не менее 2 Gb свободного места на жестком диске;
  •  струйный или лазерный принтер (возможно сетевой).
    1.  Требования к информационной и программной совместимости:

Microsoft Windows XP Professional.

  1.  Требования к оформлению экранных и печатных форм:
  •  форма акта на списание должна быть удобной для заполнения и восприятия информации;
  •  форма журнала актов на списание должна быть оформлена в виде таблицы со следующими полями: номер, дата составления, организация и подразделение;
  •  формы справочников должны быть оформлены в табличном виде для возможности просмотра всех записей;
  •  печатная форма акта на списание малоценных и быстроизнашивающихся предметов должна соответствовать типовой межотраслевой форме № МБ-8.

Таким образом, задачами данного курсового проекта являются :

  •  изучение учебной литературы по ведению и заполнение актов на списание малоценных и быстроизнашивающихся предметов;
  •  изучение учебной литературы по Oracle и PL/SQL;
  •  моделирование предметной области информационной системы;
  •  моделирование структуры данных;
  •  разработка форм ввода и вывода информации;
  •  разработка отчетов
  •  формирование программного обеспечения информационной системы;
  •  разработка руководства пользователя.


2. РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ АКТ НА СПИСАНИЕ МАЛОЦЕННЫХ И БЫСТРОИЗНАШИВАЮЩИХСЯ ПРЕДМЕТОВ

2.1 Выбор средства реализации

Для реализации информационной системы «Акт на списание малоценных и быстроизнашивающихся предметов» была выбрана инструментальная среда СУБД Oracle.

Oracle Database 10g - первая в мире база данных, разработанная специально для работы в сетях распределенных вычислений. Oracle Database 10g предназначена для эффективного развертывания на базе различных типов оборудования. Обладает технологиями, которые позволяют администраторам надежно хранить и быстро распределять и извлекать данные для пользователей и приложений.  Значительно повышает производительность обработки данных и включает в себя удобные средства администрирования. Предоставляет возможность автоматической настройки и управления, которая делает ее использование простым и экономически выгодным. Ее уникальные возможности осуществлять управление всеми данными предприятия - от обычных операций с бизнес-информацией до динамического многомерного анализа данных (OLAP), операций с документами формата XML, управления распределенной/локальной информацией - делает ее идеальным выбором для выполнения приложений, обеспечивающих обработку оперативных транзакций, интеллектуальный анализ информации, хранение данных и управление информационным наполнением.

Oracle SQL Developer - графическая версия SQL*Plus, который дает разработчикам базы данных удобный способ выполнять основные задачи. Вы можете просматривать, создавать, редактировать, и удалять объекты базы данных; выполнять SQL выражения и скрпипты; редактировать и проводить отладку PL/SQL кода; управлять и экспортировать данные; создавать и просмтривать отчеты. Вы можете соединиться с любой базой данных Oracle, используя стандартную авторизацию. Вы можете подключаться к базам данных сторонних производителей, такие как MySQL, Microsoft SQL Server,  Microsoft Access, и просматривать метаданные в этих базах данных; так же можно производить миграцию этих баз данных в Oracle.

Forms Developer - средство быстрой разработки приложений. Forms Developer позволяет создавать приложения, состоящие из экранных форм и деловой графики, основанных на информации, хранящейся в базах данных или других источниках. Обычно в больших организациях парк вычислительной техники довольно разнообразен: от Unix-серверов и рабочих станций до персональных компьютеров под управлением MS Windows и MAC OS. С помощью Forms Developer разработка и развертывание приложений возможно на разных платформах. Приложение, созданное на персональном компьютере, без изменений может быть перенесено и запущено. Среда разработки Forms Developer имеет одинаковый интерфейс в системах под управлением Unix и Windows - разработчику не придется переучиваться. Forms Developer снабжен большим числом "мастеров", контекстных подсказок и множеством примеров. Пользователь избавлен от необходимости написания большого количества кода, так как все операции по работе с БД автоматизированы.

Oracle Reports - это гибкое визуальное средство разработки и получения отчетов. Reports Developer предоставляет коллективу разработчиков среду, в которой можно получить и обработать данные, спроектировать внешний вид отчетных документов. Визуальное проектирование и генерация отчетов могут вестись на разных программных платформах. Пользователи получают результат работы Reports либо в печатном виде, либо в виде электронных файлов стандартного формата HTML, PDF, RTF или XML. В оперативном режиме доступ пользователей к отчетам может быть организован через Web во внутренней или внешней сети.

2.2 Моделирование предметной области информационной системы

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

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

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

Фреймовая функция (Frame Function) – главная функция, которая будет содержать все подфункции.

Локальная функция (Local Function)– функция в пределах главной.

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

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

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

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

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

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

Процесс «Поддержка информации о подразделениях» получает информацию о подразделениях и заносит в хранилище данных POD.

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

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

Декомпозиция процесса «Поддержка информации о списании» (Рис.2) включает в себя 3 процесса.

Процесс «Внесение информации об организации», который сохраняет данные об организации в хранилище данных AKT1.

Процесс «Списание малоценных и быстроизнашивающихся предметов», который сохраняет данные о списанных предметах в хранилище данных AKT2.

Процесс «Оприходование утиля», который сохраняет данные об утиле в хранилище данных AKT3.

Рис.1 - Диаграмма потоков данных (DFD)

Рис.2 – Декомпозиция процесса «Списания малоценных и быстроизнашивающихся предметов» (DFD-диаграмма)


2.3 Моделирование структуры данных

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

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

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

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

Рис.3 – ER-диаграмма

Рис. 4 – Серверная модель


2.4 Создание структуры базы данных

Для создания структуры базы данных использовался OracleDesigner. После построения серверной модели, представленной на рис. 4, необходимо выбрать пункт меню Generate - Generate Database from Server Model (рис. 5).

Рис. 5 – Генерация базы данных из серверной модели

В результате генерации физически были созданы таблицы D_AKT1, D_AKT2, D_AKT3, S_PODS, S_ORGS, S_PREDMETS.

2.5 Разработка форм ввода и вывода информации

После открытия программы Oracle Forms Developer необходимо сохранить новую форму, выбрав меню File->Save и указав имя файла формы D_AKT.fmb по имени документа «Акт на списание малоценных и быстроизнашивающихся предметов», для которого создается данная форма.

В окне Object Navigator необходимо установить курсор на узел Data Blocks и нажать кнопку Create на правой панели инструментов. В открывшемся диалоге нужно выбрать Use the Data Block Wizard для использования мастера создания блоков данных.

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

В окне Tables осуществляется выбор таблиц. Чтобы таблицы текущей схемы были видны, следует выбрать пункты Current User, Tables и Views. В предложенном списке таблиц выбирается D_AKT1. Чтобы отображать в блоке данных все колонки выбранной таблицы необходимо названия всех колонок переместить из поля Available Columns в поле Database Items.

На следующем шаге в поле Data Block Name вводится имя блока данных: D_AKT1. После чего завершаем работу мастера нажатием на кнопку Готово. Для планирования расположения полей на форме только что созданного блока данных сразу после мастера Data Block Wizard запускается мастер Layout Wizard. На двух первых его шагах следует просто нажать кнопку Далее. На третьем шаге, будет предложено выбрать, какие поля следует отображать на форме. В рассматриваемой задаче будут отображаться все поля, поэтому их все и нужно переместить в поле Displayed Items.

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

На следующем шаге выбирается тип отображения формы как Form и завершается работа мастера нажатием кнопки Готово.

Для создания закладок на панели инструментов следует выбрать инструмент Tab Canvas. Для установки имен вкладок необходимо в контекстном меню вкладки выбрать пункт Property Palette и установить там следующие свойства

для первой вкладки:

Name: AKT1;

Label: Организация;

для второй вкладки:

Name: AKT2;

Label: Предметы;

для третьей вкладки:

Name: AKT3;

Label: Утиль(лом).

Вкладки были созданы поверх уже имеющихся на форме элементов управления. Для переноса этих элементов на вкладку «Организация» в окне Object Navigator нужно выделить все элементы блока данных D_AKT2, и выбрать пункт меню Tools-> Property Palette, чтобы установить идентичные свойства сразу для группы элементов.

Требуется установить следующие свойства:

Canvas: CANVAS6

Tab Page: AKT2

Где CANVAS6 имя канвы, на которой находятся страницы закладок, a AKT2-имя вкладки, на которую следует поместить, выбранные элементы блока данных. Аналогичным образом элементы блока D_AKT3 помещаются на вкладку AKT3.

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

Создание производиться также с помощью мастера Data Block Wizard. На третьем шаге мастера, где предлагается выбрать таблицу в качестве источника данных, следует выбрать соответствующую таблицу, S_PODS, S_PREDS.

На четвертом шаге требуется создать связь между двумя блоками данных. После нажатия на кнопку Create Relationship в открывшемся окне выбирается строка с указанием наименования связи, созданной при разработке структуры базы данных. Далее в качестве Detail Item выбирается поле KOD_D_AKT1, а и качестве Master ItemKOD1. Таким образом, будет осуществляться связь между блоками данных по первичному ключу в таблице D_AKT2 и по внешнему ключу в таблице S_PODS, S_PREDS.

На следующем шаге вводим имя нового блока данных: D_AKT2. Далее на втором шаге мастера Layout Wizard требуется выбрать канву и закладку, на которой новый блок данных будет отображаться, т.е. установить следующие значения:

  •  Canvas: CANVAS6;
  •  Tab Page: AKT2

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

На пятом шаге осуществляется выбор вида формы – Tabular.

Шестой шаг – завершающий шаг установки. Необходимо установить:

Records Displayed: 10;

Отметить флажок Display ScrollBar.

На этом работа мастера завершена и  нажимается кнопка Готово.

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

Для того чтобы при создании новой записи в каждом из блоков данных поле первичного ключа (KOD1) принимало автоматически следующее по порядку значение необходимо в каждом блоке объявить триггер PRE-INSERT. Сделать это можно следующим образом:

  1.  В окне Object Navigator выбрать блок данных D_AKT1 и в нем выбрать узел Triggers;
  2.  Затем вызвать контекстное меню и выбрать пункт Smart Triggers -> Others ->PRE-INSERT.

3. В появившемся окне ввести следующий код триггера:

SELECT kod_d_akt1.nextval INTO :D_AKT1.kod1 FROM dual; Аналогичный триггер нужно создать и в блоках D_AKT2, D_AKT3 со следующим кодом

SELECT kod_d_akt2.nextval INTO :D_AKT2.kod2 FROM dual

SELECT kod_d_akt2.nextval INTO :D_AKT2.kod2 FROM dual

Чтобы у пользователя не было доступа к кодовым полям в блоках данных, эти поля необходимо скрыть. Это можно сделать следующим образом, в Property Palette для элемента KOD блока данных D_AKT1 установить свойство Canvas этого элемента в Null значение, после этого поле KOD должно исчезнет в окне Layout Editor. Таким же образом устанавливается свойство Canvas для соответствующих элементов блоков данных D_AKT2 и D_AKT3.

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

В блоке D_AKT1 в Items создать новое поле Item с помощью нажатия кнопки «+». Но новое поле установить следующие свойства:

Name: NAIM_ORG

Data Type: Char

Maximum Length: 50

Database Item: NO

CANVAS: CANVAS6

Tab Page: AKT1

Аналогичным образом создаются поля NAIM_PODR - D_AKT1, NAIM_PRED, NOM_N, INV_NOM,IZM_KOD,IZM_NAIMD_AKT2, STR_POD-D_AKT3.

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

Для создания списка значений нужно в Object Navigator выделить узел LOVs и в меню выбрать пункт Edit-> Create. В появившемся диалоге выбрать Use the LOV Wizard.

На втором шаге мастера, где требуется указать запрос для заполнения списка значений данными, в поле SQL Query Statement ввести следующий запрос:

SELECT KOD, NAIM, OKPO FROM S_ORGS

На третьем шаге переместите все поля из области Record Group Columns в область LOV Columns для отображения в списке значений всех полей запроса. На четвертом шаге, необходимо указать в какие поля формы будут вставляться выбранные в списке значения. В колонке Column указывается имя поля в списке значений, в колонке Title - заголовок столбца и списке значений, Width - ширина колонки. Return Value - адрес элемента формы, в который следует записать выбранные пользователем значения.

  1.  NAIM - D_AKT1.NAIM_ORG
  2.  KOD - D_AKT1.S_ORG_KOD
  3.  OKPO - D_AKT1.OKPO

где первое значение - колонка Column, а второе - Return Value.

Пятый шаг мастера - это указание заголовка окна списка значений и его физических размеров. На этом работу мастера можно завершить нажатием кнопки Готово. Теперь в Object Navigator в узле LOVs появился новый список значений, который переименован в ORG_LOV.

Аналогичным образом были созданы списки значений:

  1.  PODR_LOV – для выбора подразделений в блоке D_AKT2
  2.  PODR2_LOV– для выбора подразделений в блоке D_AKT3
  3.  PRED_LOV– для выбора предметов в блоке D_AKT2

Создание кнопок вызова списков

Рядом с полем NAIM_ORG в блоке D_AKT1 создается кнопка для вызова Списка значений выбора организации с следующими свойствами:

  •  Name: ORG_BUTTON
  •  Label: …

Код кнопки:

DECLARE

res BOOLEAN;

BEGIN

res := Show_LOV('ORG_LOV');

END;

Чтобы можно было корректно сохранить изменения данных либо не сохранять их, в форме предусмотрены две кнопки «ОК» и «Отмена». По кнопке «ОК» осуществляется вызов процедуры, которая записывает все изменения в БД и закрывает форму. По кнопке «Отмена» производится выход из формы без сохранения обновлений.

Для создания процедуры в окне Object Navigator выбирается узел Программы и в меню выбирается Edit->Create.

Теперь в окне Новая Программа вводится имя новой процедуры: SAVE_FORM. Код процедуры сохранения:

PROCEDURE SAVE FORM IS BEGIN Post;

END;

На следующем шаге создается служебный блок данных, в котором будут располагаются кнопки «ОК» и «Отмена». Блок необходимо создать с выбором опции Build a new data block manually. Новому блоку данных присваивается имя TAIL и в Property Palette устанавливается свойство Database Data Block в значение NO, отметив тем самым, что данный блок не связан с БД.

Данные кнопки помещаются на канве CANVAS4 в блоке TAIL со следующими свойствами:

кнопка OK:

  •  Name: OK_BUTTON
  •  Label: OK

кнопка Отмена

  •  Name: CANCEL_BUTTON
  •  Label: Отмена

Чтобы по нажатию кнопок выполнялись нужные действия, следует для каждой из кнопок создать триггер WHEN-BUTTTON-PRESSED, который вызывается при нажатии кнопки. Для кнопки ОК триггер будет следующим:

Save_Form;

Exit_Form(NO_VALIDATE);

Для кнопки Отмена:

Exit_Form(NO_VALIDATE);

Триггер, который вызывается при открытии формы-WHEN-NEW-FORM-INSTANCE для блока D_AKT будет выглядеть следующим образом:

:System.Message_Level := '5';

Go_Block('D_akt1');

Execute_Query;

Go_Block('d_akt2');

Execute_Query;

Go_Block('d_akt3');

Execute_Query;

Go_Block('d_akt1');

Триггеры POST_QUERY для блоков данных:

  •  D_AKT1:

IF :d_akt1.s_org_kod IS NOT NULL THEN

SELECT naim,okpo INTO :d_akt1.naim_org,:d_akt1.okpo  FROM s_orgs WHERE kod = :d_akt1.s_org_kod;

END IF;

IF :d_akt1.s_pod_kod_p IS NOT NULL THEN

SELECT naim_p INTO :d_akt1.naim_podr from s_pods where kod_p=:d_akt1.s_pod_kod_p;

END IF;

EXCEPTION WHEN NO_DATA_FOUND THEN

NULL;

  •  D_AKT2:

IF :d_akt2.s_predmet_kod_pr IS NOT NULL THEN

SELECT naim_pr, nom_n, inv_n, kod_ed, naim_ed INTO :d_akt2.naim_pred, :d_akt2.nom_n, :d_akt2.inv_nom,:d_akt2.izm_kod,:d_akt2.izm_naim FROM s_predmets

WHERE kod_pr = :D_akt2.s_predmet_kod_pr;

END IF;

EXCEPTION WHEN NO_DATA_FOUND THEN

NULL;

  •  D_AKT3:

IF :d_akt3.s_pod_kod_p IS NOT NULL THEN

SELECT naim_p INTO :d_akt3.str_pod from s_pods where kod_p=:d_akt3.s_pod_kod_p;

END IF;

EXCEPTION WHEN NO_DATA_FOUND THEN

NULL;

При закрытии окна формы срабатывает триггер WHEN-WINDOW-CLOSED. Если в форме есть несохраненные данные, то нужно предложить пользователю их сохранить. Для этих целей необходимо использовать сообщение Alert. Чтобы создать Alert, необходимо в окне Object Navigator выделить узел Alerts и выбрать пункт меню Edit->Create.

Для нового сообщения Alert устанавливаются следующие свойства:

  •  Name: SAVE_ALERT
  •  Title: Сообщение
  •  Message: Вы хотите сохранить сделанные Вами изменения?
  •  Button 1 Label: Да
  •  Button 2 Label: Нет
  •  Button 3 Label: Отмена
  •  Default Alert Button: Button 3

Код триггера WHEN-WINDOW-CLOSED:

DECLARE

but NUMBER;

stat VARCHAR2(14);

BEGIN

Go_Block('D_akt1');

stat := :System.Block_Status;

Go_Block('D_akt2');

stat := stat || :System.Block_Status;

Go_Block('D_akt3');

stat := stat || :System.Block_Status;

if stat <> 'QUERYQUERY' THEN

but := Show_Alert('SAVE_ALERT');

if but = ALERT_BUTTON3 then -- Нажали "Отмена"

return;

end if;

if but = ALERT_BUTTON1 then -- Нажали "Да"

Save_Form;

end if;

end if;

Exit_Form(NO_VALIDATE);

END;

Для того, чтобы установить заголовок формы в Object Navigator в узле Windows в Property Palette установить свойства:

Title: Акт на списание

Primary Canvas: CANVAS4

После выполнения вышеперечисленных шагов в результате получаются нижеприведенные формы (рис.6 -рис.12)

Рис. 6 - Форма вывода данных «Журнал актов на списание малоценных и быстроизнашивающихся предметов»

Рис. 7 - Вкладка «Организация» формы ввода данных

Рис. 8 - Вкладка «Предметы» формы ввода данных

Рис. 9 - Вкладка «Утиль (лом)» формы ввода данных

Рис. 10 – Форма «Справочник организаций»

Рис. 11 – Форма «Справочник подразделений»

Рис. 12 – Форма «Справочник предметов»

2.6 Разработка отчетов

Для создания отчета необходимо запустить Oracle Reports Builder. Для того чтобы отобразить один документ в отчете нужно передать его номер в отчет для этого используется User Parameter (пользовательские параметры). Затем щелкнуть мышью по узлу в Object Navigator по Data Model, выделить пункт User Parameter и нажать кнопку "+" в Object Navigator, в результате будет создан параметр с именем «P_1», переименованный в «D_AKT».

Теперь нужно построить SQL запросы для получения данных из БД, для этого необходимо в Object Navigator выбрать пункт Report Editor, в результате чего появится окно Report Editor.

Далее необходимо нажать на кнопку Data Model для построения модели данных и выполнить следующие операции:

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

select nomer, (select naim from s_orgs where kod=s_org_kod),(select okpo from s_orgs where kod=s_org_kod),(select naim_p from s_pods where kod_p=s_pod_kod_p),data_sost, kod_v_d,vid_d,kod_a_y,sch from d_akt1 where kod1=:P_kod;

В результате после нажатия на кнопку ОК в рабочей области Report Editor появится запрос (рис. 13).

2. Аналогичным образом строятся запросы для табличных частей документа из таблиц D_AKT2 и D_AKT3. Код запросов:

  •  для D_AKT2:

select (select naim_pr from s_predmets where kod_pr=s_predmet_kod_pr),(select nom_n from s_predmets where kod_pr=s_predmet_kod_pr),(select inv_n from s_predmets where kod_pr=s_predmet_kod_pr),(select kod_ed from s_predmets where kod_pr=s_predmet_kod_pr),(select naim_ed from s_predmets where kod_pr=s_predmet_kod_pr),kolvo,datapost,cena,srok,pr_sp_naim,pr_sp_kod,n_pasp from d_akt2 where d_akt1_kod1=:P_kod;

  •  для D_AKT3:

select kod_v_op, vid_d2,(select naim_p from s_pods where kod_p=s_pod_kod_p),yt_naim,yt_nom_n,ed_kod,ed_naim,kolvo2,cena2,por_nom from d_akt3 where D_akt1_kod1=:P_kod;

Рис. 13 – Модель данных в Reports Builder

На первом этапе рисуется шапка документа, для этого создается повторяющийся фрейм в верхней части листа. Далее необходимо выделить фрейм и  в окне свойств установить значение «Source» на G_NOMER.

Теперь необходимо расположить поля данных шапки в созданном фрейме. Для создания поля данных во фрейме во фрейм добавляется компонент Field, для которого устанавливаются свойства «Source» в соответствии с вызываемым полем из таблицы запроса  и добавляется подпись к полю с помощью компонента Text. Для данного документа таким образом были созданы следующие поля: Акт № (F_1), наименование организации(F_3), наименование структурного подразделения(F_2, F_7), дата составления (F_5), код вида операции (F_6), вид деятельности(F_8),код ОКПО(F_4), счет, субсчет(F_9), код аналитического учета (F_10). Аналогичным образом созданы поля данных из таблиц D_AKT2 и D_AKT3, расположенные в повторяющихся фреймах.

Для расчета суммы были добавлены поля с помощью компонента Formula Column. Для созданного поля устанавливаются следующие свойства:

«CF_1»: Column TypeFormula, PL/SQL Formula - return (:KOLVO*:cena-0.18*(:KOLVO*:cena));

«CF_3»: Column Type – Formula, PL/SQL Formula - return (:KOLVO2*:CENA2);

Так как в табличной части документа необходимо выводить общее количество предметов, утиля (лома), а также общую сумму, то необходимо создать элементы Summary Column. Для этого необходимо перейти в окно Data Model, выбрать компонент Summary Column и щелкнуть мышью по рабочему полю Report Editor. В результате появится еще одно поле для которого необходимо выставить следующие свойства «Function» - «Sum», «Source» - «CF. Аналогичным образом создаются поля CS2(«Function» - «Sum», «Source» - «KOLVO »), CS3(«Function» - «Sum», «Source» - «KOLVO2 »), CS4(«Function» - «Sum», «Source» - «CF3»).

Для вывода общего количества предметов прописью было добавлено поле «CF_2», для которого были установлены свойства: Column TypeFormula, PL/SQL Formula - return number2word(:CS_2,0). Код функции приведен в приложении 2.

В результате проделанных операций мы получим отчет, приведенный на рис.14.

Рис. 14 – Отчет «Акт на списание малоценных и быстроизнашивающихся предметов»

2.7 Формирование программного обеспечения информационной системы

Oracle Forms Builder 10G позволяет создавать меню, из которого вызываются созданные формы, представляя собой общий интерфейс для работы с программой.

Для создания меню необходимо запустить Forms Builder.

В появившемся окне Forms Builder в Object Navigator в пункте Menus необходимо нажать кнопку «+» в окне Object Navigator, в результате создается чистый модуль меню, переименованный в «top_menu». Затем создается чистое меню первого уровня, в пункте Menus в созданном модуле и нажимается кнопка «+» в Object Navigator, в результате чего появится чистое меню, переименованный в «main_menu».

Далее запускается Menu Editor. Для меню первого уровня понадобится три пункта: «Справочники», «Журналы», «Документы». Для создания пункта «Справочники», необходимо щелкнуть двойным щелчком по пункту с именем «New item» и ввести новое имя «Справочники». Чтобы создать следующий пункт, нужно использовать кнопку «+» со стрелочкой направленной вправо, при нажатии на которую в правой части появится новый пункт меню, который аналогично переименовывается в «Журналы». Таким же образом создается пункт «Документы».

Теперь необходимо создать подпункты меню для этого выделяется пункт «Справочники» и нажимается кнопка на панели инструментов Menu Editor «+» со стрелкой вниз, в результате чего появляется подпункт «New item» в пункте «Справочники», переименованный в «Организации». Аналогичным образом добавляются подпункты «Подразделения», «Предметы»; «Акты на списание» в «Журналы»; «Акт на списание» в «Документы».

Затем необходимо привязать вызов формы к каждому подпункту меню, для этого мы используется процедура Open_ form(' Имя_файла_формы').

Выбирается подпункт «Справочники» -> «Организации» и в Property Palette устанавливается свойство Command Type в PL/SQL, далее в Menu Item Code и нажимается кнопка More, в результате чего открывается окно PL/SQL Editor, в котором указывается «open_form('D:\DevSuiteHome_1\cgenf61\kursovaia\s_orgs.fmx');».

Аналогичным образом, для подпунктов «Предметы», «Подразделения», «Акты на списание», «Акт на списание» указывается соответственно «pen_form('D:\DevSuiteHome_1\cgenf61\kursovaia\s_predmets.fmx');», «open_form('D:\DevSuiteHome_1\cgenf61\kursovaia\s_pods.fmx');», «open_form ('D:\DevSuiteHome_1\cgenf61\kursovaia\D_AKT1_LIST');», «open_form('D:\DevSuiteHome_1\cgenf61\kursovaia\d_akt.fmx');».

Чтобы формы справочников, документов и журналов «видели» данное меню нужно выполнить следующие действия для каждой формы:

  1.  Открыть форму.
  2.  Щелкнуть двойным щелчком по модулю формы для открытия Property Palette.
  3.  В свойствах окна (Property Palette) выбрать Menu Module и заменить «DEFAULT&SMARTBAR» на «D:\DevSuiteHome_1\cgenf61\kursovaia\top_menu.mmx»
  4.  Сохранить и откомпилировать файл формы.

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

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

Рис. 15 – Вид главного меню

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

Рис. 16 – Обобщенная структурная схема информационной системы «Акт на списание малоценных и быстроизнашивающихся предметов»


3. ТЕХНОЛОГИЯ РАБОТЫ С ИНФОРМАЦИОННОЙ СИСТЕМОЙ

3.1 Подготовка системы к работе. Требование к оборудованию и программному обеспечению

Для использования разработанной системы автоматизации работы с актом на списание малоценных и быстроизнашивающихся предметов необходимо, чтобы на рабочем месте был установлен Oracle 10g database или выше.

Для установки ПО Oracle требуется войти под учетной записью имеющей привилегии администратора. Системные требования к установке Oracle 10g database:

Требование

Минимальное значение

Оперативная память

256Мб (рекомендуется 512Мб)

Виртуальная память

двойной размер оперативной памяти

Место на жестком диске для временных файлов

100 Мб

Место на жестком диске

1,5 Гб

Видеокарта

256 цветов

Процессор

500 МГц

Операционная система

  •  Windows Server 2003
  •  Windows XP Professional

Также необходимо наличие установленного Developer Suite 10g (9.0.4.0.0) for Microsoft Windows. Системные требования к установке:

Требование

Минимальное значение

Оперативная память

128Мб (рекомендуется 256Мб)

Виртуальная память

384Мб

Место на жестком диске

943 Мб

Видеокарта

256 цветов

Процессор

500 МГц

Операционная система

  •  Windows Server 2003
  •  Windows XP Professional SP1

Oracle рекомендует устанавливать ПО Oracle на диски с файловой системой NTFS.

Следует иметь следующий список дисков:

  •  Oracle Database 10g Release 1 (10.1.0.2) for Microsoft Windows (32-bit) [B14601-01]
  •  Oracle Database 10g Client Release 1 (10.1.0.2) for Microsoft Windows (32-bit) [B14618-01]
  •  Oracle Application Server Forms and Reports Services 10g (9.0.4.0.0) for Microsoft Windows (32-bit) [B14676-01]
  •  Oracle Developer Suite 10g (9.0.4.0.0) for Microsoft Windows (32-bit) (Disk 1 of 2) [B14683-01]
  •  Oracle Developer Suite 10g (9.0.4.0.0) for Microsoft Windows (32-bit) (Disk 2 of 2) [B14684-01]

Прежде чем начать работу с разработанным приложением необходимо импортировать таблицы из файла AKT_dump.dmp. Сделать это можно следующим образом

CONN sys/password@name_database AS SYSDBA

ALTER USER name_user IDENTIFIED BY password ACCOUNT UNLOCK;

GRANT CREATE ANY DIRECTORY TO name_user;

CREATE OR REPLACE DIRECTORY akt1_dir AS '…\akt_dump.dmp';

GRANT READ, WRITE ON DIRECTORY akt1_dir TO name_user;

$impdp name_user/password@name_database tables=d_akt1, d_akt2, d_akt3, s_pods, s_predmets, s_orgs directory=AKT1_DIR dumpfile=AKT_dump.dmp logfile=impdpAKT_dump.log

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

3.2 Описание работы с системой

Для запуска приложения необходимо нажать на ярлык . В результате откроется окно, приведенное на рис. 15. Для начала, необходимо зайти в пункт меню Документы, после чего откроется окно, показанное на рис. 7 и заполнить данными соответствующие поля на трех вкладках. Для заполнения данными из справочников полей ОКПО, Организация, Структурное подразделение, Наименование предмета, Номенклатурный номер, Инвентарный номер, Единица измерения (код, наименование) необходимо нажать на кнопку . Для того чтобы сохранить введенные изменения необходимо нажать на кнопку ОК. Чтобы закрыть окно без сохранения достаточно нажать на кнопку Отмена. Для вывода на печать отчета по открытому акту на списание необходимо нажать на кнопку Печать.

Чтобы просмотреть список заполненных актов необходимо выбрать пункт меню Журналы. Откроется окно, приведенное на рис. 6, где будет приведен список всех заполненных актов с возможностью установки фильтра по дате. Для того чтобы выбрать Акты на списание за определенный промежуток времени необходимо задать период и нажать на кнопку Фильтр. Чтобы отменить установленный фильтр достаточно нажать на кнопку Снять, показанную на рис. 16. Также в окне Журналы доступно создание нового документа или открытие выделенного. Для этого необходимо соответственно нажать на кнопки Новый документ или Открыть документ. Для того чтобы закрыть окно Журнал необходимо нажать на кнопку Закрыть.

Также возможно добавление и редактирование записей в справочниках «Организации», «Предметы», «Подразделения». Для этого необходимо выбрать пункт меню Справочники и соответствующий справочник. В результате, в зависимости от выбранного справочника, откроется окно (рис. 10 – рис. 12). Затем добавить или изменить запись и нажать кнопку ОК для сохранения изменений. Чтобы закрыть справочник без сохранения изменений достаточно нажать кнопку Отмена.

Рис. 16 – Журнал актов на списание


ЗАКЛЮЧЕНИЕ

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

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

В результате выполнения проекта были реализованы поставленные задачи:

  •  изучение учебной литературы по ведению и заполнение актов на списание малоценных и быстроизнашивающихся предметов;
  •  изучение учебной литературы по Oracle и PL/SQL;
  •  формирование программного обеспечения информационной системы;
  •  разработка руководства пользователя.
  •  моделирование предметной области информационной системы;
  •  моделирование структуры данных;
  •  разработка форм ввода и вывода информации;
  •  разработка отчетов

Часть поставленных задач была реализованы при помощи СУБД Oracle . В ходе реализации проекта разработчиком были получены навыки работы с СУБД Oracle.


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1.  http://mab.h1.ru/
  2.  Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. М, 1989
  3.  Марков А.С. Базы данных. Введение в теорию и методологию – М.: Финансы и статистика, 2004 – 512с.
  4.  Тиори Т., Фрай Дж. Проектирование структур баз данных. М, 1985.
  5.  Хаббард Дж. Автоматизированное проектирование баз данных. М, 1984.


ПРИЛОЖЕНИЕ 1. Бланк «Акт на списание малоценных и быстроизнашивающихся предметов»

Типовая межотраслевая форма № МБ-8

Утверждена постановлением Госкомстата России

от 30.10.97 № 71а

УТВЕРЖДАЮ

(должность)

(подпись)

(расшифровка подписи)

"

"

20

г.

АКТ №

на списание малоценных и быстроизнашивающихся

предметов

Коды

Форма по ОКУД

0320004

Организация

по ОКПО

Структурное подразделение

Дата
со
став-ления

Код
ви
да
операции

Структурное
подразделение

Вид
де
ятельности

Корреспондирую-
щий счет

счет,
субсчет

код анали-тического учета

Комиссия, назначенная приказом от "

"

20

г. №  

осмотрела принятые за

20

г., находившиеся в

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

Предмет

Единица измерения

Количество

Дата поступле-ния

Цена, руб. коп.

Сумма, руб.коп.

Срок службы

Причина списания

Номер паспорта

наименование

Номенклатурный номер

инвентарный номер

код

наименование

без учета  НДС

амортизации

наименование

код

1

2

3

4

5

6

7

8

9

10

11

12

13

14


Оборотная сторона формы № МБ-8

Предмет

Единица измерения

Количество

Дата поступ-ления

Цена, руб. коп.

Сумма, руб.коп.

Срок службы

Причина списания

Номер паспорта

наименование

номенклатурный

номер

Инвентарный

номер

код

наименование

без учета

НДС

амортизации

наименование

код

1

2

3

4

5

6

7

8

9

10

11

12

13

14

Итого

Х

Х

Общее количество предметов

(прописью)

Номера и даты актов выбытия

Перечисленные в настоящем акте в присутствии комиссии превращены в утиль (лом), который подлежит оприходованию:

Код вида операции

Вид деятельности

Структурное подразделение

Утиль (лом)

Единица измерения

Количество

Цена, руб. коп.

Сумма, руб. коп.

Порядковый но-мер записи по складской картотеке

наименование

номенклатурный номер

наименование

код

1

2

3

4

5

6

7

8

9

10

11

Утиль, не подлежащий учету, уничтожен.

Итого

Председатель комиссии

(должность)

(подпись)

(расшифровка подписи)

Члены комиссии:

(должность)

(подпись)

(расшифровка подписи)

(должность)

(подпись)

(расшифровка подписи)

(должность)

(подпись)

(расшифровка подписи)

Утиль (лом) по накладной №

сдан

"

"

20

г.


ПРИЛОЖЕНИЕ 2. Код функции number2word

FUNCTION "NUMBER2WORD" (source IN NUMBER,md IN NUMBER) RETURN varchar2 is

result VARCHAR2(300);

temp VARCHAR2(50);

temp2 VARCHAR2(50);

tempn NUMBER;

BEGIN

 --md каким образом будет производится перевод

 --md=0 - возвращает число прописью и только (12.25=двенадцать)

 --md=1 - денежный (12.25=двенадцать рублей 25 копеек)

 --md=2 - целая дробная часть прописью (12.12=двенадцать целых двадцать пять сотых)

 -- k - копейки

IF md=0 THEN

 result := ltrim(to_char( source,

   '9,9,,9,,,,,,9,9,,9,,,,,9,9,,9,,,,9,9,,9,,,.'));

ELSIF md=1 THEN

 result := ltrim(to_char( source,

   '9,9,,9,,,,,,9,9,,9,,,,,9,9,,9,,,,9,9,,9,,,.99')) || 'k';

ELSE

 result := ltrim(to_char( source,

   '9,9,,9,,,,,,9,9,,9,,,,,9,9,,9,,,,9,9,,9,,,.99')) || 'k';

 tempn:=INSTR(result,'.');

 temp:=SUBSTR(result,tempn+1,1);

 temp:=temp||'D';

 temp2:=SUBSTR(result,tempn+2,1);

 temp:=temp||temp2||'S$';

 result:=SUBSTR(result,1,tempn)||temp;

END IF;

 -- t - тысячи; m - милионы; M - миллиарды;

 result := replace( result, ',,,,,,', 'eM');

 result := replace( result, ',,,,,', 'em');

 result := replace( result, ',,,,', 'et');

 -- e - единицы; d - десятки; c - сотни;

 result := replace( result, ',,,', 'e');

 result := replace( result, ',,', 'd');

 result := replace( result, ',', 'c');

 result := replace( result, '0c0d0et', '');

 result := replace( result, '0c0d0em', '');

 result := replace( result, '0c0d0eM', '');

 result:=replace(result,'0D0S$','');

 if result = '.' then

   result := 'ноль ';

 end if;

 result := replace( result, '0c', '');

 result := replace( result, '1c', 'сто ');

 result := replace( result, '2c', 'двести ');

 result := replace( result, '3c', 'триста ');

 result := replace( result, '4c', 'четыреста ');

 result := replace( result, '5c', 'пятьсот ');

 result := replace( result, '6c', 'шестьсот ');

 result := replace( result, '7c', 'семьсот ');

 result := replace( result, '8c', 'восемьсот ');

 result := replace( result, '9c', 'девятьсот ');

 result := replace( result, '1d0e', 'десять ');

 result := replace( result, '1d1e', 'одиннадцать ');

 result := replace( result, '1d2e', 'двенадцать ');

 result := replace( result, '1d3e', 'тринадцать ');

 result := replace( result, '1d4e', 'четырнадцать ');

 result := replace( result, '1d5e', 'пятнадцать ');

 result := replace( result, '1d6e', 'шестнадцать ');

 result := replace( result, '1d7e', 'семьнадцать ');

 result := replace( result, '1d8e', 'восемнадцать ');

 result := replace( result, '1d9e', 'девятнадцать ');

 result := replace( result, '0d', '');

 result := replace( result, '2d', 'двадцать ');

 result := replace( result, '3d', 'тридцать ');

 result := replace( result, '4d', 'сорок ');

 result := replace( result, '5d', 'пятьдесят ');

 result := replace( result, '6d', 'шестьдесят ');

 result := replace( result, '7d', 'семьдесят ');

 result := replace( result, '8d', 'восемьдесят ');

 result := replace( result, '9d', 'девяносто ');

 result := replace( result, '0e', '');

 result := replace( result, '5e', 'пять ');

 result := replace( result, '6e', 'шесть ');

 result := replace( result, '7e', 'семь ');

 result := replace( result, '8e', 'восемь ');

 result := replace( result, '9e', 'девять ');

 IF md=1 THEN

 result := replace( result, '1e.', 'один рубль ');

 result := replace( result, '2e.', 'два рубля ');

 result := replace( result, '3e.', 'три рубля ');

 result := replace( result, '4e.', 'четыре рубля ');

 ELSE

 result := replace( result, '1e.', 'один ');

 result := replace( result, '2e.', 'два ');

 result := replace( result, '3e.', 'три ');

 result := replace( result, '4e.', 'четыре ');

 END IF;

 result := replace( result, '1et', 'одна тысяча ');

 result := replace( result, '2et', 'две тысячи ');

 result := replace( result, '3et', 'три тысячи ');

 result := replace( result, '4et', 'четыре тысячи ');

 result := replace( result, '1em', 'один миллион ');

 result := replace( result, '2em', 'два миллиона ');

 result := replace( result, '3em', 'три миллиона ');

 result := replace( result, '4em', 'четыре миллиона ');

 result := replace( result, '1eM', 'один милиард ');

 result := replace( result, '2eM', 'два милиарда ');

 result := replace( result, '3eM', 'три милиарда ');

 result := replace( result, '4eM', 'четыре милиарда ');

 IF md=1 THEN

 result := replace( result, '11k', '11 копеек');

 result := replace( result, '12k', '12 копеек');

 result := replace( result, '13k', '13 копеек');

 result := replace( result, '14k', '14 копеек');

 result := replace( result, '1k', '1 копейка');

 result := replace( result, '2k', '2 копейки');

 result := replace( result, '3k', '3 копейки');

 result := replace( result, '4k', '4 копейки');

 END IF;

 IF md=0 THEN

   result := replace( result, '.', '');

 ELSIF md=1 THEN

   result := replace( result, '.', 'рублей ');

 ELSE

   result:=replace(result,'.','целых ');

 END IF;

 IF md=2 THEN

 result := replace( result, '1D0S$', 'одна десятая ');

 result := replace( result, '2D0S$', 'две десятых ');

 result := replace( result, '3D0S$', 'три десятых ');

 result := replace( result, '4D0S$', 'четыре десятых ');

 result := replace( result, '5D0S$', 'пять десятых ');

 result := replace( result, '6D0S$', 'шесть десятях ');

 result := replace( result, '7D0S$', 'семь десятых ');

 result := replace( result, '8D0S$', 'восемь десятых ');

 result := replace( result, '9D0S$', 'девять десятых ');

 result := replace( result, '1D1S$', 'одиннадцать сотых');

 result := replace( result, '1D2S$', 'двенадцать сотых');

 result := replace( result, '1D3S$', 'тринадцать сотых');

 result := replace( result, '1D4S$', 'четырнадцать сотых');

 result := replace( result, '1D5S$', 'пятьнадцать сотых');

 result := replace( result, '1D6S$', 'шестьнадцать сотых');

 result := replace( result, '1D7S$', 'семьнадцать сотых');

 result := replace( result, '1D8S$', 'восемьнадцать сотых');

 result := replace( result, '1D9S$', 'девятьнадцать сотых');

 result := replace( result, '1S$', 'одна сотая');

 result := replace( result, '0D', '');

 result := replace( result, '2D', 'двадцать ');

 result := replace( result, '3D', 'тридцать ');

 result := replace( result, '4D', 'сорок ');

 result := replace( result, '5D', 'пятьдесят ');

 result := replace( result, '6D', 'шестьдесят ');

 result := replace( result, '7D', 'семьдесят ');

 result := replace( result, '8D', 'восемьдесят ');

 result := replace( result, '9D', 'девяносто ');

 result := replace( result, '0S', '');

 result := replace( result, '2S', 'две ');

 result := replace( result, '3S', 'три ');

 result := replace( result, '4S', 'четыре ');

 result := replace( result, '5S', 'пять ');

 result := replace( result, '6S', 'шесть ');

 result := replace( result, '7S', 'семь ');

 result := replace( result, '8S', 'восемь ');

 result := replace( result, '9S', 'девять ');

 END IF;

 result := replace( result, 't', 'тысяч ');

 result := replace( result, 'm', 'миллионов ');

 result := replace( result, 'M', 'милиардов ');

 IF md=1 THEN

   result := replace( result, 'k', ' копеек');

 ELSE

   result := replace( result, '$', ' сотых');

 END IF;

 result := Upper(SubStr(result, 1, 1)) || SubStr(result, 2);

 RETURN(result);

END number2word;

/

PAGE  3



 

Другие похожие работы, которые могут вас заинтересовать.
13155. Разработка информационной системы для центра выплат 5.35 MB
  Компьютер не только облегчает учет сокращая время требующееся на оформление документов и обобщение накопленных данных для анализа хода торговой деятельности необходимого для управления ею. Программное обеспечение для работы с автоматизированными системами используется на персональных компьютерах уже довольно давно. Целью данного курсового проекта является разработка информационной системы для центра выплат. Анализ предметной области и проектирование БД...
17472. Разработка автоматизированной информационной системы «Штатное расписание» 278.42 KB
  Работа сотрудника отдела кадров организации связана с необходимостью обработки и учета больших объемов информации. Учет этой информации «вручную» зачастую приводит к ошибкам и задержкам. В связи с этим встает вопрос о необходимости автоматизации работы.
18464. Разработка структуры базы данных информационной системы 971.23 KB
  Требуется разработать приложение и базу данных для компьютерной фирмы занимающейся продажей вычислительной техники комплектующих для неё и периферии. Формы первичных учетных документов определяются и устанавливаются организацией в составе применяемой ею системы учетной документации для регистрации хозяйственных операций. Первые быстродействующие компьютеры использовались предпринимателями в основном для автоматизации процессов которые раньше выполнялись вручную большим числом сотрудников невысокой квалификации; типичный пример - обработка...
1642. Разработка элементов информационной системы мини-отеля 3.75 MB
  Актуальность темы работы обоснована тем, что сама сфера деятельности, в которой реализуется данный проект ориентирована на широкой круг потенциальных постояльцев. Так как целью является оказание качественных гостиничных услуг в максимально доступной ценовой категории, реализация механизмов позволяющих предельно сократить издержки, особо важна
20323. Разработка структуры базы данных информационной системы 971.23 KB
  Требуется разработать приложение и базу данных для компьютерной фирмы занимающейся продажей вычислительной техники комплектующих для неё и периферии. Формы первичных учетных документов определяются и устанавливаются организацией в составе применяемой ею системы учетной документации для регистрации хозяйственных операций. Первые быстродействующие компьютеры использовались предпринимателями в основном для автоматизации процессов которые раньше выполнялись вручную большим числом сотрудников невысокой квалификации; типичный пример - обработка...
19460. Разработка программного обеспечения информационной системы «Дом детского творчества» 1.08 MB
  Программное обеспечение – это программа, которая управляет работой компьютера или выполняет какие либо расчеты или действия. Это могут быть внутренние команды, управляющие оборудованием или программа, выполняющая какие либо действия в ответ на вводимые с клавиатуры команды. Программное обеспечение ПК может быть с открытым исходным кодом или являться собственностью компании разработчика.
19045. Разработка автоматизированной информационной системы отеля туристической фирмы 6.19 MB
  Актуальность проекта построена на разработке и внедрении автоматизированной системы работы с клиентами отеля туристической фирмы что предопределит успешную реализацию качественного туристского продукта потребителю и явится одним из главных источников функционирования туристического предприятия. С помощью данной системы появится...
11708. Разработка информационной системы учета товаров для магазина «Аистенок» 726.86 KB
  Результаты выполнения торговых операций записываются в надлежащих журналах. Автоматизация данных процессов позволит сохранить информацию в базе, в которую вводится данная информация с помощью удобного интерфейса программы.
15749. Разработка многопользовательской информационной системы «Отдел кадров РОВД г.Климовичи» 395.26 KB
  Отдел кадров, деятельность которого планируется автоматизировать, занимается учётом сотрудников РОВД г. Климовичи. Важнейшим звеном в данной деятельности являются специалисты по работе с сотрудниками милиции. В зависимости от того, насколько автоматизирована их работа, можно судить об эффективности работы отдела кадров. Каждый день отдел кадров осуществляет операции по работе с сотрудниками.
18391. Проектирование и разработка информационной системы «Планирование и управление ресурсами предприятия» 973.77 KB
  Более быстрая обработка данных и централизация их хранения с использованием клиент серверных технологий позволяют сберечь значительные средства а главное и время для получения необходимой информации а также упрощает доступ и ведение данных. Оценка накопление и развитие интеллектуального капитала и управление им для достижения целей организации стали важной задачей для ведущих мировых компаний Одним из способов решения описанной проблемы является построение автоматизированной системы сбора накопления и обработки информации вписывающейся в...
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.