- •Санкт-Петербург
- •Глава 1. Характеристика компанииОоо "Экспресс-ртц"
- •1.1 Краткая характеристика компанииОоо "Экспресс-ртц"
- •1.2 Наличие средств информатизации
- •1.3 Описание и анализ действующих на предприятии бизнес-процессов
- •1.4 Обоснование необходимости и выбор путей автоматизации
- •1.5 Описание автоматизированного бизнес-процесса передачи автомобиля в ремонт
- •1.6 Выбор путей автоматизации
- •Глава 2. Проектирование комплекса задач по автоматизации работы специалиста отдела пассажирских международных перевозок фирмы «Экспресс-ртц» на базе «1с: Предприятие 8.2»
- •2.1 Постановка комплекса задач
- •2.2 Выбор инструментальных средств
- •2.3 Проектирование пользовательского интерфейса
- •2.4 Проектирование состава и структуры базы данных
- •Глава 3. Программная реализация комплекса задач и расчет показателей экономической эффективности
- •3.1 Инструкция пользователя (диспетчера)
- •3.2. Расчёт показателей экономической эффективности проектных решений
- •Эксплуатационные затраты
- •Расчет эксплуатационных затрат по базовому варианту
- •Расчет эксплуатационных затрат по предлагаемому варианту автоматизации
- •Расчет годового экономического эффекта
- •3.3 Обеспечение безопасности жизнедеятельности при работе с ис
- •Заключение
- •Список литературы
- •Приложения
Приложения
Приложение 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;
КонецФункции // ПолучитьХарактеристики()
&НаСервере
Функция ПолучитьСерию(СсылкаКлиент) Экспорт
Возврат СсылкаКлиент.Серия;
КонецФункции //
&НаСервере
Функция ПолучитьНомер(СсылкаКлиент) Экспорт
Возврат СсылкаКлиент.Номер;
КонецФункции //
&НаСервере
Функция ПолучитьПол(СсылкаКлиент) Экспорт
Возврат СсылкаКлиент.Пол;
КонецФункции