Имя: Пароль:
1C
1С v8
Поведение бизнес-процесса
,
0 svchernova
 
19.04.13
09:00
Прошу прощения, что в пятницу..
Задачка:

Есть бизнес-процесс по согласованию заявок на расходование средств.
Эти самые заявки согласовываются и утверждаются по разным маршрутам, маршрутов всего 7 штук, и эти маршруты прописаны в самом документе "Заявка на расходование средств".
Существует справочник маршрутов, в котором булевы поля для каждой точки БП (выполнять/не выполнять)
В зависимости от маршрута заявка может утверждаться (или не утверждаться) на каких-либо точках бизнес-процесса. Я думаю, что у бизнес - процесса должна быть табличная часть "Маршруты", в которой нужно отразить записи справочника маршрутов, но как это потом использовать, чтобы один бизнес-процесс выполнялся параллельно для разных записей из табличной части?
1 Спящая
 
19.04.13
09:07
(0) Вы разрабатываете собственный бизнес-процесс или настраиваете типовой ?
2 Krendel
 
19.04.13
09:11
(1) Типового в конфах УПП, КА нету
3 Спящая
 
19.04.13
09:18
(2) а где было указание на конфигурацию в (0) ? Может быть это Документооборот, тогда есть.
4 svchernova
 
19.04.13
09:19
(1) я разрабатываю собственный БП
5 Спящая
 
19.04.13
09:20
(2) в Документобороте нет типового по Заявкам на расходование средств. Это я ошиблась.
6 svchernova
 
19.04.13
09:21
(5) я бы хотела понять, как правильно это сделать. Я думаю, что нужно использовать вложенные бизнес-процессы в таком случае
7 Maxus43
 
19.04.13
09:30
(6) всмысле параллельно? паралельное выполение задач в бизнес процессе реализовано Разделением-слиянием, а если точки маршрута у вас последовательны - то и выполнять их надо так
8 svchernova
 
19.04.13
09:39
(7) для разделения-слияния существует только три точки по умолчанию. Пробовала добавить больше, но что-там некорректно себя ведёт. мне реальн нужно распараллелить БП на 10 веток. Может быть, лучше использовать точку выбора варианта?
9 andreymongol82
 
19.04.13
09:41
(8) Делай несколько точек слияния. Я так делал
10 andreymongol82
 
19.04.13
09:43
(8) и кстати, точка выбора варианта - это тоже условие, только вариантов больше, поэтому параллельно запустить не получится.
11 Maxus43
 
19.04.13
09:44
(8) так же есть признак Групповой у точки, им поиграй
12 svchernova
 
19.04.13
09:45
(9) то есть из одной точки разделения начертить 10 веток БП и потом их слить в одну точку слияния? по умолчанию только три линии разделения. И у тебя получилось без проблем?
13 svchernova
 
19.04.13
09:48
(8) нет, мне не нужно групповую.. К примеру, пришло 20 заявок в точку маршрута. из них 15 должны уйти в финотдел, а 5 - к директору, минуя финотдел. при групповой обработке сначала финотдел должен выполнить задачу с 15 заявками, а 5 будут ждать, они к директору не уйдут, так как БП не перейдёт к следующей точке маршрута, пока не будет завершена предыдущая
14 svchernova
 
19.04.13
09:50
(10) то есть я должна воспользоваться точкой выбора варианта для того, чтобы определить нужный маршрут, а потом сделать разделение?
15 Maxus43
 
19.04.13
09:51
(13) я не понял, вы ничего не путаете? каждая заявка должна идти по своему Бизнесс процессу, а не 20 штук одновременно. у каждой заявки будет своя схема (экземпляр бизнес процесса со своими точками)... у нас именно так например, и щетаю правильным
16 Maxus43
 
19.04.13
09:53
ес ли надо из этих 15-ти отклонить 2? каждая заявка утверждается независимо от других
17 andreymongol82
 
19.04.13
09:53
(12) а блин, соврал немного. У меня вот как получилось. Сделал точку разделения. Вывел несколько линий. потом сделал несколько точек слияния. В каждую по три линии, Потом еще добавил точку слияния и в нее завел линии из предыдущий точек слияния.
Хотя сдается мне, что (15) прав
18 svchernova
 
19.04.13
09:54
(15) у меня в задаче есть табличная часть, а в ней-заявки. и там галочка для каждой заявки утвердить/отменить
19 svchernova
 
19.04.13
09:56
(17) мне тоже сдается, что (15) прав.. интересно, как это на деле выглядит. Утверждающий открывает каждый документ для просмотра и утверждения?
20 Sei Souma
 
19.04.13
09:56
Воббще бизнес-процесс традиционно работает с документом, а не с его табличной частью. Насколько мне известно, стартовать бизнес процесс на основании строки табличной части невозможно.
Если ваши заявки - это отдельные документы, то тогда ваша задача легко решаема. Если нет - то тут весьма и весьма нетривиально.
21 svchernova
 
19.04.13
09:57
(20) Заявки - это отдельные документы
22 svchernova
 
19.04.13
09:59
(15) именно это мне и нужно реализовать - для каждой заявки сделать свою схему. как вы это сделали? точки разделения, вложенные БП или как?
23 svchernova
 
19.04.13
10:00
(20) я имела ввиду табличную часть бизнес-процесса. думала туда записать различные маршруты утверждения заявок из справочника
24 andreymongol82
 
19.04.13
10:01
(19) У нас да. Каждый документ.
Так же еще сделано для других документов список задач, с колонкой, где виден документ и кнопка отклонить/утвердить. (22) Если больше двух, то скорее всего либо точка выбора варианта, либо вложенный, если алгоритмы сильно отличаться будут.
25 andreymongol82
 
19.04.13
10:05
(23) Нет не надо. у бизнес процесса и так есть список задач.
Выбор варианта можно описать в
ВыборВарианта1ОбработкаВыбораВарианта(ТочкаВыбораВарианта, Результат).
Вопрос - по какому признаку определяется вариант маршрута заявки?
26 svchernova
 
19.04.13
10:05
(15) и (24) Я думаю, что нужно использовать точку выбора варианта, а затем вложенный для каждого варианта. мне важно, чтобы эти вложенные параллельно выполнялись
27 andreymongol82
 
19.04.13
10:06
(26) Еще раз какое распараллеливание? То есть после выбора варината маршрута, каждый вариант еще и разделяется на несколько параллелних для одной заявки?
28 Sei Souma
 
19.04.13
10:06
Я бы для начала попробовала точками выбора вариантов обойтись без колдовства с табличными частями.
29 svchernova
 
19.04.13
10:07
(25) в самой заявке в реквизите документа есть поле с из справочника маршрутов согласования. в справочнике маршрутов сейчас 10 записей, то есть на предприятии 10 различных маршрутов согласования
30 Maxus43
 
19.04.13
10:08
(22) в бизнес процессе ссылка на документ, а не Таб часть. При старте бизнесс процесса в схеме указывается какие точки использовать, пользователям приходят "задачи" по точкам и они их утверждают/отклоняют. Не нужно распаралеливание совершенно тут, каждая заявка двигается независимо от других
31 svchernova
 
19.04.13
10:08
(27) нет, нужно только выбрать вариант маршрута и идти по нему
32 svchernova
 
19.04.13
10:08
(28) я тоже не хочу этого колдовства.
33 andreymongol82
 
19.04.13
10:09
Тогда ваще просто.
берем (29) потом (30) потом (25)
34 svchernova
 
19.04.13
10:11
(33) а после (25) - вложенные бп для каждого из 10 маршрутов. правильно?
\
35 Maxus43
 
19.04.13
10:13
(34) зачем? в одном БП вы мождете нарисовать независимые 10 схем, просто при старте БП надо выбрать нужную точку старта, её уже можно определить смотря на данные заявки, или настройки или ещё что
36 andreymongol82
 
19.04.13
10:18
(35) или после точки с выбором варианта рисуем 10 алгоритмов и каждый оканчиваем конечной точкой
37 svchernova
 
19.04.13
10:18
(35) там схема работы такая:
Менеджер по продажам вводит заявки на оплату поставщику. и в зависимости от поставщика заявка может идти по разным маршрутам. Этот менеджер скопом передает все свои заявки на согласование - и тут согласование должно идти по разным маршрутам. то есть один БП стартует в начале дня и завершается в отделе казначейства при формировании всех платежей и перечи swift в банк-клиент
38 svchernova
 
19.04.13
10:19
(36) да, я примерно так понимаю это..
39 mikecool
 
19.04.13
10:20
(0) на основании одного БП формировать подчиненные программно
40 mikecool
 
19.04.13
10:21
+39 по завершении всез двигать родительский программно же...
41 mikecool
 
19.04.13
10:21
всех*
42 svchernova
 
19.04.13
10:21
(36) и эти 10 алгоритмов будут выполняться параллельно? часть задач должна уйти по одному алгоритму, часть по другому, часть по третьему
43 svchernova
 
19.04.13
10:22
(39) это чето совсем сложно, кажется..
44 andreymongol82
 
19.04.13
10:25
(42) Что-то мне кажется вы не совсем понимаетет смысл слова "параллельно"...
Одна заявка движется по своему одному маршруту - где здесь параллельность? Если бы одна заявка двигалась параллельно по нескольким маршрутам - это да.
45 Maxus43
 
19.04.13
10:28
(42) бизнесс процесс - можете открыть с предприятии его, это как Справочник, там много его экземпляров, не надо думать что все заявки двигаются в рамках ОДНОГО единственного БП
46 Maxus43
 
