1с специалист решение задач по бизнес процессам

Учебный курс: Подготовка на 1С:Специалист по платформе 1С:Предприятие 8.3

В платформе «1С:Предприятие» бизнес-процесс и задача – это разные объекты метаданных, хоть они и связаны друг с другом. Поэтому может возникнуть потребность отображать на одной форме и бизнес-процесс, и задачи по этому бизнес-процессу. Решить эту задачу можно несколькими способами в зависимости от дополнительных требований заказчика. Но в любом случае на экзамене это нужно реализовать как можно оперативнее, поскольку задача достаточно простая.

Аттестационная задача может быть сформулирована следующим образом:

На форме бизнес-процесса нужно вывести список задач, подчиненных текущему бизнес-процессу.

Далее рассмотрим два варианта решения задачи – с использованием динамического списка и с переходом к связанной информации из формы бизнес-процесса.

Как отобразить список задач при помощи динамического списка

Первым делом выясним, как связаны между собой объекты метаданных Задача и БизнесПроцесс. Для этого в конфигураторе обратимся к списку стандартных реквизитов для задачи. Это можно сделать из контекстного меню или из окна редактирования объекта конфигурации ЗадачиИсполнителям:

Стандартный реквизит «БизнесПроцесс» объекта метаданных Задача

Рисунок 1 – Стандартный реквизит «БизнесПроцесс» объекта метаданных Задача

В этом списке присутствует стандартный реквизит БизнесПроцесс. Именно при помощи этого реквизита можно получить бизнес-процесс, к которому относится конкретная задача.

Следовательно, чтобы решить поставленную задачу и получить список задач, подчиненных определенному бизнес-процессу, нужно отобрать данные по полю БизнесПроцесс. Затем полученные данные необходимо вывести на форму.

Для решения задачи воспользуемся динамическим списком, поскольку это специальный объект платформы, предназначенный для отображения списков большого объема. Динамический список считывает данные из базы не целиком, а отдельными порциями, которые необходимы для вывода информации на экран. Если пользователь прокручивает список на форме, из базы будет получена очередная порция данных. Это оптимально с точки зрения производительности.

Создадим реквизит формы бизнес-процесса СписокЗадач (тип – Динамический список):

Создание динамического списка

Рисунок 2 – Создание динамического списка

Получаемые данные необходимо отбирать по конкретному бизнес-процессу, поэтому в тексте запроса воспользуемся секцией ГДЕ. Чтобы текст запроса динамического списка можно было редактировать вручную, для свойства созданного реквизита Произвольный запрос установим галочку:

Свойство «ПроизвольныйЗапрос» реквизита «СписокЗадач»

Рисунок 3 – Свойство «ПроизвольныйЗапрос» реквизита «СписокЗадач»

При помощи конструктора запроса создадим следующий текст запроса динамического списка:

ВЫБРАТЬ ЗадачаЗадачиИсполнителям.Ссылка, ЗадачаЗадачиИсполнителям.Номер, ЗадачаЗадачиИсполнителям.Дата, ЗадачаЗадачиИсполнителям.БизнесПроцесс, ЗадачаЗадачиИсполнителям.ТочкаМаршрута, ЗадачаЗадачиИсполнителям.Наименование, ЗадачаЗадачиИсполнителям.Выполнена, ЗадачаЗадачиИсполнителям.Исполнитель, ЗадачаЗадачиИсполнителям.Подразделение, ЗадачаЗадачиИсполнителям.Должность ИЗ Задача.ЗадачиИсполнителям КАК ЗадачаЗадачиИсполнителям ГДЕ ЗадачаЗадачиИсполнителям.БизнесПроцесс = &БизнесПроцесс

Таким образом будут получены все задачи по текущему бизнес-процессу. Параметр БизнесПроцесс нужно установить в программном коде. Устанавливать его будем в обработчиках двух событий: ПриСозданииНаСервере и ПослеЗаписиНаСервере. Это связано с тем, что при открытии формы нового, еще не записанного в базу бизнес-процесса, его ссылка пустая. После записи ссылка будет уже заполнена, и следует обновить значение параметра динамического списка.

