Файл: Информационные технологии и платформы разработки информационных систем.pdf
Добавлен: 05.04.2023
Просмотров: 349
Скачиваний: 2
Создаем р егистр сведен ий Р егистр Адр есации.
Рис. 33 Окн о р егистр а
Опр еделяем пар аметр сеан са Текущий исполн итель.
Рис. 34 Окн о свойства
Создаем объект кон фигур ации Задача.
Рис. 35 Окн о свойства задачи
В модуле объекта опр еделяем обр аботчики событий.
Пр оцедур а Пер едВыполн ен ием (Отказ)
Если ДатаВыполн ен ия = '00010101' Тогда
ДатаВыполн ен ия = ТекущаяДата ();
Кон ецЕсли; Если Исполн итель. Пустая () Тогда
Исполн итель = Пар аметр ыСеан са. ТекущийИсполн итель;
КонецЕсли;
Кон ецПр оцедур ы.
Пр оцедур а Пр иВыполн ен ии ()
Сообщить ("Задача выполн ен а: "+""""+Н аимен ован ие+"""");
КонецПроцедуры.
Пр оцедур а Пр иЗаписи ()
Если ЭтоН овый () Тогда
Сообщить ("Сфор мир ован а задача: "+""""+Н аимен ован ие+"""");
Сообщить ("Исполн итель"+Исполн итель);
Сообщить ("Подр азделен ие"+подр азделен ие);
КонецЕсли;
Кон ецПр оцедур ы.
Создаем объект кон фигур ации бизн ес - пр оцесс "Пр одажа товар а".
Рис. 36 Окн о свойства бизн ес - пр оцесса
Создаем кар ту мар шр ута.
Рис. 37 Окн о кар ты мар шр ута
Пр оцедур ы описываем в модуле объекта:
Пр оцедур а Стар тПер едСтар том (ТочкаМар шр утаБизн есПр оцесса, Отказ)
Н ужн оЗаписать = Ложь;
ЕСЛИ Счет. Пустая () ТОГДА
СчетОбъект = Докумен ты. ЗаявкиПокупателя. СоздатьДокумен т ();
СчетОбъект. Дата = ТекущаяДата ();
СчетОбъект. Записать ();
Счет = СчетОбъект. Ссылка;
Н ужн оЗаписать = Истин а;
КОНЕЦЕСЛИ;
ЕСЛИ Р асходн аяН акладн ая. Пустая () ТОГДА
Р асходн аяН акладн аяОбъект = Докумен ты. Пр одажаТовар а. СоздатьДокумен т ();
Р асходн аяН акладн аяОбъект. Дата = ТекущаяДата ();
Р асходн аяН акладн аяОбъект. Записать ();
Р асходн аяН акладн ая = Р асходн аяН акладн аяОбъект. Ссылка;
Н ужн оЗаписать = Истин а;
КОНЕЦЕСЛИ;
ЕСЛИ Н ужн оЗаписать ТОГДА
Записать ();
КОН ЕЦЕСЛИ;
СООБЩИТЬ ("Стар т бизн ес-пр оцесса: " + """" + ЭтотОбъект. МетаДан н ые (). Син он им+"""");
КонецПроцедуры.
Пр оцедур а СчетОплачен Пр овер каУсловия (ТочкаМар шр утаБизн есПр оцесса, Р езультат)
Р езультат = Счет. ОплатаСчета;
КонецПроцедуры.
Пр оцедур а ВыпискаСчетаОбр аботкаИн тер активн ойАктивации (ТочкаМар шр утаБизн есПр оцесса, Задача, Стан дар тн аяОбр аботка)
Счет. ПолучитьФор му ("Фор маДокумен та"). Откр ыть ();
Стан дар тн аяОбр аботка=Ложь;
КонецПроцедуры.
Пр оцедур а ВыпискаСчетаПер едИн тер активн ымВыполн ен ием (ТочкаМар шр утаБизн есПр оцесса, Задача, Отказ)
Если Счет. Товар ы. Количество () =0 тогда
Отказ=Истин а;
КонецЕсли;
Кон ецПр оцедур ы.
Пр оцедур а ВыпискаН акладн ойОбр аботкаИн тер активн ойАктивации (ТочкаМар шр утаБизн есПр оцесса, Задача, Стан дар тн аяОбр аботка)
Р асходн аяН акладн ая. ПолучитьФор му ("Фор маДокумен та"). Откр ыть ();
Стан дар тн аяОбр аботка=Ложь;
КонецПроцедуры.
Пр оцедур а ВыпискаН акладн ойПер едИн тер активн ымВыполн ен ием (ТочкаМар шр утаБизн есПр оцесса, Задача, Отказ)
Если Р асходн аяН акладн ая. Товар ы. Количество () =0 тогда
Отказ=Истин а;
КонецЕсли;
Кон ецПр оцедур ы.
Пр оцедур а Отгр узкаСоСкладаОбр аботкаИн тер активн ойАктивации (ТочкаМар шр утаБизн есПр оцесса, Задача, Стан дар тн аяОбр аботка)
Р асходн аяН акладн ая. ПолучитьФор му ("Фор маДокумен та"). Откр ыть ();
Стан дар тн аяОбр аботка=Ложь;
КонецПроцедуры.
Пр оцедур а Н ор мальн оеЗавер шен иеПр иЗавер шен ии (ТочкаМар шр утаБизн есПр оцесса, Отказ)
Сообщить ("Завер шен ие бизн ес-пр оцесса: "+""""+ЭтотОбъект. Метадан н ые (). Син он им+"""");
КонецПроцедуры.
Пр оцедур а Н етПр иЗавер шен ии (ТочкаМар шр утаБизн есПр оцесса, Отказ)
Сообщить ("Доср очн ое завер шен ие бизн ес-пр оцесса: "+""""+ЭтотОбъект. Метадан н ые (). Син он им+"""");
КонецПроцедуры.
В модуле обычн ого пр иложен ия опр еделяем пр оцедур ы:
Пр оцедур а Пр иН ачалеР аботыСистемы ()
Пар аметр ыСеан са. ТекущийИсполн итель=Спр авочн ики. Сотр удн ики. Н айтиПоКоду (ИмяПользователя ());
ПодключитьОбр аботчикОповещен ия ("Обр аботчикОповещен ия");
КонецПроцедуры.
Пр оцедур а Обр аботчикОповещен ия (ИмяСобытия, Пар аметр , Источн ик) Экспор т
Если ИмяСобытия="ЗаписьСчета" Тогда
Запр ос=Н овый Запр ос;
Запр ос. Устан овитьПар аметр ("Пар ам", Источн ик. Ссылка);
Запр ос. Текст="ВЫБР АТЬ
|Задача. Ссылка
|Из
|Бизн есПр оцесс. Пр одажаТовар а КАК Пр одажаТовар а ЛЕВОЕ СОЕДИН ЕН ИЕ Задача. Задача. ЗадачиПоИсполн ителю КАК Задача
|ПО Пр одажаТовар а. Ссылка=Задача. Бизн есПр оцесс
|ГДЕ (Задача. Выполн ен а=Ложь) и (Пр одажаТовар а. Счет=&Пар ам)";
Выбор ка=Запр ос. Выполн ить (). Выбр ать ();
Пока Выбор ка. Следующий () Цикл
ТекущаяЗадача=Выбор ка. Ссылка. ПолучитьОбъект ();
Если ТекущаяЗадача. ТочкаМар шр ута=Бизн есПр оцессы. Пр одажаТовар а. ТочкиМар шр ута. ВыпискаСчета Тогда
Фор маСчета=ТекущаяЗадача. Бизн есПр оцесс. Счет. ПолучитьФор му ();
Если Фор маСчета. Откр ыта () =Истин а Тогда
Если Вопр ос ("Пометить задачу"""+ТекущаяЗадача. Н аимен ован ие+"""как выполн ен н ую?",Р ежимДиалогаВопр ос. ДаН ет) =КодВозвр атаДиалога. Да Тогда
ТекущаяЗадача. Выполн итьЗадачу ();
КонецЕсли;
Кон ецЕсли;
КонецЕсли;
Кон ецЦикла;
КонецЕсли;
Если ИмяСобытия="Списан ие" Тогда
Запр ос=Н овый Запр ос;
Запр ос. Устан овитьПар аметр ("Пар ам", Источн ик. Ссылка);
Запр ос. Текст="ВЫБР АТЬ
|Задача. Ссылка
|Из
|Бизн есПр оцесс. Пр одажаТовар а КАК Пр одажаТовар а ЛЕВОЕ СОЕДИН ЕН ИЕ Задача. Задача. ЗадачиПоИсполн ителю КАК Задача
|ПО Пр одажаТовар а. Ссылка=Задача. Бизн есПр оцесс
|ГДЕ (Задача. Выполн ен а=Ложь) и (Пр одажаТовар а. Р асходн аяН акладн ая=&Пар ам)";
Выбор ка=Запр ос. Выполн ить (). Выбр ать ();
Пока Выбор ка. Следующий () Цикл
ТекущаяЗадача=Выбор ка. Ссылка. ПолучитьОбъект ();
Если ТекущаяЗадача. ТочкаМар шр ута=Бизн есПр оцессы. Пр одажаТовар а. ТочкиМар шр ута. ВыпискаН акладн ой Тогда
Фор маДокумен та=ТекущаяЗадача. Бизн есПр оцесс. Р асходн аяН акладн ая. ПолучитьФор му ();
Если Фор маДокумен та. Откр ыта () =Истин а Тогда
Если Вопр ос ("Пометить задачу"""+ТекущаяЗадача. Н аимен ован ие+"""как выполн ен н ую?",Р ежимДиалогаВопр ос. ДаН ет) =КодВозвр атаДиалога. Да Тогда
ТекущаяЗадача. Выполн итьЗадачу ();
КонецЕсли;
Кон ецЕсли;
КонецЕсли;
Кон ецЦикла;
КонецЕсли;
Кон ецПр оцедур ы.
В модуле фор мы докумен та Заявка покупателя и Пр одажа товар а пр описываем пр оцедур у Пр иЗаписи для оповещен ия:
Пр оцедур а Пр иЗаписи (Отказ)
Оповестить ("ЗаписьСчета",, ЭтотОбъект);
КонецПроцедуры.
Пр оцедур а Пр иЗаписи (Отказ)
Оповестить ("Списан ие",, ЭтотОбъект);
КонецПроцедуры.
Р ис. 38 Окн о выполн ен н ого пр оцесса [3 с 66]
Глава 4. Анализ данных в системе 1С 8.3
Вводим в базу н е 15 н овых докумен тов, по р азн ому сочетая гр уппу товар ов. Создаем отчет Статистика, выполн яющий ан ализ дан н ых типа "Общая статистика". В модуле отчета пр описываем пр оцедур у:
Пр оцедур а Кн опкаСфор мир оватьН ажатие (Кн опка)
Ан ализ = Н овый Ан ализДан н ых;
Ан ализ. ТипАн ализа = Тип ("Ан ализДан н ыхОбщаяСтатистика");
запр ос = Н овый Запр ос;
Запр ос. Текст = "Выбр ать
|ОстаткиТовар а. Товар ы,
|ОстаткиТовар а. КолВо
|Из
|Р егистр Н акоплен ия. ОстаткиТовар а КАК ОстаткиТовар а";
Ан ализ. Источн икДан н ых = Запр ос. Выполн ить ();
Р езультатАн ализа = Ан ализ. Выполн ить ();
Постр оитель = Н овый Постр оительОтчетаАн ализаДан н ых ();
Постр оитель. Макет = Н еопр еделен о;
Постр оитель. ТипАн ализа = Тип ("Ан ализДан н ыхОбщаяСтатистика");
ТабДок = Н овый Табличн ыйДокумен т;
Постр оитель. Вывести (Р езультатАн ализа, ТабДок);
ТабДок. Показать ();
КонецПроцедуры.
Р ис. 39 Окн о отчета
Создаем отчет ПоискАссоциаций, выполн яющий ан ализ дан н ых типа "Поиск ассоциаций". Пр оцедур у пр описываем в модуле:
Пр оцедур а Кн опкаСфор мир оватьН ажатие (Кн опка)
Ан ализ = Н овый Ан ализДан н ых;
Ан ализ. ТипАн ализа =Тип ("Ан ализДан н ыхПоискАссоциаций");
Запр ос = Н овый Запр ос;
Запр ос. Текст = "Выбр ать
|ОстаткиТовар а. Р егистр атор ,
| ОстаткиТовар а. Товар ы