Текущее время: Пт, июл 18 2025, 08:32

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 13:45 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Коллеги, помогите пожалуйста начинающему.

Построил простой поток операций из двух задач:
1. Создание договора (использовал стандартный объект BUS2095)
2. Отправка пользователю сообщения с номером созданного документа

Поток данных из первой задачи в контейнер прописал, и из контейнера во вторую задачу тоже.

При тестировании пользователю приходят сообщения, только номера документа в них нет.
Похоже чтото с потоком данных, но не могу понять что.

Подскажите, где и что мне еще нужно настроить, чтобы ПО заработал?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 14:39 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 16 2009, 08:40
Сообщения: 56
Пол: Женский
Hop написал(а):
...
Поток данных из первой задачи в контейнер прописал, и из контейнера во вторую задачу тоже.
...


"Поток данных прописал" - это сказано слишком абстрактно, чтобы понять, где у вас может быть ошибка.
Что передаете и куда - можно поподробней?
В случае, если поток данных правильно прописан, то в тексте/заголовке письма необходимо ссылаться на документ примерно так &BUS2095.SalesDocument&, чтобы он отобразился

Иначе - ошибка в самом потоке данных


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 14:54 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Из первой задачи в контейнер передаю: &_WI_OBJECT_ID& -> &BUS2095&
Во второй задаче автоматически создалось: &BUS2095& -> &BUS2095&


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 15:57 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 16 2009, 08:40
Сообщения: 56
Пол: Женский
Внешне все выглядит правильно, только смущает, что запись идет слева направо,
если передача данных идет из первой задачи в контейнер потока операций, то должно выглядеть так


&_WI_OBJECT_ID& <- &BUS2095&

т.к. слева - контейнер потока операций, а справа - контейнер задачи


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 16:20 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 16 2009, 08:40
Сообщения: 56
Пол: Женский
Еще мысль пришла -
в контейнере задачи должно быть установлено для BUS2095 свойство "Импорт"

И если мне не изменяет память, вот такие вещи (в тексте или заголовке сообщения) &BUS2095.SalesDocument&,
желательно определять через "Вставить выражение" -
при прописывании вручную и копировании - система не всегда их определяла


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Пн, авг 02 2010, 16:27 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Да, в первой задаче указывал

&_WI_OBJECT_ID& <- &BUS2095&

Для BUS2095 в контейнере установил свойства "Импорт" и "Экспорт".
В сообщение вставлял через "Вставить в сообщение"

Но значение все равно не передается :(

Пробовал через дополнительные элементы контейнера, которые ссылаются на элементы ABAP-словаря, но это тоже не помогло...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Вт, авг 03 2010, 11:36 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 16 2009, 08:40
Сообщения: 56
Пол: Женский
Я понимаю реализацию первого шага так.
Операция ссылается на пользовательскую задачу, в которой происходит выполнение пользовательского метода бизнес-объекта.
А в методе бизнес-объекта перед "END_METHOD"
должна быть прописана запись значений в контейнер для бизнес-объекта договора
SWC_SET_ELEMENT CONTAINER
Дольше идет передача инстанции бизнес-объекта из контейнера метода в контейнер задачи
и из контейнера задачи в контейнер потока операций
Во второй задаче тип "отправка сообщения" идет передача инстанции бизнес-объекта из потока операций в задачу.

При этом во всех контейнерах должно быть установлено "импорт"/"экспорт" в зависимости от осуществляемого действия


Попробовала создать ПО из 2 шагов аналогично Вашим,
но только для БО BUS1001 - т.к. у его есть стандартный метод CREATE,
все отработало корректно, и номер нового материала пришел в с ообщениии.
Возможно, ошибка кроется в неверной передаче инстанции бизнес-объекта из пользовательского метода по созданию договора в задачу?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Вт, авг 03 2010, 12:48 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Не совсем все понял....
Я реализовывал так.
У БО BUS2095 стандартного метода CREATE нет. Поэтому я создал свой БО ZBUS2095 на основе BUS2095.
В новом объекте добавил метод CREATE со следующими параметрами: Диалог, синхронно, параметр результата. В качестве типа результата выбрал БО BUS2095, а на закладке "ABAP" указал транзакцию VA41.
Далее для БО 2095 настроил делегирование на новый БО.

При создании задачи для первого шага в качестве типа объекта я использовал БО BUS2095.
В ПО в контейнере для BUS2095 "импорт" и "экспорт" установил.

Может я чтото неправильно сделал при формировании нового БО или метода?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Вт, авг 03 2010, 15:52 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 16 2009, 08:40
Сообщения: 56
Пол: Женский
Нужно организовать в методе (в самой программе метода) после запуска транзакции правильную передачу значения номера контракта.

Т.е. выхватить после создания контракта номер документа,
и передать его в элемент контейнера.
При этом нужно определить эту переменную как параметр метода


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО  Тема решена
СообщениеДобавлено: Вт, авг 03 2010, 16:48 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Hop написал(а):
Не совсем все понял....
Я реализовывал так.
У БО BUS2095 стандартного метода CREATE нет. Поэтому я создал свой БО ZBUS2095 на основе BUS2095.
В новом объекте добавил метод CREATE со следующими параметрами: Диалог, синхронно, параметр результата. В качестве типа результата выбрал БО BUS2095, а на закладке "ABAP" указал транзакцию VA41.
Далее для БО 2095 настроил делегирование на новый БО.

При создании задачи для первого шага в качестве типа объекта я использовал БО BUS2095.
В ПО в контейнере для BUS2095 "импорт" и "экспорт" установил.

Может я чтото неправильно сделал при формировании нового БО или метода?


А зачем? У стандартного объекта присутствует событие CustGroupContract.CREATED. Запускайте свой поток по этому событию и первым же шагом выполняйте свое уведомление. При таком подходе инстанция БО в потоке будет корректной и номер свой Вы получите.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Ср, авг 04 2010, 10:06 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Создал поток, который запускается по событию и отправляет уведомление.
Если поток просто активировать и создать договор, то пользователю приходит сообщение с номером созданного договора.
А если активированный поток запустить в тестовом режиме, то после создания договора пользователю приходит два сообщения. Одно с номером договора, другое без номера договора. Получается, в тестовом режиме в потоке значения параметров в контейнер не передаются. Странно это....


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Ср, авг 04 2010, 12:41 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Спасибо всем за помощь :D

У меня есть еще один вопрос, если не сложно подскажите.
Мне нужно этот поток немного изменить, подскажите как это сделать.
У договоров есть статусная схема, и нужно в зависимости от пользовательского статуса отправлять пользователям разные сообщения.
Сами статусы находятся в таблице JEST и связь с договором идет по полю OBJNR. Атрибут для этого поля в БО я добавил. Вот только не могу сделать так, чтобы в поток попали значения статусов...
Как мне сделать чтобы в потоке были эти значения статусов и я мог для каждого возможного значения определить соответствующее действие?

Наверное это все просто делается, но у меня опыта никакого с workflow :oops:


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Не передаются параметры в ПО
СообщениеДобавлено: Чт, авг 05 2010, 14:43 
Начинающий
Начинающий

Зарегистрирован:
Пн, авг 02 2010, 13:20
Сообщения: 8
Вопрос снимается.
Получилось самому разобраться :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB