Файл: Проектирование реализации операций бизнес-процесса «Взаиморасчеты с клиентами» (на примере ООО «Тат Телеком».).pdf
Добавлен: 23.05.2023
Просмотров: 109
Скачиваний: 3
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьИнформацияОЗаказеШапка = Макет.ПолучитьОбласть("ИнформацияОЗаказеШапка");
ОбластьИнформацияОЗаказе = Макет.ПолучитьОбласть("ИнформацияОЗаказе");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьИнформацияОЗаказеШапка);
ВыборкаИнформацияОЗаказе = Выборка.ИнформацияОЗаказе.Выбрать();
Пока ВыборкаИнформацияОЗаказе.Следующий() Цикл
ОбластьИнформацияОЗаказе.Параметры.Заполнить(ВыборкаИнформацияОЗаказе);
ТабДок.Вывести(ОбластьИнформацияОЗаказе, ВыборкаИнформацияОЗаказе.Уровень());
КонецЦикла;
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//}}
КонецПроцедуры
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказКлиента") Тогда
// Заполнение шапки
Договор = ДанныеЗаполнения.Договор;
Инженер = ДанныеЗаполнения.Инженер;
НаименованиеКлиента = ДанныеЗаполнения.НаименованиеКлиента;
Для Каждого ТекСтрокаИнформацияОЗаказе Из ДанныеЗаполнения.ИнформацияОЗаказе Цикл
НоваяСтрока = ИнформацияОЗаказе.Добавить();
НоваяСтрока.СтоимостьУслуги = ТекСтрокаИнформацияОЗаказе.СтоимостьУслуги;
НоваяСтрока.Услуга = ТекСтрокаИнформацияОЗаказе.Услуга;
КонецЦикла;
КонецЕсли;
//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр Прибыль Расход
Движения.Прибыль.Записывать = Истина;
Для Каждого ТекСтрокаИнформацияОЗаказе Из ИнформацияОЗаказе Цикл
Движение = Движения.Прибыль.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.НаименованиеКлиента = НаименованиеКлиента;
Движение.Договор = Договор;
Движение.Услуга = ТекСтрокаИнформацияОЗаказе.Услуга;
Движение.Инженер = Инженер;
Движение.Прибыль = ТекСтрокаИнформацияОЗаказе.СтоимостьИздержекНаОказаниеУслуги;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.ОказаниеУслуги.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОказаниеУслуги.Дата,
| ОказаниеУслуги.Договор,
| ОказаниеУслуги.Инженер,
| ОказаниеУслуги.НаименованиеКлиента,
| ОказаниеУслуги.Номер,
| ОказаниеУслуги.СтоимостьИздержекНаОказаниеУслуги,
| ОказаниеУслуги.ИнформацияОЗаказе.(
| НомерСтроки,
| Услуга,
| СтоимостьУслуги,
| СтоимостьИздержекНаОказаниеУслуги
| )
|ИЗ
| Документ.ОказаниеУслуги КАК ОказаниеУслуги
|ГДЕ
| ОказаниеУслуги.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьИнформацияОЗаказеШапка = Макет.ПолучитьОбласть("ИнформацияОЗаказеШапка");
ОбластьИнформацияОЗаказе = Макет.ПолучитьОбласть("ИнформацияОЗаказе");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьИнформацияОЗаказеШапка);
ВыборкаИнформацияОЗаказе = Выборка.ИнформацияОЗаказе.Выбрать();
Пока ВыборкаИнформацияОЗаказе.Следующий() Цикл
ОбластьИнформацияОЗаказе.Параметры.Заполнить(ВыборкаИнформацияОЗаказе);
ТабДок.Вывести(ОбластьИнформацияОЗаказе, ВыборкаИнформацияОЗаказе.Уровень());
КонецЦикла;
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//}}
КонецПроцедуры
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказКлиента") Тогда
// Заполнение шапки
Договор = ДанныеЗаполнения.Договор;
Инженер = ДанныеЗаполнения.Инженер;
НаименованиеКлиента = ДанныеЗаполнения.НаименованиеКлиента;
Для Каждого ТекСтрокаИнформацияОЗаказе Из ДанныеЗаполнения.ИнформацияОЗаказе Цикл
НоваяСтрока = ИнформацияОЗаказе.Добавить();
НоваяСтрока.СтоимостьУслуги = ТекСтрокаИнформацияОЗаказе.СтоимостьУслуги;
НоваяСтрока.Услуга = ТекСтрокаИнформацияОЗаказе.Услуга;
КонецЦикла;
КонецЕсли;
//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр Прибыль Расход
Движения.Прибыль.Записывать = Истина;
Для Каждого ТекСтрокаИнформацияОЗаказе Из ИнформацияОЗаказе Цикл
Движение = Движения.Прибыль.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.НаименованиеКлиента = НаименованиеКлиента;
Движение.Договор = Договор;
Движение.Услуга = ТекСтрокаИнформацияОЗаказе.Услуга;
Движение.Инженер = Инженер;
Движение.Прибыль = ТекСтрокаИнформацияОЗаказе.СтоимостьИздержекНаОказаниеУслуги;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.ОказаниеУслуги.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОказаниеУслуги.Дата,
| ОказаниеУслуги.Договор,
| ОказаниеУслуги.Инженер,
| ОказаниеУслуги.НаименованиеКлиента,
| ОказаниеУслуги.Номер,
| ОказаниеУслуги.СтоимостьИздержекНаОказаниеУслуги,
| ОказаниеУслуги.ИнформацияОЗаказе.(
| НомерСтроки,
| Услуга,
| СтоимостьУслуги,
| СтоимостьИздержекНаОказаниеУслуги
| )
|ИЗ
| Документ.ОказаниеУслуги КАК ОказаниеУслуги
|ГДЕ
| ОказаниеУслуги.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьИнформацияОЗаказеШапка = Макет.ПолучитьОбласть("ИнформацияОЗаказеШапка");
ОбластьИнформацияОЗаказе = Макет.ПолучитьОбласть("ИнформацияОЗаказе");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();