- •Содержание
- •Введение
- •1. Анализ документа «акт на списание малоценных и быстроизнашивающихся предметов» и существующих систем автоматизации
- •Структура и информационные потоки документа «Акт на списание малоценных и быстроизнашивающихся предметов»
- •Анализ существующих систем автоматизации
- •Требования к разрабатываемой информационной системе и постановка задачи
- •2. Разработка информационной системы акт на списание малоценных и быстроизнашивающихся предметов
- •2.1 Выбор средства реализации
- •2.2 Моделирование предметной области информационной системы
- •2.3 Моделирование структуры данных
- •2.4 Создание структуры базы данных
- •2.5 Разработка форм ввода и вывода информации
- •2.6 Разработка отчетов
- •2.7 Формирование программного обеспечения информационной системы
- •3. Технология работы с информационной системой
- •3.1 Подготовка системы к работе. Требование к оборудованию и программному обеспечению
- •3.2 Описание работы с системой
- •Заключение
- •Список использованной литературы
- •Приложение 1. Бланк «Акт на списание малоценных и быстроизнашивающихся предметов»
- •Приложение 2. Код функции number2word
Приложение 2. Код функции number2word
FUNCTION "NUMBER2WORD" (source IN NUMBER,md IN NUMBER) RETURN varchar2 is
result VARCHAR2(300);
temp VARCHAR2(50);
temp2 VARCHAR2(50);
tempnNUMBER;
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;
ENDIF;
-- 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;
/