Файл: Проектирование реализации операций бизнес-процесса Взаиморасчеты с клиентами.pdf
Добавлен: 16.05.2023
Просмотров: 95
Скачиваний: 2
СОДЕРЖАНИЕ
1.1 Выбор комплекса задач автоматизации
1.2 Характеристика существующих бизнес-процессов
1.3 Характеристики документооборота, возникающего при решении задач
1.5 Обоснование проектных решений по программному обеспечению
2.1. Информационная модель и её описание
2.2. Характеристика нормативно-справочной, входной и оперативной информации
2.3. Характеристика результатной информации
2.4. Программное обеспечение задачи
2.5. Характеристика базы данных
2.7. Описание программных модулей
Печать(ТабДок, ПараметрКоманды);
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();
//}}
КонецПроцедуры
&НаСервере
Процедура Печать(ТабДок, ПараметрКоманды)
Документы.УтверждениеПроекта.Печать(ТабДок, ПараметрКоманды);
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр Продажи
Движения.Продажи.Записывать = Истина;
Для Каждого ТекСтрокаИнформацияОЗаказе Из ИнформацияОЗаказе Цикл
Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.НаименованиеКлиента = НаименованиеКлиента;
Движение.Договор = Договор;
Движение.Услуга = ТекСтрокаИнформацияОЗаказе.Услуга;
Движение.Инженер = Инженер;
Движение.Выручка = ТекСтрокаИнформацияОЗаказе.СтоимостьУслуги;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр Прибыль Приход
Движения.Прибыль.Записывать = Истина;
Для Каждого ТекСтрокаИнформацияОЗаказе Из ИнформацияОЗаказе Цикл
Движение = Движения.Прибыль.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.НаименованиеКлиента = НаименованиеКлиента;
Движение.Договор = Договор;
Движение.Услуга = ТекСтрокаИнформацияОЗаказе.Услуга;
Движение.Инженер = Инженер;
Движение.Прибыль = ТекСтрокаИнформацияОЗаказе.СтоимостьУслуги;
КонецЦикла;
КонецПроцедуры
Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.ЗаказКлиента.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗаказКлиента.Дата,
| ЗаказКлиента.Договор,
| ЗаказКлиента.Инженер,
| ЗаказКлиента.НаименованиеКлиента,
| ЗаказКлиента.Номер,
| ЗаказКлиента.ПриоритетЗаказа,
| ЗаказКлиента.СтатусЗаказа,
| ЗаказКлиента.ИнформацияОЗаказе.(
| НомерСтроки,
| Услуга,
| СтоимостьУслуги
| )
|ИЗ
| Документ.ЗаказКлиента КАК ЗаказКлиента
|ГДЕ
| ЗаказКлиента.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьИнформацияОЗаказеШапка = Макет.ПолучитьОбласть("ИнформацияОЗаказеШапка");
ОбластьИнформацияОЗаказе = Макет.ПолучитьОбласть("ИнформацияОЗаказе");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьИнформацияОЗаказеШапка);
ВыборкаИнформацияОЗаказе = Выборка.ИнформацияОЗаказе.Выбрать();
Пока ВыборкаИнформацияОЗаказе.Следующий() Цикл
ОбластьИнформацияОЗаказе.Параметры.Заполнить(ВыборкаИнформацияОЗаказе);
ТабДок.Вывести(ОбластьИнформацияОЗаказе, ВыборкаИнформацияОЗаказе.Уровень());
КонецЦикла;
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//}}
КонецПроцедуры
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказКлиента") Тогда
// Заполнение шапки
Договор = ДанныеЗаполнения.Договор;
Инженер = ДанныеЗаполнения.Инженер;
НаименованиеКлиента = ДанныеЗаполнения.НаименованиеКлиента;
Для Каждого ТекСтрокаИнформацияОЗаказе Из ДанныеЗаполнения.ИнформацияОЗаказе Цикл
НоваяСтрока = ИнформацияОЗаказе.Добавить();
НоваяСтрока.СтоимостьУслуги = ТекСтрокаИнформацияОЗаказе.СтоимостьУслуги;
НоваяСтрока.Услуга = ТекСтрокаИнформацияОЗаказе.Услуга;
КонецЦикла;
КонецЕсли;
//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр Прибыль Расход
Движения.Прибыль.Записывать = Истина;
Для Каждого ТекСтрокаИнформацияОЗаказе Из ИнформацияОЗаказе Цикл
Движение = Движения.Прибыль.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.НаименованиеКлиента = НаименованиеКлиента;
Движение.Договор = Договор;
Движение.Услуга = ТекСтрокаИнформацияОЗаказе.Услуга;
Движение.Инженер = Инженер;
Движение.Прибыль = ТекСтрокаИнформацияОЗаказе.СтоимостьИздержекНаОказаниеУслуги;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.ОказаниеУслуги.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОказаниеУслуги.Дата,
| ОказаниеУслуги.Договор,
| ОказаниеУслуги.Инженер,
| ОказаниеУслуги.НаименованиеКлиента,
| ОказаниеУслуги.Номер,
| ОказаниеУслуги.СтоимостьИздержекНаОказаниеУслуги,
| ОказаниеУслуги.ИнформацияОЗаказе.(
| НомерСтроки,
| Услуга,
| СтоимостьУслуги,
| СтоимостьИздержекНаОказаниеУслуги
| )
|ИЗ
| Документ.ОказаниеУслуги КАК ОказаниеУслуги
|ГДЕ
| ОказаниеУслуги.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьИнформацияОЗаказеШапка = Макет.ПолучитьОбласть("ИнформацияОЗаказеШапка");
ОбластьИнформацияОЗаказе = Макет.ПолучитьОбласть("ИнформацияОЗаказе");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьИнформацияОЗаказеШапка);
ВыборкаИнформацияОЗаказе = Выборка.ИнформацияОЗаказе.Выбрать();
Пока ВыборкаИнформацияОЗаказе.Следующий() Цикл
ОбластьИнформацияОЗаказе.Параметры.Заполнить(ВыборкаИнформацияОЗаказе);
ТабДок.Вывести(ОбластьИнформацияОЗаказе, ВыборкаИнформацияОЗаказе.Уровень());
КонецЦикла;
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
//}}
КонецПроцедуры
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
//{{__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗаказКлиента") Тогда
// Заполнение шапки
Договор = ДанныеЗаполнения.Договор;
Инженер = ДанныеЗаполнения.Инженер;
НаименованиеКлиента = ДанныеЗаполнения.НаименованиеКлиента;
Для Каждого ТекСтрокаИнформацияОЗаказе Из ДанныеЗаполнения.ИнформацияОЗаказе Цикл
НоваяСтрока = ИнформацияОЗаказе.Добавить();
НоваяСтрока.СтоимостьУслуги = ТекСтрокаИнформацияОЗаказе.СтоимостьУслуги;
НоваяСтрока.Услуга = ТекСтрокаИнформацияОЗаказе.Услуга;
КонецЦикла;
КонецЕсли;
//}}__КОНСТРУКТОР_ВВОД_НА_ОСНОВАНИИ
КонецПроцедуры
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
// регистр Прибыль Расход
Движения.Прибыль.Записывать = Истина;
Для Каждого ТекСтрокаИнформацияОЗаказе Из ИнформацияОЗаказе Цикл
Движение = Движения.Прибыль.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.НаименованиеКлиента = НаименованиеКлиента;
Движение.Договор = Договор;
Движение.Услуга = ТекСтрокаИнформацияОЗаказе.Услуга;
Движение.Инженер = Инженер;
Движение.Прибыль = ТекСтрокаИнформацияОЗаказе.СтоимостьИздержекНаОказаниеУслуги;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Процедура Печать(ТабДок, Ссылка) Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ(Печать)
Макет = Документы.ОказаниеУслуги.ПолучитьМакет("Печать");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ОказаниеУслуги.Дата,
| ОказаниеУслуги.Договор,
| ОказаниеУслуги.Инженер,
| ОказаниеУслуги.НаименованиеКлиента,
| ОказаниеУслуги.Номер,
| ОказаниеУслуги.СтоимостьИздержекНаОказаниеУслуги,
| ОказаниеУслуги.ИнформацияОЗаказе.(
| НомерСтроки,
| Услуга,
| СтоимостьУслуги,
| СтоимостьИздержекНаОказаниеУслуги
| )
|ИЗ
| Документ.ОказаниеУслуги КАК ОказаниеУслуги
|ГДЕ
| ОказаниеУслуги.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьИнформацияОЗаказеШапка = Макет.ПолучитьОбласть("ИнформацияОЗаказеШапка");
ОбластьИнформацияОЗаказе = Макет.ПолучитьОбласть("ИнформацияОЗаказе");
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();