Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДИПЛОМ_Отчет_Последний.docx
Скачиваний:
17
Добавлен:
01.04.2015
Размер:
3.1 Mб
Скачать

Приложения

Приложение 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;

КонецФункции // ПолучитьХарактеристики()

&НаСервере

Функция ПолучитьСерию(СсылкаКлиент) Экспорт

Возврат СсылкаКлиент.Серия;

КонецФункции //

&НаСервере

Функция ПолучитьНомер(СсылкаКлиент) Экспорт

Возврат СсылкаКлиент.Номер;

КонецФункции //

&НаСервере

Функция ПолучитьПол(СсылкаКлиент) Экспорт

Возврат СсылкаКлиент.Пол;

КонецФункции