Диплом: Автоматизация процесса приёма техники на ремонтные работы в ОАО "Samsung Service"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
ПРИЛОЖЕНИЕ 1
Ниже представлен сформированный отчет взаиморасчетов с услугами.
Рисунок 1. Отчет взаиморасчеты с услугами
Сформированный отчет с перечнем всех заявок.
Рисунок 2. Список всех заявок
Сформированная форма документа Заявки
87
Рисунок 3. Форма документа заявки
88
ПРИЛОЖЕНИЕ 2
Программный код
ВЫБРАТЬ
РасчетыОстаткиИОбороты.Клиент КАК Клиент,
РасчетыОстаткиИОбороты.СуммаНачальныйОстаток КАК НачальныйДолг,
РасчетыОстаткиИОбороты.СуммаПриход КАК ОказанныеУслуги,
РасчетыОстаткиИОбороты.СуммаРасход КАК ПриходДенег,
РасчетыОстаткиИОбороты.СуммаКонечныйОстаток КАК КонечныйДолг,
РасчетыОстаткиИОбороты.Регистратор КАК Документ,
РасчетыОстаткиИОбороты.ПериодСекунда
ПОМЕСТИТЬ Запрос1 ИЗ
РегистрНакопления.Расчеты.ОстаткиИОбороты(&НачалоПериода,
&КонецПериода, Авто, ДвиженияИГраницыПериода, ) КАК РасчетыОстаткиИОбороты;
ВЫБРАТЬ
ЗаявкаУслуги.Ссылка, ЗаявкаУслуги.НомерСтроки, ЗаявкаУслуги.Услуга,
ЗаявкаУслуги.ЦенаУслуги,
ЗаявкаУслуги.СуммаУслуги, ВЫРАЗИТЬ(ЗаявкаУслуги.Примечание КАК
СТРОКА(200)) КАК Примечание
ПОМЕСТИТЬ Запрос2 ИЗ
Документ.Заявка.Услуги КАК ЗаявкаУслуги
ГДЕ
ЗаявкаУслуги.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода;
ВЫБРАТЬ
Запрос1.Клиент КАК Клиент, СУММА(Запрос1.НачальныйДолг) КАК
НачальныйДолг, СУММА(Запрос1.ОказанныеУслуги) КАК ОказанныеУслуги,
СУММА(Запрос1.ПриходДенег) КАК ПриходДенег, СУММА(Запрос1.КонечныйДолг)
КАК КонечныйДолг, Запрос1.Документ КАК Документ,
Запрос2.Услуга, Запрос2.ЦенаУслуги,
Запрос2.СуммаУслуги, Запрос1.ПериодСекунда, Запрос2.Примечание
ИЗ
Запрос1 КАК Запрос1
ЛЕВОЕ СОЕДИНЕНИЕ Запрос2 КАК Запрос2 ПО Запрос1.Документ =
Запрос2.Ссылка
СГРУППИРОВАТЬ ПО
Запрос1.Клиент, Запрос1.Документ, Запрос2.Услуга,
Запрос2.ЦенаУслуги, Запрос2.СуммаУслуги, Запрос1.ПериодСекунда,
Запрос2.Примечание УПОРЯДОЧИТЬ ПО
Клиент
&НаКлиенте
Процедура ПриИзмененииКоличествоЦена(Элемент) СтрокаТаблицы =
Элементы[Элемент.Родитель.Имя].ТекущиеДанные;
РаботаСТабличнойЧастью.РассчитатьСуммуТабЧасти(СтрокаТаблицы);
КонецПроцедуры &НаКлиенте
Процедура ПриИзмененииКоличество(Элемент) СтрокаТаблицы =
Элементы[Элемент.Родитель.Имя].ТекущиеДанные;
89
РаботаСТабличнойЧастью.РассчитатьСуммуТабЧасти(СтрокаТаблицы);
КонецПроцедуры
&НаКлиенте
Процедура УслугиПриИзменении(Элемент)
СтрокаТабличнойЧасти=Элементы.Услуги.ТекущиеДанные;
Услуга=СтрокаТабличнойЧасти.Услуга;
СтрокаТабличнойЧасти.ЦенаУслуги=ПолучитьЦена(Услуга);
КонецПроцедуры &НаКлиенте
Процедура УслугиЦенаУслугиПриИзменении(Элемент)
ПриИзмененииКоличествоЦена(Элемент);
КонецПроцедуры &НаСервереБезКонтекста Функция ПолучитьЦена(Услуга)
Возврат Услуга.Цена;
КонецФункции &НаКлиенте
Процедура ОборудованиеНазваниеПриИзменении(Элемент)
СтрокаТабличнойЧасти =Элементы.Оборудование.ТекущиеДанные;
Название=СтрокаТабличнойЧасти.Название;
СтрокаТабличнойЧасти.ЦенаНазвание= ПолучитьЦенаНазвание(Название);
КонецПроцедуры &НаКлиенте
Процедура ОборудованиеценаПриИзменении(Элемент)
ПриИзмененииКоличествоЦена(Элемент);
КонецПроцедуры &НаСервереБезКонтекста
Функция ПолучитьЦенаНазвание(Название) Возврат Название.Цена;
КонецФункции
&НаСервере Процедура УcтановитьОтбор()
Список.Отбор.Элементы.Очистить();
если ЭтапЗаявки <> перечисления.ЭтапЗаявки.ПустаяСсылка() тогда
НовыйЭлементОтбора =
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПолеОтбора = Новый ПолеКомпоновкиДанных("ЭтапЗаявки");
НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора;
НовыйЭлементОтбора.Использование = Истина; НовыйЭлементОтбора.ВидСравнения =
ВидСравненияКомпоновкиДанных.Равно; НовыйЭлементОтбора.ПравоеЗначение
= ЭтапЗаявки;
Конецесли;
КонецПроцедуры &НаСервере
Процедура Раскрасить(УО,ЭтапЗаявки,Цвет) ЭлементУО =
УО.Элементы.Добавить(); ЭлементОтбора =
ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")
); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЭтапЗаявки");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = ЭтапЗаявки;
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", ИСТИНА);
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФОна",Цвет);
КонецПроцедуры
&НаСервере
Процедура УстановитьПриОткрытии() УО = Список.УсловноеОформление;
90
УО.Элементы.Очистить();
Раскрасить(УО,перечисления.ЭтапЗаявки.Получена,WebЦвета.БледноЗолотистый);
Раскрасить(УО,перечисления.ЭтапЗаявки.ВИсполнении,WebЦвета.БледноЗеленый)
; Раскрасить(УО,перечисления.ЭтапЗаявки.Исполнена,WebЦвета.Серый);
Раскрасить(УО,перечисления.ЭтапЗаявки.Выполнена,WebЦвета.Серый);
КонецПроцедуры &НаКлиенте
Процедура ПриОткрытии(Отказ) УстановитьПриОткрытии();
УcтановитьОтбор();
КонецПроцедуры &НаКлиенте
Процедура ЭтапЗаявкиПриИзменении(Элемент)
УcтановитьОтбор();
КонецПроцедуры &НаСервере
Процедура ТипЗаявкиУcтановитьОтбор(ТипЗаявки)
Список.Отбор.Элементы.Очистить();
если ТипЗаявки <> перечисления.ТипЗаявки.ПустаяСсылка() тогда
НовыйЭлементОтбора =
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПолеОтбора = Новый ПолеКомпоновкиДанных("ТипЗаявки");
НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора;
НовыйЭлементОтбора.Использование = Истина; НовыйЭлементОтбора.ВидСравнения =
ВидСравненияКомпоновкиДанных.Равно; НовыйЭлементОтбора.ПравоеЗначение
= ТИпЗаявки;
Конецесли;
КонецПроцедуры &НаСервере
Процедура Отметить(УО,ТипЗаявки,Цвет) ЭлементУО = УО.Элементы.Добавить();
ЭлементОтбора =
ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")
); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТипЗаявки");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = ТипЗаявки;
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр",
ИСТИНА); ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФОна",Цвет);
КонецПроцедуры &НаСервере
Процедура ТипЗаявкиУстановитьПриОткрытии(ТипЗаявки) УО =
Список.УсловноеОформление; УО.Элементы.Очистить();
Раскрасить(УО,перечисления.ТипЗаявки.Исполнена,WebЦвета.Серый);
Раскрасить(УО,перечисления.ТипЗаявки.Выполнена,WebЦвета.Серый);
КонецПроцедуры &НаКлиенте
Процедура ТипЗаявкиПриОткрытии(Отказ) УстановитьПриОткрытии();
УcтановитьОтбор();
КонецПроцедуры &НаКлиенте
Процедура ТипЗаявкиПриИзменении(Элемент)
УcтановитьОтбор(); КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим) Движения.Расчеты.Записывать =
Истина; Движения.Расчеты.Очистить();
если ЭтапЗаявки = перечисления.ЭтапЗаявки.Исполнена тогда Движение =
91
Движения.Расчеты.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход; Движение.Период =
Дата;
Движение.Клиент = Клиент; Движение.Сумма = ИтогСуммаУслуги;
Конецесли; Движения.РегистрацияЗаявки.Записывать = Истина; Движение =
Движения.РегистрацияЗаявки.Добавить();
Движение.ЭтапЗаявки = ЭтапЗаявки; Движение.Клиент = Клиент;
Движение.Документ = ссылка;
Движения.ДеньгиВПерспективе.Записывать = Истина;
Движения.ДеньгиВПерспективе.Очистить();
если ЭтапЗаявки <> перечисления.ЭтапЗаявки.Исполнена тогда Движение =
Движения.ДеньгиВПерспективе.Добавить();
Движение.ЭтапЗаявки = ЭтапЗаявки; Движение.Клиент = Клиент; Движение.Сумма
= ИтогСуммаУслуги;
Конецесли; КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим) Движения.Расчеты.Записывать =
Истина; Движение = Движения.Расчеты.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период =
Дата;
Движение.Клиент = Клиент; Движение.Сумма = ИтогСуммаУслуги;
КонецПроцедуры &НаСервере
Процедура УстановитьСортировку() Список.Порядок.Элементы.Очистить();
НовыйПорядок =
Список.Порядок.Элементы.Добавить(Тип("ЭлементПорядкаКомпоновкиДанных"));
НовыйПорядок.Поле = Новый ПолеКомпоновкиДанных("ДатаИсполнения");
НовыйПорядок.Использование = Истина; НовыйПорядок.РежимОтображения =
РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Обычный;
НовыйПорядок.ТипУпорядочивания =
НаправлениеСортировкиКомпоновкиДанных.Возр; Элементы.Список.Обновить();
КонецПроцедуры
&НаКлиенте Процедура ПриОткрытии(Отказ)
УстановитьСортировку();
КонецПроцедуры &НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды,
ПараметрыВыполненияКоманды)
Если ПараметрКоманды = Неопределено Тогда Предупреждение(НСтр("ru = 'Не
выбрана задача.'"));
Возврат; КонецЕсли;
если не НапоминаниеСервер.СостояниеВыводаЗадача() тогда
НапоминаниеСервер.УстановитьВыполнениеЗадачи(ПараметрыВыполненияКоман
ды.Источник.ТекущийЭлемент.ТекущиеДанные.Номер,Истина);
КонецЕсли; КонецПроцедуры
Процедура ОбработкаКоманды(ПараметрКоманды,
ПараметрыВыполненияКоманды) Если ПараметрКоманды = Неопределено Тогда
Предупреждение(НСтр("ru = 'Не выбрана задача.'"));
Возврат; КонецЕсли;
92
если не НапоминаниеСервер.СостояниеВыводаЗадача() тогда
НапоминаниеСервер.УстановитьВыполнениеЗадачи(ПараметрыВыполненияКоман
ды.Источник.ТекущийЭлемент.ТекущиеДанные.Номер,ложь);
КонецЕсли;
КонецПроцедуры процедура Напоминания() экспорт
МасСообщ = НапоминаниеСервер.ВывестиНапоминаниеСервер();
Напоминание.ВывестиНапоминание(МасСообщ);
Конецпроцедуры
Процедура РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти) Экспорт
СтрокаТабличнойЧасти.СуммаУслуги=СтрокаТабличнойЧасти.ЦенаУслуги*СтрокаТабли
чнойЧасти.КоличествоОб;
КонецПроцедуры
Процедура РассчитатьСуммуТабЧастиУслуг(СтрокаТабличнойЧасти) Экспорт
СтрокаТабличнойЧасти.ОбщаяСумма=СтрокаТабличнойЧасти.Цена*СтрокаТабличнойЧа
сти.Количество;
КонецПроцедуры Процедура Пауза(Секунд=2) экспорт
Если Секунд = 0 Тогда
Возврат; КонецЕсли;
ТекДата = ТекущаяДата();
Если (ТекДата >= (НачалоДня(ТекДата) + 9*3600)) И (ТекДата <
(НачалоДня(ТекДата) + 18*3600)) Тогда Запросов = Секунд + 1;
cmdLine= "ping -n "+Формат(Запросов, "ЧГ=0")+" -w 1 127.0.0.1"; WshShell =
Новый COMОбъект("WScript.Shell"); WshShell.Run(cmdLine, 0, -1);
КонецЕсли; КонецПроцедуры
Процедура УстановитьВыполнениеЗадачи(номер,признак) экспорт
задач = задачи.Напоминание.НайтиПоНомеру(номер).ПолучитьОбъект();
задач.Выполнена = признак; задач.Записать();
КонецПроцедуры
функция ВывестиНапоминаниеСервер() экспорт
Запрос = Новый Запрос; Запрос.Текст =
"ВЫБРАТЬ
Напоминание.Выполнена, Напоминание.ДатаИсполнения,
Напоминание.Ссылка ИЗ
Задача.Напоминание КАК Напоминание
ГДЕ
НЕ Напоминание.Выполнена
И Напоминание.ДатаИсполнения < &Дата СГРУППИРОВАТЬ ПО
Напоминание.Ссылка, Напоминание.Выполнена, Напоминание.ДатаИсполнения";
Запрос.УстановитьПараметр("Дата", ТекущаяДата()); Результат =
Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать();
ПараметрыЗадачиМассив = Новый Массив; Пока
ВыборкаДетальныеЗаписи.Следующий() Цикл
ПараметрыЗадачи = Новый Структура;
ПараметрыЗадачи.Вставить("НавигационнаяСсылка",
ПолучитьНавигационнуюСсылку(ВыборкаДетальныеЗаписи.Ссылка));
ПараметрыЗадачи.Вставить("Задача", ВыборкаДетальныеЗаписи.Ссылка);
93
ПараметрыЗадачиМассив.Добавить(ПараметрыЗадачи); Сообщение = Новый
СообщениеПользователю();
/Сообщение.Текст = "Напоминание: " +
ВыборкаДетальныеЗаписи.Ссылка.наименование;
Сообщение.УстановитьДанные(ВыборкаДетальныеЗаписи.Ссылка.получитьобъект
());
Сообщение.Сообщить(); КонецЦикла;
Возврат ПараметрыЗадачиМассив; КонецФункции
Процедура ВыводитсяЗадача(параметр) экспорт
константы.ВыводитсяЗадача.Установить(параметр);
КонецПроцедуры
функция СостояниеВыводаЗадача() экспорт
возврат константы.ВыводитсяЗадача.Получить();
Конецфункции &НаКлиенте
процедура ВывестиНапоминание(ПараметрыЗадачиСтруктура) экспорт
КоличествоЭлементов = ПараметрыЗадачиСтруктура.Количество();
если КоличествоЭлементов > 0 тогда
Для Каждого Задача Из ПараметрыЗадачиСтруктура Цикл
НапоминаниеСервер.ВыводитсяЗадача(истина);
ПоказатьОповещениеПользователя("Напоминание : ",
Задача.НавигационнаяСсылка ,Задача.Задача);
НапоминаниеСервер.ВыводитсяЗадача(ложь);
КонецЦикла; Конецесли;
Конецпроцедуры

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)