Передача параметра при автостарте процесса по правилу

Привет всем! Если что в продукте пропустил - не бейте сильно, у нас +40. Вопрос - есть правило автостарта процесса "Короткая продажа" по правилу "запись контрагента", после этого создается 1-я задача процесса "Выяснить потребности...". Как можно реализовать передачу ID сохраненного контрагента параметры диаграммы? Ну собственно хочется, чтобы в задаче он был указан...

Нравится

7 комментариев

При автостарте у процесса появляется два новых параметра:
- AutoDatasetUSI - тут в Вашем случае ds_Account
- AutoID - тут ИД нового контрагента.

Надо модифицировать обработчик wa_TaskActionScript.wa_TaskActionOnExecute таким образом, чтобы он обрабатывал эти параметры и "пробрасывал" их в задачу.

Валерий, я не понял. У wa_Task в скрипте этот параметры есть (AccountID). Можно ли создать параметр диаграммы AutoID (строка), добавить параметр в wa_Task (AccountID) и свзять их. Или глупость написал?

Попробуйте так - в wa_TaskActionScript, в конце функции wa_TaskActionOnExecute перед строкой:

    ShowEditWindowEx('wnd_TaskEdit', Attributes, DefaultValues)

добавить такой код:

	var DiagramParams = ActionItem.ParentItems.ParentDiagram.Parameters;
	if ((DiagramParams.ItemsByName('AutoID') != null) && (DiagramParams.ItemsByName('AutoDatasetUSI') != null))
	{
		if (DiagramParams.ItemsByName('AutoDatasetUSI').Value == 'ds_Account')
		{
			DefaultValues('AccountID') = DiagramParams.ItemsByName('AutoID').Value;
		}
	}

Это вроде нормально должно, НО! Хочется некоей универсальности. Иначе мне придется переписать все wa :( а почему нельзя сделать связями параметров-то?

Ваш вариант тоже может получиться, попробуйте (у меня нет возможности сейчас проверить)

Протестировал. Универсальность есть, просто заводим строковый параметр AutoID, значение в него попадет при автостарте.

Естественно, что если процесс запущен по контрагенту, то система передаст GUID контрагента, если по документу, то его GUID.

Показать все комментарии