Файл: Информационные технологии и платформы разработки информационных систем.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 05.04.2023

Просмотров: 349

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Создаем р егистр  сведен ий Р егистр Адр есации.

Рис. 33 Окн о р егистр а

Опр еделяем пар аметр  сеан са Текущий исполн итель.

Рис. 34 Окн о свойства

Создаем объект кон фигур ации Задача.

Рис. 35 Окн о свойства задачи

В модуле объекта опр еделяем обр аботчики событий.

Процедура ПередВыполнением (Отказ)

Если ДатаВыполнения = '00010101' Тогда

ДатаВыполнения = ТекущаяДата ();

КонецЕсли; Если Исполнитель. Пустая () Тогда

Исполнитель = ПараметрыСеанса. ТекущийИсполнитель;

КонецЕсли;

КонецПроцедуры.

Процедура ПриВыполнении ()

Сообщить ("Задача выполнена: "+""""+Наименование+"""");

КонецПроцедуры.

Процедура ПриЗаписи ()

Если ЭтоНовый () Тогда

Сообщить ("Сформирована задача: "+""""+Наименование+"""");

Сообщить ("Исполнитель"+Исполнитель);

Сообщить ("Подразделение"+подразделение);

КонецЕсли;

КонецПроцедуры.

Создаем объект кон фигур ации бизн ес - пр оцесс "Пр одажа товар а".

Рис. 36 Окн о свойства бизн ес - пр оцесса

Создаем кар ту мар шр ута.

Рис. 37 Окн о кар ты мар шр ута

Пр оцедур ы описываем в модуле объекта:

Процедура СтартПередСтартом (ТочкаМаршрутаБизнесПроцесса, Отказ)

НужноЗаписать = Ложь;

ЕСЛИ Счет. Пустая () ТОГДА

СчетОбъект = Документы. ЗаявкиПокупателя. СоздатьДокумент ();

СчетОбъект. Дата = ТекущаяДата ();

СчетОбъект. Записать ();

Счет = СчетОбъект. Ссылка;

НужноЗаписать = Истина;

КОНЕЦЕСЛИ;

ЕСЛИ РасходнаяНакладная. Пустая () ТОГДА

РасходнаяНакладнаяОбъект = Документы. ПродажаТовара. СоздатьДокумент ();


РасходнаяНакладнаяОбъект. Дата = ТекущаяДата ();

РасходнаяНакладнаяОбъект. Записать ();

РасходнаяНакладная = РасходнаяНакладнаяОбъект. Ссылка;

НужноЗаписать = Истина;

КОНЕЦЕСЛИ;

ЕСЛИ НужноЗаписать ТОГДА

Записать ();

КОНЕЦЕСЛИ;

СООБЩИТЬ ("Старт бизнес-процесса: " + """" + ЭтотОбъект. МетаДанные (). Синоним+"""");

КонецПроцедуры.

Процедура СчетОплаченПроверкаУсловия (ТочкаМаршрутаБизнесПроцесса, Результат)

Результат = Счет. ОплатаСчета;

КонецПроцедуры.

Процедура ВыпискаСчетаОбработкаИнтерактивнойАктивации (ТочкаМаршрутаБизнесПроцесса, Задача, СтандартнаяОбработка)

Счет. ПолучитьФорму ("ФормаДокумента"). Открыть ();

СтандартнаяОбработка=Ложь;

КонецПроцедуры.

Процедура ВыпискаСчетаПередИнтерактивнымВыполнением (ТочкаМаршрутаБизнесПроцесса, Задача, Отказ)

Если Счет. Товары. Количество () =0 тогда

Отказ=Истина;

КонецЕсли;

КонецПроцедуры.

Процедура ВыпискаНакладнойОбработкаИнтерактивнойАктивации (ТочкаМаршрутаБизнесПроцесса, Задача, СтандартнаяОбработка)

РасходнаяНакладная. ПолучитьФорму ("ФормаДокумента"). Открыть ();

СтандартнаяОбработка=Ложь;

КонецПроцедуры.

Процедура ВыпискаНакладнойПередИнтерактивнымВыполнением (ТочкаМаршрутаБизнесПроцесса, Задача, Отказ)

Если РасходнаяНакладная. Товары. Количество () =0 тогда

Отказ=Истина;

КонецЕсли;

КонецПроцедуры.

Процедура ОтгрузкаСоСкладаОбработкаИнтерактивнойАктивации (ТочкаМаршрутаБизнесПроцесса, Задача, СтандартнаяОбработка)


РасходнаяНакладная. ПолучитьФорму ("ФормаДокумента"). Открыть ();

СтандартнаяОбработка=Ложь;

КонецПроцедуры.

Процедура НормальноеЗавершениеПриЗавершении (ТочкаМаршрутаБизнесПроцесса, Отказ)

Сообщить ("Завершение бизнес-процесса: "+""""+ЭтотОбъект. Метаданные (). Синоним+"""");

КонецПроцедуры.

Процедура НетПриЗавершении (ТочкаМаршрутаБизнесПроцесса, Отказ)

Сообщить ("Досрочное завершение бизнес-процесса: "+""""+ЭтотОбъект. Метаданные (). Синоним+"""");

КонецПроцедуры.

В модуле обычн ого пр иложен ия опр еделяем пр оцедур ы:

Процедура ПриНачалеРаботыСистемы ()

ПараметрыСеанса. ТекущийИсполнитель=Справочники. Сотрудники. НайтиПоКоду (ИмяПользователя ());

ПодключитьОбработчикОповещения ("ОбработчикОповещения");

КонецПроцедуры.

Процедура ОбработчикОповещения (ИмяСобытия, Параметр, Источник) Экспорт

Если ИмяСобытия="ЗаписьСчета" Тогда

Запрос=Новый Запрос;

Запрос. УстановитьПараметр ("Парам", Источник. Ссылка);

Запрос. Текст="ВЫБРАТЬ

|Задача. Ссылка

|Из

|БизнесПроцесс. ПродажаТовара КАК ПродажаТовара ЛЕВОЕ СОЕДИНЕНИЕ Задача. Задача. ЗадачиПоИсполнителю КАК Задача

|ПО ПродажаТовара. Ссылка=Задача. БизнесПроцесс

|ГДЕ (Задача. Выполнена=Ложь) и (ПродажаТовара. Счет=&Парам)";

Выборка=Запрос. Выполнить (). Выбрать ();

Пока Выборка. Следующий () Цикл

ТекущаяЗадача=Выборка. Ссылка. ПолучитьОбъект ();

Если ТекущаяЗадача. ТочкаМаршрута=БизнесПроцессы. ПродажаТовара. ТочкиМаршрута. ВыпискаСчета Тогда

ФормаСчета=ТекущаяЗадача. БизнесПроцесс. Счет. ПолучитьФорму ();


Если ФормаСчета. Открыта () =Истина Тогда

Если Вопрос ("Пометить задачу"""+ТекущаяЗадача. Наименование+"""как выполненную?",РежимДиалогаВопрос. ДаНет) =КодВозвратаДиалога. Да Тогда

ТекущаяЗадача. ВыполнитьЗадачу ();

КонецЕсли;

КонецЕсли;

КонецЕсли;

КонецЦикла;

КонецЕсли;

Если ИмяСобытия="Списание" Тогда

Запрос=Новый Запрос;

Запрос. УстановитьПараметр ("Парам", Источник. Ссылка);

Запрос. Текст="ВЫБРАТЬ

|Задача. Ссылка

|Из

|БизнесПроцесс. ПродажаТовара КАК ПродажаТовара ЛЕВОЕ СОЕДИНЕНИЕ Задача. Задача. ЗадачиПоИсполнителю КАК Задача

|ПО ПродажаТовара. Ссылка=Задача. БизнесПроцесс

|ГДЕ (Задача. Выполнена=Ложь) и (ПродажаТовара. РасходнаяНакладная=&Парам)";

Выборка=Запрос. Выполнить (). Выбрать ();

Пока Выборка. Следующий () Цикл

ТекущаяЗадача=Выборка. Ссылка. ПолучитьОбъект ();

Если ТекущаяЗадача. ТочкаМаршрута=БизнесПроцессы. ПродажаТовара. ТочкиМаршрута. ВыпискаНакладной Тогда

ФормаДокумента=ТекущаяЗадача. БизнесПроцесс. РасходнаяНакладная. ПолучитьФорму ();

Если ФормаДокумента. Открыта () =Истина Тогда

Если Вопрос ("Пометить задачу"""+ТекущаяЗадача. Наименование+"""как выполненную?",РежимДиалогаВопрос. ДаНет) =КодВозвратаДиалога. Да Тогда

ТекущаяЗадача. ВыполнитьЗадачу ();

КонецЕсли;

КонецЕсли;

КонецЕсли;

КонецЦикла;

КонецЕсли;

КонецПроцедуры.

В модуле фор мы докумен та Заявка покупателя и Пр одажа товар а пр описываем пр оцедур у Пр иЗаписи для оповещен ия:

Процедура ПриЗаписи (Отказ)

Оповестить ("ЗаписьСчета",, ЭтотОбъект);

КонецПроцедуры.

Процедура ПриЗаписи (Отказ)


Оповестить ("Списание",, ЭтотОбъект);

КонецПроцедуры.

Р ис. 38 Окн о выполн ен н ого пр оцесса [3 с 66]

Глава 4. Анализ данных в системе 1С 8.3

Вводим в базу н е 15 н овых докумен тов, по р азн ому сочетая гр уппу товар ов. Создаем отчет Статистика, выполн яющий ан ализ дан н ых типа "Общая статистика". В модуле отчета пр описываем пр оцедур у:

Процедура КнопкаСформироватьНажатие (Кнопка)

Анализ = Новый АнализДанных;

Анализ. ТипАнализа = Тип ("АнализДанныхОбщаяСтатистика");

запрос = Новый Запрос;

Запрос. Текст = "Выбрать

|ОстаткиТовара. Товары,

|ОстаткиТовара. КолВо

|Из

егистрНакопления. ОстаткиТовара КАК ОстаткиТовара";

Анализ. ИсточникДанных = Запрос. Выполнить ();

РезультатАнализа = Анализ. Выполнить ();

Построитель = Новый ПостроительОтчетаАнализаДанных ();

Построитель. Макет = Неопределено;

Построитель. ТипАнализа = Тип ("АнализДанныхОбщаяСтатистика");

ТабДок = Новый ТабличныйДокумент;

Построитель. Вывести (РезультатАнализа, ТабДок);

ТабДок. Показать ();

КонецПроцедуры.

Р ис. 39 Окн о отчета

Создаем отчет ПоискАссоциаций, выполн яющий ан ализ дан н ых типа "Поиск ассоциаций". Пр оцедур у пр описываем в модуле:

Процедура КнопкаСформироватьНажатие (Кнопка)

Анализ = Новый АнализДанных;

Анализ. ТипАнализа =Тип ("АнализДанныхПоискАссоциаций");

Запрос = Новый Запрос;

Запрос. Текст = "Выбрать

|ОстаткиТовара. Регистратор,

| ОстаткиТовара. Товары