Разработка приложения для работы с таблицей "Лекарства"

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Федеральное агентство по образованию

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ"

(ГБОУВПО «ВГТУ»)

Факультет вечернего и заочного обучения

Кафедра «Автоматизированные и вычислительные системы»

Специальность «Вычислительные машины, комплексы,

системы и сети"

КУРСОВАЯ РАБОТА

Расчетно-пояснительная записка

по дисциплине «Технология программирования»

Тема: «Разработка приложения для работы с таблицей „Лекарства“»

Разработал студент Гулевский А. В.

Руководитель Гребенникова Н. И.

Воронеж 2012

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ"

(ГОУВПО «ВГТУ»)

Кафедра «Автоматизированные и вычислительные системы»

ЗАДАНИЕ

на курсовую работу

по дисциплине «Технология программирования»

Тема: «Разработка приложения для работы с таблицей „Лекарства“»

Студент группы ВМ-101 Гулевский Алексей Владимирович

Технические условия: осуществить разработку приложения в среде Delphi.

Содержание и объем работы (графические работы, расчеты и прочее): изучение технологии разработки пользовательского интерфейса в среде Delphi; освоение технологии создания таблицы, меню, форм для ввода и редактирования данных, реализации сортировки, фильтрации, вычислений в таблице; составление расчетно-пояснительной записки.

Сроки выполнения этапов: изучение технологии разработки пользовательского интерфейса в Delphi — до 15. 03. 2012 г., реализация практического задания — до 15. 04. 2012 г., оформление расчетно-пояснительной записки — до 15. 05. 2012 г.

Руководитель Н.И. Гребенникова

Задание принял студент А.В. Гулевский

Содержание

  • Введение
  • 1. Организация меню
  • 1.1 Меню как элемент интерфейса пользователя
  • 1.2 Принципы построения меню пользователя
  • 1.2.1 Золотое сечение
  • 1.2.2 Кошелек Миллера
  • 1.2.3 Принцип группировки
  • 1.3 Приемы построения меню
  • 2. Разработка пользовательского интерфейса
  • 2.1 Создание таблицы базы данных Paradox 7
  • 2.2 Создание меню приложения
  • 2.3 Реализация основных методы работы с данными
  • Заключение
  • Список использованной литературы

Введение

Современные информационные технологии — это методы и средства для сбора, хранения, обработки и получения информации на основе современных средств вычислительной техники.

Составными частями любой информационной системы являются БД и приложение для обработки данных. Появление персональных машин класса Pentium, семейства операционных систем Windows фирмы Microsoft и различного программного обеспечения позволяют автоматизировать ручные операции, вести любые виды работ по накоплению информации, ее обработки и получению различных выходных форм.

Целью курсовой работы является разработка приложения для работы с таблицей «Лекарства», в среде Borland Delphi 7, освоение технологии создания таблицы, меню, форм для ввода и редактирования данных.

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

Одной из широко используемых сред разработки является Borland Delphi 7, которая позволяет создавать различные приложения: от простейших однооконных приложений до программ распределения баз данных, поэтому именно с помощью его я буду разрабатывать своё приложение.

1. Организация меню

1.1 Меню как элемент интерфейса пользователя

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

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

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

каждое окно меню занимает весь экран;

на экране одновременно присутствуют несколько разноуровневых меню (Windows).

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

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

1.2 Принципы построения меню пользователя

Занимаясь разработкой меню в первую очередь, нужно обратить внимание на такие важные моменты как комфортность восприятия объектов меню.

1.2.1 Золотое сечение

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

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

а: b = b: с или с: b = b: а.

Отрезки золотой пропорции выражаются бесконечной иррациональной дробью 0,618., если с принять за единицу, а = 0,382. Отношение же отрезков, а и b составляет 1,618.

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

С развитием дизайна и технической эстетики действие закона золотого сечения распространилось на конструирование машин, мебели и т. д. Проектирование компьютерных интерфейсов — не исключение. Формы диалоговых окон и элементов управления меню, стороны которых относятся как 1,618, очень привлекательны для пользователей.

1.2.2 Кошелек Миллера

Этот принцип назван так в честь ученого-психолога Г. А. Миллера, который исследовал кратковременную память, проверяя выводы, сделанные ранее его коллегой, Г. Эббингаузом. Эббингауз пытался выяснить, сколько информации может запомнить человек без каких-либо специальных мнемонических приемов. Оказалось, что емкость памяти ограничена семью цифрами, семью буквами или названиями семи предметов. Это «магическое число» семь, служащее своего рода меркой памяти, и было проверено Миллером, который показал, что память действительно в среднем не может хранить более семи элементов; в зависимости от сложности элементов это число может колебаться в пределах от пяти до девяти.