19.04.13
10:29
при создании БП создаётся его экземляр с указанными вами настройками для конкретной заявки, по другим заявкам стартует другой БП
47 Lexusss
 
19.04.13
10:32
Чтобы правильно писать надо правильно говорить.
1. На одну заявку должен стартовать один бизнес-процесс. Согласование и оплата КАЖДОЙ заявки идет независимо друг от друга - платежка то по каждой заявке своя. Даже если и несколько платежек, то она одна закроет несколько процессов.
2. Точки разделения и слияния нужны для одновременного выполнения задач в рамках одного процесса. Например, заявка согласовывается фин диром и управляющим диром. После создания заявки, она должна СРАЗУ упасть ОБОИМ согласующим лицам. Это точка разделения. После того как оба выполнят свои задачи, процесс пойдет дальше. Вот это точка слияния. Так же допустимо 3 и более согласующих лиц (безопасники, коммерческие, департамент закупок и т.д.)
3. Для многовариантного согласования должны использоваться выбор варианта или же просто условие. Например, заявки на оплату  по операционной деятельности согласуются в департаменте логистики, неоперационная деятельность - в департаменте закупок, платежи по кредитам - у финансового директора. В этом случае используется выбор варианта и направление каждому согласующему лицу. При этом согласование проходит только у назначенного лица. Вполне нормально обрабатываются схемы "выбор варианта, где по каждому из вариантов свое разделение".
48 svchernova
 
19.04.13
10:38
(46) и (47) Я считала, что БП должен стартовать один в день.
Получается, что сколько заявок - столько и бизнес-процессов?
49 svchernova
 
19.04.13
10:38
(47) у меня как раз многовариантное согласование
50 andreymongol82
 
19.04.13
10:39
(48) да
51 andreymongol82
 
19.04.13
10:40
(50) "Получается, что сколько заявок - столько и бизнес-процессов?" - да
52 svchernova
 
19.04.13
10:40
(50) фигасе..
53 svchernova
 
19.04.13
10:41
(51) ТОГДА НАДО КНОПКУ В ЗАЯВКЕ НАВЕСИТЬ,  типа "передать на согласование" и по ней стартовать бизнес-процесс..
54 svchernova
 
19.04.13
10:43
(51) а как вы запускаете бизнес-процесс для каждой заявки?
55 Maxus43
 
19.04.13
10:43
(53) мы статус используем для этого. Подготовлен/согласован и т.д. Логику продумайте просто.
56 svchernova
 
19.04.13
10:44
(47) спасибо за такой развёрнутый ответ.
57 svchernova
 
19.04.13
10:44
(55) у меня тоже статусы. при изменении статуса запускаете бп?
58 Maxus43
 
19.04.13
10:49
(57) да, и документ закрывается для изменения
59 svchernova
 
19.04.13
10:51
(58) спасибо. а потом к пользователю приходит задача, как я понимаю. и в этой задаче - один документ для согласования?
60 andreymongol82
 
19.04.13
10:52
(55) Мы нет. Так как унас любой статус согласовывается, поэтому при записи стартуется, если новый
(59) абсолютно верно
61 Lexusss
 
19.04.13
10:56
(54) У нас кнопка в оперативном учете в заявке "Отправить на согласование". Все дальнейшее проходит в рамках БП. По окончании заявка проводится.
62 svchernova
 
19.04.13
10:59
(58) и (60) Понятно..Спасибо всем откликнувшимся. Мои заказчики хотят видеть список заявок в задаче. я подумаю над вашим вариантом. буду стартовать бизнес-процесс при записи документа, при установке статуса "Подготовлен", например. нарисую 10 схем и и 10 точек старта. в зависимости от маршрута, указанного в заявке, буду выбирать точку старта БП.
63 svchernova
 
19.04.13
11:01
(61) Или кнопка - очень наглядно. статусы не будут ручуами менять, они будут меняться на точках маршрута БП автоматически
64 svchernova
 
19.04.13
11:02
Спасибо всем!
65 svchernova
 
19.04.13
16:13
решила поднять ветку.. а как насчет того, что при такой раскладке (для каждого платежа создаётся свой бизнес-процесс) будет создано слишком много этих объектов и база данных будет пухнуть?
66 Sei Souma
 
19.04.13
18:04
(65)
А иначе никак не возможно бизнес-процессами пользоваться!
Вы еще напишите что если каждый день создавать много платежек вместо того чтобы создать и в ней отправить всем платеж? Чтобы база не пухла!
Или спросите не распухнет ли база оттого что каждый менеджер создает свой джокумент прихода вместо того чтобы один документ в день создать и им вообще в всё сделать в базе - и все приходы и платежеи и расходы.

Может вы таки к программисту обратитесь чтобы он вам БП настроил?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший