Автоматизация деятельности мест общественного питания
Общая характеристика, требования к программному продукту и техническим средствам. Описание программы, назначение и область применения, формирование руководства пользователя. Работа в конфигурации "Автоматизация деятельности мест общественного питания".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 24.09.2013 |
Размер файла | 1,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
- реализована электронная связь с кухней и баром.
Решены задачи учета и регистрации количества продуктов на складе, регистрация новых рецептов, выдача отчетов по заданным параметрам, сортировка блюд по типу (закуска, горячее, салаты), формирование меню ресторана, составление бланка заказанных блюд, передаваемого на кухню.
Проведен расчет затрат на разработку программы и расчет экономического эффекта от внедрения подсистемы.
Рассмотрены вопросы, связанные с безопасностью при работе с подсистемой.
Разработанная подсистема создана в соответствии с требованиями технического задания.
Список использованной литературы
программа автоматизация пользователь конфигурация
1. «StoreHouse - складской учет в сфере общественного питания». «Ресторанные ведомости». - 2008. - №8.
2. Буторина Е.Л. «1С: Бухгалтерия 8.0» - надежный помощник бухгалтера малого предприятия / Е.Л. Буторина, «БУХ.1С». 2008. - №7.
3. «Новые технологии на кухне», «Ресторанные ведомости». - 2009. - №3.
4. Акчурина С.Р. Учет товаров и торговых операций /С.Р. Акчурина, «Финансовые и бухгалтерские консультации». 2008. - №12.
5. Система R-Keeper - ключевое решение ресторанного бизнеса. Компьютер в бухгалтерском учете и аудите. - 2008. - N3.
6. «Новые технологии на кухне». «Ресторанные ведомости». - 2009. - №3.
7. www.v8.1 c.ru - сайт фирмы 1С.
8. Алексеева Е.В. Система нормативного учета на предприятии. - 2008.
9. www.wikipedia.org - Свободная энциклопедия.
10. Виталий Бочкарёв. Организация работы за компьютером.
11. М.А. Шалагина. Инструкция по охране труда.
12. Экономика предприятия: Учебник/ Под ред. проф. Н.А. Сафронова. - М.: «Юристъ», 1998. - 584 с.
13. Титов В.И. Экономика предприятия. Учебник.
14. Е.В. Алексеева, Н.Ю. Иванова. Менеджмент в России и за рубежом. - 2008.
15. Радченко М.Г. «1С: Предприятие 8.1. Практическое пособие разработчика. Примеры и типовые приемы».
Приложение А
Листинг кода обработки «Форма заказника»
Процедура ПередОткрытием (Отказ, СтандартнаяОбработка)
лНовыйКлик = Истина;
лЗал =? (ЗначениеЗаполнено(Заголовок), Справочники. Залы. НайтиПоНаименованию(Заголовок), Неопределено);
ОпределитьПеременнуюМеню();
ОпределитьНаборМодификаций();
ОпределитьМассивКнопок();
ЭлементыФормы. Валюта1. Заголовок = Константы. ВалютаРегламентированногоУчета. Получить();
ЭлементыФормы. Валюта2. Заголовок = Константы. ВалютаРегламентированногоУчета. Получить();
лЧислоСДробью = Неопределено;
лСумма = Неопределено;
лРазница = Неопределено;
мРаздел = Тип («СправочникСсылка. Меню_КАС»);
ЗаполнениеОбластиСвободныхДействий(мМеню);
Если лСсылкаНаЗаказ = Неопределено Тогда
МоментВремени = ТекущаяДата();
СформироватьЗаказ(МоментВремени);
Иначе
ЗагрузитьЗаказ();
КонецЕсли;
КонецПроцедуры
Процедура НажатиеКнопки(Элемент)
Если мРаздел = Тип («СправочникСсылка. Меню_КАС») Тогда
Если (мМеню. Найти (Элемент. Заголовок, «Наименование»).ЭтоГруппа = Истина) И (Элемент. ЦветФонаКнопки = Новый Цвет (255,255,153)) Тогда // Ложь
ИмяКнопки = Элемент. Заголовок;
ЗаполненияКнопок (, «УровеньВниз», ИмяКнопки, 0, мМассивКнопок. Количество() - 1);
Иначе
ВзятьКоличество(Элемент);
ДобавитьСтрокуВТаблицу (ЭлементыФормы. ЗаказСписок, Элемент);
КонецЕсли;
ИначеЕсли мРаздел = Тип («СправочникСсылка. СпецификацииБлюд») Тогда
ВзятьКоличество(Элемент);
ИзменитьСпецификацию (ЭлементыФормы. ЗаказСписок, Элемент);
КонецЕсли;
КонецПроцедуры
Процедура УровеньВверхНажатие(Элемент)
ВзятьКоличество(Элемент);
Если мРаздел = Тип («СправочникСсылка. Меню_КАС») Тогда
НачЗначение = 0;
ЭлементыФормы. ЛистВверх. Доступность = Ложь;
КонЗначение = мМассивКнопок. Количество() - 1;
ЗаполненияКнопок (, «УровеньВверх», мМассивКнопок[0].Заголовок, 0, мМассивКнопок. Количество() - 1);
КонецЕсли;
КонецПроцедуры
Процедура ОпределитьПеременнуюМеню()
мМеню = ПоляСвободныхДействий_БАВ. ВыбратьИзМеню();
Конецпроцедуры
Процедура ЗаполненияКнопок (ЗначениеРодителя, ЗначениеКлика, Элемент, НачОтметка, КонОтметка)
Индекс = 0;
Для Каждого ТекПунктМеню Из мМеню Цикл
Если ТекПунктМеню. Наименование = Элемент Тогда
Если ЗначениеКлика = «УровеньВверх» Тогда
мВерхнийУровень = ТекПунктМеню. Родитель. Родитель. Наименование;
ЗначениеРодителя = мВерхнийУровень;
Если мВерхнийУровень = «» Тогда
ЭлементыФормы. УровеньВверх. Доступность = Ложь;
КонецЕсли;
ИначеЕсли ЗначениеКлика = «УровеньВниз» Тогда
мВерхнийУровень = ТекПунктМеню. Родитель. Наименование;
ЗначениеРодителя = Элемент;
ЭлементыФормы. УровеньВверх. Доступность = Истина;
ИначеЕсли ЗначениеКлика = «ЛистВниз» Тогда
мВерхнийУровень = ТекПунктМеню. Родитель. Наименование;
ЗначениеРодителя = мВерхнийУровень;
ЭлементыФормы. УровеньВверх. Доступность = Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если ЗначениеРодителя = Неопределено Тогда
ЗначениеРодителя = мВерхнийУровень;
Если ЗначениеРодителя = «» Тогда
ЭлементыФормы. УровеньВверх. Доступность = Ложь;
КонецЕсли;
КонецЕсли;
Для Каждого ТекПунктМеню Из мМеню Цикл
Если ТекПунктМеню. Родитель. Наименование = ЗначениеРодителя Тогда
Если (Индекс >= НачОтметка) И (Индекс <= КонОтметка) Тогда
мМассивКнопок [Индекс - НачОтметка].Заголовок = ТекПунктМеню. Наименование;
мМассивКнопок [Индекс - НачОтметка].Доступность = Истина;
Если ТекПунктМеню. ЭтоГруппа = Истина Тогда
мМассивКнопок [Индекс - НачОтметка].ЦветФонаКнопки = Новый Цвет (255,255,153);
Иначе
мМассивКнопок [Индекс - НачОтметка].ЦветФонаКнопки = Новый Цвет (225,253,253);
КонецЕсли;
Индекс = Индекс + 1;
Иначе
Индекс = Индекс + 1;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Если Индекс > мМассивКнопок. Количество() Тогда
ЭлементыФормы. ЛистВниз. Доступность = Истина;
Иначе
ЭлементыФормы. ЛистВниз. Доступность = Ложь;
КонецЕсли;
Пока Индекс <= КонОтметка Цикл
Если Индекс - НачОтметка > 0 Тогда
ЭлементыФормы. ЛистВниз. Доступность = Ложь;
КонецЕсли;
мМассивКнопок [Индекс - НачОтметка].Заголовок = Неопределено;
мМассивКнопок [Индекс - НачОтметка].Доступность = Ложь;
мМассивКнопок [Индекс - НачОтметка].ЦветФонаКнопки = ЦветаСтиля. ЦветФонаФормы;
Индекс = Индекс + 1;
КонецЦикла;
КонецПроцедуры
Процедура МенюНажатие(Элемент)
ВзятьКоличество(Элемент);
мРаздел = Тип («СправочникСсылка. Меню_КАС»);
ЗаполнениеОбластиСвободныхДействий(мМеню);
КонецПроцедуры
Процедура ОпределитьМассивКнопок()
мМассивКнопок = ПоляСвободныхДействий_БАВ. ПоляДействийВМассив(ЭлементыФормы);
КонецПроцедуры
Процедура ЛистВнизНажатие(Элемент)
ВзятьКоличество(Элемент);
ЭлементыФормы. ЛистВверх. Доступность = ЭлементыФормы. ЛистВниз. Доступность;
НачЗначение = НачЗначение + мМассивКнопок. Количество();
КонЗначение = КонЗначение + мМассивКнопок. Количество();
ЗаполненияКнопок (, ЭлементыФормы. ЛистВниз. Имя, мМассивКнопок[0].Заголовок, НачЗначение, КонЗначение);
КонецПроцедуры
Процедура ЛистВверхНажатие(Элемент)
ВзятьКоличество(Элемент);
НачЗначение = НачЗначение - мМассивКнопок. Количество();
КонЗначение = КонЗначение - мМассивКнопок. Количество();
Если НачЗначение = 0 Тогда
ЭлементыФормы. ЛистВверх. Доступность = Ложь;
КонецЕсли;
ЗаполненияКнопок (, ЭлементыФормы. ЛистВниз. Имя, мМассивКнопок[0].Заголовок, НачЗначение, КонЗначение);
КонецПроцедуры
Процедура EnterНажатие(Элемент)
лНовыйКлик = Истина;
лЧислоСДробью = Неопределено;
Если Не лРазница = Неопределено Тогда
Если лРазница - Табло > 0 Тогда
Доступность = Истина;
ЭлементыФормы. ЗаказСписок. ТекущиеДанные. Количество = лРазница - Табло; ОбщийМодуль. СуммаСтроки (ЭлементыФормы. ЗаказСписок. ТекущаяСтрока);
ЭлементыФормы. СуммаИтого. Заголовок = ЗаказСписок. Итог («Сумма») + СуммаОбслуживания();
ЭлементыФормы. ЗаказСписок. ТекущаяКолонка = ЭлементыФормы. ЗаказСписок. Колонки. Наименование;
Иначе
Доступность = Истина; ЗаказСписок. Удалить (ЭлементыФормы. ЗаказСписок. ТекущаяСтрока);
ЗаказСписокПеренумероватьСтроки();
ЭлементыФормы. СуммаИтого. Заголовок = ЗаказСписок. Итог («Сумма») + СуммаОбслуживания();
ЭлементыФормы. ЗаказСписок. ТекущаяКолонка = ЭлементыФормы. ЗаказСписок. Колонки. Наименование;
КонецЕсли;
ИначеЕсли Не лСумма = Неопределено Тогда
Если Табло + лСумма <> 0 Тогда
Доступность = Истина;
ЭлементыФормы. ЗаказСписок. ТекущиеДанные. Количество = Табло + лСумма;
ОбщийМодуль. СуммаСтроки (ЭлементыФормы. ЗаказСписок. ТекущаяСтрока);
ЭлементыФормы. СуммаИтого. Заголовок = ЗаказСписок. Итог («Сумма») + СуммаОбслуживания();
ЭлементыФормы. ЗаказСписок. ТекущаяКолонка = ЭлементыФормы. ЗаказСписок. Колонки. Наименование;
Иначе
Доступность = Истина; ЗаказСписок. Удалить (ЭлементыФормы. ЗаказСписок. ТекущаяСтрока);
ЗаказСписокПеренумероватьСтроки();
ЭлементыФормы. СуммаИтого. Заголовок = ЗаказСписок. Итог («Сумма») + СуммаОбслуживания();
ЭлементыФормы. ЗаказСписок. ТекущаяКолонка = ЭлементыФормы. ЗаказСписок. Колонки. Наименование;
КонецЕсли;
Иначе
Если Табло <> 0 Тогда
Доступность = Истина;
ЭлементыФормы. ЗаказСписок. ТекущиеДанные. Количество = Табло;
ОбщийМодуль. СуммаСтроки (ЭлементыФормы. ЗаказСписок. ТекущаяСтрока);
ЭлементыФормы. СуммаИтого. Заголовок = ЗаказСписок. Итог («Сумма») + СуммаОбслуживания();
ЭлементыФормы. ЗаказСписок. ТекущаяКолонка = ЭлементыФормы. ЗаказСписок. Колонки. Наименование;
Иначе
Доступность = Истина;
ЗаказСписок. Удалить (ЭлементыФормы. ЗаказСписок. ТекущаяСтрока);
ЗаказСписокПеренумероватьСтроки();
ЭлементыФормы. СуммаИтого. Заголовок = ЗаказСписок. Итог («Сумма») + СуммаОбслуживания();
ЭлементыФормы. ЗаказСписок. ТекущаяКолонка = ЭлементыФормы. ЗаказСписок. Колонки. Наименование;
КонецЕсли;
КонецЕсли;
лРазница = Неопределено;
лСумма = Неопределено;
ДоступностьКлавиатуры (Доступность,? (Строка (ЭлементыФормы. Табло. Значение) <> «», Табло, 0));
КонецПроцедуры
Процедура ДобавитьСтрокуВТаблицу (ТабЧасть, Элемент)
ЭлементыФормы. НаименованиеБлюда. Заголовок = Неопределено;
ЭлементыФормы. Стоимость. Заголовок = Неопределено;
Если мРаздел = Тип («СправочникСсылка. Меню_КАС») Тогда
ТабЧасть. ДобавитьСтроку();
ТабЧасть. ТекущаяСтрока. Номер = ЗаказСписок. Количество();
ТабЧасть. ТекущаяСтрока. Наименование = Элемент. Заголовок;
ТабЧасть. ТекущаяСтрока. ЕдИзм = Справочники. Меню_КАС. НайтиПоНаименованию (Элемент. Заголовок).ЕдиницаИзмерения;
Отбор = Новый Структура («ПозицияМеню»);
Отбор. ПозицияМеню = Справочники. Меню_КАС. НайтиПоНаименованию (Элемент. Заголовок);
Выборка = РегистрыСведений. ОсновныеСпецификации. СрезПоследних (, Отбор);
Если Выборка. Количество() > 0 Тогда
Цена = ОбщийМодуль. ЗапросНаЦенуПозиции (Элемент. Заголовок, Выборка. Получить(0).Получить(2).Наименование);
ТабЧасть. ТекущаяСтрока. Спецификация = Выборка. Получить(0).Получить(2);
Иначе
Цена = ОбщийМодуль. ЗапросНаЦенуПозиции (Элемент. Заголовок, Неопределено);
КонецЕсли;
Если Не Цена = Неопределено Тогда
ТабЧасть. ТекущаяСтрока. Цена = Цена;
Иначе
ЭлементыФормы. Стоимость. Заголовок = «Цена на блюдо не задана! Немедленно сообщите администратору!»;
ЭлементыФормы. Стоимость. ЦветТекста = WebЦвета. Красный;
КонецЕсли;
ТабЧасть. ТекущаяКолонка = ТабЧасть. Колонки. Наименование;
КонецЕсли;
КонецПроцедуры
Процедура ЗаказСписокПриАктивизацииЯчейки(Элемент)
лНовыйКлик = Истина;
лЧислоСДробью = Неопределено;
ОбновитьТабло (ЭлементыФормы. ЗаказСписок, Элемент);
Попытка
Если ЗначениеЗаполнено (Элемент. ТекущиеДанные. Наименование) Тогда
ПоказатьИнфоПоБлюду(Элемент);
КонецЕсли;
Исключение
КонецПопытки;
КонецПроцедуры
Процедура ОбновитьТабло (ТабЧасть, Элемент)
Попытка
ЗначениеТабло = Элемент. ТекущиеДанные. Количество;
Доступность = Истина;
Табло = ЗначениеТабло;
ДоступностьКлавиатуры (Доступность, ЗначениеТабло);
Исключение
КонецПопытки;
КонецПроцедуры
Процедура ДоступностьКлавиатуры (Доступность, ЗначениеТабло)
ЭлементыФормы._0. Доступность = Доступность;
ЭлементыФормы._1. Доступность = Доступность;
ЭлементыФормы._2. Доступность = Доступность;
ЭлементыФормы._3. Доступность = Доступность;
ЭлементыФормы._4. Доступность = Доступность;
ЭлементыФормы._5. Доступность = Доступность;
ЭлементыФормы._6. Доступность = Доступность;
ЭлементыФормы._7. Доступность = Доступность;
ЭлементыФормы._8. Доступность = Доступность;
ЭлементыФормы._9. Доступность = Доступность;
ЭлементыФормы. Backspace. Доступность = Доступность;
ЭлементыФормы. Enter. Доступность = Доступность;
ЭлементыФормы. Плюс. Доступность = Доступность;
ЭлементыФормы._Тчк. Доступность = Доступность;
Если Не ЗначениеТабло = Неопределено Тогда
Если ЗначениеТабло <> 0 Тогда
ЭлементыФормы. Минус. Доступность = Истина;
Иначе
ЭлементыФормы. Минус. Доступность = Ложь;
КонецЕсли;
Иначе
ЭлементыФормы. Минус. Доступность = Ложь;
КонецЕсли;
КонецПроцедуры
Процедура ЗаказСписокПриОкончанииРедактирования (Элемент, НоваяСтрока, ОтменаРедактирования)
ОбновитьТабло (ЭлементыФормы. ЗаказСписок, Элемент);
КонецПроцедуры
Приложение Б
Листинг кода обработки «Форма заказника»
Процедура НажатиеНаЦифру(Элемент)
Если лНовыйКлик = Истина Тогда
Если Элемент. Заголовок <>»,» Тогда
Табло = Число (Элемент. Заголовок);
лНовыйКлик = Ложь;
Иначе
лЧислоСДробью = «0,»;
лНовыйКлик = Ложь;
КонецЕсли;
Иначе
Если лЧислоСДробью = Неопределено Тогда
Если Элемент. Заголовок <>»,» Тогда
Табло = Число (Строка(Табло) + Элемент. Заголовок);
Иначе
лЧислоСДробью = Строка(? (Табло <> 0, Табло, 0)) +»,»;
Табло = Число(лЧислоСДробью);
КонецЕсли;
Иначе
Если Элемент. Заголовок <>»,» Тогда
лЧислоСДробью = лЧислоСДробью + Элемент. Заголовок;
КонецЕсли;
Табло = Число(лЧислоСДробью);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура BackspaceНажатие(Элемент)
Табло = 0;
лНовыйКлик = Истина;
лЧислоСДробью = Неопределено;
КонецПроцедуры
Процедура ПлюсНажатие(Элемент)
лНовыйКлик = Истина;
лЧислоСДробью = Неопределено;
лСумма = Табло;
лРазница = Неопределено;
КонецПроцедуры
Процедура МинусНажатие(Элемент)
лНовыйКлик = Истина;
лЧислоСДробью = Неопределено;
лРазница = Табло;
лСумма = Неопределено;
КонецПроцедуры
Процедура ЗаказСписокПеренумероватьСтроки()
Индекс = 1;
Для Каждого ТекСтрока Из ЗаказСписок Цикл
ТекСтрока. Номер = Индекс;
Индекс = Индекс + 1;
КонецЦикла;
КонецПроцедуры
Процедура ПоказатьИнфоПоБлюду(Элемент)
Попытка
ЭлементыФормы. НаименованиеБлюда. Заголовок = Элемент. ТекущаяСтрока. Наименование;
Если ЗначениеЗаполнено (Элемент. ТекущаяСтрока. Цена) Тогда
ЭлементыФормы. Стоимость. Заголовок = Строка (Элемент. ТекущаяСтрока. Количество) + «» + Строка (Элемент. ТекущаяСтрока. ЕдИзм) +» х «+ Строка (Элемент. ТекущаяСтрока. Цена) +» = «+ Строка((Элемент. ТекущаяСтрока. Цена - Элемент. ТекущаяСтрока. СуммаСкидки) * Элемент. ТекущаяСтрока. Количество) +» " + Константы. ВалютаРегламентированногоУчета. Получить();
ЭлементыФормы. Стоимость. ЦветТекста = WebЦвета. Черный;
Иначе
ЭлементыФормы. Стоимость. Заголовок = «Цена на блюдо не задана! Немедленно сообщите администратору!»;
ЭлементыФормы. Стоимость. ЦветТекста = WebЦвета. Красный;
КонецЕсли;
Исключение
КонецПопытки;
КонецПроцедуры
Процедура ЗаказСписокКоличествоПриИзменении(Элемент)
Попытка
Если ЭлементыФормы. ЗаказСписок. ТекущаяСтрока. Количество <> 0 Тогда
ОбщийМодуль. СуммаСтроки (ЭлементыФормы. ЗаказСписок. ТекущаяСтрока);
КонецЕсли;
ОнбовитьПолеСуммаИтого();
Исключение
КонецПопытки;
КонецПроцедуры
Процедура ОнбовитьПолеСуммаИтого()
ЭлементыФормы. СуммаИтого. Заголовок = ЗаказСписок. Итог («Сумма») + СуммаОбслуживания();
КонецПроцедуры
Процедура МодифНажатие(Элемент)
ВзятьКоличество(Элемент);
мРаздел = Тип («СправочникСсылка. СпецификацииБлюд»);
ЗаполнениеОбластиСвободныхДействий(лМодиф);
КонецПроцедуры
Процедура ЗаполнениеОбластиСвободныхДействий(ПараметрВывода)
Индекс = 0;
НачЗначение = 0;
КонЗначение = мМассивКнопок. Количество() - 1;
ЭлементыФормы. УровеньВверх. Доступность = Ложь;
ЭлементыФормы. ЛистВверх. Доступность = Ложь;
Если ПараметрВывода = мМеню Тогда
Для Каждого ТекПунктМеню Из мМеню Цикл
// Отбираем первый уровень меню и выводим его на экран
Если ТекПунктМеню. Родитель = Справочники. Меню_КАС. ПустаяСсылка() Тогда
Если Индекс <= мМассивКнопок. Количество() - 1 Тогда
мМассивКнопок[Индекс].Заголовок = ТекПунктМеню. Наименование;
мМассивКнопок[Индекс].Доступность = Истина;
Если ТекПунктМеню. ЭтоГруппа = Истина Тогда
мМассивКнопок[Индекс].ЦветФонаКнопки = Новый Цвет (255,255,153);
Иначе
мМассивКнопок[Индекс].ЦветФонаКнопки = Новый Цвет (225,253,253);
КонецЕсли;
Индекс = Индекс + 1;
Иначе
Индекс = Индекс + 1;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ИначеЕсли ПараметрВывода = лМодиф Тогда
Отбор = Новый Структура («ПозицияМеню»);
Отбор. ПозицияМеню = ЭлементыФормы. ЗаказСписок. ТекущаяСтрока. Наименование;
ВыборкаМодификаций = лМодиф. НайтиСтроки(Отбор);
Для Каждого ТекМодиф Из ВыборкаМодификаций Цикл
Если Индекс <= мМассивКнопок. Количество() - 1 Тогда
мМассивКнопок[Индекс].Заголовок = ТекМодиф. Спецификация;
мМассивКнопок[Индекс].Доступность = Истина;
мМассивКнопок[Индекс].ЦветФонаКнопки = Новый Цвет (255,224,102);
Индекс = Индекс + 1;
Иначе
Индекс = Индекс + 1;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Если Индекс > мМассивКнопок. Количество() Тогда
ЭлементыФормы. ЛистВниз. Доступность = Истина;
Иначе
ЭлементыФормы. ЛистВниз. Доступность = Ложь;
КонецЕсли;
Пока Индекс <= КонЗначение Цикл
мМассивКнопок [Индекс - НачЗначение].Заголовок = Неопределено;
мМассивКнопок [Индекс - НачЗначение].Доступность = Ложь;
мМассивКнопок [Индекс - НачЗначение].ЦветФонаКнопки = ЦветаСтиля. ЦветФонаФормы;
Индекс = Индекс + 1;
КонецЦикла;
КонецПроцедуры
Процедура ОпределитьНаборМодификаций()
лМодиф = ПоляСвободныхДействий_БАВ. ЗагрузитьСпецификации();
КонецПроцедуры
Процедура ИзменитьСпецификацию (ТабЧасть, Элемент)
ТабЧасть. ТекущаяСтрока. Спецификация = Элемент. Заголовок;
Цена = ОбщийМодуль. ЗапросНаЦенуПозиции (ТабЧасть. ТекущаяСтрока. Наименование, Элемент. Заголовок);
Если Не Цена = Неопределено Тогда
ТабЧасть. ТекущаяСтрока. Цена = Цена;
КонецЕсли;
ОбщийМодуль. СуммаСтроки (ТабЧасть. ТекущаяСтрока);
ТабЧасть. ТекущаяКолонка = ТабЧасть. Колонки. Наименование;
ЭлементыФормы. СуммаИтого. Заголовок = ЗаказСписок. Итог («Сумма») + СуммаОбслуживания();
КонецПроцедуры
Процедура ЗаказСписокПриАктивизацииСтроки(Элемент)
Если мРаздел = Тип («СправочникСсылка. СпецификацииБлюд») Тогда
ЗаполнениеОбластиСвободныхДействий(лМодиф);
КонецЕсли;
КонецПроцедуры
Процедура ВзятьКоличество(Элемент)
Если Табло <> 0 Тогда
ЭлементыФормы. ЗаказСписок. ТекущиеДанные. Количество = Табло;
ЗаказСписокКоличествоПриИзменении(Элемент);
КонецЕсли;
ПоказатьИнфоПоБлюду (ЭлементыФормы. ЗаказСписок);
КонецПроцедуры
Процедура СервисНажатие(Элемент)
ВзятьКоличество(Элемент);
КонецПроцедуры
// Получаем данные из форм-владельцев -
// -
Процедура ОбработкаОповещения (ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = «лАвтор» Тогда
лАвтор = Параметр;
ИначеЕсли ИмяСобытия = «лКлиент» Тогда
лКлиент = Справочники. Клиенты. НайтиПоНаименованию(Параметр);
ИначеЕсли ИмяСобытия = «лСсылкаНаЗаказ» Тогда
лСсылкаНаЗаказ = Параметр;
ИначеЕсли ИмяСобытия = «Бронь» Тогда
лБронь = Параметр;
ИначеЕсли ИмяСобытия = «ВремяБ» Тогда
ВремяБ = Параметр;
ИначеЕсли ИмяСобытия = «ДатаБ» Тогда
ДатаБ = Параметр;
КонецЕсли;
КонецПроцедуры
// Обрабатывается принятие заказа -
Приложение В
Листинг кода обработки «Форма заказника»
// -
Процедура ПринятьЗаказНажатие(Элемент)
ОбновитьЗаказ();
Закрыть();
КонецПроцедуры
// Обновление документ «Заказы» -
// -
Процедура ОбновитьЗаказ()
НовыйДокумент = лСсылкаНаЗаказ. ПолучитьОбъект();
// НовыйДокумент. Дата = МоментВремени;
НовыйДокумент. Контрагент = лКлиент;
НовыйДокумент. Организация = УправлениеПользователямиИПерсоналом. ПолучитьЗначениеПоУмолчанию (лАвтор, «Организация»);
НовыйДокумент. Подразделение = УправлениеПользователямиИПерсоналом. ПолучитьЗначениеПоУмолчанию (лАвтор, «Подразделение»);
НовыйДокумент. Официант = лАвтор;
НовыйДокумент. Ответственный = УправлениеПользователямиИПерсоналом. ПолучитьАдминистратораЗала(лЗал);
НовыйДокумент. Зал = лЗал;
НовыйДокумент. Стол =? (ЗначениеЗаполнено (ЭлементыФормы. Стол. Заголовок), Справочники. СтолыИЗалы. НайтиПоНаименованию (ЭлементыФормы. Стол. Заголовок), Неопределено);
НовыйДокумент. КолвоГостей = ЭлементыФормы. КолВоПерсон. Заголовок;
НовыйДокумент. Заказ. Очистить();
Для Каждого ТекСтрокаЗаказа Из ЗаказСписок Цикл
НоваяСтрока = НовыйДокумент. Заказ. Добавить();
НоваяСтрока. Наименование = Справочники. Меню_КАС. НайтиПоНаименованию (ТекСтрокаЗаказа. Наименование);
НоваяСтрока. Количество = ТекСтрокаЗаказа. Количество;
НоваяСтрока. ЕдИзм = Справочники. ЕдиницыИзмерения. НайтиПоНаименованию (ТекСтрокаЗаказа. ЕдИзм);
НоваяСтрока. Стоимость = ТекСтрокаЗаказа. Цена;
НоваяСтрока. Сумма = ТекСтрокаЗаказа. Сумма;
НоваяСтрока. СуммаСкидки = ТекСтрокаЗаказа. СуммаСкидки;
НоваяСтрока. ПроцентСкидки = ТекСтрокаЗаказа. ПроцентСкидки;
Запрос = Новый Запрос;
Запрос. Текст = «ВЫБРАТЬ
| ТочкиОбслуживанияИНазначенныеСкладыСрезПоследних. Склад
|ИЗ
| РегистрСведений. ТочкиОбслуживанияИНазначенныеСклады. СрезПоследних (, ТочкаОбслуживания = &Точка) КАК ТочкиОбслуживанияИНазначенныеСкладыСрезПоследних»;
Запрос. УстановитьПараметр («Точка», УправлениеПользователямиИПерсоналом. ПолучитьЗначениеПоУмолчанию (лАвтор, «Точка обслуживания в смене»));
Результат = Запрос. Выполнить();
Если Не Результат. Пустой() Тогда
Выборка = Результат. Выбрать();
Выборка. Следующий();
НоваяСтрока. СкладРеализации = Выборка. Склад;
КонецЕсли;
НоваяСтрока. Спецификация = Справочники. Спецификации. НайтиПоНаименованию (ТекСтрокаЗаказа. Спецификация);
КонецЦикла;
Если Число (ЭлементыФормы. СуммаОбслуги. Заголовок) > 0 Тогда
НовыйДокумент. УчитыватьОбслуживание = Истина;
НовыйДокумент. СуммаДокумента = ЗаказСписок. Итог («Сумма») + СуммаОбслуживания();
Иначе
НовыйДокумент. УчитыватьОбслуживание = Ложь;
НовыйДокумент. СуммаДокумента = ЗаказСписок. Итог («Сумма»);
КонецЕсли;
НовыйДокумент. Записать (РежимЗаписиДокумента. Запись);
ОбновитьСостояниеСтола (НовыйДокумент. Дата, НовыйДокумент. СуммаДокумента, НовыйДокумент. КолвоГостей);
КонецПроцедуры
// Формируется документ «Заказы» -
// -
Процедура СформироватьЗаказ(МоментВремени)
НовыйДокумент = Документы. Заказы. СоздатьДокумент();
НовыйДокумент. Дата = МоментВремени;
НовыйДокумент. Контрагент = лКлиент;
НовыйДокумент. Организация = УправлениеПользователямиИПерсоналом. ПолучитьЗначениеПоУмолчанию (лАвтор, «Организация»);
НовыйДокумент. Подразделение = УправлениеПользователямиИПерсоналом. ПолучитьЗначениеПоУмолчанию (лАвтор, «Подразделение»);
НовыйДокумент. Официант = лАвтор;
НовыйДокумент. Ответственный = УправлениеПользователямиИПерсоналом. ПолучитьАдминистратораЗала(лЗал);
НовыйДокумент. Зал = лЗал;
НовыйДокумент. Стол =? (ЗначениеЗаполнено (ЭлементыФормы. Стол. Заголовок), Справочники. СтолыИЗалы. НайтиПоНаименованию (ЭлементыФормы. Стол. Заголовок), Неопределено);
НовыйДокумент. КолвоГостей = ЭлементыФормы. КолВоПерсон. Заголовок;
НовыйДокумент. СуммаДокумента = ЗаказСписок. Итог («Сумма»);
НовыйДокумент. Записать (РежимЗаписиДокумента. Запись);
лСсылкаНаЗаказ = НовыйДокумент. Ссылка;
СформироватьСостояниеСтола (МоментВремени, НовыйДокумент. СуммаДокумента, НовыйДокумент. КолвоГостей);
КонецПроцедуры
// Формирование состояния стола -
// -
Процедура СформироватьСостояниеСтола (МоментВремени, Сумма, КолвоПерсон)
СтрокаСостояния = РегистрыСведений. СостояниеСтолов. СоздатьНаборЗаписей();
ЯчейкаЗаписи = СтрокаСостояния. Добавить();
ЯчейкаЗаписи. МоментВремени = Формат (МоментВремени, «ДФ='dd MMMM'»)+» «+ Формат (МоментВремени, «ДЛФ=T»);
ЯчейкаЗаписи. Период = МоментВремени;
ЯчейкаЗаписи. Автор = лАвтор;
ЯчейкаЗаписи. Зал = лЗал;
ЯчейкаЗаписи. Стол =? (ЗначениеЗаполнено (ЭлементыФормы. Стол. Заголовок), Справочники. СтолыИЗалы. НайтиПоНаименованию (ЭлементыФормы. Стол. Заголовок), Неопределено);
ЯчейкаЗаписи. Занято = КолвоПерсон;
// ЯчейкаЗаписи. Свои =
ЯчейкаЗаписи. СсылкаНаЗаказ = лСсылкаНаЗаказ;
ЯчейкаЗаписи. Бронь = лБронь;
ЯчейкаЗаписи. Сумма = Сумма;
СтрокаСостояния. Записать(Ложь);
КонецПроцедуры
// Загрузка данных из заказа в рабочую область -
// -
Процедура ЗагрузитьЗаказ()
НайденныйДокумент = лСсылкаНаЗаказ. ПолучитьОбъект();
лАвтор = НайденныйДокумент. Официант;
лКлиент = НайденныйДокумент. Контрагент;
ЭлементыФормы. Роль. Заголовок = Строка (лАвтор. Роль) +»:»;
ЭлементыФормы. Автор. Заголовок = лАвтор;
ЭлементыФормы. КолВоПерсон. Заголовок = НайденныйДокумент. КолвоГостей;
ЭлементыФормы. Стол. Заголовок = НайденныйДокумент. Стол;
Индекс = 0;
Для Каждого ТекСтрокаЗаказа Из НайденныйДокумент. Заказ Цикл
Индекс = Индекс + 1;
СтрокаЗаказа = ЗаказСписок. Добавить();
СтрокаЗаказа. Номер = Индекс;
СтрокаЗаказа. Наименование = ТекСтрокаЗаказа. Наименование;
СтрокаЗаказа. Количество = ТекСтрокаЗаказа. Количество;
СтрокаЗаказа. ЕдИзм = ТекСтрокаЗаказа. ЕдИзм;
СтрокаЗаказа. Цена = ТекСтрокаЗаказа. Стоимость;
СтрокаЗаказа. Сумма = ТекСтрокаЗаказа. Сумма;
СтрокаЗаказа. СуммаСкидки = ТекСтрокаЗаказа. СуммаСкидки;
СтрокаЗаказа. ПроцентСкидки = ТекСтрокаЗаказа. ПроцентСкидки;
СтрокаЗаказа. Спецификация = ТекСтрокаЗаказа. Спецификация;
КонецЦикла;
Если НайденныйДокумент. УчитыватьОбслуживание = Истина Тогда
ЭлементыФормы. УчитыватьОбслугу. Заголовок = «Учитыв. обслуж.»;
Иначе
ЭлементыФормы. УчитыватьОбслугу. Заголовок = «Не учитыв. обслуж.»;
КонецЕсли;
ОнбовитьПолеСуммаИтого();
КонецПроцедуры
// Обновление состояния стола -
// -
Процедура ОбновитьСостояниеСтола (МоментВремени, Сумма, КолвоПерсон)
НаборЗаписей = РегистрыСведений. СостояниеСтолов. СоздатьНаборЗаписей();
НаборЗаписей. Отбор. Период. Установить(МоментВремени);
НаборЗаписей. Отбор. Автор. Установить(лАвтор);
НаборЗаписей. Отбор. Зал. Установить(лЗал);
НаборЗаписей. Отбор. Стол. Установить(? (ЗначениеЗаполнено (ЭлементыФормы. Стол. Заголовок), Справочники. СтолыИЗалы. НайтиПоНаименованию (ЭлементыФормы. Стол. Заголовок), Неопределено));
НаборЗаписей. Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Запись. Автор = лАвтор;
Запись. Зал = лЗал;
Запись. Стол =? (ЗначениеЗаполнено (ЭлементыФормы. Стол. Заголовок), Справочники. СтолыИЗалы. НайтиПоНаименованию (ЭлементыФормы. Стол. Заголовок), Неопределено);
Запись. Занято = КолвоПерсон;
// Запись. Свои =
Запись. СсылкаНаЗаказ= лСсылкаНаЗаказ;
Запись. Бронь = лБронь;
Запись. Сумма = Сумма;
КонецЦикла;
НаборЗаписей. Записать();
КонецПроцедуры
// Закрытие документа «Заказы» -
// -
Процедура ЗакрытьЗаказНажатие(Элемент)
ДокументЗаказа = лСсылкаНаЗаказ. ПолучитьОбъект();
Если ДокументЗаказа. УчитыватьОбслуживание = Истина Тогда
УслугаОфицианта = ДокументЗаказа. Услуги. Добавить();
УслугаОфицианта. Наименование = Справочники. Меню_КАС. УслугиОфицианта;
УслугаОфицианта. Количество = 1;
УслугаОфицианта. ЕдИзм = Справочники. Меню_КАС. УслугиОфицианта. ЕдиницаИзмерения;
УслугаОфицианта. Стоимость = СуммаОбслуживания();
УслугаОфицианта. Сумма = УслугаОфицианта. Стоимость*УслугаОфицианта. Количество;
КонецЕсли;
ДокументЗаказа. Записать (РежимЗаписиДокумента. Проведение);
ДокументЗаказа. Печать();
ОчисткаРегистра = РегистрыСведений. СостояниеСтолов. СоздатьНаборЗаписей();
ОчисткаРегистра. Отбор. СсылкаНаЗаказ. Установить(лСсылкаНаЗаказ);
ОчисткаРегистра. Записать();
Закрыть();
КонецПроцедуры
// Расчет суммы за обслуживание -
// -
Функция СуммаОбслуживания()
ЭлементыФормы. СуммаОбслуги. Заголовок = Строка(? (ЭлементыФормы. УчитыватьОбслугу. Заголовок = «Не учитыв. обслуж.», 0, ЗаказСписок. Итог («Сумма»)*Константы. ПроцентОбслуживания. Получить()/100));
Возврат Число (ЭлементыФормы. СуммаОбслуги. Заголовок);
КонецФункции
// Нажатие на кнопку «Учитывать / Не учитывать обслуживание» -
// -
Процедура УчитыватьОбслугуНажатие(Элемент)
Если Элемент. Заголовок = «Учитыв. обслуж.» Тогда
Элемент. Заголовок = «Не учитыв. обслуж.»;
Иначе
Элемент. Заголовок = «Учитыв. обслуж.»;
КонецЕсли;
ОнбовитьПолеСуммаИтого();
КонецПроцедуры
// Выдача счета -
// -
Процедура СчетНажатие(Элемент)
ОбновитьЗаказ();
ДокументЗаказа = лСсылкаНаЗаказ. ПолучитьОбъект();
// ДокументЗаказа. Разблокировать()
ДокументЗаказа. Печать();
КонецПроцедуры
Размещено на Allbest.ru
...Подобные документы
Анализ существующих информационных систем для автоматизации деятельности предприятий общественного питания. Моделирование основных бизнес-процессов, выполняемых в автоматизированной информационной системе. Этапы разработки информационной системы.
дипломная работа [1,8 M], добавлен 14.11.2017Разработка конфигурации программы в среде "1С:Предприятие 7.7" для учета клиентов. Автоматизация процедуры учета заработной платы. Описание среды программирования, требования к техническому и программному обеспечению. Методика разработки проекта.
дипломная работа [349,2 K], добавлен 17.07.2014Учет оказываемых услуг в стоматологической клинике. Автоматизация бизнес-процессов. Технологическая платформа "1С: Предприятие". Описание конфигурации, объектов метаданных. Отображение процесса ввода данных и формирования документов. Регистры бухгалтерии.
дипломная работа [1,9 M], добавлен 17.11.2015Предпроектное обследование объекта автоматизации. Область применения разработки Web-приложения "Туристическое агенство", ее назначение, требования к программному продукту и документации. Календарный план и порядок приемки. Приемы работы с программой.
курсовая работа [60,3 K], добавлен 28.12.2011Ознакомление с разработкой распределенной информационной системы, построенной на клиент-серверной архитектуре. Основы автоматизации рабочих мест обслуживающего персонала предприятия. Изучение процессов, связанных с учётом поставок продукции ресторана.
дипломная работа [2,7 M], добавлен 16.03.2014Основания для разработки программы и ее назначение, внутренняя структура и компоненты, предъявляемые требования. Область применения и функциональное назначение, администрирование сайта. Разработка руководства пользователя. Работа с интернет-магазином.
дипломная работа [1,8 M], добавлен 02.11.2015Классификация кредитов и займов, расчет наращенной суммы и периодических платежей. Концептуальное описание приложения "Автоматизация расчета операций по кредитам и займам": его назначение, логическое описание программы и руководство пользователя.
курсовая работа [1,5 M], добавлен 30.06.2011Назначение и цели создания программного обеспечения. Характеристики объекта автоматизации. Требования к программному обеспечению. Характеристика производимой продукции предприятия. Автоматизация компонента "Зарплата и кадры" для расчета заработной платы.
дипломная работа [98,8 K], добавлен 15.04.2012Комплексная автоматизация хозяйственной, организационной и финансовой деятельности предприятия. Требования к программному средству. Обоснование выбранной среды программирования. Информационное обеспечение системы. Описание алгоритма решения задачи.
дипломная работа [1,2 M], добавлен 18.06.2012Сущность и назначение анализа доходов коммерческого банка. Автоматизация анализа доходов коммерческого банка: обоснование и общая характеристика разработки, логическое описание, руководство пользователя, принципы получения информации о программе.
курсовая работа [1,2 M], добавлен 30.11.2011Языки программирования, их цели и задачи. Автоматизация рабочего места, реализованная с помощью системы управления базами данных MS Access в приложении Borland Delphi 7. Требования, предъявляемые к эксплуатации ресурса, техническим средствам, обеспечению.
курсовая работа [860,5 K], добавлен 15.12.2010Налоговый и бухгалтерский учет капитальных вложений в коммерческих банках. Описание программы "Анализ валютный операций коммерческого банка": функциональное назначение, логическое описание, руководство пользователя, контрольный пример и листинг.
курсовая работа [1,7 M], добавлен 25.06.2011Структура сети, ее характеристика и конфигурация рабочих мест. Описание информационной системы и работы автогазозаправочной станции. Сущность информационного комплекса, инфологическая модель данных и ее описание. Безопасность в корпоративных сетях.
дипломная работа [2,5 M], добавлен 14.02.2010История появления и развития методов шифрования, используемые в данном процессе приемы и инструменты. Принципы вскрытия одноалфавитных систем, обзор существующих программ. Требования к программному продукту и разработка руководства пользователя.
курсовая работа [755,9 K], добавлен 08.07.2014Бизнес-процессы, создание единого информационного пространства для отображения финансово-хозяйственной деятельности в программном продукте "1С: Комплексная автоматизация 8". Общая структура и прикладные механизмы программы. Интеграция с другими системами.
курсовая работа [264,8 K], добавлен 09.01.2010Требования к аппаратному и программному обеспечению, требуемому для разработки программного модуля. Критерии приемлемости разрабатываемого программного продукта. Разработка удобного пользовательского интерфейса программы. Алгоритм и листинг программы.
курсовая работа [2,6 M], добавлен 23.11.2011Разработка программного продукта "Заказы" как часть системы автоматизации ресторана быстрого питания. Описание выходной и входной информации, определение связей между ними, структурный анализ с помощью диаграмм SADT, интерфейс и листинг программы.
курсовая работа [2,5 M], добавлен 30.11.2009Разработка концептуальной модели предметной области. Автоматизация справочной системы. Разработка конфигурации в 1С:Предприятии. Создание констант и перечислений. Формирование и проведение документов. Создание пользователя и пользовательского интерфейса.
курсовая работа [1016,6 K], добавлен 09.03.2015Анализ информационных систем деятельности культурно-оздоровительных центров. Создание автоматизированного рабочего места специалиста по работе с клиентами санатория. Построение модели предметной области, описание полей таблиц; верификация программы.
дипломная работа [1,8 M], добавлен 16.09.2016Создание программного продукта, позволяющего осуществлять контроль за поставками продукции, движением товара, остатками его на складе. Построение структуры таблиц для хранения информации и описание алгоритмов обработки. Тестирование и отладка программы.
курсовая работа [593,4 K], добавлен 30.06.2014