Если необходимо в течение короткого времени сохранить информацию, включающую больше семи элементов, мозг почти бессознательно группирует эту информацию таким образом, чтобы число запоминаемых элементов не превышало предельно допустимого. Например, номер банковского счета 30 637 402 710, состоящий из одиннадцати элементов, будет, скорее всего, запоминаться как 30 63 740 27 10, т. е. как пять числовых элементов, или восемь слов (тридцать, шестьдесят, три, семьсот, сорок, двадцать, семь, десять).

Применяя принцип кошелька Миллера в дизайне интерфейсов, следует группировать элементы в программе (кнопки на панелях инструментов, пункты меню, закладки, опции на этих закладках и т. п.) с учетом этого правила — т. е. не более семи в группе, в крайнем случае — девяти. Взгляните, например, на главное окно программы-словаря ABBYY Lingvo: 39 кнопок на верхней панели, между которыми нет ни одного разделителя, воспринимаются гораздо хуже, чем кнопки на панели внизу, которые разделены на 2 группы Рисунок 1.

Рисунок 1 — Интерфейс программы-словаря ABBYY Lingvo

Итак, принцип кошелька Миллера говорит о семи плюс-минус двух элементах. Но если взглянуть на программы, интерфейс которых совершенствовался годами (тот же Microsoft Word), то можно заметить, что число объектов (пунктов меню, кнопок на панелях инструментов) в группах доходит до шести-семи довольно редко, а в основном элементы сгруппированы по три-четыре объекта. Такие небольшие группы объектов наиболее хорошо воспринимаются взглядом пользователя. Поэтому, при проектировании меню программ верхнюю границу кошелька Миллера — семь-девять элементов — нужно применять очень осторожно, стараясь обходиться группами, содержащими максимум пять объектов в одном уровне вложенности.

1.2.3 Принцип группировки

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

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

1.3 Приемы построения меню

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

Для сложного программного обеспечения часто оказывается невозможным представить все ее возможности на экране с помощью кнопок, списков, флажков и т. д. В этом случае применяется — структура, использующая пространство экрана динамически. Основной идеей меню является последовательная конкретизация желания пользователя. Например, пользователь хочет вставить в свой документ иллюстрацию и не знает, как это сделать. Однако он знает, что меню предоставит ему доступ к любой функции программы. Если он начнет проглядывать все опции подряд (а их может оказаться несколько сотен), он может потратить довольно много времени. Но он пойдет по другому пути. Строчка меню довольно небольшая, всего 6−10 пунктов. Просматривая их названия по очереди, он вряд ли остановится на пункте «Вид» или «Файл», но его точно заинтересует меню «Вставка». Открыв его, он аналогичным образом проглядывает новый список. И так же не обратит внимания на «Примечание» или «Закладка», а выберет «Рисунок».

Задача при проектировании меню состоит в том, чтобы сделать его наиболее очевидным, удачно построить иерархию в соответствии с принципом пошаговой конкретизации, оформить меню так, чтобы нужный пункт сразу бросался в глаза (например, иконками, выделением и т. д.). Задача программиста — запрограммировать все это так, чтобы можно было бы создавать меню любой сложности, чтобы меню работало, чтобы пользователь мог достичь одной и той же цели разными путями (например, введение «горячих клавиш»), чтобы управление было интуитивно-понятным, и чтобы программа была как можно менее требовательна к аппаратуре.

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

список объектов, выбираемых прямым указанием, либо указанием номера (кода);

меню в виде блока данных;

меню в виде строки данных;

меню в виде пиктограмм.

Достоинства:

таблица приложение меню интерфейс

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

Недостатки:

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

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

Достоинства:

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

Уровень вложенности для каждого варианта желательно сделать двукратным. Верхний уровень представлен главным меню. Второй уровень — меню, выпадающее «вниз» от главного. Третий (и последующие) уровни выпадают «вбок».

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

Разрешить пользователю прямое манипулирование объектами интерфейса.

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

2. Разработка пользовательского интерфейса

2.1 Создание таблицы базы данных Paradox 7

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

Таблица будет иметь следующую структуру:

Номер партии, Номер лекарства, Название лекарства, Группа лекарств, Дата закупки, Количество в упаковке, Цена за упаковку, Количество на складе. Ключевое поле — номер партии.

Для создании таблицы Paradox 7 будем использовать утилиты Database Desktop. Рисунок 2.

Рисунок 2 — Создание таблицы «Лекарства» с помощью утилиты Database Desktop

Сохраним ее под именем bdapteka. db. Созданная таблица будет иметь вид:

Таблица 1

Таблица «Лекарства»

