Ключевые слова: задачи, адресация
Задачи в системе 1С:Предприятие являются аналогами документов, но в отличие от документов призваны не регистрировать уже совершенные операции, а наоборот, планировать действия пользователей, планировать операции.
Главным отличием задач от документов является понятие адресации.
Под адресацией обычно подразумевают объект, которому поручается конкретная задача. Адресация может быть как жесткой, в этом случае объект адресации назначается при ее формировании, так и произвольной, в этом случае задаче назначается не конкретный объект адресации, а, например, его роль, должность или иное значение, косвенно обозначающее круг объектов адресации, для которых формируется задача.
Приведем простой пример: в качестве объектов адресации будем понимать сотрудников предприятия, работающих с программой. Если при создании задачи нам заранее известно, для какого сотрудника она создается, то этот сотрудник указывается в ее свойствах. Подобное назначение объекта адресации и называют жестким. Если же при формировании задачи конкретный сотрудник, по каким либо причинам не может быть указан, но все равно известно, что эту задачу должен выполнить кто-либо из отдела «Отдел продаж», то в качестве объекта адресации указывают как раз этот отдел. То, какие сотрудники в итоге получат это задание, будет зависеть от того, кто в каком отделе работает.
Для описания правил адресации используют регистр сведений. Для назначения адресации система ориентируется на измерения этого регистра, ресурсы и реквизиты самой системой для адресации не используются, хотя и могут присутствовать в регистре. Одним из измерений регистра должно быть измерение, хранящее конкретных исполнителей, дополнительные измерения будут использоваться для произвольной адресации. На сегодняшний момент на уровне системы не поддерживается периодика адресации. То есть регистр сведений, хранящий правила адресации, должен быть не периодическим.
По какому принципу для задач назначается исполнитель? Если в качестве исполнителя задачи при ее формировании указывается конкретный объект адресации (сотрудник, пользователь системы), то в любом случае назначен будет он. Если конкретный исполнитель не указан, то вступает в действие механизм произвольной адресации. Система ориентируется на соответствие измерений регистра. Если в регистре адресации два измерения (одно для исполнителя, и еще одно для какого-либо признака адресации – например, подразделение), то задача будет назначена всем исполнителям, для которых в регистре есть записи с дополнительным признаком адресации. Поясним вышесказанное в виде таблицы.
Исполнитель | Подразделение |
Иванов | Администрация |
Петров | Администрация |
Сидоров | Отдел продаж |
Иванюхин | Отдел рекламации |
Если задаче будет назначено в качестве признака адресации подразделение «Администрация», то задача автоматически станет активной у двух исполнителей — «Иванов» и «Петров». Так как задача будет адресована сразу двум исполнителям, узнать заранее, кто действительно стал ее исполнителем невозможно.
Однако если задаче не назначить ни исполнителя, ни подразделение, то задача не будет назначена системой вообще никому.
Для того чтобы система назначила задачу без признаков адресации какому-либо из исполнителей, нам необходимо в регистре адресации иметь исполнителей без указания соответствия конкретному подразделению.
Исполнитель | Подразделение |
Иванов | Администрация |
Петров | Администрация |
Сидоров | Отдел продаж |
Иванюхин | Отдел рекламации |
Петров |
В таблице выше обозначен пример правил адресации, когда система сможет назначить исполнителя «Петров» для тех задач, у которых не указаны признаки адресации вообще.
Приведем пример правил адресации для решения задач работы с клиентами. Важно иметь возможность назначать задачи исполнителям, которые работают с конкретными контрагентами и их контактными лицами.
Исполнитель | Контрагент | Контактное лицо |
Иванов | Мир | Директор |
Петров | Мир | Кладовщик |
Иванов | Мир | |
Петров | Свет | Менеджер по рекламе |
Петров | Свет | |
Иванов | Стиль | Директор |
При указанных правилах адресации Петров будет назначен исполнителем задач по «ЗАО Мир» либо при указанном контактном лице «Директор», либо если контактное лицо указано не будет. По работе с контактным лицом «Кладовщик» исполнителем будет назначен «Петров».
Исполнителем задач по «ООО Свет» в любом случае будет назначен «Петров».
А вот задачи по «ООО Стиль» будут назначены исполнителю «Петров» только в том случае, если будет указано контактное лицо «Директор». В том случае если контактное лицо указано не будет, исполнителя система не назначит.
Так как задачи создаются ради их назначения конкретным исполнителям, работающим с системой, необходимо своевременно оповещать пользователя о появлении новой задачи. Для этого система должна «знать» вошедшего пользователя. Ссылка на текущего пользователя должна храниться в параметре сеанса, значение которого необходимо инициализировать при старте системы. Кроме этого, так как в регистре адресации может быть несколько измерений, системе важно указать в котором из них необходимо искать пользователя-исполнителя. Представим взаимосвязь объектов в виде схемы.
Естественно, что кроме ссылок на параметр сеанса и регистр адресации объект «Задача» обладает еще некоторыми свойствами. Схожие с документами свойства «Номер» и «Дата» несут ту же смысловую нагрузку, что и у документов. Кроме этих реквизитов задачи наделены свойством «Наименование», которого нет у документов. Это свойство характерно для задач как для объекта системы управления временем (например, в Microsoft Outlook задачи наделены свойством «Тема», что по своему смыслу не отличается от «Наименования» в задачах 1С).
Следует обратить внимание, что на уровне системы не предопределен реквизит, хранящий ссылку на исполнителя задачи (основной реквизит адресации). Это обусловлено тем, что заранее нельзя предположить тип значения этого реквизита и то, как его предпочтет назвать разработчик.
Павел Чистов aka GROOVY
Институт технологий сопровождения.
1С:Центр сертифицированного обучения, Санкт-Петербург.
www.its-spb.ru
its(at)its-spb.ru
Задачи в системе 1С:Предприятие являются аналогами документов, но в отличие от документов призваны не регистрировать уже совершенные операции, а наоборот, планировать действия пользователей, планировать операции.
Главным отличием задач от документов является понятие адресации .
Под адресацией обычно подразумевают объект, которому поручается конкретная задача. Адресация может быть как жесткой, в этом случае объект адресации назначается при ее формировании, так и произвольной, в этом случае задаче назначается не конкретный объект адресации, а, например, его роль, должность или иное значение, косвенно обозначающее круг объектов адресации, для которых формируется задача.
Приведем простой пример: в качестве объектов адресации будем понимать сотрудников предприятия, работающих с программой. Если при создании задачи нам заранее известно, для какого сотрудника она создается, то этот сотрудник указывается в ее свойствах. Подобное назначение объекта адресации и называют жестким. Если же при формировании задачи конкретный сотрудник, по каким либо причинам не может быть указан, но все равно известно, что эту задачу должен выполнить кто-либо из отдела «Отдел продаж», то в качестве объекта адресации указывают как раз этот отдел. То, какие сотрудники в итоге получат это задание, будет зависеть от того, кто в каком отделе работает.
Для описания правил адресации используют регистр сведений. Для назначения адресации система ориентируется на измерения этого регистра, ресурсы и реквизиты самой системой для адресации не используются, хотя и могут присутствовать в регистре. Одним из измерений регистра должно быть измерение, хранящее конкретных исполнителей, дополнительные измерения будут использоваться для произвольной адресации. На сегодняшний момент на уровне системы не поддерживается периодика адресации. То есть регистр сведений, хранящий правила адресации, должен быть не периодическим.
По какому принципу для задач назначается исполнитель? Если в качестве исполнителя задачи при ее формировании указывается конкретный объект адресации (сотрудник, пользователь системы), то в любом случае назначен будет он. Если конкретный исполнитель не указан, то вступает в действие механизм произвольной адресации. Система ориентируется на соответствие измерений регистра. Если в регистре адресации два измерения (одно для исполнителя, и еще одно для какого-либо признака адресации – например, подразделение), то задача будет назначена всем исполнителям, для которых в регистре есть записи с дополнительным признаком адресации. Поясним вышесказанное в виде таблицы.
Исполнитель | Подразделение |
Иванов | Администрация |
Петров | Администрация |
Сидоров | Отдел продаж |
Иванюхин | Отдел рекламации |
Если задаче будет назначено в качестве признака адресации подразделение «Администрация», то задача автоматически станет активной у двух исполнителей — «Иванов» и «Петров». Так как задача будет адресована сразу двум исполнителям, узнать заранее, кто действительно стал ее исполнителем невозможно.
Однако если задаче не назначить ни исполнителя, ни подразделение, то задача не будет назначена системой вообще никому.
Для того чтобы система назначила задачу без признаков адресации какому-либо из исполнителей, нам необходимо в регистре адресации иметь исполнителей без указания соответствия конкретному подразделению.
Исполнитель | Подразделение |
Иванов | Администрация |
Петров | Администрация |
Сидоров | Отдел продаж |
Иванюхин | Отдел рекламации |
Петров |
В таблице выше обозначен пример правил адресации, когда система сможет назначить исполнителя «Петров» для тех задач, у которых не указаны признаки адресации вообще.
Приведем пример правил адресации для решения задач работы с клиентами. Важно иметь возможность назначать задачи исполнителям, которые работают с конкретными контрагентами и их контактными лицами.
Исполнитель | Контрагент | Контактное лицо |
Иванов | Мир | Директор |
Петров | Мир | Кладовщик |
Иванов | Мир | |
Петров | Свет | Менеджер по рекламе |
Петров | Свет | |
Иванов | Стиль | Директор |
При указанных правилах адресации Петров будет назначен исполнителем задач по «ЗАО Мир» либо при указанном контактном лице «Директор», либо если контактное лицо указано не будет. По работе с контактным лицом «Кладовщик» исполнителем будет назначен «Петров».
Исполнителем задач по «ООО Свет» в любом случае будет назначен «Петров».
А вот задачи по «ООО Стиль» будут назначены исполнителю «Петров» только в том случае, если будет указано контактное лицо «Директор». В том случае если контактное лицо указано не будет, исполнителя система не назначит.
Так как задачи создаются ради их назначения конкретным исполнителям, работающим с системой, необходимо своевременно оповещать пользователя о появлении новой задачи. Для этого система должна «знать» вошедшего пользователя. Ссылка на текущего пользователя должна храниться в параметре сеанса, значение которого необходимо инициализировать при старте системы. Кроме этого, так как в регистре адресации может быть несколько измерений, системе важно указать в котором из них необходимо искать пользователя-исполнителя. Представим взаимосвязь объектов в виде схемы.
Естественно, что кроме ссылок на параметр сеанса и регистр адресации объект «Задача» обладает еще некоторыми свойствами. Схожие с документами свойства «Номер» и «Дата» несут ту же смысловую нагрузку, что и у документов. Кроме этих реквизитов задачи наделены свойством «Наименование», которого нет у документов. Это свойство характерно для задач как для объекта системы управления временем (например, в Microsoft Outlook задачи наделены свойством «Тема», что по своему смыслу не отличается от «Наименования» в задачах 1С).
Следует обратить внимание, что на уровне системы не предопределен реквизит, хранящий ссылку на исполнителя задачи (основной реквизит адресации). Это обусловлено тем, что заранее нельзя предположить тип значения этого реквизита и то, как его предпочтет назвать разработчик.
Как использовать ролевую маршрутизацию (адресацию) задач?
Как сказано выше, если в качестве исполнителя задачи указан конкретный пользователь, то в тех случая, когда его нет на месте, исполнение задачи останавливается до его возвращения или требует вмешательства администраторов системы. Для исключения таких ситуаций на предприятии можно разработать систему ролей и назначить на каждую роль одного или нескольких исполнителей.
Создать роль можно в справочнике Роли исполнителей: Управление процессами — Роли исполнителей.
Если на роль не назначен ни один исполнитель, то роль отображается в справочнике красным шрифтом.
Роль может использоваться с объектами адресации. Например, в качестве объектов адресации можно указать организацию и подразделение. Тогда исполнителя этой роли следует назначать также для каждого объекта адресации. Например, используя роль «Юрист» с основным объектом адресации «Организации», можно назначить сотрудника Мишина на роль «Юрист» по организации ООО «Меркурий», а сотрудника Кузнецова на роль «Юрист» по организации НПЦ «Меркурий проект».
Соответствие пользователей ролям задается в справочнике Роли исполнителей: Управление процессами — Роли исполнителей.
Один пользователь может быть исполнителем нескольких ролей.
Если задача адресована на роль, то она будет доступна всем исполнителям этой роли до тех пор, пока кто-то из исполнителей не примет задачу к исполнению или не выполнит ее. При назначении на роль нового исполнителя, ему также будут доступны все не принятые к исполнению и не выполненные задачи.
Если в процессе используется ролевая адресация, то формируется только одна задача для роли, которая доступна всем исполнителям этой роли до момента принятия ее к исполнению либо выполнения любым из исполнителей.
Реквизиты адресации 1с задача что это
Задача 1С – это объект 1С. Задача 1С является информационным сообщением (напоминалкой) для пользователя о необходимости выполнить определенную «задачу».
Система или начальник или «кто-то» ставит задачу 1С пользователю (т.е. создает задачу 1С). Пользователь видит задачу 1С и что ему надо сделать. Когда он это сделал, он отмечает, что задача 1С выполнена и соответственно больше не видит ее в списке.
Как это работает?
Для выполнения этих целей у объекта Задача 1С есть следующие свойства:
1) Наименование
Краткое описание задачи 1С для отображения в списках.
2) Галочка «Выполнена»
Определяет выполнена ли задача 1С или нет.
Кстати, галочку можно снять и тогда задача 1С снова становится невыполненной.
Адресация задач 1С – это автоматическое определение платформой 1С кому эту задачу 1С нужно показывать в списке.
Простая адресация
Обычно одна задача 1С предназначена для выполнения одному конкретному сотруднику. Значит список задач 1С должен фильтроваться по сотруднику. Тогда адресат – конкретное ФИО.
На закладке Адресация в объекте Задача 1С в конфигураторе необходимо:
- Добавить реквизит адресации, традиционно он называется Исполнитель и имеет тип – Справочник.Пользователи
- Указать в качестве основного реквизита адресации данный реквизит
- Создать параметр сеанса ТекущийПользователь, обычно он есть во всех типовых конфигурациях
- Указать в качестве текущего исполнителя – данный параметр сеанса.
При входе в систему в параметр сеанса нужно записывать текущего пользователя и ему в списке будут отображаться задачи 1С, у которых реквизит адресации Исполнитель установлен в такое же значение.
С помощью запроса такие задачи 1С можно отобрать не из таблицы Задача.ИмяЗадачи, а из доп. таблицы Задача.ИмяЗадачи.ЗадачиПоИсполнителю.
Не забудьте в форме списка задач 1С установить свойство Отображение задач 1С – По пользователю.
Сложная адресация
Усложним ситуацию – если одна задача 1С может быть выполнена любым сотрудником из определенной группы лиц. Тогда адресат – эта группа лиц (например, отдел или подразделение).
Для этого необходимо:
- Создать регистр сведений (не периодический)
- Добавить в этот регистр сведений измерение с таким же именем и типом, как основной реквизит адресации в задаче
- Добавить с одним и тем же наименованием другие варианты адресации
o В этот регистр добавить их как измерения
o В эту задачу 1С добавить их как реквизиты адресации.
Например, измерение и реквизит адресации Должность, Подразделение.
- Указать в задаче 1С этот регистр в свойстве Адресация на одноименной закладке.
После этих манипуляций пользователь увидит в списке следующие задачи 1С:
- Если в задаче 1С указан исполнитель, то по исполнителю (т.е. простая адресация осталась)
- Если в задаче 1С не указан исполнитель, то:
o В регистре адресации будут отобраны все строки, в которых все колонки совпадают с заполнением с реквизитами адресации (кроме исполнителя)
o Будут взяты исполнители из этих отобранных строк
o Задача 1С будет видна всем этим исполнителям.
При сложной адресации нужно понимать, что начать выполнять ее могут несколько человек, а установит галочку Выполнена – первый. Поэтому нужно продумывать самостоятельно механизм «Один из пользователей взял задачу 1С на исполнение».
Задача 1С – это объект 1С. Задача 1С является информационным сообщением (напоминалкой) для пользователя о необходимости выполнить определенную «задачу».
Система или начальник или «кто-то» ставит задачу 1С пользователю (т.е. создает задачу 1С). Пользователь видит задачу 1С и что ему надо сделать. Когда он это сделал, он отмечает, что задача 1С выполнена и соответственно больше не видит ее в списке.
Как это работает?
Задачи 1С
Для выполнения этих целей у объекта Задача 1С есть следующие свойства:
1) Наименование
Краткое описание задачи 1С для отображения в списках.
2) Галочка «Выполнена»
Определяет выполнена ли задача 1С или нет.
Кстати, галочку можно снять и тогда задача 1С снова становится невыполненной.
Адресация 1С
Адресация задач 1С – это автоматическое определение платформой 1С кому эту задачу 1С нужно показывать в списке.
Простая адресация
Обычно одна задача 1С предназначена для выполнения одному конкретному сотруднику. Значит список задач 1С должен фильтроваться по сотруднику. Тогда адресат – конкретное ФИО.
На закладке Адресация в объекте Задача 1С в конфигураторе необходимо:
- Добавить реквизит адресации, традиционно он называется Исполнитель и имеет тип – Справочник.Пользователи
- Указать в качестве основного реквизита адресации данный реквизит
- Создать параметр сеанса ТекущийПользователь, обычно он есть во всех типовых конфигурациях
- Указать в качестве текущего исполнителя – данный параметр сеанса.
При входе в систему в параметр сеанса нужно записывать текущего пользователя и ему в списке будут отображаться задачи 1С, у которых реквизит адресации Исполнитель установлен в такое же значение.
С помощью запроса такие задачи 1С можно отобрать не из таблицы Задача.ИмяЗадачи, а из доп. таблицы Задача.ИмяЗадачи.ЗадачиПоИсполнителю.
Не забудьте в форме списка задач 1С установить свойство Отображение задач 1С – По пользователю.
Сложная адресация
Усложним ситуацию – если одна задача 1С может быть выполнена любым сотрудником из определенной группы лиц. Тогда адресат – эта группа лиц (например, отдел или подразделение).
Для этого необходимо:
- Создать регистр сведений (не периодический)
- Добавить в этот регистр сведений измерение с таким же именем и типом, как основной реквизит адресации в задаче
- Добавить с одним и тем же наименованием другие варианты адресации
o В этот регистр добавить их как измерения
o В эту задачу 1С добавить их как реквизиты адресации.
Например, измерение и реквизит адресации Должность, Подразделение.
- Указать в задаче 1С этот регистр в свойстве Адресация на одноименной закладке.
После этих манипуляций пользователь увидит в списке следующие задачи 1С:
- Если в задаче 1С указан исполнитель, то по исполнителю (т.е. простая адресация осталась)
- Если в задаче 1С не указан исполнитель, то:
o В регистре адресации будут отобраны все строки, в которых все колонки совпадают с заполнением с реквизитами адресации (кроме исполнителя)
o Будут взяты исполнители из этих отобранных строк
o Задача 1С будет видна всем этим исполнителям.
При сложной адресации нужно понимать, что начать выполнять ее могут несколько человек, а установит галочку Выполнена – первый. Поэтому нужно продумывать самостоятельно механизм «Один из пользователей взял задачу 1С на исполнение».
Проголосовать за этот пост:
Загрузка…
Posted in Программирование 1С Tagged Объекты 1С
В этой статье мы рассмотрим объекты «Бизнес-процессы» и «Задачи».
С одной стороны, подзадача по реализации бизнес-процессов является обязательной на Аттестации 1С:Специалист по платформе.
С другой стороны, во многих типовых решениях бизнес-процессы используются редко. Хотя фактически бизнес-процессов в конфигурациях автоматизировано множество, а сами эти объекты появились аж в 2004 году (с момента выхода «1С:Предприятие 8.0»).
Поэтому, чтобы понимать работу механизмов «Бизнес-процессов» и «Задач», недостаточно просто «подсмотреть в типовой». Возможности данных объектов нужно именно изучать.
Этим мы и займемся в данной статье. Плюс, дадим общие рекомендации по применению данного механизма в решении реальных задач.
Что такое бизнес-процессы в 1С
Безотносительно 1С бизнес-процесс – это совокупность взаимосвязанных действий, направленных на создание продукта или услуги для потребителей.
Примеры бизнес-процессов: производство вентиляторов, допродажа товаров клиента, подбор сотрудников и так далее. Причем часто бизнес-процессы можно детализировать. Например, в производстве продукции можно выделить такие бизнес-процессы, как закупка материалов, передача материалов в производство, движение материалов в производстве, выпуск продукции.
Для наглядной автоматизации бизнес-процессов в платформе «1С:Предприятие 8» существует объект «Бизнес-процесс». Он позволяет выстроить цепочку действий разных пользователей программы, которая приведет к определенному результату. Таким результатом может быть формирование отчетности, утверждение документа, заполнение карточки контрагента.
Объект «Бизнес-процесс» имеет графическое отображение, называемое картой маршрута. Это не что иное, как блок-схема, составленная из «кирпичиков»:
Как видим, бизнес-процессы в системе могут иметь ветвления, параллельное выполнение, любое количество уровней вложенности.
Вот пример бизнес-процесса «Закрытие месяца» из 1С:УПП, где встречаются практически все возможные элементы:
Рисунок 1
Продвижение по карте маршрута невозможно реализовать без вспомогательного объекта «Задача» – «двигателя» бизнес-процесса. В каждой точке действия создается одна или несколько задач, и когда все задачи текущей точки завершены, происходит переход к следующей точке карты маршрута.
Использование объектов «Бизнес-процесс» для пользователя похоже на работу с документами:
- Разные бизнес-процессы соответствуют различным действиям в системе (продажа товара, закрытие месяца, согласование заказа, …). То есть объект «Бизнес-процесс» в конфигурации определяет вид операции.
- При старте пользователем нового бизнес-процесса создается несколько экземпляров, например – продажа вентиляторов контрагенту А, продажа холодильников контрагенту Б и так далее. То есть пользователь создает любое количество объектов информационной базы для каждого бизнес-процесса.
Практический пример
Рассмотрим практический пример. Необходимо автоматизировать процесс приема сотрудника на работу из 3 последовательных этапов:
- Младший кадровик заполняет личные данные сотрудника.
- Старший кадровик оформляет приказ о приеме сотрудника в статусе «Проект».
- Расчетчик проводит приказ о приеме в статусе «Утвержден».
Каждый этап бизнес-процесса выполняет отдельный пользователь с нужными правами доступа.
Требуется отслеживать ход приема новых сотрудников, каждый пользователь должен видеть свои задачи.
В реальных задачах также нужно учитывать права доступа. Так, в описанной задаче за утверждение документов «Прием на работу» отвечает расчетчик. А при проведении документа в статусе «Утвержден» формируются движения по регистру сведений «Плановые начисления». То есть расчетчик должен иметь право записи в этот регистр.
Бизнес-процесс будем реализовывать в конфигурации, где уже имеются необходимые документы и справочники:
Рисунок 2
Выгрузку базы с этой конфигурацией можно скачать по ссылке в конце статьи.
Начнем с создания нового бизнес-процесса:
Рисунок 3
В пользовательском режиме новый бизнес-процесс будет создаваться каждый раз при приеме нового сотрудника.
Изобразим карту маршрута бизнес-процесса для поставленной задачи:
Рисунок 4
Рисунок 5
Привязку к исполнителям мы настроим позднее.
В точке условия нужно определить, работал ли принимаемый сотрудник в нашей организации ранее. Если это так, то в базе уже заведен нужный элемент справочника «Физические лица» и заполнены личные данные. Добавим в бизнес-процесс реквизит (тип Булево), который позже обработаем в точке условия (то есть считаем, что пользователь сам определяет при приеме – новый это сотрудник или нет):
Рисунок 6
Теперь, когда у нас есть схема бизнес-процесса, необходимо организовать последовательность действий и распределение этих действий по ответственным лицам.
Объект конфигурации «Задача»
За действие пользователя в каждой точке бизнес-процесса отвечает специальный объект «Задача». Он является вспомогательным объектом, но именно с его помощью выстраивается цепочка действий пользователей: в каждой точке действия карты маршрута создаются задачи для одного или нескольких пользователей. Пока текущий пользователь не завершил свою задачу (то есть не установил стандартный реквизит «Выполнена» в значение «Истина»), задачи следующей точки маршрута для других пользователей созданы не будут.
То есть именно при выполнении задач происходит движение бизнес-процесса по карте маршрута.
Для наглядности рассмотрим, как выглядит список задач в демонстрационной базе конфигурации «Документооборот 8 ПРОФ, редакция 2.1». При запуске программы от имени пользователя Федоров О.П. (директор) на начальной странице открывается список всех невыполненных задач пользователя:
Рисунок 7
Вернемся к нашей конфигурации, создадим новый объект:
Рисунок 8
Отметим, что объект «Задача» может использоваться отдельно от объекта «Бизнес-процесс», но никак не наоборот. Используемая задача указывается в настройках бизнес-процесса в конфигураторе, и будет автоматически создаваться в пользовательском режиме при переходе на следующую точку маршрута.
Свяжем бизнес-процесс с задачей:
Рисунок 9
Обратите внимание! Несмотря на то, что в разных точках бизнес-процесса могут создаваться и редактироваться различные объекты системы, тип создаваемых задач на каждом из этапов будет одинаковым. Например, для решаемой задачи будут создаваться элементы справочников “Физические лица” и “Сотрудники”, а также документы “Прием на работу”. При этом в каждой точке бизнес-процесса будут создаваться задачи “Задача исполнителя”.
Более того, в типовых решениях 1С («Документооборот», «Управление торговлей, ред. 11») в разных бизнес-процессах используется один и тот же тип задач, чаще всего он называется «Задача исполнителя». Это делается для того, чтобы пользователь мог видеть общий список своих задач, относящихся к разным видам бизнес-процессов, как в примере выше из «Документооборота».
Адресация задач
Объект «Задача» предоставляет возможность использования вспомогательного регистра сведений, который обеспечивает распределение задач по исполнителям. Этот регистр называется регистром адресации.
Измерениями регистра адресации должны выступать те значения, по которым возможно однозначно определить исполнителя задачи. При этом в качестве одного из измерений чаще всего используется справочник «Пользователи», так как с помощью него удобно связать текущего пользователя программы с его задачами.
Однако использование справочника «Пользователи» как единственного измерения адресации на практике неудобно: например, конкретный пользователь может заболеть или сменить место работы, тогда придется перенастраивать адресацию задач. Таким образом, задачи удобнее привязывать не напрямую к пользователю, а к набору ролей, и одного измерения адресации чаще всего недостаточно.
Поэтому для нашего примера создадим в регистре адресации 2 измерения:
Рисунок 10
Здесь используется справочник «Роли исполнителей», который имеет следующие предопределенные элементы:
Рисунок 11
Создадим у задачи реквизиты адресации тех же типов, что и измерения регистра сведений:
Рисунок 12
Укажем для задачи регистр адресации. Для реквизитов адресации задачи настроим соответствие измерениям выбранного регистра сведений:
Рисунок 13
Теперь в карте маршрута бизнес-процесса доступна настройка адресации. Укажем для каждой точки действия нужную роль исполнителя:
Рисунок 14
Чтобы обеспечить ветвление в точке условия, требуется обработчик проверки условия – функция в модуле объекта бизнес-процесса, которая возвращает значение Ложь или Истина. Создадим такой обработчик для точки маршрута ПовторныйПрием:
Рисунок 15
Процедура ПовторныйПриемПроверкаУсловия(ТочкаМаршрутаБизнесПроцесса, Результат) Результат = Не ЭтоПервичныйПрием; КонецПроцедуры
Чтобы знать, от имени какого пользователя запущен текущий сеанс, нам потребуется параметр сеанса. Создадим его:
Рисунок 16
Укажем, что созданный параметр сеанса будет хранить текущего исполнителя задач, а также укажем основной реквизит адресации для задачи:
Рисунок 17
Сделаем так, чтобы при запуске «1С:Предприятия» в параметр сеанса ТекущийПользователь подбиралось нужное значение из справочника «Пользователи». Соответствие будем устанавливать по имени, и если элемент справочника «Пользователи» с нужным именем не найден, то создадим его. Код функции УстановкаПараметровСеанса() в модуле сеанса:
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры) ИмяПольз = ИмяПользователя(); ТекПользователь = Справочники.Пользователи.НайтиПоНаименованию(ИмяПольз, Истина); Если Не ЗначениеЗаполнено(ТекПользователь) Тогда НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент(); НовыйПользователь.Наименование = ИмяПольз; НовыйПользователь.Код = ИмяПольз; НовыйПользователь.Записать(); ТекПользователь = НовыйПользователь.Ссылка; КонецЕсли; ПараметрыСеанса.ТекущийПользователь = ТекПользователь; КонецПроцедуры
После того, как все нужные элементы справочника «Пользователи» будут созданы, заполним регистр адресации в режиме «1С:Предприятие»:
Рисунок 18
Обратите внимание! Настройка адресации бизнес-процесса с использованием справочника (в нашем случае это справочник «Роли исполнителей») подразумевает использование предопределенных элементов этого справочника, только они доступны для выбора в точке действия бизнес-процесса.
Отображение задач по исполнителям
Теперь поработаем над формой списка задач. Конечно, пользователю хотелось бы, чтобы по умолчанию в списке задач отображались только его задачи. Для этого создадим форму списка задачи «Задача исполнителя» и в настройках основного реквизита Список поменяем основную таблицу на Задача.ЗадачаИсполнителя.ЗадачиПоИсполнителю:
Рисунок 19
Также можно оставить только еще не выполненные задачи, добавив в настройку списка соответствующий отбор:
Рисунок 20
Теперь уже можно попробовать создать экземпляр бизнес-процесса, задачи будут создаваться у нужных пользователей. Для этого под любым пользователем, имеющим права на запись бизнес-процесса «Прием нового сотрудника» (например, под Ивановой А.И.), из раздела «Кадровый учет → Прием нового сотрудника» создаем новый экземпляр бизнес-процесса и стартуем его:
Рисунок 21
Рисунок 22
После этого у пользователя Петрова В.П. в списке задач (Кадровый учет → Задача исполнителя) появится новая задача:
Рисунок 23
Визуализация хода бизнес-процесса
Пока функциональность нашей разработки почти на нуле – только формируются задачи и пользователи вручную отмечают их исполнение.
Для начала хотелось бы иметь возможность отслеживать состояние бизнес-процесса, то есть в какой точке он сейчас находится. Для этого создадим форму бизнес-процесса и добавим на нее реквизит КартаБП типа ГрафическаяСхема, а также выведем элемент управления на форму:
Рисунок 24
Затем в модуле формы бизнес-процесса создадим процедуру ОбновитьКартуМаршрута:
&НаСервере Процедура ОбновитьКартуМаршрута() ОбъектБП = РеквизитФормыВЗначение("Объект"); КартаБП = ОбъектБП.ПолучитьКартуМаршрута(); КонецПроцедуры
Вызовем эту процедуру в обработчике события ПриЧтенииНаСервере формы бизнес-процесса:
&НаСервере Процедура ПриЧтенииНаСервере(ТекущийОбъект) ОбновитьКартуМаршрута(); КонецПроцедуры
После этого при открытии формы бизнес-процесса на карте маршрута будет отмечаться текущее положение:
Рисунок 25
Мы используем обработчик ПриЧтенииНаСервере, т.к. он вызывается самым первым в процессе открытия управляемой формы объекта и выполняется только для уже записанных объектов.
Использовать обработчик ПриСозданииНаСервере для выполнения кода также допустимо, но данный обработчик вызывается и для тех объектов, которые еще не записаны. В нашем случае это приведет к выполнению лишних действий, ведь вновь создаваемый бизнес-процесс еще не стартован, а значит, он всегда находится в своей начальной точке.
Сделаем так, чтобы при нажатии кнопки «Старт» на форме бизнес-процесса карта маршрута обновлялась. Для этого вызовем ту же процедуру ОбновитьКартуМаршрута в обработчике ПослеЗаписиНаСервере:
&НаСервере Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) ОбновитьКартуМаршрута(); КонецПроцедуры
В таком виде задача может считаться решенной в рамках подготовки к экзамену «1С:Специалист» по платформе. Но мы пойдем немного дальше.
События задач и точек действия бизнес-процессов
Для начала добавим автоматическую запись исполнителя в задачу при ее выполнении, чтобы в будущем можно было отследить, кем именно она была выполнена. Ведь младших кадровиков может быть несколько – баба Нюра и баба Катя. До момента выполнения задачи она будет отображаться в списках всех потенциальных исполнителей.
Итак, добавим в модуль объекта ЗадачаИсполнителя стандартный обработчик ПередВыполнением со следующим кодом:
Процедура ПередВыполнением(Отказ) Исполнитель = ПараметрыСеанса.ТекущийПользователь; КонецПроцедуры
Теперь добавим в бизнес-процесс реквизиты, которые позволят хранить информацию о выполняемых действиях:
Рисунок 26
Поработаем и с задачей. Выведем на форму задачи ссылку на родительский бизнес-процесс и его реквизиты:
Рисунок 27
В наименовании задачи было бы неплохо видеть не только название точки маршрута, но и ФИО человека, которого требуется принять на работу. Для этого в модуле объекта бизнес-процесса определим процедуру УстановитьНаименованиеЗадачи, и будем вызывать ее при создании задач:
Процедура УстановитьНаименованиеЗадачи(ТочкаМаршрутаБизнесПроцесса, Задача) Задача.Наименование = ТочкаМаршрутаБизнесПроцесса.НаименованиеЗадачи + " " + СокрЛП(ФизЛицо.Наименование); КонецПроцедуры Процедура ОбщаяПриСозданииЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, Отказ) Для каждого НоваяЗадача Из ФормируемыеЗадачи Цикл УстановитьНаименованиеЗадачи(ТочкаМаршрутаБизнесПроцесса, НоваяЗадача); КонецЦикла; КонецПроцедуры
Процедуру ОбщаяПриСозданииЗадач привяжем к каждой точке маршрута бизнес-процесса. Это можно сделать через карту маршрута:
Рисунок 28
На каждой точке маршрута можно задавать отдельные обработчики событий, если требуется выполнять различные действия.
На этапе выполнения задачи добавим контроль над пользователем со стороны системы: не будем позволять отмечать задачу как выполненную, если необходимые данные не внесены. Для этого в модуль объекта бизнес-процесса добавим функцию ПроверитьВыполнениеЗадачи, которую будем вызывать в обработчике ОбщаяПередВыполнением в каждой точке маршрута (привязка осуществляется также через карту маршрута):
Функция ПроверитьВыполнениеЗадачи(ТочкаМаршрутаБизнесПроцесса, Задача) БП = Задача.БизнесПроцесс; Результат = Ложь; Если ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.ПриемНовогоСотрудника.ТочкиМаршрута.ВводПервичныхДанныхФизлица Тогда Если ЗначениеЗаполнено(БП.ФизЛицо) И ЗначениеЗаполнено(БП.Сотрудник) Тогда Результат = ЗначениеЗаполнено(БП.ФизЛицо.ДатаРождения) И ЗначениеЗаполнено(БП.ФизЛицо.Пол); КонецЕсли; ИначеЕсли ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.ПриемНовогоСотрудника.ТочкиМаршрута.ВводПриемаНаРаботу Тогда Результат = ЗначениеЗаполнено(БП.ПриемНаРаботу); ИначеЕсли ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.ПриемНовогоСотрудника.ТочкиМаршрута.УтверждениеПриемаНаРаботу Тогда ДокПрием = БП.ПриемНаРаботу; Результат = ЗначениеЗаполнено(ДокПрием.Оклад) И ДокПрием.Статус = Перечисления.СтатусыДокументов.Утвержден; КонецЕсли; Возврат Результат; КонецФункции Процедура ОбщаяПередВыполнением(ТочкаМаршрутаБизнесПроцесса, Задача, Отказ) Если Не ПроверитьВыполнениеЗадачи(ТочкаМаршрутаБизнесПроцесса, Задача) Тогда Сообщить("Не выполнены действия, необходимые для выполнения задачи!", СтатусСообщения.Важное); Отказ = Истина; КонецЕсли; КонецПроцедуры
Готово, можно тестировать!
Подведем итоги
Мы описали только базовые приемы работы с бизнес-процессами и задачами в 1С:Предприятии 8.3. Как минимум, требуется добавить еще множество проверок введенных данных и «красивостей» на уровне форм.
Но цель статьи – показать, как можно использовать объекты системы при автоматизации бизнес-процессов.
Выгрузку базы готового примера можно скачать в конце статьи и использовать в качестве шаблона.
Есть еще множество нюансов, которые просто невозможно рассмотреть в одной статье: программное создание и выполнение задач, групповые задачи, использование вложенных бизнес-процессов, настройка ролей и прав доступа. Плюс зачастую вместо «унылой» формы задачи вызывается форма определенного объекта конфигурации – документа или справочника.
Если эти темы Вам интересны, оставляйте комментарии – и мы продолжим освещать тему бизнес-процессов.
Об авторе
Выгрузки ИБ и PDF-версия статьи для участников группы ВКонтакте
Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.
Если Вы еще не вступили в нее – сделайте это сейчас, и в блоке ниже (на этой странице) появятся ссылки на скачивание материалов.
Ссылка доступна для зарегистрированных пользователей)
Ссылка доступна для зарегистрированных пользователей)
Цель лекции: научиться автоматизировать бизнес-процессы с использованием средств 1С:Предприятие 8
5.1. Постановка задачи
В любой организации существуют некие последовательности взаимосвязанных действий, которые выполняют ее сотрудники. Например, менеджер выписывает счет покупателю, правильность этого счета и обоснованность скидок или наценок проверяет руководитель подразделения, после чего работник склада получает распоряжение отгрузить покупателю товары по счету, а работник кассы — принять от покупателя денежные средства.
Еще один пример — сотрудники некоего отдела получают от руководства фирмы поручение составить отчеты по своим участкам деятельности, после составления всех отчетов руководитель отдела получает сообщение о том, что отчеты составлены, получает их, составляет сводный отчет и передает его руководству.
Таких примеров может существовать бесчисленное множество — все зависит от каждой конкретной организации. Часто подобные явления существуют на уровне устных или письменных распоряжений, часто они даже не выделяются в особые структуры, которые принято называть бизнес-процессами, а существуют лишь благодаря естественным образом заведенному порядку вещей. Но с приходом в организации компьютерных средств обработки информации бизнес-процессы этих организаций могут быть формализованы, описаны с помощью инструментов этих компьютерных средств, и, в конечном счете, автоматизированы.
1С:Предприятие содержит специальные механизмы для реализации бизнес-процессов. С их помощью можно воссоздать в электронной форме бизнес-процесс практически любой сложности и обеспечить его функционирование.
Наша условная организация, в частности, нуждается в автоматизации следующих бизнес-процессов:
- Первый бизнес-процесс, который будет называться «Клиент», заключается в распределении клиентов по сотрудникам и в контроле за исполнением заказов и «прохождения» клиента по инстанциям организации. В нашем случае он выглядит следующим образом. Администратор салона красоты принимает заказ от клиента, пришедшего в салон или позвонившего по телефону. Клиент называет время, когда он хотел бы быть обслужен и мастера. Администратор передает информацию о клиенте определенному сотруднику — мастеру. Когда мастер выполнит заказанные клиентом работы, он передает сведения о результатах бухгалтеру, после чего бухгалтер получает от клиента оплату и на этом бизнес-процесс завершается.
- Второй бизнес-процесс («Отчет») заключается в подготовке всеми мастерами отчетов о проделанной работе. Мастерам, от директора организации, поступает задание на подготовку отчетов на текущий момент. После того, как мастера подготовят отчеты, эти отчеты передаются бухгалтеру, который готовит сводный отчет, и, после подготовки этого отчета, директор собирает весь коллектив для обсуждения результатов работы.
- Третий бизнес-процесс «Закупка товаров». От директора поступает задание на закупку товаров. Задание может выполнить любой сотрудник отдела Парикмахерская. Сотрудник готовит смету, и, если стоимость приобретаемых товаров не превышает 10000 рублей, смета сразу же попадает на подпись к директору. Если же превышает — то перед тем, как попасть к директору, ее должен утвердить бухгалтер.
5.2. Реализация бизнес-процесса «Клиент» и создание дополнительных объектов
В 1С:Предприятие существуют два ключевых, для решения задач автоматизации бизнес-процессов, объекта. Первый из них так и называется — Бизнес-процесс. Второй объект — это Задача. Бизнес-процессы и задачи тесно взаимосвязаны.
Объект Бизнес-процесс содержит в себе карту маршрута бизнес-процесса, при прохождении по карте создаются задачи, адресуемые тем или иным исполнителям. Создаваемые задачи — это объекты Задача.
Кроме того, для реализации бизнес-процесса нужен регистр сведений, который называют регистром адресации. Этот регистр содержит сведения об организационной структуре организации, важные для распределения задач по исполнителям.
В реализации механизма бизнес-процессов принимает участие так же параметр сеанса — он применяется для хранения сведений о том, какой именно сотрудник в данный момент работает с системой.
Итак, для того, чтобы заставить механизмы бизнес-процессов работать, нам понадобятся следующие объекты:
- Параметр сеанса
- Регистр сведений
- Задача
- Бизнес-процесс
Начнем решение первой задачи по автоматизации бизнес-процесса «Клиент» с создания параметра сеанса и настройки механизма определения сотрудника, вошедшего в систему.
Параметр сеанса
Параметр сеанса, понадобится для того, чтобы настроить фильтрацию задач по пользователю, то есть, чтобы пользователь, вошедший в систему, мог видеть только свои задачи.
Создадим новый параметр сеанса, назовем его ТекущийПользователь, тип — СправочникСсылка.Сотрудники
рис.
5.1.
Рис.
5.1.
Параметр сеанса ТекущийПользоваетль
Теперь нам нужно записать в этот параметр ссылку на элемент справочника, представляющий собой сотрудника, вошедшего в систему. Для этого нам понадобится написать соответствующий код в модуле сеанса. В частности, ранее мы уже пользовались этим модулем для того, чтобы определить, работает ли с системой пользователь-расчетчик или обычный пользователь. Сейчас в модуле сеанса имеется следующий код:
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры) Сотрудник = Справочники.Сотрудники.НайтиПоРеквизиту("Пользователь", ИмяПользователя()); Если не Сотрудник.Пустая() тогда ПараметрыСеанса.ПользовательРасчетчик = Сотрудник.Расчетчик; КонецЕсли; КонецПроцедуры
Фактически, этот код уже выполняет то, что нам нужно — ищет в справочнике Сотрудники сотрудника, который соответствует пользователю, который вошел в систему.
Добавим в блок Если — КонецЕсли такую строку:
ПараметрыСеанса.ТекущийПользователь=Сотрудник;
Таким образом, мы инициализировали параметр сеанса (на
рис.
5.2 приведено окно с обновленным кодом процедуры) и он теперь сможет выполнять свои функции при реализации механизма бизнес-процесса.
Регистр адресации
Регистром адресации при организации работы бизнес-процессов является непериодический регистр сведений. Система использует его для определения адресатов задания — то есть — сотрудников, которым нужно назначить задания, созданные при работе бизнес-процесса. В основе структуры регистра, в частности — его измерений, по которым и осуществляется поиск адресатов, лежит обычно штатное расписание организации. В нашем случае руководство салона красоты, автоматизацией которого мы занимаемся, предоставило такое расписание:
Сотрудник | Подразделение | Должность |
---|---|---|
Васильев П.П. | Администрация | Директор |
Александров А.А. | Администрация | Администратор |
Иванов И.И. | Парикмахерская | Мастер |
Петров П.П. | Парикмахерская | Мастер |
Расчетчиков А.И. | Бухгалтерия | Расчетчик |
Бухгалтеров Б.Б. | Бухгалтерия | Бухгалтер |
Вспомним состав нашей текущей конфигурации. В ней отсутствует справочник для хранения информации о должностях — ранее руководство фирмы не предъявляло подобных требований, ограничившись хранением сведений о сотрудниках и о подразделении, где они работают. Но с ростом и развитием фирмы требования изменились, что приводит нас к модификации нашей конфигурации. А именно, сейчас мы создадим новый справочник. Назовем его Должности (
рис.
5.3). Дополнительных изменений вносить в него не будем — для хранения названия должность нам достаточно наименования элемента справочника длиной 25 символов, которое присутствует в нем по умолчанию.
Рис.
5.3.
Справочник Должности
Внесем в справочник Подразделения следующие предопределенные подразделения:
- Администрация
- Бухгалтерия
- Парикмахерская
Ранее в справочнике Подразделения уже присутствовало подразделение Парикмахерская. Если при создании предопределенного элемента будет использован тот же код, что и у существующего элемента, система выдаст предупреждение, но конфигурация будет запущена. Следует привести справочник в состояние с неповторяющимися кодами элементов вручную, заменить ссылки на элементы справочника, созданные в пользовательском режиме, на ссылки на предопределенные элементы (в частности, такие ссылки есть в реквизите Подразделение справочника Сотрудники ), после его удалить непредопределенные элементы.
Предопределенные данные понадобятся нам в дальнейшем, для использования автоматического механизма формирования групповых задач в бизнес-процессах.
Посмотрим на список пользователей, зарегистрированных в системе,
рис.
5.4. Очевидно, он нуждается в пополнении в соответствии с предоставленным штатным расписанием.
Рис.
5.4.
Список пользователей
Назначим новым пользователям роль Сотрудник. В итоге мы получили такой список пользователей,
рис.
5.5.
Рис.
5.5.
Список пользователей, дополненный в соответствии со штатным расписанием
Позже, в пользовательском режиме работы, мы дополним справочник Сотрудники для того, чтобы внести в него информацию о новых сотрудниках и, в итоге, обеспечить их «узнавание» системой с записью в параметр сеанса, при входе.
Создадим непериодический независимый регистр сведений,
рис.
5.6. Назовем его Адресация.
Рис.
5.6.
Регистр сведений Адресация
Этот регистр должен содержать измерения, по которым планируется адресовать задачи. В нашем случае это — три измерения,
рис.
5.7):
Сотрудник: | Тип — СправочникСсылка.Сотрудники, Ведущее |
Подразделение: | Тип — СправочникСсылка.Подразделения, Ведущее |
Должность: | Тип — СправочникСсылка.Должности, Ведущее |
Теперь нам нужно запустить систему в пользовательском режиме и заполнить регистр адресации.
Но сначала внесем изменения в справочник Сотрудники — дополним его новыми записями (
рис.
5.8). В частности, нас особенно интересует реквизит Пользователь — его содержимое должно соответствовать имени пользователя. При желании вы можете самостоятельно дополнить этот справочник реквизитом Должность с типом СправочникСсылка.Должности — для решения задач о бизнес-процессах ах эта деталь несущественна — здесь важен лишь состав регистра сведений Адресация, а справочник Сотрудники, в части содержания в нем сведений о подразделении и должности носит лишь справочный характер. Форма списка справочника настроена в пользовательском режиме, при помощи команды контекстного меню Настройка списка были скрыты столбцы, которые в данный момент нас не интересуют.
Рис.
5.8.
Внесение изменений в справочник Сотрудники
Заполним справочник Должности (
рис.
5.9)- он нам понадобится при заполнении регистра адресации, и, в дальнейшем, при работе с бизнес-процессами.
Внесем в справочник следующие данные:
- Администратор
- Бухгалтер
- Директор
- Мастер
- Расчетчик
Рис.
5.9.
Заполнение справочника Должности
Заполнение регистра сведений ведется на основе штатного расписания. В заполненном виде он будет выглядеть следующим образом,
рис.
5.10:
Обратите внимание на то, что от заполнения регистра адресации зависит возможность системы по созданию задач, адресованных нескольким исполнителям. В частности, при текущем заполнении регистра мы можем адресовать задачи конкретным исполнителям. При дальнейшем рассмотрении мы вернемся к заполнению этого регистра.
Задача
Создадим новый объект Задача, назовем его УниверсальнаяЗадача.
Перейдем на вкладку Адресация окна настройки свойств объекта (
рис.
5.11). Настроим свойства этой вкладки следующим образом:
Адресация: | выберем регистр сведений Адресация. |
Текущий исполнитель: | параметр сеанса ТекущийПользователь |
В поле Реквизиты адресации добавим следующие реквизиты:
Сотрудник: | Тип: СправочникСсылка.Сотрудники, Измерение адресации: Сотрудник. Измерение адресации позволяет связать реквизит адресации задачи с соответствующим ему измерением регистра адресации. |
Подразделение: | Тип: СправочникСсылка.Подразделения, Измерение адресации: Подразделение. |
Должность: | Тип: СправочникСсылка.Должности, Измерение адресации: Должность. |
Основной реквизит адресации: Сотрудник. Этот реквизит мы можем выбрать после ввода состава реквизитов адресации задачи.
Перейдем на вкладку Данные, создадим реквизит Задание, тип — Строка, длина — 100,
рис.
5.12. Этот реквизит мы будем использовать для того, чтобы, при запуске бизнес-процесса, указывать задание для мастера — информацию о клиенте и услугах, которые он хочет получить, а так же о стоимости услуг.
Перейдем на вкладку Формы, создадим форму списка задачи, согласившись с параметрами, предложенными по умолчанию, и, на этапе выбора состава элементов, установив все галочки,
рис.
5.13.
Рис.
5.13.
Настройка состава реквизитов формы списка задачи
После того, как форма списка задачи будет создана, откроем свойства табличного поля и установим его параметр Отображение задач в значение По исполнителю,
рис.
5.14. Так мы включим фильтрацию задач по исполнителям, то есть — каждому исполнителю будут видны лишь его задачи.
Для упрощения процесса тестирования системы добавим на командную панель формы кнопку ОтобразитьВсеЗадачи, которая будет переключать свойство Отображение задач в значение Все задачи, введя в обработчик ее нажатия следующий код:
Процедура ДействияФормыОтобразитьВсеЗадачи(Кнопка) ЭлементыФормы.ЗадачаСписок.ОтображениеЗадач=РежимСпискаЗадач.ВсеЗадачи; КонецПроцедуры
Добавим еще одну кнопку ОтобразитьЗадачиПоИсполнителю, с таким кодом:
Процедура ДействияФормыОтобразитьЗадачиПоИсполнителю(Кнопка) ЭлементыФормы.ЗадачаСписок.ОтображениеЗадач=РежимСпискаЗадач.ПоИсполнителю; КонецПроцедуры
На
рис.
5.14 вы можете видеть итоговую форму списка задач.
Редактирование задачи бизнес-процесса
Объекты Задачи бизнес-процесса предназначены для отражения выдачи и исполнения заданий участниками бизнес-процессов или обычными пользователями системы.
Задачи могут применяться самостоятельно или использоваться для обеспечения функционирования бизнес-процессов разного вида.
В процессе конфигурирования может быть создано произвольное количество видов задач, однако, как правило, задача создается одна для всех видов бизнес-процессов.
Описываемые в конфигурации структура и свойства задачи определяются особенностями автоматизируемой предметной области.
Важной характеристикой задачи являются реквизиты адресации, которые задают размерность адресного пространства в контексте автоматизируемой предметной области и используются для определения принадлежности задач конкретным исполнителям.
Определение конкретного исполнителя осуществляется с помощью трех других свойств задачи — Регистр адресации, Основной реквизит адресации и Текущий исполнитель.
Каждый вид задачи может иметь неограниченное количество обычных реквизитов, реквизитов адресации и табличный частей.
Для каждой задачи может быть создано несколько форм списка, выбора, просмотра и редактирования.
Все задачи характеризуются номером, датой, временем и наименованием. При формировании задач бизнес-процессами наименование устанавливается аналогичным наименованию соответствующей точки бизнес-процесса.
Внутри даты последовательность задач определяется их временем.
Свойства задачи бизнес-процесса
Редактирование задачи выполняется в окне редактирования.
Наряду с общими свойствами, присущими всем объектам метаданных, задачи обладают рядом специфических свойств.
Адресация
-
Задаче может быть назначен регистр сведений, с измерениями которого можно связать реквизиты адресации задачи. Это связывание позволяет определять значение основного реквизита адресации задачи на основании данных, содержащихся в соответствующем регистре сведений. Это делает возможным не только прямую адресацию задач конкретным исполнителям, но и ролевую.
Основной реквизит адресации
-
Один из реквизитов адресации может быть назначен основным. В этом случае именно в этом реквизите адресации необходимо будет указывать конкретного исполнителя задания. Если исполнитель не будет указан, то значение этого реквизита адресации будет определяться из связанного с задачей регистра сведений (см. свойство Адресация).
Текущий исполнитель
-
Свойство устанавливает ссылку на параметр сессии, в котором будет храниться текущий исполнитель. Свойство используется для отображения списка задач в режиме «ПоИсполнителю».
Реквизиты адресации
-
Свойство устанавливает набор реквизитов адресации, которые определяют тип и размерность системы адресации задач этого вида в контексте автоматизируемой предметной области. Один из этих реквизитов может быть установлен основным (см. свойство Основной реквизит адресации).
Реквизиты адресации можно связать с измерениями регистра сведений. Это связывание используется системой для определения значения основного реквизита адресации, если оно не указано и делает возможным не только прямую, но и ролевую адресацию.
Длина номера
-
Устанавливает максимальную длину номера задачи.
Тип номера
-
Свойство позволяет выбрать тип значения для номера задачи — «Число» или «Строка«.
Выбор строкового типа кода бывает полезен, когда используется сложная система нумерации, и номер может включать, помимо цифр, также буквы и символы-разделители.
Автонумерация
-
Установка свойства приводит к тому, что вновь введенной задаче номер будет присваиваться автоматически. Автоматически присвоенный номер можно исправить.
Контроль уникальности
-
Если это свойство установлено, то при вводе новой задачи ее номер проверяется на уникальность.
Авто префикс
-
Свойство позволяет задать использование номера бизнес-процесса в качестве префикса номера новой задачи.
Ввод по строке
Основные формы
-
В группе свойств указываются основные формы для каждого вида действия.
Ввод на основании
-
В верхнем списке необходимо указать объекты, на основании которых может вводиться задача, а в нижнем — те, для которых данная задача является основанием при вводе нового объекта.
Заполнение задачи при вводе на основании выполняется в предопределенной процедуре ОбработкаЗаполнения(). Для облегчения разработки алгоритма заполнения задачи на основании других объектов конфигурации можно воспользоваться конструктором ввода на основании.
Для вызова конструктора ввода на основании следует нажать кнопку в правом верхнем углу.
На закладке «Прочее» задаются управляемые транзакционные блокировки данных по полям и устанавливается признак полнотекстового поиска по объектам данного типа.
Добрый день! Программно создаются задачи, есть реквизиты адресации Исполнитель(СправочникСсылка.Пользователи) и Ответственный (СправочникСсылка.ПодразделенияОрганизаций) На закладке Адресация в Задаче указала: Адресация — РегистрСведений(в нем два измерения Исполнитель и Ответственный, абсолютно такие же как в задаче), Основной реквизит адресации — Исполнитель, Текущий исполнитель — ТекущийПользователь. А теперь вопрос — почему при передаваемом пустом исполнителе и заполненном ответственном, программа не подставляет из регистра сведений всех исполнителей с переданным ответственном??? Почитала в Инете, насколько поняла, должны создаваться задачи на всех. Это нужно обрабатывать вручную программно????
в задаче БП там есть галочка «множественная адресация» но лично я ВСЕГДА ставлю по Группа пользователей
БП нет. Такая вот реализация запрошена. =)
Читала вот здесь Сделала вроде все так же
БП — это Бизнес процесс, на схеме находишь точку и в свойствах галка «Групповая»
+ а вообще лично мое мнение что реализация адресации в 1с крайне дебильная…
Да, да я в курсе. Но запрошена реализация без БП. Будет ли реально реализовать такую адресацию без БП?
нужно выставить свойство задачи «групповая адресация» (не помню как точно называется) в истину, можешь показать код?
задача без БП — не имеет смысла…
Код наипростейший: Сейчас обработчиком посмотрела у моей Задачи нет никакого похожего свойства.
С документом не будет напоминаний пользователям и всего такого.
задача — это узкое место в плане блокировок… а уведомления и прочее прикрутить легко…
В принципе я могу при создании задачи смотреть в Регистре сама принадлежность исполнителей к подразделениям. Смысла тогда в документе нет. Хотела просто узнать можно ли заставить программу это делать самостоятельно. Может был у кого-нибудь опыт.
Нужно несколько задач каждому исполнителю или все-таки одна задача, которую может выполнить один из исполнителей? Если несколько — создавать программно
У меня ТочкаМаршрута Неопределенно, Я думаю потому, что у меня не привязан никакой БП
В принципе оба варианта можно попробовать, проблема в том, что Задача вообще не создается.
С чего Вы решили, что она не создается?
Я не вижу ее в списке Задач
в конфигураторе нужно создать простой БП с одной точкой маршрута
Список задач — это что у Вас? Может там используется вирт. таблица «Задачи по Исполнителю», а Вы не являетесь возможным исполнителем этой задачи?
Имею ввиду ФормуСписка Задачи
Типовая из обычного приложения? Там отображаются задачи по текущему исполнителю
ФормаСписка создана, никаких отборов ей не назнаяала. не помогает
Хотя нет, вру. Задача создалась.
Спасибо! Работает! У меня не появятся проблемы с массой созданных БП?
я пару дней назад бился с тем же самым. Сделал в итоге так: Завел Пользователя «Все операторы». В том случае, если Исполнитель остается пустым, назначал эту задачу «Все операторы». В списке задач в фильтр по текущему пользователю добавил также видимость всем по «Все операторы». Работает.
так ты закрывай БП при любом исходе выполнения задачи ))
Всем СпасибоОгромное! Получить100500ККарме
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям