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