Автоматизация работы столовой ООО «Сибирь»
Курсовая работа, 21 Апреля 2014, автор: пользователь скрыл имя
Краткое описание
Целью данной курсовой работы является исследование работы столовой ООО «Сибирь», взаимосвязь работы с предприятиями-потребителями, рассмотрение проблемных участков в эффективности работы, и разработка программного обеспечения предназначенное для облегчения работы кассира столовой.
Результатом использования средств вычислительной техники во многих самых различных сферах деятельности человека является значительное снижение затрат труда на выполняемые операции, ускорения процессов получения необходимых результатов, а также сведение к минимуму возможности возникновения каких – либо неточностей, возникающих при работе человека. Разрабатываемое программное обеспечение позволит быстро и безошибочно найти необходимую пользователю информацию, а также правильно произвести все необходимые расчеты.
Вложенные файлы: 1 файл
Курсовая работа готово.docx
— 661.53 Кб (Скачать файл)
Для хранения введенной информации и получения отчетных данных служат объекты конфигурации: регистры сведений и регистры накопления.
- В конфигурации задано несколько регистров сведений:
- «СостояниеРаботника»
Измерения регистра (измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию):
- «Номер карты» - тип значения «Строка», длина 10, допустимая длина «Переменная»
- «НомерВОрионе» - ти тип значения «Строка», длина 16, допустимая длина «Переменная»
Ресурсы:
- «ФизЛицо» - тип значения СправочникСсылка.ФизЛица;
- «НачалоДействияКарты» - тип значения «Дата», состав даты «Дата и время»;
- «ОкончаниеДействияКарты» - тип значения «Дата», состав даты «Дата и время»;
- «Организация» - тип значения СправочникСсылка.Организации.
- «ЛимитНаПитание»
Ресурсы:
- «Суммы» - тип значения «Число», длина 10, точность 0.
- «КлиентыСтоловой»
Измерения регистра (измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию):
- «ФизЛицо» - тип значения СправочникСсылка.ФизЛица
Ресурсы:
- «Обслуживается» - тип значения «Булевое».
- «МестоРаботы»
Измерения регистра (измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию):
- «ФизЛицо» - тип значения СправочникСсылка.ФизЛица
Ресурсы:
- «Подразделение» - тип значения
СправочникСсылка.
Подразделения.
- «Меню»
Измерения регистра (измерения регистра описывают разрезы, в которых хранится информация, а ресурсы регистра непосредственно содержат хранимую информацию):
- «ВидБлюд» - тип значения ПеречислениеСсылка.ВидыБлюд;
- «Блюдо» - тип значения СправочникСсылка.Блюда.
Ресурсы:
- «Подразделение» - тип значения «Число», длина 10, точность 2.
- В конфигурации задан один регистр накопления «ЗадолженностьРаботника». Регистр накопления образует многомерную систему измерений и позволяет "накапливать" числовые данные в разрезе нескольких измерений.
- Отчеты - предназначены для вывода информации из базы данных.
В системе разработано 5 отчетов:
- «Сводный чек» (алгоритм формирования отчетов можно увидеть в модуле формы, перейти на закладку «Модуль»)
Алгоритм:
Процедура КнопкаСформироватьНажатие(
///формируем запрос и печатаем сводный чек за установленный период
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|
|
|ИЗ
| РегистрНакопления.
| &ДатаНач,
| &ДатаКон,
| Период,
| ПунктОбслуживания = &ПунктОбслуживания
| И Организация = &Организация) КАК
ЗадолженностьРаботникаОбороты"
Запрос.УстановитьПараметр("
Запрос.УстановитьПараметр("
Запрос.УстановитьПараметр("
Запрос.УстановитьПараметр("
Выборка = Запрос.Выполнить().Выбрать();
Сумма = 0;
Пока Выборка.Следующий() Цикл
Сумма = Сумма + Выборка.СуммаПриход;
КонецЦикла;
ВыборкаЧеков = Документы.Чек.Выбрать(
КолвоЧеков = 0;
Пока ВыборкаЧеков.Следующий() Цикл
Если ВыборкаЧеков.Проведен = Истина и ВыборкаЧеков.Организация = Организация и ВыборкаЧеков.Сумма<>0 Тогда
КолвоЧеков = КолвоЧеков +1;
КонецЕсли;
КонецЦикла;
Если НаЭкран Тогда
ВывестиОтчетНаЭкран(
Иначе
НапечататьСводныйЧек(
КонецЕсли;
КонецПроцедуры
- «Задолженность сотрудников»
Алгоритм:
Процедура ЗадолженностьРаботников(
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(
//
Данный фрагмент построен
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Макет
= ОтчетОбъект.ПолучитьМакет("
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|
|
|{ВЫБРАТЬ
| Работник.*,
| Сумма}
|ИЗ
| РегистрНакопления.
Если
Буфет = Истина и Столовая = ложь и ФизЛицо
<> Справочники.ФизЛица.
Запрос.Текст = Запрос.Текст + "
|ПунктОбслуживания = &Буфет И ФизЛицо = &ФизЛицо и Организация = &Организация)";
ИначеЕсли
Буфет = Истина и Столовая = ложь и ФизЛицо
= Справочники.ФизЛица.
Запрос.Текст = Запрос.Текст + "
|ПунктОбслуживания = &Буфет и Организация = &Организация)";
ИначеЕсли
Столовая = истина и Буфет = ложь и ФизЛицо
<> Справочники.ФизЛица.
Запрос.Текст = Запрос.Текст + "
|ПунктОбслуживания = &Столовая И ФизЛицо = &ФизЛицо и Организация = &Организация)";
ИначеЕсли
Столовая = истина и Буфет = ложь и ФизЛицо
= Справочники.ФизЛица.
Запрос.Текст = Запрос.Текст + "
|ПунктОбслуживания = &Столовая и Организация = &Организация) ";
ИначеЕсли
ФизЛицо <> Справочники.ФизЛица.
Запрос.Текст = Запрос.Текст + "
|ФизЛицо = &ФизЛицо и Организация = &Организация)";
Иначе Запрос.Текст = Запрос.Текст + "
|Организация = &Организация)";
КонецЕсли;
//Если
ФизЛицо <> Справочники.ФизЛица.
// Запрос.Текст = Запрос.Текст + "
// |,ФизЛицо = &ФизЛицо)";
//Иначе Запрос.Текст = Запрос.Текст + "
// |)";
//КонецЕсли;
Запрос.Текст = Запрос.Текст + "
| КАК ЗадолженностьРаботникаОбороты
|
|УПОРЯДОЧИТЬ ПО
| Работник
|{УПОРЯДОЧИТЬ ПО
| Работник.*}
|ИТОГИ
| СУММА(Сумма)
|ПО
| Работник
|{ИТОГИ ПО
| Работник.*}";
Запрос.УстановитьПараметр("
Запрос.УстановитьПараметр("
Запрос.УстановитьПараметр("
Запрос.УстановитьПараметр("
Запрос.УстановитьПараметр("
Запрос.УстановитьПараметр("
Результат = Запрос.Выполнить();
ОбластьЗаголовок
= Макет.ПолучитьОбласть("
ОбластьПодвал
= Макет.ПолучитьОбласть("Подвал"
ОбластьШапкаТаблицы
= Макет.ПолучитьОбласть("
ОбластьПодвалТаблицы
= Макет.ПолучитьОбласть("
ОбластьДетали
= Макет.ПолучитьОбласть("Детали"
ТабДок.Очистить();
ОбластьЗаголовок.Параметры.
ОбластьЗаголовок.Параметры.
ТабДок.Вывести(
Если ПоРаботникам = истина Тогда
ТабДок.Вывести(
КонецЕсли;
ТабДок.
ВыборкаФизЛицо
= Результат.Выбрать(
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Работник"
Тз.Колонки.Добавить("Сумма");
СуммаИтого = 0;
n = 0;
Пока ВыборкаФизЛицо.Следующий() Цикл
Строка = Тз.Добавить();
Строка.Работник = ВыборкаФизЛицо.Работник;
Строка.Сумма = ВыборкаФизЛицо.Сумма;
КонецЦикла;
Если ФИО = 1 Тогда
ТЗ.Сортировать("Работник Возр");
Иначе
ТЗ.Сортировать("Сумма Убыв");
КонецЕсли;
Для каждого стр из ТЗ цикл
n = n+1;
Если ПоРаботникам = истина Тогда
ОбластьДетали.Параметры.номер = n;
ОбластьДетали.Параметры.
ОбластьДетали.Параметры.Сумма = Стр.Сумма;
ТабДок.Вывести(ОбластьДетали);
КонецЕсли;
СуммаИтого = СуммаИтого + Стр.Сумма;
КонецЦикла;
ТабДок.
ОбластьПодвалТаблицы.
Если ПоРаботникам = истина Тогда
ТабДок.Вывести(
КонецЕсли;
Если
ФизЛицо = Справочники.ФизЛица.
ОбластьПодвал.Параметры.Всего = Строка(n) + " человек" ;
ОбластьПодвал.Параметры.
ТабДок.Вывести(ОбластьПодвал);
КонецЕсли;
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
КонецПроцедуры
- «Время посещения столовой»
Алгоритм:
Процедура ВремяПосещения(ТабДок, ДатаКон, ДатаНач, Работник)
Макет
= ОтчетОбъект.ПолучитьМакет("
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|
|
| МестоРаботыСрезПоследних.