- •Выпускная работа бакалавра на тему: Автоматизация парикмахерской. Модуль «Рабочий стол администратора».
- •Введение
- •1. Аналитическая часть
- •1.1. Содержательное описание предметной области
- •1.2. Функционально-структурный анализ предметной области
- •1.3 Информационно-логическая модель в форме er-диаграммы
- •1.4 Анализ документооборота. Характеристики входной и результатной информации Рис. 5 Схема данных документооборота
- •1.5 Анализ существующих разработок Программа для салона красоты и парикмахерской «Универсальная Система Учета»
- •Автоматизация учета: 1с «Салон красоты»
- •Base4beauty™ – автоматизация управления салоном красоты
- •1.6 Проектирование будущего интерфейса программы
- •2.Практическая часть
- •2.1 Обоснование проектных решений.
- •2.1.1 Обоснование проектных решений по техническому обеспечению проекта.
- •2.1.2 Обоснование проектных решений по информационному обеспечению.
- •2.1.3 Обоснование проектных решений по программному обеспечению.
- •2.2. Разработка структуры базы данных системы
- •2.3. Разработка подсистемы помощи
- •2.4. Расчет экономической эффективности проекта
- •2.4.1 Оценка денежных затрат на приобретение и разработку модуля
- •2.4.2 Оценка денежных затрат по внедрению подсистемы
- •Заключение
- •Список литературы
2.2. Разработка структуры базы данных системы
Модуль «Рабочий стол администратора» в конфигурации «Бухгалтерия ред 3.0» мы разработали в виде обработки, включенный в отдельную подсистему наряду с дополнительными регистрами сведений и прочими объектами. Решение представляет дополнение к стандартной конфигурации, выполняемое без снятия с поддержки, значит и стандартного обновления.
Обработки в 1С 8.3 — это объекты конфигурации служащий для изменения и преобразования информации в базе данных.
Обработки имеют свои реквизиты, которые хранят свои значения в оперативной памяти на время «жизни» объекта.
Одна из приятных особенностей обработок — доступность при подключении внешнего соединения. Т.е при подключении можно программно создать объект, заполнить реквизиты и вызывать экспортную процедуру из модуля. Типичный пример для этого — обмен данными в режиме онлайн: внешний источник подключается к базе, заполняет настройки — реквизиты объекта и активирует процедуру загрузки/выгрузки. Пример кода:
Объект = Обработки.ОценкаПроизводительности.Создать();
Объект.Параметры = Параметры;
Объект.ВыполнитьВыгрузку();
Рассмотрим более подробно обработку «Д_РабочийСтолАдминистратора».
В ней присутствует 3 формы: основная «Форма», «Форма_Заказа», «Печать».
Регистр сведений – это структура хранения информации, объект конфигурации платформы 1С версии 8. Сущность регистра сведений – хранение данных (ресурсов) по одному / нескольким разрезам информационных измерений. В качестве типа данных измерения может быть любой ссылочный тип платформы, типа "СправочникСсылка", "ДокументСсылка" и т.п, а также любой примитивный тип – число, строка, дата, булево.
Платформа 1С 8.3 хранит регистр сведений в информационной базе как таблицу записей с конкретными колонками. Одна строчка в такой таблице – это одна запись регистра сведений. В каждой строчке находятся значения измерений и значения ресурсов. В качестве ресурсов как правило (но не обязательно) фиксируются данные типа число/строка/булево. Например, регистр сведений "Контактная информация" в качестве измерения будет иметь поле "Сотрудник" (типа "СправочникСсылка"), а в качестве ресурса поле "Контактный телефон" с типом "Строка".
В разработанной системе имеется два регистра сведений: «Д_ГрафикЗанятостиМастеров» и «Д_ГрафикиРаботыСотрудников». Он предназначен для учета документов парикмахерского салона. «Д_ГрафикЗанятостиМастеров»: в нем содержатся данные: в измерениях имеется «Мастер», «ЧасДень», в ресурсах содержится «ЗанятДаНет», «Клиент», «Услуга». «Д_ГрафикиРаботыСотрудников»: в нем содержатся данные: в измерениях имеется «Мастер», «Время» и «ДатаДень», в ресурсах содержится «РаботаетДаНет».
Отчеты предназначены для получения сводную информацию о данных, хранящихся в системе. Проектирование отчета зачастую связано с созданием печатной формы, шаблон которой задается на вкладке Таблица. Отчет, как и другие элементы конфигурации, может иметь форму, на которой задаются некоторые исходные данные для формирования отчета.
Рассмотрим созданную подсистему «Д_Парикмахерская». Данная подсистема выделена в виде отдельного раздела .
Рис 2.2-1 Меню программы
Основные функции реализованы в обработке «Д_РабочийСтолАдминистратора». Обработка позволяет автоматизировать обслуживание клиентов в парикмахерских и салонах красоты. Контролировать их занятость и оплату процедур.
Функция «Рабочий стол администратора» автоматизирует занятость мастеров, график работ, запись клиентов на процедуры.
Основным рабочим полем является окно формы.
Рис 2.2- 2 Основная форма
Основным рабочим полем является Настройка графиков (Рис.2.2-2). Выбираем сотрудника, дату или временной промежуток, для которого нужно заполнить график работы сотрудника. (Рис 2.2-3)
Рис 2.2-3 Автоматическое заполнение графика работы сотрудника
Выбираем время работы сотрудника, выбранные промежутки отмечаются галочками. Затем нажимаем на кнопку «Заполнить график».
После этого на форме выходит график работы сотрудника (Рис 2.2-4) в выбранный промежуток времени. Т.к мы выбрали время работы с 13-20, то остальное время закрашено розовым цветом и означает, что сотрудник в это время не работает.
Рис 2.2-4 Настройка графика работы
Затем на основной форме нажимаем кнопку «Сохранить график».
Далее переходим на другое поле основной формы «Запись клиентов»
(Рис 2.2-5).
Рис 2.2-5 Форма записи клиента.
Сотрудник и дата выбраны, график работы выведен на экран, рабочее время обозначено галочкой, теперь надо выбрать услугу для клиента. Нажимаем на поле клиент двойным щелчком, выходит форма заказа. (Рис 2.2-6)
Рис 2.2-6 Форма заказа.
После того как вышла форма заказа, нужно выбрать клиента. На этой форме указан прейскурант процедур с наглядным изображением, так же можно посмотреть описание процедуры, которое находится на форме Печать. ( Рис. 2.2-8). Выбираем нужную процедуру или процедуры двойным щелком, и она переходит во вторую таблицу. (Рис 2.2-7)
Рис 2.2-7 Форма Заказа.
Рис 2.2- 7 Форма Печать.
Затем нужно сформировать заказ. Нажимаем на кнопку Заказ. Заказ поступает в регистр сведений «Д_УчетДокументов» и переходит в отчет о розничных продажах. (Рис 2.2-8). Если нажать на кнопку Оплата, то документ проведется и закроется.
Рис 2.2-8 Отчет о розничных продажах.
После того как заказ сделан, мы возвращаемся в основную форму. На вкладке Запись клиентов, напротив времени когда был сделан заказ появится Фамилия и Имя клиента. (Рис. 2.2-9)
Рис 2.2-9 Заказ. Статус принят.
Основная форма разработана через событие «ПриОкрытии», в которой заполняются графики работ и занятости сотрудников. Код реализации будет таким:
&НаКлиенте
Процедура ЗаполнитьГрафик(Команда)
ГрафикМастера.Очистить();
ТекДата=НачДата ;
Пока ТекДата<= КонДата Цикл
НовСтр=ГрафикМастера.Добавить() ;
НовСтр.Месяц=Месяц(ТекДата);
НовСтр.День =День(ТекДата) ;
НовСтр.Дата =ТекДата ;
НовСтр.Время8 =Фл8;
НовСтр.Время9 =Фл9;
НовСтр.Время10 =Фл10;
НовСтр.Время11 =Фл11;
НовСтр.Время12 =Фл12;
//НовСтр.время12.ЦветФона =ПолучитьЦвет("ФонНедоступнойСтрокиДокумента");
// ЦветаСтиля.ФонНедоступнойСтрокиДокумента;
НовСтр.Время13 =Фл13;
НовСтр.Время14 =Фл14;
НовСтр.Время15 =Фл15;
НовСтр.Время16 =Фл16;
НовСтр.Время17 =Фл17;
НовСтр.Время18 = Фл18;
НовСтр.Время19 = Фл19;
ИтЧасов=0;
Для НомерЧасов=8 По 19 Цикл
ИтЧасов=ИтЧасов+ Число(НовСтр["Время" + НомерЧасов]);
КонецЦикла;
НовСтр.КолЧасов = ИтЧасов;
ТекДата=КонецДня(ТекДата)+1;
КонецЦикла;
РаскраситьКолонки();
КонецПроцедуры
Представим реализацию кода заполнения записи данных графика в Регистр сведений.
&НаКлиенте
Процедура ЗаписьДанныхГрафикаВРегистр(Сотрудник,ТекДата, ТекЧас,РаботаетДаНет)
НоваяЗапись = РегистрыСведений.Д_ГрафикиРаботыСотрудников.СоздатьМенеджерЗаписи();
НоваяЗапись.Мастер = Сотрудник;
НоваяЗапись.ДатаДень = НачалоДня(ТекДата);
НоваяЗапись.Время = ТекЧас ;
НоваяЗапись.РаботаетДаНет= РаботаетДаНет;
НоваяЗапись.Записать();
КонецПроцедуры
Код реализации «Обновить график мастера» отрывается в отдельном окне при помощи события «ПриОткрытии».
&НаКлиенте
Процедура ОбновитьДанныеГрафикаМастераСервер(НачДата,КонДата,Сотрудник)
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Д_ГрафикиРаботыСотрудников.Мастер,
| Д_ГрафикиРаботыСотрудников.ДатаДень КАК ДатаДень,
| Д_ГрафикиРаботыСотрудников.Время,
| Д_ГрафикиРаботыСотрудников.РаботаетДаНет
|ИЗ
| РегистрСведений.Д_ГрафикиРаботыСотрудников КАК Д_ГрафикиРаботыСотрудников
|ГДЕ
| Д_ГрафикиРаботыСотрудников.Мастер = &Сотрудник
| И Д_ГрафикиРаботыСотрудников.ДатаДень МЕЖДУ &НачДата И &КонДата
|ИТОГИ ПО
| ДатаДень";
Запрос.УстановитьПараметр("КонДата", КонДата);
Запрос.УстановитьПараметр("НачДата", НачДата);
Запрос.УстановитьПараметр("Сотрудник", Сотрудник);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДатаДень = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаДатаДень.Следующий() Цикл
// Вставить обработку выборки ВыборкаДатаДень
НовСтр=ГрафикМастера.Добавить() ;
НовСтр.Месяц=Месяц(ВыборкаДатаДень.ДатаДень);
НовСтр.День =День(ВыборкаДатаДень.ДатаДень) ;
НовСтр.Дата =ВыборкаДатаДень.ДатаДень ;
ВыборкаДетальныеЗаписи = ВыборкаДатаДень.Выбрать();
ИтКолЧасов=0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
НовСтр["Время"+Строка(ВыборкаДетальныеЗаписи.Время)]=ВыборкаДетальныеЗаписи.РаботаетДаНет;
ИтКолЧасов=ИтКолЧасов+1;
КонецЦикла;
НовСтр.КолЧасов=ИтКолЧасов ;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ДобавитьСтрокуУслуга(ТекПроцедура,ТекЦена)
Отбор = Новый Структура();
Отбор.Вставить("Процедура",ТекПроцедура);
Строки = Объект.Услуга.НайтиСтроки(Отбор);
СтароеКол=0;
Если Строки.Количество()>0 Тогда
ТекСтр=Строки[0];
СтароеКол=ТекСтр.Количество;
Иначе
ТекСтр=Объект.Услуга.Добавить();
ТекСтр.Процедура=ТекПроцедура;
ТекСтр.Цена= ТекЦена;
КонецЕсли;
ТекСтр.Количество=СтароеКол+1;
ТекСтр.Сумма=ТекСтр.Цена*ТекСтр.Количество;
КонецПроцедуры