В обработчиках событий ПриСозданииНаСервере и ПослеЗаписиНаСервере будет использоваться один и тот же программный код. Чтобы дважды не писать одинаковый фрагмент кода, вынесем его в отдельную процедуру УстановитьТекущийБизнесПроцесс.

Сформированный программный код выглядит следующим образом:

&НаСервере Процедура УстановитьТекущийБизнесПроцесс() СписокЗадач.Параметры.УстановитьЗначениеПараметра("БизнесПроцесс", Объект.Ссылка); КонецПроцедуры &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) УстановитьТекущийБизнесПроцесс(); КонецПроцедуры &НаСервере Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) УстановитьТекущийБизнесПроцесс(); КонецПроцедуры

Перенесем динамический список на форму и отобразим колонки списка.

Отображение списка на форме

Рисунок 4 – Отображение списка на форме

Откроем форму бизнес-процесса в пользовательском режиме:

Список задач текущего бизнес-процесса

Рисунок 5 – Список задач текущего бизнес-процесса

На форме отображаются задачи, подчиненные этому бизнес-процессу.

Как перейти к списку задач конкретного бизнес-процесса

Теперь рассмотрим второй вариант решения задачи – с использованием штатных механизмов платформы. Они позволяют добавить в панель навигации формы бизнес-процесса ссылку для перехода к задачам, подчиненным текущему бизнес-процессу.

Для этого в конструкторе управляемой формы бизнес-процесса перейдем на закладку Командный интерфейс и в разделе Перейти включим видимость для Задач исполнителям:

Включение видимости команды «Задачи исполнителям» в панели навигации

Рисунок 6 – Включение видимости команды «Задачи исполнителям» в панели навигации

После таких настроек в пользовательском режиме на форме бизнес-процесса в панели навигации отображается гиперссылка для перехода к задачам по текущему бизнес-процессу:

Переход к задачам из формы бизнес-процесса

Рисунок 7 – Переход к задачам из формы бизнес-процесса

Таким образом, без написания программного кода можно получить список задач для конкретного бизнес-процесса.

В зависимости от того, какое представление списка задач требуется, при решении данной задачи можно выбрать наиболее подходящий способ из рассмотренных выше.

Перейти к следующей теме:
“Как при выполнении задачи пользователем автоматически перерисовывать карту маршрута, размещенную на форме бизнес-процесса” (№ 6)

Комментарии закрыты

Цель данной публикации — познакомить начинающих программистов с бизнес-процессами в рамках экзамена 1С: Специалист по платформе 8. На примере решения одной задачи, похожей на экзаменационную,  вы поймете как нужно решать подобные задачи, какие требования на экзамене предъявляются к бизнес-процессам, увидите связи и взаимодействия между объектами системы, одним словом — быстро познакомитесь с механизмами бизнес-процессов.

Сразу хочу предупредить: эта публикация не сможет дать вам в полном объеме необходимый багаж знаний! Автор не ставит перед собой такую цель, да и это просто физически невозможно. Для более глубого изучения платформы хочу порекомендовать вам посетить курсы (очные или дистанционные) фирмы 1С или фирм-партнёров:

Учебный центр №1

http://www.1c.ru/rus/partners/training/uc1/courses.jsp?type=44

Учебный центр №3

http://www.1c-uc3.ru/dist.html

И прочитать следующие книги:

Радченко М. «Практическое пособие разработчика»

Хрусталева Е.Ю., Кухлевский Д.С., Козырев Д.В., Габец А.П. «Реализация прикладных задач в системе 1С Предприятие 8.2».

Начнём:

0. Условия задачи. См. рис-1.

1. Создаем подсистему БизнесПроцессы (одно из требований экзамена, более подробно можно ознакомиться здесь: //infostart.ru/public/126813/).

2. Создаем роль Администратор, чтобы можно было завести пользователей в систему. Устанавливаем все права и флаг — «Устанавливать права для новых объектов». Пользователи заводятся для того, чтобы определить кто вошел в систему, и нужно ли ему назначать задачу.

3. Добавляем пользователей, штук 5-6. Открываем Список пользователей, и копируем в него из предопределенных элементов справочника ФизическиеЛица. Делается это очень быстро.

4. Добавляем новый параметр сеанса – ТекущийПользователь. Далее в модуле сеанса определяем пользователя: ищем его в справочнике ФизическиеЛица, если не нашли — создаем его в этом справочнике. Таким образом однозначно будет известно кто зашел в программу.

5. Создаем Задачу. С Задачей должен быть связан регистр сведений РегистрАдресации, добавляем в него нужные реквизиты в зависимости от условий задачи. То есть какие реквизиты есть в регистре — такие же будут и в задаче. Добавьте справочник Должности и предопределенные элементы справочника. Определить какие реквизиты добавить в РС РегистрАдресации просто: однозначно Исполнитель (кто будет выполнять задачу), и Подразделение или Должность (смотрите что требуется в условии задачи). Не забудьте добавить в Задачу реквизиты, у пользователя должна быть возможность выбрать какой будет вид оплаты.

6. Создаем бизнес-процесс (БП). У БП делаем основную форму (чтобы поместить кнопку и карту), рисуем карту маршрута на последней закладке, и добавляем кнопку «Обновить карту» (из требований к экзамену). По этой кнопке и при создании на сервере карта маршрута должна обновляться. На карте определяете как будут формироваться задача на конкретном этапе: по исполнителю (Сидоров), либо по конкретной должности (например для любого менеджера, в нашей задаче это не требуется), либо по подразделению и должности (например для любого бухгалтера отдела Бухгалтерия). Флаг «Групповая» ставится если надо создать несколько задач (одновременно), например для каждого кассира (в нашей задаче не требуется). Флаг «Групповая» ставится в св-вах Точки действия (если не видите — отключите кнопку «Показывать только важные» в свойствах Точки действия).

7. Для быстрой смены пользователя (и быстрого тестирования): в справочник ФизическиеЛица в форме списка добавьте кнопку меняющую пользователя. Тратите 2 минуты и получаете нормальное тестирование.

8. Заполнить регистр адресации. При этом можно какого-нибудь пользователя задвоить, сделать и кассиром и бухгалтером например.

9. Заполнение регистра — очень важный момент (см. рис-2):
Любой сотрудник отдела Закупок — в точке действия ставите подразделение Отдел закупок, в регистре адресации должности не заполняете (на рис. это Бельдыев и Васина).

Любой бухгалтер из бухгалтерии —  в точке действия ставите подразделение Бухгалтерия и должность — Бухгалтер, в регистре адресации вводите нескольких сотрудников с подразделением Бухгалтерия, и должностью Бухгалтер. (на рис. это Головлев).

Тоже самое с кассирами (на рис. это Головлев и Жупиков).

Только Сидоров. Заполняете Сидорова в точке действия на карте маршрута, а в регистре адресации добавляете Сидоров без должности, без подразделения и т.д.

10. Видимость задач: создаете для Задачи форму списка, делаете ее не основной, помещаете ее на рабочий стол, в св-ве Списка этой формы в Основной таблице ставите Задача.Задача.ЗадачиПоИсполнителю, в Настройке списка (там же) ставите Отбор-Выполнена Равно Ложь. На рабочем столе пользователь будет видеть только свои задачи, невыполненные, а при нажатии на Задачи в панели навигации, любому пользователю будут открываться все имеющиеся в системе задачи (требования к экзамену).

11. Тестирование. В режиме 1С:Предприятие создаете БП, жмете Старт, и далее кнопку Обновить карту. На карте должна стать активной точка для отдела Закупок. То есть Бельдыев и Васина должны увидеть задачу у себя на рабочем столе. Закройте форму бизнес-процесса. Зайдите в справочник ФизическиеЛица и поменяйте кнопкой текущего пользователя, например на Васину. Теперь зайдите на Рабочий стол, видно Задачу? Если да, то всё правильно. А теперь поменяйте текущего пользователя на Головлева и снова зайдите на рабочий стол. А теперь видно Задачу? Не должно быть видно… Теперь зайдите в полный список задач и выполните задачу поставив оплату наличными. Теперь у нас должны увидеть задачу на рабочем столе кассиры — Головлев и Жупиков (остальные видеть не должны). Выполните задачу и зайдите в созданный бизнес-процесс. Посмотрите какая сейчас активная точка, должна создаться задача для Сидорова. После завершения задачи Сидоровым, бизнес-процесс должен завершиться… Ну и так далее 🙂

Общий перечень требований к экзамену и рассмотрение типичных ошибок.

СПР для экзамена 1С: Специалист.

Желаю удачи!

Задачи по Бизнес-процессам 4.1-4.10

Все задачи решаются по одному шаблону, поэтому ограничусь описанием решения задачи 4.3.
Остальные решаются аналогично. Пункты можно менять местами

1) Добавляем подсистему
БизнесПроцесс 

