Готовимся к экзамену 1С: Специалист по платформе 8.х. Решаем задачи по бизнес-процессам.


Цель данной публикации — познакомить начинающих программистов с бизнес-процессами в рамках экзамена 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С: Специалист.


Желаю удачи!



17 Comments

  1. esa35

    подскажите плиз!делаю бизнес-процессы, добавляю пользователя, при сохранении мне пишет «после исполнения в списке не осталось бы ни одного пользователя с административными правами»

    роль Общая у меня есть, там проставлены абсолютно все права и ни в какую все равно не добавляет(((

    Reply ↓
  2. esa35

    сделала)))обновляла кофигурацию, а надо было перезапустить конфигуратор

    Reply ↓
  3. andogskiy

    Можно про обработку выбора поподробнее?

    Reply ↓
  4. taurus_

    Если не трудно, напишите, пожалуйста, как текущего пользователя с помощью кнопки меняете.

    За статью, спасибо огромное. Очень полезная.

    Reply ↓
  5. yyx

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

    можно для особо одаренных — где ставить?

    Reply ↓
  6. yyx

    (5) нашлось

    Reply ↓
  7. sss999

    афтар пиши исче про 1с

    Reply ↓
  8. sss999

    понравилось,еле нашел где плюсик поставить,думал уже не поставлю,ан нет,нашел и поставил,афтар прорешай билет какой нить по спецу на платформу и выложи так же

    Reply ↓
  9. mrdug

    (8) sss999, к сожалению знания уже немного выветрились… в свое время хотел все разделы затронуть, но времени не хватило…. на форуме Чистова решения смотрите, там многое расписано подробно.

    Reply ↓
  10. aerodeck89

    Спасибо большое очень полезно!

    Reply ↓
  11. succub1_5

    Годная статья (аналог конечно Чистова). Добавлю мб кому пригодиться:

    1) Смена не Пользователя (т.к. не реально без перезапуска клиента), а ТекущегоПользователя в п.7:

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

    Показать

    2) пп. 5-6, если создать реквизит ОплатаИзКассы(булево) в самом БП, а не в Задаче, то проще код для ветвления:

    Процедура ОплатаНаличнымиПроверкаУсловия(ТочкаМаршрутаБизнесПроцесса, Результат)
    Результат = ОплатаИзКассы;
    КонецПроцедуры
    
    Reply ↓
  12. Isperator

    Спасибо. Статья пригодилась.

    Reply ↓
  13. Denis211990

    (3) Как сделать доступной панель навигации на неосновной форме задач, если та располагается на рабочем столе конфигурации?

    Reply ↓
  14. RainyAugust22

    Подскажите, что может быть пропущено если после старта БП не показывает невыполненную задачу под пользователями: Бельдыев или Васина?

    Reply ↓
  15. RainyAugust22

    (14) запросом проверил, что исполнитель в задаче не назначается поэтому не отображается. Исполнителя программно необходимо устанавливать?

    Reply ↓
  16. RainyAugust22

    (15) Разобрался, вопрос закрыт.

    Reply ↓
  17. Serge_ASB

    То есть, бизнес-процесс — это как документооборот?

    Наверное, его (этапы) можно привязать к действиям или документам?

    А иначе, это — просто демонстрация (декларация) необходимости: тычок в кнопку Выполнено не влечет за собой реального выполнения /совершения действия.

    А описано: схематично, но доступно

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *