gifts2017

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

Опубликовал Олег Смирнов (mrdug) в раздел Программирование - Сертификация

Цель данной публикации - познакомить начинающих программистов с бизнес-процессами в рамках экзамена 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. Создаем подсистему БизнесПроцессы (одно из требований экзамена, более подробно можно ознакомиться здесь: http://infostart.ru/public/126813/).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Желаю удачи!



Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Пример.dt
.dt 161,78Kb
07.05.12
255
.dt 161,78Kb 255 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Сонечка (esa35) 07.06.12 14:57
подскажите плиз!делаю бизнес-процессы, добавляю пользователя, при сохранении мне пишет "после исполнения в списке не осталось бы ни одного пользователя с административными правами"

роль Общая у меня есть, там проставлены абсолютно все права и ни в какую все равно не добавляет(((
2. Сонечка (esa35) 07.06.12 15:46
сделала)))обновляла кофигурацию, а надо было перезапустить конфигуратор
3. Сергей Смирнов (andogskiy) 17.06.13 18:18
Можно про обработку выбора поподробнее?
4. taurus taurus (taurus_) 20.09.13 18:45
Если не трудно, напишите, пожалуйста, как текущего пользователя с помощью кнопки меняете.
За статью, спасибо огромное. Очень полезная.
5. Екатерина Маханькова (yyx) 23.10.13 10:54
"в св-ве Списка этой формы в Основной таблице ставите Задача.Задача.ЗадачиПоИсполнителю, в Настройке списка (там же) ставите Отбор-Выполнена Равно Ложь".

можно для особо одаренных - где ставить?
6. Екатерина Маханькова (yyx) 23.10.13 11:20
(5) нашлось
Прикрепленные файлы:
7. Сергей Толмачев (sss999) 30.10.14 11:28
8. Сергей Толмачев (sss999) 30.10.14 11:31
понравилось,еле нашел где плюсик поставить,думал уже не поставлю,ан нет,нашел и поставил,афтар прорешай билет какой нить по спецу на платформу и выложи так же
9. Олег Смирнов (mrdug) 30.10.14 12:32
(8) sss999, к сожалению знания уже немного выветрились... в свое время хотел все разделы затронуть, но времени не хватило.... на форуме Чистова решения смотрите, там многое расписано подробно.
10. Popov (aerodeck89) 10.11.14 10:27
Спасибо большое очень полезно!
11. Иван Сидоров (succub1_5) 20.01.15 11:58
Годная статья (аналог конечно Чистова). Добавлю мб кому пригодиться:
1) Смена не Пользователя (т.к. не реально без перезапуска клиента), а ТекущегоПользователя в п.7:
&НаКлиенте
Процедура СменаПользователя(Команда)
	ФизЛицо = Элементы.Список.ТекущиеДанные;
	СменаПользователяНаСервере(ФизЛицо.Наименование);
КонецПроцедуры
&НаСервере
Процедура СменаПользователяНаСервере(Пользователь)
	ПараметрыСеанса.ТекущийПользователь = Справочники.ФизическиеЛица.НайтиПоНаименованию(Пользователь);
КонецПроцедуры
...Показать Скрыть

2) пп. 5-6, если создать реквизит ОплатаИзКассы(булево) в самом БП, а не в Задаче, то проще код для ветвления:
Процедура ОплатаНаличнымиПроверкаУсловия(ТочкаМаршрутаБизнесПроцесса, Результат)
	Результат = ОплатаИзКассы;
КонецПроцедуры
...Показать Скрыть
12. Алексей Шарапов (Isperator) 24.02.15 21:33
Спасибо. Статья пригодилась.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа