Диспетчерская служба такси

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Программирование 1С
  • 7070 страниц
  • 8 + 8 источников
  • Добавлена 19.06.2016
3 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Содержание


Введение 3
1 Аналитическая часть 5
1.1 Описание предметной области 5
1.2 Организационная структура диспетчерской службы 5
1.3 Обоснование внедрения информационной системы и анализ работы диспетчерской службы 7
1.4 Формирование требований, предъявляемых к проектируемой системе 10
1.5 Выбор среды разработки 10
2 Проектная часть 12
2.1 Постановка задачи 12
2.2 Проектирование информационной системы 13
2.3 Разработка концептуальной модели данных 15
2.4 Описание возможностей среды разработки «1С: Предприятие 8.3» 19
2.5 Техническое обеспечение 21
2.6 Реализация конфигурации на платформе «1С: Предприятие 8.3» 22
2.6.1 Константы 23
2.6.2 Справочники 24
2.6.4 Документы 30
2.6.5 Отчеты 36
2.6.6 Интерфейсы и роли 40
2.7 Установка программного решения 44
2.8 Руководство по информационной системе 46
Заключение 52
Список используемых источников 53
Приложение А 54
Фрагмент для ознакомления

Результат выполнения отчета показан на рисунке 2.35.Рисунок 2.35 – Результат выполнения отчета о отработке водителейОтчет «Анализ работы службы» выводит информацию по всем заказам, поступившим в диспетчерскую службу, в разрезе диспетчеров и водителей. Закрытые, но не выполненные заказы подсвечиваются красным цветом, а текущие заказы – зеленым. Результат выполнения данного отчета представлен на рисунке 2.36.Рисунок 2.36 – Результат выполнения отчета «Анализ работы службы»Второй вариант исполнения данного отчета – диаграмма, на которой показано количество заказов, выполненных каждым водителемза день. Сформированная диаграмма представлена на рисунке 2.37.Рисунок 2.37 – Вариант отчета «Анализ работы службы» в виде диаграммыЗаключениеЦельюнастоящей дипломной работы была разработка и опытная эксплуатация информационной системы для диспетчерской службы такси, реализованнаяна платформе «1С: Предприятие 8.3».В процессе выполнения дипломного проекта были проведены следующие работы:исследована и описана предметная область службы заказов такси;описана организационная структура и проанализированы бизнес-процессы внутри диспетчерской службы;обоснована необходимость внедрения информационной системы;сформулированы требования к информационной системе;изучена среда разработки «1С: Предприятие 8.3», а именноосновные объекты метаданных, конструктор запросов, язык запросов 1С, система компоновки данных, динамические списки и встроенный язык 1С;выполнено проектирование и реализация информационной системы для диспетчерской службы такси;разработанаинструкция пользователя.Разработанное прикладное решение для диспетчерской службы позволит получать актуальные данные пользователям информационной системы, увеличить производительность труда и соответственно количество обработанных службой заказов.Список используемых источниковГабец А. П., Гончаров Д. И., Козырев Д.В., Кухлевский Д.С., Радченко М.Г. Профессиональная разработка в системе 1С: Предприятие 8. – М.: ООО «1С – Паблишинг», 2007 г. – 808 с.Маклаков, С.В. BPwin и ERwin. CASE-средства разработки информационных систем / С.В. Маклаков. – М.: ДИАЛОГ-МИФИ, 2001. – 304 с.Радченко М.Г., Хрусталева Е.Ю. 1С: Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы. – М.: ООО «1С – Паблишинг», 2013 г. – 964 с.МУ к ДП. Методические указания по оформлению и защите выпускной квалификационной работы (Дипломный проект) для специальности 09.02.04 «Информационные системы» / А.О. Попко, О.В. Долгополов, 2014.Архитектура платформы 1С: Предприятия 8: [Электронный ресурс]. URL: http://www.v8.1c.ru/overview/Platform.htm(Дата обращения: 30.04.2016).Онлайн уроки 1С: Предприятие [Электрон. ресурс] – Режим доступа: http://1c-uroki.ru/(Дата обращения: 03.05.2016).Свой бизнес: как открыть службу такси [Электронный ресурс]. URL: http://www.openbusiness.ru/biz/business/svoy-biznes-kak-otkryt-sluzhbu-taksi/(дата обращения: 30.04.2016).Система компоновки данных [Электронный ресурс]. URL:http://www.v8.1c.ru/overview/Term_000000093.htm(дата обращения: 10.05.2016).Приложение АЛистинг программыЛистинг 1. Общий модуль «ОбщегоНазначениеСервер»Процедура ПеренумероватьОчередь(Сотрудник = Неопределено) ЭкспортЗапрос = Новый Запрос("ВЫБРАТЬ|Заказ.Сотрудник|ИЗ|Документ.Заказ КАК Заказ|ГДЕ|Заказ.СостояниеЗаказа = &СостояниеЗаказа|И ВЫБОР|КОГДА Заказ.Сотрудник = НЕОПРЕДЕЛЕНО|ТОГДА ИСТИНА|ИНАЧЕ Заказ.Сотрудник = &Сотрудник|КОНЕЦ||СГРУППИРОВАТЬ ПО|Заказ.Сотрудник");Запрос.УстановитьПараметр("СостояниеЗаказа", Перечисления.СостоянияЗаказа.ТекущийЗаказ);Запрос.УстановитьПараметр("Сотрудник", Сотрудник);Выборка = Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() ЦиклНаборЗаписей = РегистрыСведений.Очередь.СоздатьНаборЗаписей();НаборЗаписей.Отбор.Исполнитель.Установить(Выборка.Сотрудник);НаборЗаписей.Прочитать();ТабНабора = НаборЗаписей.Выгрузить();ТабНабора.Сортировать("Водитель,Очередность");НомерПП = 1;Для каждого Строчка Из ТабНабора ЦиклСтрочка.Очередность = НомерПП;НомерПП = НомерПП + 1;КонецЦикла; НаборЗаписей.Загрузить(ТабНабора);НаборЗаписей.Записать();КонецЦикла; КонецПроцедурыЛистинг 2.Модуль формы справочника «Контрагенты»&НаСервереПроцедура УстановитьОтборыДинамическихСписков()ОбщегоНазначенияКлиентСервер.ИзменитьОтбор(СписокЗадач, "Контрагент", Объект.Ссылка, Истина);КонецПроцедуры&НаКлиентеПроцедура ПриОткрытии(Отказ)УстановитьОтборыДинамическихСписков();КонецПроцедурыЛистинг 3 Модуль формы документа «Заказ»ПеремврДатаИсполнения;&НаКлиентеПроцедура ПриОткрытии(Отказ)врДатаИсполнения = Объект.ДатаИсполнения;УстановитьОтборыДинамическихСписков();КонецПроцедуры&НаСервереПроцедура УстановитьОтборыДинамическихСписков()ОбщегоНазначенияКлиентСервер.ИзменитьОтбор(СписокРешений, "Заказ", Объект.Ссылка, Истина);КонецПроцедуры&НаСервереФункция ПолучитьСписокЗадач()Запрос = Новый Запрос("ВЫБРАТЬ|Очередь.Очередность,|Очередь.Заказ.Заголовок КАК Заголовок|ИЗ|РегистрСведений.Очередь КАК Очередь|ГДЕ|Очередь.Исполнитель = &Исполнитель|И Очередь.Заказ <> &Ссылка|И Очередь.Заказ.Сотрудник = &Исполнитель");Запрос.УстановитьПараметр("Исполнитель", Объект.Сотрудник);Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);Выборка = Запрос.Выполнить().Выбрать(); Список = Новый СписокЗначений;Пока Выборка.Следующий() ЦиклСписок.Добавить(Выборка.Очередность, Выборка.Заголовок);КонецЦикла; Возврат Список;КонецФункции&НаКлиентеПроцедура СдвинутьВсех(Команда)Ответ = Вопрос("Переместить в начало очереди?", РежимДиалогаВопрос.ДаНет);Если Ответ = КодВозвратаДиалога.Да ТогдаСдвинутьВсехСервер();ОбщегоНазначениеСервер.ПеренумероватьОчередь(Объект.Сотрудник);КонецЕсли; КонецПроцедуры&НаСервереПроцедура СдвинутьВсехСервер()НаборЗаписей = РегистрыСведений.Очередь.СоздатьНаборЗаписей();НаборЗаписей.Отбор.Заказ.Установить(Объект.Ссылка);НаборЗаписей.Отбор.Исполнитель.Установить(Объект.Сотрудник);НаборЗаписей.Прочитать();НаборЗаписей.Очистить();СтрНабора = НаборЗаписей.Добавить();СтрНабора.Исполнитель = Объект.Сотрудник;СтрНабора.Очередность = 0;СтрНабора.Период = ТекущаяДата();СтрНабора.Заказ = Объект.Ссылка;НаборЗаписей.Записать();КонецПроцедуры&НаКлиентеПроцедура СписокРешенийПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)Отказ = Истина;СтруктураПараметров = Новый Структура;СтруктураПараметров.Вставить("Заказ", Объект.Ссылка);СтруктураПараметров.Вставить("Сотрудник", Объект.Сотрудник);СтруктураПараметров.Вставить("ДатаВремяНачала", ТекущаяДата());СтруктураПараметров.Вставить("ДатаВремяКонца", ТекущаяДата() + Объект.ВремяПоПлану);ОткрытьФормуМодально("Документ.Выполнение.Форма.ФормаДокумента", СтруктураПараметров);КонецПроцедуры&НаСервереПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)// Вставить содержимое обработчика.Если Параметры.Ключ.Пустая() ТогдаОбъект.Сотрудник = ПараметрыСеанса.ТекущийПользователь;Объект.ДатаИсполнения = ТекущаяДата();КонецЕсли;КонецПроцедурыЛистинг 4. Модуль документа «Заказ»Процедура ОбработкаПроведения(Отказ, РежимПроведения)НаборЗаписей = РегистрыСведений.Очередь.СоздатьНаборЗаписей();НаборЗаписей.Отбор.Заказ.Установить(Ссылка);НаборЗаписей.Отбор.Исполнитель.Установить(Сотрудник);НаборЗаписей.Отбор.Водитель.Установить(Водитель);НаборЗаписей.Прочитать();НаборЗаписей.Очистить();Если СостояниеЗаказа = Перечисления.СостоянияЗаказа.ТекущийЗаказ ТогдаДвижение = НаборЗаписей.Добавить();Движение.Исполнитель= Сотрудник;Движение.Водитель= Водитель;Движение.Период= ТекущаяДата();Движение.Очередность= ПолучитьОчередность();Движение.Заказ= Ссылка;КонецЕсли;НаборЗаписей.Записать();ОбщегоНазначениеСервер.ПеренумероватьОчередь(Сотрудник);КонецПроцедурыФункция ПолучитьОчередность()Запрос = Новый Запрос("ВЫБРАТЬ|МАКСИМУМ(ЕСТЬNULL(Очередь.Очередность, 0)) КАК Очередность|ИЗ|РегистрСведений.Очередь КАК Очередь|ГДЕ|Очередь.Заказ <> &Заказ|И Очередь.Исполнитель = &Исполнитель");Запрос.УстановитьПараметр("Заказ", Ссылка);Запрос.УстановитьПараметр("Исполнитель", Сотрудник);Выборка = Запрос.Выполнить().Выбрать();Если Выборка.Следующий() ТогдаЕсли Выборка.Очередность = NULL ТогдаСледующаяОчередь = 1;ИначеСледующаяОчередь = Выборка.Очередность + 1;КонецЕсли; ИначеСледующаяОчередь = 1;КонецЕсли; Запрос = Новый Запрос("ВЫБРАТЬ|МАКСИМУМ(ЕСТЬNULL(Очередь.Очередность, 0)) КАК Очередность|ИЗ|РегистрСведений.Очередь КАК Очередь|ГДЕ|Очередь.Заказ = &Заказ|И Очередь.Исполнитель = &Исполнитель");Запрос.УстановитьПараметр("Заказ", Ссылка);Запрос.УстановитьПараметр("Исполнитель", Сотрудник);Выборка = Запрос.Выполнить().Выбрать();Если Выборка.Следующий() ТогдаЕсли Выборка.Очередность = NULL ТогдаТекущаяОчередь = 0;ИначеТекущаяОчередь = Выборка.Очередность;КонецЕсли; ИначеТекущаяОчередь = 0;КонецЕсли; Если ТекущаяОчередь = 0 ТогдаВозврат СледующаяОчередь;ИначеВозврат ТекущаяОчередь;КонецЕсли; КонецФункцииПроцедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)Если ЭтоНовый() ТогдаСостояниеЗаказа = Перечисления.СостоянияЗаказа.ТекущийЗаказ;КонецЕсли; КонецПроцедурыЛистинг 5. Модуль формы документа «Выполнение»&НаСервереПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)Если Не ЗначениеЗаполнено(Объект.Ссылка) ТогдаЗаполнитьЗначенияСвойств(Объект, Параметры);КонецЕсли; Элементы.Заказ.Видимость = ЗначениеЗаполнено(Объект.Заказ);КонецПроцедуры&НаКлиентеПроцедура ПриЗакрытии()Оповестить("ОбновитьРабочийДень");КонецПроцедуры&НаКлиентеПроцедура ПриОткрытии(Отказ)Если Объект.ВремяПоФакту > 0 ТогдаМинутЗатрачено = Формат((Объект.ВремяПоФакту / 60 - Цел(Объект.ВремяПоФакту / 60)) * 60,"ЧЦ=2; ЧН=; ЧВН=");ЧасовЗатрачено = Формат(Цел(Объект.ВремяПоФакту / 60),"ЧЦ=2; ЧН=; ЧВН=");ЗатраченоВремени = "" + ЧасовЗатрачено + " ч. " + МинутЗатрачено + " мин.";ИначеЗатраченоВремени = "00 ч. 00 мин.";КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ДатаВремяКонцаПриИзменении(Элемент)Если Объект.ДатаВремяКонца <> '00010101000000' ТогдаОбъект.ДатаВремяКонца = НачалоДня(Объект.Дата) + (Объект.ДатаВремяКонца - НачалоДня(Объект.ДатаВремяКонца));КонецЕсли;Если Объект.ДатаВремяКонца< Объект.ДатаВремяНачала ТогдаСообщение = Новый СообщениеПользователю;Сообщение.Текст = "Время окончания решения не может быть меньше времени его начала";Сообщение.Сообщить(); Объект.ДатаВремяКонца = Объект.ДатаВремяНачала + Объект.ВремяПоФакту * 60КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ВремяПоФактуПриИзменении(Элемент)Объект.ДатаВремяКонцаФакт = Объект.ДатаВремяНачалаФакт + Объект.ВремяПоФакту*60;ОбновитьЗатраченоВремени();КонецПроцедуры&НаКлиентеПроцедура ОбновитьЗатраченоВремени()Если Объект.ВремяПоФакту > 0 ТогдаМинутЗатрачено = Формат((Объект.ВремяПоФакту / 60 - Цел(Объект.ВремяПоФакту / 60)) * 60,"ЧЦ=2; ЧН=; ЧВН=");ЧасовЗатрачено = Формат(Цел(Объект.ВремяПоФакту / 60),"ЧЦ=2; ЧН=; ЧВН=");ЗатраченоВремени = "" + ЧасовЗатрачено + " ч. " + МинутЗатрачено + " мин.";ИначеЗатраченоВремени = "00 ч. 00 мин.";КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ДатаВремяНачалаПланПриИзменении(Элемент)Если Объект.ДатаВремяНачалаФакт <> '00010101000000' ТогдаОбъект.ДатаВремяНачалаФакт = НачалоДня(Объект.Дата) + (Объект.ДатаВремяНачалаФакт - НачалоДня(Объект.ДатаВремяНачалаФакт));КонецЕсли; Если Объект.ДатаВремяКонцаФакт< Объект.ДатаВремяНачалаФакт и Объект.ДатаВремяКонцаФакт <> '00010101000000' ТогдаСообщение = Новый СообщениеПользователю;Сообщение.Текст = "Время окончания решения не может быть меньше времени его начала";Сообщение.Сообщить(); Объект.ДатаВремяНачалаФакт = Объект.ДатаВремяКонцаФакт - Объект.ВремяПоФакту * 60КонецЕсли; Объект.ВремяПоФакту = (Объект.ДатаВремяКонцаФакт - Объект.ДатаВремяНачалаФакт)/60;ОбновитьЗатраченоВремени();КонецПроцедуры&НаКлиентеПроцедура ДатаВремяКонцаПланПриИзменении(Элемент)Если Объект.ДатаВремяКонцаФакт <> '00010101000000' ТогдаОбъект.ДатаВремяКонцаФакт = НачалоДня(Объект.Дата) + (Объект.ДатаВремяКонцаФакт - НачалоДня(Объект.ДатаВремяКонцаФакт));КонецЕсли; Если Объект.ДатаВремяКонцаФакт< Объект.ДатаВремяНачалаФакт и Объект.ДатаВремяКонцаФакт <> '00010101000000' ТогдаСообщение = Новый СообщениеПользователю;Сообщение.Текст = "Время окончания решения не может быть меньше времени его начала";Сообщение.Сообщить(); Объект.ДатаВремяКонцаФакт = Объект.ДатаВремяНачалаФакт + Объект.ВремяПоФакту * 60КонецЕсли; Объект.ВремяПоФакту = (Объект.ДатаВремяКонцаФакт - Объект.ДатаВремяНачалаФакт)/60;ОбновитьЗатраченоВремени();КонецПроцедуры&НаКлиентеПроцедура ДатаПриИзменении(Элемент)Если Объект.ДатаВремяНачала <> '00010101000000' ТогдаОбъект.ДатаВремяНачала = НачалоДня(Объект.Дата) + (Объект.ДатаВремяНачала - НачалоДня(Объект.ДатаВремяНачала));КонецЕсли; Если Объект.ДатаВремяКонца <> '00010101000000' ТогдаОбъект.ДатаВремяКонца = НачалоДня(Объект.Дата) + (Объект.ДатаВремяКонца - НачалоДня(Объект.ДатаВремяКонца));КонецЕсли;Если Объект.ДатаВремяНачалаФакт <> '00010101000000' ТогдаОбъект.ДатаВремяНачалаФакт = НачалоДня(Объект.Дата) + (Объект.ДатаВремяНачалаФакт - НачалоДня(Объект.ДатаВремяНачалаФакт));КонецЕсли; Если Объект.ДатаВремяКонцаФакт <> '00010101000000' ТогдаОбъект.ДатаВремяКонцаФакт = НачалоДня(Объект.Дата) + (Объект.ДатаВремяКонцаФакт - НачалоДня(Объект.ДатаВремяКонцаФакт));КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ЗаполнитьФакт(Команда)Объект.ДатаВремяКонцаФакт= Объект.ДатаВремяКонца;Объект.ДатаВремяНачалаФакт= Объект.ДатаВремяНачала;Объект.ВремяПоФакту = (Объект.ДатаВремяКонцаФакт - Объект.ДатаВремяНачалаФакт);КонецПроцедуры&НаКлиентеПроцедура Расчет(Команда)ВыполнитьРасчет();КонецПроцедуры&НаСервереПроцедура ВыполнитьРасчет()СуммаФикс = 0;ЦенаЗаЕд = 0;Запрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬ|ТарифыСрезПоследних.ВидТарифа,|ТарифыСрезПоследних.Цена|ИЗ|РегистрСведений.Тарифы.СрезПоследних КАК ТарифыСрезПоследних";РезультатЗапроса = Запрос.Выполнить();ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();Пока ВыборкаДетальныеЗаписи.Следующий() ЦиклЕсли ВыборкаДетальныеЗаписи.ВидТарифа = Перечисления.ВидТарифа.ЗаМинуту ТогдаЦенаЗаЕд =ВыборкаДетальныеЗаписи.Цена;ИначеЕслиВыборкаДетальныеЗаписи.ВидТарифа = Перечисления.ВидТарифа.Фикс ТогдаСуммаФикс = ВыборкаДетальныеЗаписи.Цена;КонецЕсли;КонецЦикла;МинутФикс = Константы.ВремяФиксированныйТариф.Получить();МинутКОплате = 0;Если Объект.ВремяПоФакту <=МинутФикс ТогдаОбъект.Сумма = СуммаФикс;ИначеМинутКОплате= Объект.ВремяПоФакту - МинутФикс;Объект.Сумма = СуммаФикс + МинутКОплате*ЦенаЗаЕд;КонецЕсли;КонецПроцедурыЛистинг 6. Модуль документа «Выполнение»Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Заказ") ТогдаЗаказ = ДанныеЗаполнения.Ссылка;Сотрудник = ДанныеЗаполнения.Сотрудник;ДатаВремяНачала= ДанныеЗаполнения.ДатаИсполнения;ДатаВремяКонца= ДанныеЗаполнения.ДатаИсполнения + ДанныеЗаполнения.ВремяПоПлану*60;КонецЕсли;КонецПроцедурыПроцедура ОбработкаПроведения(Отказ, РежимПроведения)Движения.ВыполненияЗаказов.Записывать = Истина;Движения.ВыполненияЗаказов.Очистить();Движение = Движения.ВыполненияЗаказов.Добавить();Движение.Водитель = Заказ.Водитель;Движение.Сотрудник= Сотрудник;Движение.Контрагент= Заказ.Контрагент;Движение.Период= Дата;Движение.Заказ = Заказ;Движение.Выполнение= Ссылка;Движение.ВремяПоПлану= (ДатаВремяКонца - ДатаВремяНачала);Движение.ВремяПоФакту= (ДатаВремяКонцаФакт - ДатаВремяНачалаФакт);Движение.Адрес= Заказ.Адрес;Движение.Сумма= Сумма;КонецПроцедурыЛистинг 7. Модуль формы обработки «Рабочий стол»&НаСервереПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)Параметры.ЗавершеннаяЗадача =Перечисления.СостоянияЗаказа.ЗавершенныйЗаказ;Параметры.ТекущаяЗадача = Перечисления.СостоянияЗаказа.ТекущийЗаказ;Параметры.ПустаяЗадача = Перечисления.СостоянияЗаказа.ПустаяСсылка();Параметры.ТекущийПользователь = ПараметрыСеанса.ТекущийПользователь;Сотрудник = ПараметрыСеанса.ТекущийПользователь;ПервоеОткрытие= Истина;ТекущийПользователь= ПараметрыСеанса.ТекущийПользователь;КонецПроцедуры&НаКлиентеПроцедура ПриОткрытии(Отказ)Параметры.ЦветОбластиВыделен = WebЦвета.Черный;Параметры.ЦветОбластиНеВыделен = Новый Цвет(179, 172, 134);ОбновитьТекущиеЗадачи();ОбновитьСписокВодителей();КонецПроцедуры&НаКлиентеПроцедура СостоянияЗадачПриСменеСтраницы(Элемент, ТекущаяСтраница)Если ТекущаяСтраница.Имя = "ТекущиеЗадачи" Тогда СостояниеЗадачи = Параметры.ТекущаяЗадача;ИначеЕслиТекущаяСтраница.Имя = "ЗавершенныеЗадачи" Тогда СостояниеЗадачи = Параметры.ЗавершеннаяЗадача;КонецЕсли; Если ТекущаяСтраница.Имя = "ТекущиеЗадачи" Тогда ОбновитьТекущиеЗадачи();ИначеЕслиТекущаяСтраница.Имя = "ЗавершенныеЗадачи" Тогда ОбновитьЗавершенныеЗадачи();КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ЗавершитьЗадачу(Команда)ТекЗадача = ПолучитьТекущуюЗадачу();Если ТекЗадача = Неопределено ТогдаВозврат;КонецЕсли;УстановитьНовоеСостояниеЗадачи(ТекЗадача, "ЗавершенныйЗаказ");Если Элементы.СостоянияЗадач.ТекущаяСтраница = Элементы.ТекущиеЗадачи ТогдаЭлементы.СписокДокументовТекущий.Обновить();ИначеЕслиЭлементы.СостоянияЗадач.ТекущаяСтраница = Элементы.ЗавершенныеЗадачи Тогда Элементы.СписокДокументовЗавершенных.Обновить();КонецЕсли; КонецПроцедуры&НаКлиентеФункция ПолучитьТекущуюЗадачу()Если Элементы.СостоянияЗадач.ТекущаяСтраница.Имя = "ТекущиеЗадачи" ТогдаВозврат Элементы.СписокДокументовТекущий.ТекущаяСтрока;ИначеЕслиЭлементы.СостоянияЗадач.ТекущаяСтраница.Имя = "ЗавершенныеЗадачи" Тогда Возврат Элементы.СписокДокументовЗавершенных.ТекущаяСтрока;КонецЕсли; КонецФункции&НаСервереФункция ПолучитьРеквизит(врОбъект, ИмяРеквизита)Возврат врОбъект[ИмяРеквизита];КонецФункции&НаСервереПроцедура УстановитьНовоеСостояниеЗадачи(Заказ, Состояние)ОбъектЗаказ = Заказ.ПолучитьОбъект();ОбъектЗаказ.СостояниеЗаказа = Перечисления.СостоянияЗаказа[Состояние];ПопыткаОбъектЗаказ.Записать(РежимЗаписиДокумента.Проведение);ИсключениеСообщение = Новый СообщениеПользователю;Сообщение.Текст = ОписаниеОшибки();Сообщение.Сообщить(); КонецПопытки;КонецПроцедуры&НаКлиентеПроцедура ОбновитьТекущиеЗадачи()СписокДокументовТекущий.Параметры.УстановитьЗначениеПараметра("ТекСотрудник", ТекущийПользователь);Элементы.СписокДокументовТекущий.Обновить();КонецПроцедуры&НаКлиентеПроцедура ОбновитьСписокВодителей()ВодительскаяСмена.Параметры.УстановитьЗначениеПараметра("ТекПериод", НачалоДня(ТекущаяДата()));ВидСмены = ПолучитСмену();ВодительскаяСмена.Параметры.УстановитьЗначениеПараметра("ВидСмены", ВидСмены);Элементы.ВодительскаяСмена.Обновить();КонецПроцедуры&НаСервереФункция ПолучитСмену()НачДнСмены = НачалоДня(ТекущаяДата()) + Константы.НачалоДневнойСмены.Получить()*60*60;КонДнСмены = НачалоДня(ТекущаяДата()) + Константы.КонецДневнойСмены.Получить()*60*60;Если ТекущаяДата()>=НачДнСмены и ТекущаяДата() < КонДнСмены Тогда Возврат Перечисления.ВидСмены.Дневная;ИначеВозврат Перечисления.ВидСмены.Ночная;КонецЕсли;КонецФункции&НаКлиентеПроцедура ОбновитьЗавершенныеЗадачи()СписокДокументовЗавершенных.Параметры.УстановитьЗначениеПараметра("ТекСотрудник", ТекущийПользователь);Элементы.СписокДокументовЗавершенных.Обновить();КонецПроцедуры&НаКлиентеПроцедура ОбновитьВодительскаяСмена(Команда)ОбновитьСписокВодителей();КонецПроцедурыЛистинг 8. Модуль формы списка регистра сведений «Смена»&НаСервереПроцедура ЗаполнитьСменуНаСервере(ВидСмены)Запрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬ|Водители.Ссылка КАК Водитель,|Водители.РабочаяСмена КАК Смена|ИЗ|Справочник.Водители КАК Водители|ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Смена.СрезПоследних() КАК СменаСрезПоследних|ПО (СменаСрезПоследних.Водитель = Водители.Ссылка) И СменаСрезПоследних.Период = &текДата|ГДЕ|Водители.РабочаяСмена = &РабочаяСмена|И СменаСрезПоследних.Водитель ЕСТЬ NULL ";Запрос.УстановитьПараметр("ТекДата",НачалоДня(ТекущаяДата()));Если ВидСмены = "Д" ТогдаЗапрос.УстановитьПараметр("РабочаяСмена", Перечисления.ВидСмены.Дневная);ИначеЗапрос.УстановитьПараметр("РабочаяСмена", Перечисления.ВидСмены.Ночная);КонецЕсли;РезультатЗапроса = Запрос.Выполнить();ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();Пока ВыборкаДетальныеЗаписи.Следующий() ЦиклНаборЗаписей = РегистрыСведений.Смена.СоздатьНаборЗаписей();НаборЗаписей.Отбор.Водитель.Установить(ВыборкаДетальныеЗаписи.Водитель);НаборЗаписей.Отбор.Период.Установить(ТекущаяДата());НовЗапись = НаборЗаписей.Добавить();НовЗапись.Водитель = ВыборкаДетальныеЗаписи.Водитель;НовЗапись.Период =ТекущаяДата();НовЗапись.ВидСмены = ВыборкаДетальныеЗаписи.Смена;НаборЗаписей.Записать(Истина);КонецЦикла;КонецПроцедуры&НаКлиентеПроцедура ЗаполнитьДнСмену(Команда)ЗаполнитьСменуНаСервере("Д");ОбновитьИнтерфейс();КонецПроцедуры&НаКлиентеПроцедура ЗаполнитьНочнуюСмену(Команда)ЗаполнитьСменуНаСервере("Н");ОбновитьИнтерфейс();КонецПроцедуры

Список используемых источников
1. Габец А. П., Гончаров Д. И., Козырев Д.В., Кухлевский Д.С., Радченко М.Г. Профессиональная разработка в системе 1С: Предприятие 8. – М.: ООО «1С – Паблишинг», 2007 г. – 808 с.
2. Маклаков, С.В. BPwin и ERwin. CASE-средства разработки информационных систем / С.В. Маклаков. – М.: ДИАЛОГ-МИФИ, 2001. – 304 с.
3. Радченко М.Г., Хрусталева Е.Ю. 1С: Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы. – М.: ООО «1С – Паблишинг», 2013 г. – 964 с.
4. МУ к ДП. Методические указания по оформлению и защите выпускной квалификационной работы (Дипломный проект) для специальности 09.02.04 «Информационные системы» / А.О. Попко, О.В. Долгополов, 2014.
5. Архитектура платформы 1С: Предприятия 8: [Электронный ресурс]. URL: http://www.v8.1c.ru/overview/Platform.htm (Дата обращения: 30.04.2016).
6. Онлайн уроки 1С: Предприятие [Электрон. ресурс] – Режим доступа: http://1c-uroki.ru/(Дата обращения: 03.05.2016).
7. Свой бизнес: как открыть службу такси [Электронный ресурс]. URL: http://www.openbusiness.ru/biz/business/svoy-biznes-kak-otkryt-sluzhbu-taksi/ (дата обращения: 30.04.2016).
8. Система компоновки данных [Электронный ресурс]. URL: http://www.v8.1c.ru/overview/Term_000000093.htm (дата обращения: 10.05.2016).

Вопрос-ответ:

Какую роль играет диспетчерская служба такси?

Диспетчерская служба такси играет ключевую роль в организации и координации работы таксистов. Она принимает заказы от клиентов, определяет ближайшего свободного водителя и направляет его к месту вызова. Также диспетчерская служба отслеживает положение и движение такси на карте для оптимального распределения их по городу.

Какая организационная структура у диспетчерской службы такси?

Организационная структура диспетчерской службы такси может включать в себя диспетчеров, операторов, менеджеров и администраторов. Диспетчеры принимают заказы и координируют работу водителей, операторы обрабатывают звонки клиентов, менеджеры отвечают за управление командой диспетчеров, а администраторы занимаются оперативным управлением системы и решением технических задач.

Почему внедрение информационной системы в диспетчерскую службу такси является обоснованным решением?

Внедрение информационной системы в диспетчерскую службу такси обосновано, потому что это позволяет повысить эффективность работы службы и качество обслуживания клиентов. Система автоматизирует процессы приема заказов, распределения водителей и отслеживания их движения. Это позволяет сократить время реакции на заказы клиентов, улучшить маршрутизацию и снизить количество ошибок.

Какие требования предъявляются к проектируемой информационной системе для диспетчерской службы такси?

К проектируемой информационной системе для диспетчерской службы такси предъявляются такие требования, как надежность и отказоустойчивость, высокая скорость обработки заказов, удобный и интуитивный интерфейс для диспетчеров и операторов, возможность отслеживания положения и движения такси в режиме реального времени, а также удобство для клиентов при оформлении заказов.

Какие задачи решает диспетчерская служба такси?

Диспетчерская служба такси решает задачи по организации и контролю работы таксистов, принятию заказов от клиентов, распределению машин и маршрутов, а также решает проблемы клиентов, связанные с услугами такси.

Какая организационная структура может быть у диспетчерской службы такси?

Организационная структура диспетчерской службы такси может быть различной. Например, может быть централизованная структура, где все операции контролируются из центрального офиса. Или может быть децентрализованная структура, где есть несколько филиалов или подразделений, каждое из которых имеет своего диспетчера.

Почему необходимо внедрение информационной системы в диспетчерскую службу такси?

Внедрение информационной системы в диспетчерскую службу такси позволяет автоматизировать и улучшить эффективность работы. Система может предоставить диспетчерам доступ к сведениям о свободных машинах и их местоположении в режиме реального времени, что позволяет более быстро и точно реагировать на заказы клиентов и распределять ресурсы.

Какие требования предъявляются к проектируемой системе для диспетчерской службы такси?

К проектируемой системе для диспетчерской службы такси предъявляются требования по надежности, скорости обработки данных, возможности интеграции с другими системами (например, GPS-мониторингом машин), удобству использования для диспетчеров, а также защите персональных данных клиентов.

Какую среду разработки следует выбрать для проекта?

Выбор среды разработки зависит от требований проекта и предпочтений команды разработчиков. Однако предпочтительными средами разработки для проекта диспетчерской службы такси могут быть Python, Java или C#, так как они обладают широкими возможностями для разработки информационных систем и поддерживают различные базы данных.

Какие задачи решает диспетчерская служба такси?

Диспетчерская служба такси решает такие задачи, как прием и обработка заказов на такси, распределение машин по вызовам, контроль выполнения заказов, поддержка связи с водителями и клиентами, составление отчетов и статистики работы.

Какова организационная структура диспетчерской службы такси?

Организационная структура диспетчерской службы такси может быть различной, но обычно включает следующие должности: директор диспетчерской службы, заместитель директора, диспетчеры, операторы, а также сотрудники технической поддержки и административного персонала.

Какие требования предъявляются к проектируемой системе диспетчерской службы?

К проектируемой системе диспетчерской службы предъявляются такие требования, как надежность и стабильность работы, быстродействие, удобство использования, возможность интеграции с другими информационными системами, а также защита данных и обеспечение конфиденциальности.