Показатель
|
Способ расчета
|
Значение
|
Годовая экономия
|
Эгод = Сб - С
|
530568,8 руб. /год
|
Расчетная прибыльность
|
Ер = Эгод / К
|
3,8 год-1
|
Срок окупаемости
|
Ток = 1/Ер = К / Эгод
|
0,27 года
|
Внутренний экономический эффект
|
Эвнут = Пб - П
|
502 778 руб. /год
|
Годовой экономический эффект
|
Э = Эгод - Е*К
|
502 778 руб. /год
|
Расчет внешнего экономического эффекта предполагает
определение следующих составляющих:
§ Увеличение скорости обработки и передачи данных,
хранящихся в одной базе
§ повышенное премирование начальника отдела
пассажирских перевозок за счет повышения качества и скорости предоставляемых
отчетов диспетчером;
§ экономия на закупке новой компьютерной техники и
ремонте уже существующей, за счет более эффективного ее использования;
§ у сотрудников ООО "Экспресс-РТЦ"
появилось дополнительное свободное время, которое может послужить как средством
для улучшения качества труда этих специалистов, так и дать возможность решать
им дополнительные задачи. По причине того, что информационная система внедрена
незначительное время назад, довольно сложно произвести сбор достаточного
количества статистических данных для выражения внешнего экономического эффекта
в денежном виде. Вывод: автоматизация комплекса задач специалиста отдела
международных пассажирских перевозок эффективна, т.к. годовой экономический
эффект больше нуля и составил 502 778 руб. /год, а внешний экономический
эффект увеличит рассчитанные показатели. Поставленные на задачи будут решены внедренной
информационной системой на база "1С: Предприятие 8.2".
3.3
Обеспечение безопасности жизнедеятельности при работе с ИС
Общие положения
Использование большого количества персональных компьютеров,
создание информационных систем, увеличение числа лиц, непосредственно
использующих компьютерные технологии, вызывает необходимость специальной
подготовки людей для безопасной работы в сфере обработки информации.
Пренебрежительное отношение к такой подготовке может обернуться катастрофами,
человеческими жертвами и большими материальными потерями во всех сферах
деятельности человека. Поэтому персоналу, обслуживающему компьютерную технику и
выполняющему работы на компьютерах, необходимо знать основы охраны труда и
техники безопасности при обработке информации.
Охрана труда - система обеспечения безопасности жизни и
здоровья работников в процессе трудовой деятельности, включающая правовые,
социально-экономические, организационно-технические, санитарно-гигиенические,
лечебно-профилактические, реабилитационные и иные мероприятия.
Работнику предприятия информатики необходимо:
· Знать круг вопросов, позволяющих
организовать безопасные условия труда на предприятии.
· Уметь практически применять теоретические
знания, т.е. уметь технически грамотно организовывать труд сотрудников отдела с
точки зрения правил техники безопасности.
Методическими основами обеспечения безопасности человека в
информационных системах является:
· Анализ условий труда
· Анализ причин травматизма и
профессиональных заболеваний персонала
· Прогнозирование возможных опасностей в
производственной среде
· Сравнительная оценка, с точки зрения
безопасности оборудования и технологических процессов в сфере информационного
обслуживания
Опасный производственный фактор - это такое воздействие на
человека, которое приводит к травме или другому внезапному ухудшению здоровья.
Вредный производственный фактор - это такое воздействие на человека, которое в
определённых условиях приводит к заболеванию или снижению трудоспособности.
Травма - повреждение организма или нарушение его правильного
функционирования, наступившее внезапно под воздействием производственного
фактора. Производственная травма - травма, полученная на производстве и
вызванная нарушением требований безопасности труда.
Профессиональные заболевания - заболевания, полученные
воздействием вредных условий труда на работающего (излучение, вибрация, пыль).
Причины несчастного случая могут быть сгруппированы:
· Технические (неисправность техники,
отсутствие заземления и т.д.)
· Организационные (нарушение норм охраны
труда, недостаток в обучении)
· Санитарно-гигиенические (плохое содержание
мест, недостаток вентиляции, отопления)
· Психофизиологические (ослабление внимания,
стрессы)
Общие мероприятия по предупреждению травматизма состоят из
организационно-технических, общесанитарных, индивидуально-защитных.
Законодательные положения по охране труда в России.
Законодательство Российской Федерации об охране труда состоит
из соответствующих норм Конституции Российской Федерации, Основ
законодательства Российской Федерации об охране труда и издаваемых в
соответствии с ними законодательных и иных нормативных актив Российской
Федерации.
Производственная среда на предприятиях информатики
На работоспособность человека очень сильно влияет микроклимат
производственных помещений предприятий информатики, который определяется
составом воздуха, температурой, давлением, относительной влажностью, скоростью
движения воздушных потоков. Недостаток кислорода, понижение атмосферного
давления, увеличение углекислого газа в воздухе, повышение температуры до 22 С
или понижение до 13 С приводит к потере работоспособности.
Освещённость помещений. Нагрузка на зрение и напряжённый
характер труда вызывает у операторов ЭВМ нарушение зрительного анализатора и
центральной нервной системы, поэтому нормальное освещение рабочего места
является одним из важнейших требований охраны труда. При недостаточном
освещении развивается близорукость, появляются болезни глаз, головные боли. С
другой стороны, очень высокая освещённость приводит светобоязни и воспалению
слизистой оболочки глаз.
Механические колебания. К ним относятся шумы, ультразвуки,
инфразвуки и вибрация. Механические колебания вызывают психологические и
физиологические нарушения, снижающие работоспособность, и создают предпосылки
для появления общих и профессиональных заболеваний.
Заключение
В процессе дипломного проектирования рассмотрена
хозяйственная деятельность компании ООО "ЭКСПРЕСС-РТЦ",
проанализированы ее основной бизнес-процесс - отправка автомобиля в рейс - и
состояние информатизации. В ходе анализа было выявлено, что основная проблема
функционирования компании заключается в перегруженности диспетчера отдела
пассажирских перевозок задачами, не относящимися к его прямым обязанностям, а
так же отсутствие единой системы хранения всех данных по пассажирским
перевозкам. Кроме того, работа диспетчера по составлению отчетов занимала
огромное количество времени из-за необходимости проводить ее вручную. Большие
объемы информации смежных отделов (отдел по работе с клиентами и отдел пассажирских
перевозок) находились в разных файлах, что приводило к необходимости постоянно
сверять информацию и, соответственно, тратить немалое количество времени на
поиск необходимых данных.
Для решения вышеуказанных проблем руководством компании ООО
"ЭКСПРЕСС-РТЦ" было решено с помощью сотрудников ЗАО
"ТЕЛРОС" автоматизировать комплекс задач специалиста отдела
пассажирских международных перевозок (диспетчера). Спроектированная
информационная система позволила существенно сэкономить рабочее время
диспетчера, уходившее на формирование ежемесячных отчетов и поиск необходимой
информации для отправки автомобиля в рейс, взяв эти функции на себя. Были
разработаны рабочие места для менеджера по работе с клиентами и сотрудника
ремонтного отдела для разграничения зон ответственности между отделами, а так
же хранения всех данных по пассажирским перевозкам в одной базе.
В ходе решения задачи было сформулировано и обосновано
проектное решение, определены источники, структура, входная и выходная
информация. В дальнейшем на основе этих сведений была спроектирована и доведена
до уровня практической реализации информационная система автоматизированного
ведения международных пассажирских перевозок.
Расчет и анализ показателей экономической эффективности
комплекса задач специалиста отдела международных пассажирских перевозок
подтвердил целесообразность реализации и внедрения данного проекта.
Таким образом, можно сделать вывод об успешном выполнении
поставленных целей этого дипломного проекта.
Список
литературы
1. ГОСТ
34.601-90 "Автоматизированные системы. Стадии создания".
2. ГОСТ
34.698-90 "Автоматизированные системы. Требования к содержанию
документов".
. ГОСТ
Р ИСО/МЭК 12207 - 99 "Информационная технология. Процессы жизненного цикла
программных средств".
. Сетевая
экономика и проектирование информационных систем: Учеб. пособие / Бугорский
В.Н., Соколов Р.В. / Спб.: Питер, 2007. - 320 с.
. ТОИ
Р-45-084-01 "Типовая инструкция по охране труда при работе на персональном
компьютере".
. Федеральный
закон от 24.07.1998 N 127-ФЗ (ред. от 02.04.2012)"О государственном
контроле за осуществлением международных автомобильных перевозок и об
ответственности за нарушение порядка их выполнения"
. http://www.elma-bpm.ru/journal/lessons.html
- Курс BPMN. Описание и методы нотации BPMN.
. И.А.
Брусакова, Р.В. Соколов, В.Н. Бугорский, В.И. Фомин, А.И. Дашевский, И.В.
Егорова. Дипломное проектирование. Методические указания к дипломному
проектированию студентов всех форм обучения - СПб.: СПбГИЭУ, 2012.
. Радченко
М. Г.1С: Предприятие 8.2 Практическое пособие разработчика. Примеры и типовые
приемы / М.Г. Радченко, Е.Ю. Хрусталева. - М.: ООО "1С-Паблишинг",
2009. - 872 с.: ил.
. Хрусталева
Е.Ю. Разработка сложных отчетов в 1С: Предприятии 8. Система компоновки данных
- М.: ООО "1С-Паблишинг", 2008. - 513с: ил.
. http://www.express-rtc.ru/index.html
- "Экспресс-РТЦ" Региональный транспортный центр. Информация о
компании.
. Толковый
словарь 1С: Предприятие 8. Сайт фирмы 1С. Ссылка на статью
http://v8.1c.ru/overview/Term_000000176. htm
. Ощенко
И.А. Азбука программирования в 1С: Предприятие 8.2 - БХВ-Петербург, 2013. -
272с.
Приложения
Приложение 1
Листинг модуля объекта документа "Рейсы"
Процедура ОбработкаПроведения (Отказ, Режим)
// регистр ФактическиеРейсы
Если Статус=Перечисления. СтатусРейса. ГотовКОтправке Тогда
Движения. ФактическиеРейсы. Записывать = Истина;
Движение = Движения. ФактическиеРейсы. Добавить ();
Движение. Период = Дата;
Движение. Маршрут = Маршрут;
Движение. Автобус = Автобус;
Движение. Водитель = Водитель;
Движение. Выручка=ОбщаяСтоимость;
Движение. Прибыль=Прибыль;
Движение. КоличествоПассажиров=Пассажиры. Количество ();
КонецЕсли;
Если Прибыль<0 И НЕ Статус=Перечисления. СтатусРейса.
Запланирован и НЕ Статус=Перечисления. СтатусРейса. Отменен Тогда
Отказ=Истина;
Сообщение=Новый СообщениеПользователю;
Сообщение. Текст="Документ не может быть проведен с
отрицательной суммой или убытками!";
Сообщение. Сообщить ();
КонецЕсли;
// Регистр расстояние для подсчета пробега
Если Статус=Перечисления. СтатусРейса. ГотовКОтправке Тогда
Движения. Пробег. Записывать = Истина;
Движение = Движения. Пробег. Добавить ();
Движение. Период = Дата;
Движение. Автобус = Автобус;
Движение. Расстояние=Расстояние;
КонецЕсли;
// Регистр УчетПассажиров для Дисконтной программы
Если Статус=Перечисления. СтатусРейса. ГотовКОтправке Тогда
Движения. УчетПассажиров. Записывать=Истина;
Для Каждого ТекСтрока из Пассажиры Цикл
Движение=Движения. УчетПассажиров. Добавить ();
Движение. Клиент=ТекСтрока. ФИО;
Движение. Рейс=Маршрут;
Движение. КоличествоРейсов=1;
Движение. Период=Дата;
Движение. ВидДвижения=ВидДвиженияНакопления. Приход;
Движение. Стоимость=ТекСтрока. СоСкидкой;
КонецЦикла;
КонецЕсли;
// Регистр СостояниеАвтомобилей для
Если Статус=Перечисления. СтатусРейса. Запланирован Тогда
Движения. СостояниеАвтомобилей. Записывать=Истина;
Движение=Движения. СостояниеАвтомобилей. Добавить ();
Движение. Автобус=Автобус;
Движение. Состояние=Перечисления. СостояниеАвтомобиля.
ВРейсе;
Движение. Период=Дата;
Движение. ВидДвижения=ВидДвиженияНакопления. Приход;
Движение. Ресурс1=1;
Движение. ДатаВозврата=ПланируемаДатаВозврата;
Движение. ДатаВыезда=ДатаОтправления;
ИначеЕсли
Статус=Перечисления. СтатусРейса. Возврат Тогда
Движения. СостояниеАвтомобилей. Записывать=Истина;
Движение=Движения. СостояниеАвтомобилей. Добавить ();
Движение. Автобус=Автобус;
Движение. Состояние=Перечисления. СостояниеАвтомобиля.
Свободен;
Движение. Период=Дата;
Движение. ВидДвижения=ВидДвиженияНакопления. Расход;
Движение. Ресурс1=1;
Движение. ДатаВозврата=ПланируемаДатаВозврата;
Движение. ДатаВыезда=ДатаОтправления;
КонецЕсли;
Движения. РегистрБухгалтерииУправленческий.
Записывать=Истина;
Если Статус=Перечисления. СтатусРейса. ГотовКОтправке Тогда
Для Каждого ТекСтрокаПассажиры из Пассажиры Цикл
// первая проводка Д62.01 - К90.01
Движение=Движения. РегистрБухгалтерииУправленческий. Добавить
();
Движение. СчетДт=ПланыСчетов. Управленческий. Покупатели;
Движение. СчетКт=ПланыСчетов. Управленческий. Выручка;
Движение. Период=Дата;
Движение. Сумма=ТекСтрокаПассажиры. СоСкидкой;
Движение. СубконтоДт [ПланыВидовХарактеристик. ВидыСубконто.
Клиенты] =ТекСтрокаПассажиры. ФИО;
Движение. СубконтоКт [ПланыВидовХарактеристик. ВидыСубконто.
Услуги] =Маршрут;
// вторая проводка Д90.02-К43
Движение=Движения. РегистрБухгалтерииУправленческий. Добавить
();
Движение. СчетДт=ПланыСчетов. Управленческий. Себестоимость;
Движение. СчетКт=ПланыСчетов. Управленческий.
ГотоваяПродукция;
Движение. Период=Дата;
Движение. Сумма=РасходТоплива*Расстояние;
Движение. СубконтоКт [ПланыВидовХарактеристик. ВидыСубконто.
Услуги] =Маршрут;
КонецЦикла;
КонецЕсли;
// Регистр ПланФакт
Если Статус=Перечисления. СтатусРейса. Возврат Тогда
Движения. ПланФакт. Записывать=Истина;
Движение=Движения. ПланФакт. Добавить ();
Движение. Автомобиль=Автобус;
Движение. Период=Дата;
Движение. ВидДвижения=ВидДвиженияНакопления. Приход;
Движение. Рейс=Маршрут;
Движение. ЗатратыПлан=ЗатратыПлан;
Движение. ЗатратыФакт=ЗатратыФакт;
Движение. Отклонение=Движение. ЗатратыПлан-Движение.
ЗатратыФакт;
КонецЕсли;
// регистр точки маршрута
Если Статус=Перечисления. СтатусРейса. ГотовКОтправке Тогда
Движения. ТочкиМаршрута. Записывать=Истина;
Для Каждого ТекСтрока из МаршрутыПоДвижению Цикл
Движение=Движения. ТочкиМаршрута. Добавить ();
Движение. Автобус=Автобус;
Движение. Маршрут=Маршрут;
Движение. Период=ДатаОтправления;
Движение. ОтбылПлан=ТекСтрока. ОтбылПлан;
Движение. ПрибылПлан=ТекСтрока. ПрибылПлан;
Движение. ПрибылФакт=ТекСтрока. ПрибылФакт;
Движение. ОтбылФакт=ТекСтрока. ОтбылФакт;
Движение. ОтклонениеОтбыл=ТекСтрока. ОтклонениеОтбыл;
Движение. ОтклонениеПрибыл=ТекСтрока. ОтклонениеПрибыл;
Движение. ТочкаМаршрута=ТекСтрока. ТочкаМаршрута;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаЗаполнения (ДанныеЗаполнения,
СтандартнаяОбработка)
// {{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные
вручную изменения будут утеряны!!!
Если Статус<>Перечисления. СтатусРейса. ПродажаБилетов
и Статус<>Перечисления. СтатусРейса. Запланирован и
Статус<>Перечисления. СтатусРейса. ГотовКОтправке и Статус<>Перечисления.
СтатусРейса. Отменен и Статус<>Перечисления. СтатусРейса. ПродажаБилетов
Тогда
Статус=Перечисления. СтатусРейса. Запланирован;
КонецЕсли;
Если ТипЗнч (ДанныеЗаполнения) = Тип ("ДокументСсылка.
Рейсы") Тогда
// Заполнение шапки
Если ДанныеЗаполнения. Статус=Перечисления. СтатусРейса.
Запланирован Тогда
Статус=Перечисления. СтатусРейса. ПродажаБилетов;
ИначеЕсли ДанныеЗаполнения. Статус=Перечисления. СтатусРейса.
ПродажаБилетов Тогда
Статус=Перечисления. СтатусРейса. ГотовКОтправке;
ИначеЕсли ДанныеЗаполнения. Статус=Перечисления. СтатусРейса.
ГотовКОтправке Тогда
Статус=Перечисления. СтатусРейса. Возврат;
КонецЕсли;
Автобус = ДанныеЗаполнения. Автобус;
Водитель = ДанныеЗаполнения. Водитель;
ДатаОтправления = ДанныеЗаполнения. ДатаОтправления;
КоличествоСвободныхМест = ДанныеЗаполнения.
КоличествоСвободныхМест;
Маршрут = ДанныеЗаполнения. Маршрут;
ОбщаяСтоимость = ДанныеЗаполнения. ОбщаяСтоимость;
Расстояние = ДанныеЗаполнения. Расстояние;
РасходТоплива = ДанныеЗаполнения. РасходТоплива;
СтоимостьМаршрута = ДанныеЗаполнения. СтоимостьМаршрута;
ПланируемаДатаВозврата=ДанныеЗаполнения.
ПланируемаДатаВозврата;
Месяц=ДанныеЗаполнения. Месяц;
Прибыль=ДанныеЗаполнения. Прибыль;
КодРейса=ДанныеЗаполнения. КодРейса;
ЗатратыПлан=ДанныеЗаполнения. ЗатратыПлан;
Для Каждого ТекСтрокаПассажиры Из ДанныеЗаполнения. Пассажиры
Цикл
НоваяСтрока = Пассажиры. Добавить ();
НоваяСтрока. ФИО = ТекСтрокаПассажиры. ФИО;
НоваяСтрока. СоСкидкой=ТекСтрокаПассажиры. СоСкидкой;
КонецЦикла;
Для Каждого ТекСтр Из ДанныеЗаполнения. Удаленные Цикл
НовСтр=Удаленные. Добавить ();
КонецЦикла;
Для Каждого ТекСтр Из ДанныеЗаполнения. МаршрутыПоДвижению
Цикл
НовСтр=МаршрутыПоДвижению. Добавить ();
НовСтр. ТочкаМаршрута=ТекСтр. ТочкаМаршрута;
НовСтр. ОтбылПлан=ТекСтр. ОтбылПлан;
НовСтр. ОтбылФакт=ТекСтр. ОтбылФакт;
НовСтр. ПрибылПлан=ТекСтр. ПрибылПлан;
НовСтр. ОтбылФакт=ТекСтр. ОтбылФакт;
НовСтр. ОтклонениеОтбыл=ТекСтр. ОтклонениеОтбыл;
НовСтр. ОтклонениеПрибыл=ТекСтр. ОтклонениеПрибыл;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Процедура ОбработкаПроверкиЗаполнения (Отказ,
ПроверяемыеРеквизиты)
Если Статус=Перечисления. СтатусРейса. Запланирован Тогда
Запрос = Новый Запрос;
Запрос. Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
|Рейсы. Статус
|ИЗ
|Документ. Рейсы КАК Рейсы
|ГДЕ
|Рейсы. Статус = &Статус
|И Рейсы. КодРейса = &КодРейса";
Запрос. УстановитьПараметр ("КодРейса", КодРейса);
Запрос. УстановитьПараметр ("Статус", Статус);
Результат = Запрос. Выполнить ();
Если НЕ Результат. Пустой () и НЕ Проведен Тогда
Сообщить ("КодРейса не уникален!");
Отказ=Истина;
КонецЕсли;
КонецЕсли;
КонецПроцедуры;
Приложение 2
Листинг модуля формы документа "Рейсы".
Перем Скидка Экспорт;
&НаКлиенте
Процедура АвтобусПриИзменении (Элемент)
Объект. КоличествоСвободныхМест=ОбщийМодуль1. ПолучитьВместимость
(Объект. Автобус);
Объект. РасходТоплива=ОбщийМодуль1. ПолучитьРасходТоплива
(Объект. Автобус);
Объект. ЗатратыПлан=Объект. Расстояние*Объект. РасходТоплива;
КонецПроцедуры
&НаКлиенте
Процедура МаршрутПриИзменении (Элемент)
Объект. СтоимостьМаршрута=ОбщийМодуль1. ПолучитьЦенуМаршрута
(Объект. Маршрут);
Объект. Расстояние=ОбщийМодуль1. ПолучитьРасстояние (Объект.
Маршрут);
Объект. ЗатратыПлан=Объект. Расстояние*Объект. РасходТоплива;
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере (Отказ, ТекущийОбъект,
ПараметрыЗаписи)
Запрос=Новый Запрос;
Запрос. Текст="ВЫБРАТЬ
|РемонтныйОстатки. Автобус
|ИЗ
|РегистрНакопления. Ремонтный. Остатки КАК РемонтныйОстатки
|ГДЕ
|РемонтныйОстатки. Автобус = &Автобус
|И РемонтныйОстатки. ТипОперации = &ТипОперации";
Запрос. УстановитьПараметр ("Автобус", Объект.
Автобус);
Запрос. УстановитьПараметр ("ТипОперации",
Перечисления. ТипРемонта. Времонте);
Результат=Запрос. Выполнить ();
Выборка=Результат. Выбрать ();
Если НЕ Результат. Пустой () Тогда
Отказ=Истина;
Сообщить ("Этот автобус в ремонте сейчас. Выберите
другой. ");
КонецЕсли;
Если Объект. Статус=Перечисления. СтатусРейса. Запланирован и
НЕ Объект. Проведен Тогда
Запрос2=Новый Запрос;
Запрос2. Текст="ВЫБРАТЬ
|СостояниеАвтомобилейОстатки. Автобус
|ИЗ
|РегистрНакопления. СостояниеАвтомобилей. Остатки КАК
СостояниеАвтомобилейОстатки
|ГДЕ
|СостояниеАвтомобилейОстатки. Автобус = &Автобус
|И СостояниеАвтомобилейОстатки. ДатаВозврата <=
&ДатаВозврата
|И СостояниеАвтомобилейОстатки. ДатаВыезда >=
&ДатаВыезда";
Запрос2. УстановитьПараметр ("Автобус", Объект.
Автобус);
Запрос2. УстановитьПараметр ("ДатаВыезда", Объект.
ДатаОтправления-86400);
Запрос2. УстановитьПараметр ("ДатаВозврата",
Объект. ПланируемаДатаВозврата+86400);
// Запрос2. УстановитьПараметр ("Состояние", Перечисления.
СостояниеАвтомобиля. ВРейсе);
Результат2=Запрос2. Выполнить ();
Выборка2=Результат2. Выбрать ();
Если НЕ Результат2. Пустой () Тогда
Отказ=Истина;
Сообщить ("Этот автобус в рейсе на выбранную дату.
Выберите другую дату или автобус. ");
КонецЕсли;
КонецЕсли;
Если Объект. Статус=Перечисления. СтатусРейса. ПродажаБилетов
и Объект. ОбщаяСтоимость=0 Тогда
Отказ=Истина;
Сообщить ("Не рассчитана стоимость билетов для
пассажиров!");
КонецЕсли;
Если Объект. Статус=Перечисления. СтатусРейса. ГотовКОтправке
и ТекущаяДата () <Объект. ДатаОтправления-86400 Тогда
Отказ=Истина;
Сообщить ("Еще рано отправлять в рейс!");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СтатусПриИзменении (Элемент)
СтатусРейса ();
КонецПроцедуры
&НаСервере
Процедура СтатусРейса ()
Если НЕ Объект. Статус=Перечисления. СтатусРейса.
ПродажаБилетов Тогда
Элементы. Пассажиры. Доступность=Ложь;
Элементы. Удаленные. Доступность=Ложь;
Элементы. ЦенаСоСкидкой. Видимость=Ложь;
Иначе Элементы. ДатаОтправления. ТолькоПросмотр=Истина;
Элементы. ПланируемаДатаВозврата. ТолькоПросмотр=Истина;
КонецЕсли;
Если Объект. Статус=Перечисления. СтатусРейса. Возврат Тогда
Элементы. ЗатратыФакт. ТолькоПросмотр=Истина;
Элементы. Литры. Видимость=Истина;
Элементы. Километраж. Видимость=Истина;
Иначе Элементы. ЗатратыФакт. Доступность=Ложь;
КонецЕсли;
КонецПроцедуры // СтатусРейса ()
&НаКлиенте
Процедура ПриОткрытии (Отказ)
СтатусРейса ();
КонецПроцедуры
&НаКлиенте
Процедура ПассажирыПередУдалением (Элемент, Отказ)
ТД=Элементы. Пассажиры. ТекущиеДанные;
Если НЕ ТД. ФИО="" Тогда
Стр=Объект. Удаленные. Добавить ();
Стр. ФИО=ТД. ФИО;
КонецЕсли;
Окончание=Прав (ТД. ФИО,1);
Если Объект. Удаленные. Количество () >0 Тогда
ВременнаяДата=Объект. ДатаОтправления-ТекущаяДата ();
ТД=Элементы. Пассажиры. ТекущиеДанные;
Значение=ТД. ПолучитьИдентификатор ();
Число=Значение+1;
Если ВременнаяДата>=604800 Тогда
// Объект. ОбщаяСтоимость=Объект. ОбщаяСтоимость-Объект.
СтоимостьМаршрута;
Объект. ОбщаяСтоимость=Объект. ОбщаяСтоимость-ТД. СоСкидкой;
Объект. КоличествоСвободныхМест=Объект.
КоличествоСвободныхМест+1;
Если Окончание="в" или Окончание="н"
Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение. Текст="Пассажиру №" +Число+"
"+ТД. ФИО+"у возвращена полная стоимость билета";
Сообщение. Сообщить ();
Иначе
Сообщение = Новый СообщениеПользователю;
Сообщение. Текст="Пассажиру №" +Число+"
"+ТД. ФИО+" возвращена полная стоимость билета";
Сообщение. Сообщить ();
КонецЕсли;
ИначеЕсли ВременнаяДата<604800 и ВременнаяДата>=86400
Тогда
Объект. ОбщаяСтоимость=Объект. ОбщаяСтоимость-ТД. СоСкидкой*0.5;
Объект. КоличествоСвободныхМест=Объект.
КоличествоСвободныхМест+1;
Если Окончание="в" или Окончание="н"
Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение. Текст="Пассажиру № "+Число+"
"+ТД. ФИО+"у возвращено 50% от стоимость билета";
Сообщение. Сообщить ();
Иначе
Сообщение = Новый СообщениеПользователю;
Сообщение. Текст="Пассажиру №" +Число+"
"+ТД. ФИО+" возвращено 50% от стоимость билета";
Сообщение. Сообщить ();
КонецЕсли;
ИначеЕсли ВременнаяДата<86400 Тогда
Объект. КоличествоСвободныхМест=Объект.
КоличествоСвободныхМест+1;
Если Окончание="в" или Окончание="н"
Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение. Текст="Пассажир №" +Число+"
"+ТД. ФИО+" удален, стоимость билета не возвращается";
Сообщение. Сообщить ();
Иначе
Сообщение = Новый СообщениеПользователю;
Сообщение. Текст="Пассажир №" +Число+"
"+ТД. ФИО+" удален, стоимость билета не возвращается";
Сообщение. Сообщить ();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПассажирыПриНачалеРедактирования (Элемент,
НоваяСтрока, Копирование)
Объект. КоличествоСвободныхМест=ОбщийМодуль1.
ПолучитьВместимость (Объект. Автобус) - Объект. Пассажиры. Количество ();
// Объект. ОбщаяСтоимость=Объект. СтоимостьМаршрута*Объект.
Пассажиры. Количество () - Объект. Расстояние*Объект. РасходТоплива;
КонецПроцедуры
&НаКлиенте
Процедура ПассажирыПриИзменении (Элемент)
Если Объект. КоличествоСвободныхМест=0 Тогда
Элементы. Пассажиры. Доступность=Ложь;
Объект. КоличествоСвободныхМест=0;
Элементы. ДляУдаления. Видимость=Истина;
КонецЕсли;
ТД=Элементы. Пассажиры. ТекущиеДанные;
ТД. Серия=ОбщийМодуль1. ПолучитьСерию (ТД. ФИО);
ТД. Номер=ОбщийМодуль1. ПолучитьНомер (ТД. ФИО);
ТД. Пол=ОбщийМодуль1. ПолучитьПол (ТД. ФИО);
КонецПроцедуры
&НаКлиенте
Процедура ДляУдаленияПриИзменении (Элемент)
Если Объект. ДляУдаления=Истина Тогда
Элементы. Пассажиры. Доступность=Истина;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СколькоРейсов (Команда)
Кол_воРейсов ();
ТД=Элементы. Пассажиры. ТекущиеДанные;
ТД. СоСкидкой=Объект. ЦенаСоСкидкой;
Объект. ОбщаяСтоимость=Объект. Пассажиры. Итог
("СоСкидкой");
// Объект. Прибыль=Объект. ОбщаяСтоимость-Объект.
Расстояние*Объект. РасходТоплива;
КонецПроцедуры
&НаСервере
Процедура Кол_воРейсов ()
Запрос=Новый Запрос;
Запрос. Текст="ВЫБРАТЬ
|УчетПассажировОстатки. Клиент,
|УчетПассажировОстатки. КоличествоРейсовОстаток КАК Колво
|ИЗ
|РегистрНакопления. УчетПассажиров. Остатки КАК
УчетПассажировОстатки
|ГДЕ
|УчетПассажировОстатки. Клиент. Серия = &Серия
|И УчетПассажировОстатки. Клиент. Номер = &Номер";
Запрос. УстановитьПараметр ("Серия", Объект.
Серия);
Запрос. УстановитьПараметр ("Номер", Объект.
НомерП);
Результат=Запрос. Выполнить ();
Выборка=Результат. Выбрать ();
Если НЕ Результат. Пустой () Тогда
Пока Выборка. Следующий () Цикл
Если Выборка. Колво>=2 И Выборка. Колво<5 Тогда
Сообщить ("Клиент "+Выборка. Клиент+" совершил
"+Выборка. Колво+" поездки");
Скидка=0.05;
Объект. ЦенаСоСкидкой=Объект. СтоимостьМаршрута-Объект.
СтоимостьМаршрута*Скидка;
ИначеЕсли Выборка. Колво>=5 Тогда
Сообщить ("Клиент "+Выборка. Клиент+" совершил
"+Выборка. Колво+" поездок");
Скидка=0.1;
Объект. ЦенаСоСкидкой=Объект. СтоимостьМаршрута-Объект.
СтоимостьМаршрута*Скидка;
ИначеЕсли Выборка. Колво=1 Тогда
Сообщить ("Клиент "+Выборка. Клиент+" совершил
1 поездку");
Объект. ЦенаСоСкидкой=Объект. СтоимостьМаршрута;
КонецЕсли;
КонецЦикла;
Иначе
Сообщить ("Клиент не совершал еще поездок");
Объект. ЦенаСоСкидкой=Объект. СтоимостьМаршрута;
КонецЕсли;
КонецПроцедуры // Кол_воРейсов ()
&НаКлиенте
Процедура ПассажирыПриАктивизацииСтроки (Элемент)
ТД=Элементы. Пассажиры. ТекущиеДанные;
Объект. Серия=ТД. Серия;
Объект. НомерП=ТД. Номер;
КонецПроцедуры
&НаКлиенте
Процедура ДатаОтправленияПриИзменении (Элемент)
ВспомогательнаяДата=Лев (Объект. ДатаОтправления,5);
Если Прав (ВспомогательнаяДата,2) ="02" Тогда
Объект. Месяц="Февраль";
ИначеЕсли Прав (ВспомогательнаяДата,2) ="01" Тогда
Объект. Месяц="Январь";
ИначеЕсли Прав (ВспомогательнаяДата,2) ="03" Тогда
Объект. Месяц="Март";
ИначеЕсли Прав (ВспомогательнаяДата,2) ="04" Тогда
Объект. Месяц="Апрель";
ИначеЕсли Прав (ВспомогательнаяДата,2) ="05" Тогда
Объект. Месяц="Май";
ИначеЕсли Прав (ВспомогательнаяДата,2) ="06" Тогда
Объект. Месяц="Июнь";
ИначеЕсли Прав (ВспомогательнаяДата,2) ="07" Тогда
Объект. Месяц="Июль";
ИначеЕсли Прав (ВспомогательнаяДата,2) ="08" Тогда
Объект. Месяц="Август";
ИначеЕсли Прав (ВспомогательнаяДата,2) ="09" Тогда
Объект. Месяц="Сентябрь";
ИначеЕсли Прав (ВспомогательнаяДата,2) ="11" Тогда
Объект. Месяц="Ноябрь";
ИначеЕсли Прав (ВспомогательнаяДата,2) ="10" Тогда
Объект. Месяц="Октябрь";
ИначеЕсли Прав (ВспомогательнаяДата,2) ="12" Тогда
Объект. Месяц="Декабрь";
КонецЕсли;
Объект. ПланируемаДатаВозврата=Объект. ДатаОтправления+86400;
КонецПроцедуры
&НаКлиенте
Процедура МаршрутыПоДвижению1ПрибылФактПриИзменении (Элемент)
ТД=Элементы. МаршрутыПоДвижению1. ТекущиеДанные;
ТД. ОтклонениеПрибыл=Цел (ТД. ПрибылПлан-ТД. ПрибылФакт) /60;
КонецПроцедуры
&НаКлиенте
Процедура МаршрутыПоДвижению1ОтбылФактПриИзменении (Элемент)
ТД=Элементы. МаршрутыПоДвижению1. ТекущиеДанные;
ТД. ОтклонениеОтбыл=Цел (ТД. ОтбылПлан-ТД. ОтбылФакт) /60;
КонецПроцедуры
&НаКлиенте
Процедура ЛитрыПриИзменении (Элемент)
Объект. ЗатратыФакт=Объект. Литры*Объект. Километраж;
Объект. Прибыль=Объект. ОбщаяСтоимость-Объект. Литры*Объект.
Километраж;
КонецПроцедуры
&НаКлиенте
Процедура КилометражПриИзменении (Элемент)
Объект. ЗатратыФакт=Объект. Литры*Объект. Километраж;
Объект. Прибыль=Объект. ОбщаяСтоимость-Объект. Литры*Объект.
Километраж;
КонецПроцедуры
Приложение 3.
Листинг общего модуля "Общий модуль 1"
&НаСервере
Функция ПолучитьВместимость (СсылкаАвтобус) Экспорт
Возврат СсылкаАвтобус. Вместимость;
КонецФункции // ПолучитьВместимость ()
&НаСервере
Функция ПолучитьДанныеКлиентов (СсылкаКлиент) Экспорт
Возврат СсылкаКлиент. Контакты;
КонецФункции // ПолучитьДанныеКлиентов ()
&НаСервере
Функция ПолучитьЦенуМаршрута (СсылкаМаршрут) Экспорт
Возврат СсылкаМаршрут. Стоимость;
КонецФункции // ПолучитьЦенуМаршрута ()
&НаСервере
Функция ПолучитьРасходТоплива (СсылкаРасход) Экспорт
Возврат СсылкаРасход. РасходТоплива;
КонецФункции // ПолучитьРасходТоплива ()
&НаСервере
Функция ПолучитьРасстояние (СсылкаРасстояние) Экспорт
Возврат СсылкаРасстояние. Расстояние;
КонецФункции // ПолучитьРасстояние ()
&НаСервере
Функция ПолучитьБИК (СсылкаБанк) Экспорт
Возврат СсылкаБанк. БИК;
КонецФункции // ПолучитьРасстояние ()
&НаСервере
Функция ПолучитьКорСчет (СсылкаБанк) Экспорт
Возврат СсылкаБанк. КорСчет;
КонецФункции // ПолучитьРасстояние ()
&НаСервере
Функция ПолучитьГосНомер (СсылкаАвтобус) Экспорт
Возврат СсылкаАвтобус. ГосРегистрационныйЗнак;
КонецФункции // ПолучитьГосНомер ()
&НаСервере
Функция ПолучитьХарактеристики (Ссылка) Экспорт
Возврат Ссылка. Характеристика;
КонецФункции // ПолучитьХарактеристики ()
&НаСервере
Функция ПолучитьЕдИзм (Ссылка) Экспорт
Возврат Ссылка. Ед;
КонецФункции // ПолучитьХарактеристики ()
&НаСервере
Функция ПолучитьGUID (Ссылка) Экспорт
Возврат Ссылка. GUID;
КонецФункции // ПолучитьХарактеристики ()
&НаСервере
Функция ПолучитьСерию (СсылкаКлиент) Экспорт
Возврат СсылкаКлиент. Серия;
КонецФункции //
&НаСервере
Функция ПолучитьНомер (СсылкаКлиент) Экспорт
Возврат СсылкаКлиент. Номер;
КонецФункции //
&НаСервере
Возврат СсылкаКлиент. Пол;
КонецФункции