Номер партии

Номер лекарства

Название

Группа

Дата заказа

Количество в упаковке

Цена

Количество на складе

При этом поля: номер партии (N_part), номер лекарства (N_lek), Количество в упаковке (Kol_up), Количество на складе (Kol_skl) используют целочисленный тип данных, а таблицы: Название (Nazv) и Группа (Group) текстовый. Строка — Дата заказа (Data_zak) использует тип — Дата в диапазоне от 1. 01. 0000 до 31. 12. 9999, а строка — Цена (Cena) Денежный.

2.2 Создание меню приложения

Создаем форму для работы с таблицей.

Открываем новый проект. На вкладке BDE, щелкаем по кнопке Table (таблица) и в форме. После этого изображение кнопки останется в форме.

В окне Инспектора Объектов устанавливают для свойства DatabaseName путь к базе данных, в нашем случае это C: /apttest, выбрав его из списка или введя вручную. Для свойства TableName (имя таблицы БД) выбирают имя таблицы, для которой создают форму. Для свойства Active устанавливают значение True. В этот момент происходит связывание компонента Table (он по умолчанию имеет имя Table1) с выбранной таблицей.

Выбрав вкладку Data Access. Щелкаем по кнопке DataSource (источники данных) и в форме. Данный компонент служит в качестве связующего звена между невизуальными компонентами (в данном случае Table1) и визуальными компонентами, которые будут добавлены позже. Для данного компонента в свойстве DataSet (имя набора данных) устанавливаем значение Table1, выбрав его из списка.

Выбрать вкладку Data Controls. Щелкаем по кнопке DBGrid и в форме. Данный компонент служит для отображения записей набора данных в табличной форме. Для данного компонента в свойстве DataSource устанавливаем значение DataSource1, выбрав его из списка.

Теперь необходимо русифицировать столбцы нашей таблицы, для этого используем пункт Columns Editor из контекстного меню компонента DBGrid. На экране появится окно редактора столбцов. Для отображения в данном окне списка полей щелкают по кнопке Add All Fields. Выделить в окне нужное поле. В окне Инспектора Объектов можно изменить названия столбцов в русской раскладке.

Чтобы создать кноки навигации по форме перейдем во вкладку DataControls и щелкнем по кнопке DBNavigator и в форме под нашей таблицей. Теперь нужно выделить компонент и в окне Инспектора Объектов в поле DataSourse выбрать значение DataSource1.

Создадим кнопку выхода из формы. Для этого нужно перейти во вкладку Standard. Щелкнуть по кнопке Button и в форме, где будет кнопка выхода. В окне Инспектора объектов в поле Caption набрать слово Выход. Затем двойным щелчком по элементу Button мы переходим в процедуру обработки событий, где необходимо набрать оператор:

Form1. Close;

Для удобства ввода данных поместим поля ввода DBEdit (вкладка Data Controls) для каждого поля таблицы соответственно настроим их свойства DataSource и DataFild соответственно. Установим на форме для этих полей отдельный DBNavigator. Подпишем поля используя компонент Lable вкалдаки Standart.

Посмотрим что у нас получилось. Рисунок 3.

Рисунок 3 — сформированная форма ввода данных

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

2.3 Реализация основных методы работы с данными

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

Создание вторичных индексов осуществляется следующим образом:

запустить утилиту Database Desktop, открыть таблицу, для которой создаются индексы (File, Open, Table, выбрать имя таблицы, перейти в режим редактирования структуры — Table, Restructure);

в окне свойств выбрать Secondary Indexes, кнопка Define, выбрать поле, по которому создается индекс; кнопка Add; кнопка ОК, ввести имя индекса (например, Nazv).

Оформим сортировку с помощью группы переключателей

На форму поставим компонент Panel1 и очистим свойство Caption.

На панель поставим компонент Radiogroup1, для него в свойстве Caption зададим надпись Вид сортировки; в свойстве Items задать подписи для переключателей с верху вниз: По названию, По дате закупки, По количеству на складе.

Добавим на форму кнопку Button1 и зададим надпись Сортировать, для свойства OnClick данной кнопки напишем процедуру:

procedure TForm1. Button2Click (Sender: TObject);

begin

case RadioGroup1. ItemIndex of

0: Table1. IndexName: ='Vazv_in';

1: Table1. IndexName: ='Data_zak_in';

2: Table1. IndexName: ='Kol_skl_in';

end;

При выборе первого переключателя будет сортировка по полю Название, при выборе второго переключателя будет сортировка по дате закупки, при выборе третьего переключателя — по количеству на складе. Рисунок 4.

Рисунок 4 — Сортировка по названию в таблице «Лекарства»

Далее попробуем организовать фильтрацию по трем параметрам: По дате закупки, по группе, по количеству в упаковке.

Для реализации задуманного добавляем недостающие компоненты на форму, это компоненты Button, Edit и Lable для каждого из видов фильтрации. Оговорюсь, что для фильтрации по дате закупки вместо компонета Lable будем использовать DateTimePicker (выпадающий календарь) из палитры Win32.

Расположим эти компоненты в соответствии предполагаемым видам фильтрации, подпишем каждый вид используя компонент lable. Затем для свойства OnClick каждой кнопки Button напишем соответствующую процедуру:

Для фильтрации по дате закупки

procedure TForm1. Button5Click (Sender: TObject);

var

a: string [20];

begin

Table1. Filtered: =True;

a: =DateToStr (DateTimePicker1. Date);

Table1. Filter: ='Data_zak='+''''+a+'''';

end;

для фильтрации по группе

procedure TForm1. Button7Click (Sender: TObject);

var a: string [20];

begin

Table1. Filtered: =True;

a: ='Group=';

Table1. Filter: =a+''''+Edit2. Text+'''';

end;

для фильтрации по количеству в упаковке

procedure TForm1. Button8Click (Sender: TObject);

begin

Table1. Filtered: =True;

Table1. Filter: ='Kol_up='+Edit3. Text;

end;

Чтобы реализовать сброс фильтра, добавим в форму еще один компонент Button, для его свойства OnClick напишем следующую процедуру:

procedure TForm1. Button6Click (Sender: TObject);

begin

Table1. Filtered: =False;

Edit2. Text: ='Введите имя группы';

Edit3. Text: ='Введите число';

end;

На рисунке 5 показан пример работы фильтра по имени группы.

Рисунок 5 — Фильтрация по имени группы

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

Для реализации первого условия добавим на форму компоненты Button и Lable (Lable будем использовать для отображения результата вычисления).

Для свойства OnClick компонента Button напишем процедуру подсчета, организованную по средствам цикла while:

procedure TForm1. Button3Click (Sender: TObject);

var

sumk: real;

begin

sumk: =0;

Table1. First;

While not Table1. eof do {Цикл с предусловием}

begin

sumk: =sumk+Table1 ['Cena'] *Table1 ['Kol_skl']; {Тело цикла}

Table1. Next;

end;

Label2. Caption: ='Суммарная стоимость лекарств на складе = '+FloatTostr (sumk);

end;

Для организации второго условия немного усложним эту процедуру: Снова добавим на форму компоненты Button, Lable и поле Edit для ввода названия группы.

Для свойства OnClick компонента Button напишем:

procedure TForm1. Button4Click (Sender: TObject);

var

sumg: real;

label st1;

begin

sumg: =0;

Table1. First;

While not Table1. eof do {Цикл с предусловием}

begin

if Table1 ['Group'] < > Edit1. Text then {Тело цикла}

goto st1;

sumg: =sumg+Table1 ['Cena'] *Table1 ['Kol_skl'];

st1: Table1. Next;

end;

Label3. Caption: = 'Суммарная стоимость лекарств в группе '+Edit1. Text+ ' ='+FloatTostr (sumg);

end;

На рисунке 6 показаны результаты работы обоих вычислений.

Рисунок 6 — Результат работы вычислений.

Заключение

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

Так же в процессе выполнения работы были получены и закреплены практические навыки разработки программ с использованием запросов и баз данных в написании программ в среде визуального программирования Borland Delphi 7.

Список использованной литературы

1. Фаронов В. В. Турбо Паскаль 7.0. / В. В. Фаронов. М.: Нолидж, 1999. 616 с.

2. Фаронов В. В. Программирование баз данных в Delphi 7/В.В. Фаронов. СПб.: Питер, 2004.

3. Шумаков П. В. Delphi 5. Руководство разработчика баз данных / П. В. Шумаков, В. В. Фаронов. М.: Нолидж, 2001.

4. Бобровский С. И. Delphi 7. Учебный курс / С. И. Бобровский. СПб.: Питер, 2001.

5. Избачков Ю. С. Информационные системы: учебник для вузов / Ю. С. Избачков, В. Н. Петров. 2-е изд. СПб.: Питер, 2005.

6. Руководство разработчика. — Киев, 2000.

7. Архангельский А. Я. Программирование в Delphi 5. — М.: Нолидж, 2000

8. Архангельский А. Я. Справочное пособие по Delphi 5. — М.: Нолидж, 2000.

9. Материалы интернет портала http: //www. delphi-manual. ru

10. Материалы интернет портала http: //articles. org. ru/lessond

ПоказатьСвернуть
Заполнить форму текущей работой