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

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
91
Сформированная форма документа Заявки
Рисунок 32 Форма документа заявки
ВЫБРАТЬ
РасчетыОстаткиИОбороты.Клиент КАК Клиент,
РасчетыОстаткиИОбороты.СуммаНачальныйОстаток КАК НачальныйДолг,
РасчетыОстаткиИОбороты.СуммаПриход КАК ОказанныеУслуги,
РасчетыОстаткиИОбороты.СуммаРасход КАК ПриходДенег,
РасчетыОстаткиИОбороты.СуммаКонечныйОстаток КАК КонечныйДолг,
РасчетыОстаткиИОбороты.Регистратор КАК Документ,
РасчетыОстаткиИОбороты.ПериодСекунда
ПОМЕСТИТЬ Запрос1
ИЗ
РегистрНакопления.Расчеты.ОстаткиИОбороты(&НачалоПериода,
&КонецПериода, Авто, ДвиженияИГраницыПериода, ) КАК РасчетыОстаткиИОбороты;
ВЫБРАТЬ
ЗаявкаУслуги.Ссылка,
ЗаявкаУслуги.НомерСтроки,
ЗаявкаУслуги.Услуга,
ЗаявкаУслуги.ЦенаУслуги,
92
ЗаявкаУслуги.СуммаУслуги,
ВЫРАЗИТЬ(ЗаявкаУслуги.Примечание КАК СТРОКА(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.Примечание
УПОРЯДОЧИТЬ ПО
Клиент
&НаКлиенте
93
Процедура ПриИзмененииКоличествоЦена(Элемент)
СтрокаТаблицы = Элементы[Элемент.Родитель.Имя].ТекущиеДанные;
РаботаСТабличнойЧастью.РассчитатьСуммуТабЧасти(СтрокаТаблицы);
КонецПроцедуры
&НаКлиенте
Процедура ПриИзмененииКоличество(Элемент)
СтрокаТаблицы = Элементы[Элемент.Родитель.Имя].ТекущиеДанные;
РаботаСТабличнойЧастью.РассчитатьСуммуТабЧасти(СтрокаТаблицы);
КонецПроцедуры
&НаКлиенте
Процедура УслугиПриИзменении(Элемент)
СтрокаТабличнойЧасти=Элементы.Услуги.ТекущиеДанные;
Услуга=СтрокаТабличнойЧасти.Услуга;
СтрокаТабличнойЧасти.ЦенаУслуги=ПолучитьЦена(Услуга);
КонецПроцедуры
&НаКлиенте
Процедура УслугиЦенаУслугиПриИзменении(Элемент)
ПриИзмененииКоличествоЦена(Элемент);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьЦена(Услуга)
Возврат Услуга.Цена;
КонецФункции
&НаКлиенте
Процедура ОборудованиеНазваниеПриИзменении(Элемент)
СтрокаТабличнойЧасти =Элементы.Оборудование.ТекущиеДанные;
Название=СтрокаТабличнойЧасти.Название;
СтрокаТабличнойЧасти.ЦенаНазвание= ПолучитьЦенаНазвание(Название);
КонецПроцедуры
&НаКлиенте
Процедура ОборудованиеценаПриИзменении(Элемент)
ПриИзмененииКоличествоЦена(Элемент);
КонецПроцедуры
&НаСервереБезКонтекста
94
Функция ПолучитьЦенаНазвание(Название)
Возврат Название.Цена;
КонецФункции
&НаСервере
Процедура УcтановитьОтбор()
Список.Отбор.Элементы.Очистить();
если ЭтапЗаявки <> перечисления.ЭтапЗаявки.ПустаяСсылка() тогда
НовыйЭлементОтбора =
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПолеОтбора = Новый ПолеКомпоновкиДанных("ЭтапЗаявки");
НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора;
НовыйЭлементОтбора.Использование = Истина;
НовыйЭлементОтбора.ВидСравнения =
ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ПравоеЗначение = ЭтапЗаявки;
Конецесли;
КонецПроцедуры
&НаСервере
Процедура Раскрасить(УО,ЭтапЗаявки,Цвет)
ЭлементУО = УО.Элементы.Добавить();
ЭлементОтбора =
ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ЭтапЗаявки");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = ЭтапЗаявки;
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", ИСТИНА);
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветФОна",Цвет);
КонецПроцедуры
&НаСервере
Процедура УстановитьПриОткрытии()
УО = Список.УсловноеОформление;
УО.Элементы.Очистить();
Раскрасить(УО,перечисления.ЭтапЗаявки.Получена,WebЦвета.БледноЗолотистый);
95
Раскрасить(УО,перечисления.ЭтапЗаявки.ВИсполнении,WebЦвета.БледноЗеленый);
Раскрасить(УО,перечисления.ЭтапЗаявки.Исполнена,WebЦвета.Серый);
Раскрасить(УО,перечисления.ЭтапЗаявки.Выполнена,WebЦвета.Серый);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
УстановитьПриОткрытии();
УcтановитьОтбор();
КонецПроцедуры
&НаКлиенте
Процедура ЭтапЗаявкиПриИзменении(Элемент)
УcтановитьОтбор();
КонецПроцедуры
&НаСервере
Процедура ТипЗаявкиУcтановитьОтбор(ТипЗаявки)
Список.Отбор.Элементы.Очистить();
если ТипЗаявки <> перечисления.ТипЗаявки.ПустаяСсылка() тогда
НовыйЭлементОтбора =
Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ПолеОтбора = Новый ПолеКомпоновкиДанных("ТипЗаявки");
НовыйЭлементОтбора.ЛевоеЗначение = ПолеОтбора;
НовыйЭлементОтбора.Использование = Истина;
НовыйЭлементОтбора.ВидСравнения =
ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ПравоеЗначение = ТИпЗаявки;
Конецесли;
КонецПроцедуры
&НаСервере
Процедура Отметить(УО,ТипЗаявки,Цвет)
ЭлементУО = УО.Элементы.Добавить();
ЭлементОтбора =
ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТипЗаявки");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = ТипЗаявки;
Источник: https://baza.diplomsite.ru/previewfile/2116