2) Добавляем
справочник Должности. 
Добавляем 2
предопределенные должности: Кладовщик и Менеджер.

3) В регистр сведений адресации добавляем 2
измерения: Подразделение, Должность. 


4) Добавляем
задачу: Задача1

5) Добавляем
параметр сеанса «Текущий пользователь»  тип—  справочникссылка. физические лица

Чтобы его заполнить в модуле
сеанса добавляем код:



Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
ТекПользователь =Справочники.ФизическиеЛица.НайтиПоНаименованию(ИмяПользователя());
Если  ТекПользователь.Пустая() тогда
НовПользователь =Справочники.ФизическиеЛица.СоздатьЭлемент();
НовПользователь.Наименование =ИмяПользователя();
НовПользователь.Записать(); 
ТекПользователь= НовПользователь;
КонецЕсли;
ПараметрыСеанса.ТекущийИсполнитель=ТекПользователь;
КонецПроцедуры


6) Указываем у задачи регистр
адресации, добавляем реквизиты адресации: Исполнитель, Должность,
Подразделение. У каждого реквизиты указываем в свойствах на закладке
адресации связь с регистром.






Указываем у
задачи Основной реквизит адресации — Исполнитель

Указываем у
задачи Текущий исполнитель — параметр сеанса ТекущийПользователь

7) Добавляем БизнесПроцесс —
БизнесПроцесс1. БП связываем с задачей. 

У БП создаем форму. На форму размещаем карту и команду»Обновить». 

 В модуле формы
создаем создаем процедуры:



&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ОбновитьСхему()
КонецПроцедуры
           
&НаСервере
Процедура ОбновитьСхему()
    БизнесПроцесс = РеквизитФормыВЗначение(«Объект»);
Карта = БизнесПроцесс.ПолучитьКартуМаршрута();
КонецПроцедуры


&НаКлиенте
Процедура Обновить(Команда)
ОбновитьСхему()
КонецПроцедуры

Увы кнопка «Обновить» не работает в текущей версии платформы по причине ошибки в платформе, поэтому необходимо заново открывать форму чтобы увидеть состояние процесса.

8)У БП Продажи рисуем карту
маршрута и указываем параметры на закладке адресация согласно заданию.

9)Создаем
роль «ПолныеПрава» и  д
обавляем
пользователей для отладки

Добавляем
форму списка задачи(не основная) . Указываем для динамического списка
источник по исполнителю. В параметрах списка указываем отбор.


10) Размещаем
созданную форму на рабочий стол.

11) В режиме
предприятие заполняем регистр адресации. Это самый важный этап.

Понравилась статья? Поделить с друзьями:
  • Ак барс банк офисы в казани адреса время работы
  • Алброс судоходная компания вакансии плавсостава
  • 2 боткинский проезд 5 к 28 как проехать в метро
  • Алгоритм действий консультанта сетевой компании
  • Академия наук республики башкортостан реквизиты