AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.02.2020, 18:18   #1  
flav is offline
flav
Участник
 
3 / 10 (1) +
Регистрация: 06.02.2020
? Работа с bpf через js
Здравствуйте, требуется совет:
Разрабатываю SPA приложение, которое включает функции по управлению последовательностями бп.
Что требуется:
1. получить массив записей lead и обработать его так, чтобы четко выделить, какой у них бп и шаг. Бп всего два, в них разное число шагов.
То есть получим что-то вроде:
[{
name: 'Sample',
bpf: 'BusinessProccessA',
step: 'qualification' - или числом, не принципиально
},...]

2. Самое непонятное - сделать переключение записи на следующий шаг БП. Тут вообще очень странно - есть функции для Xrm.Page, но мы при использовании приложения находимся не на карточке записи, то есть применять его нельзя.

Я искал информацию по этому поводу - есть некоторые примеры для C# (которые не покрывают вышеописанное), а также горы гайдов по Xrm.Page. Единственное, что я придумал пока - это сделать какой-то экшен, запускающий БП и переключающий BPF дальше, либо (о ужас) воспользоваться страшным костылем: из приложения открыть новое окно с нужной карточкой, предварительно сохранив наши намерения в session storage/local storage и там уже запускать скрипт, который проверяет хранилище на предмет намерения переключения, и если они есть, переключающий процесс через Xrm.Page.

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

Есть возможность использовать только js.

Помогите, пожалуйста)
Старый 06.02.2020, 19:10   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,180 / 865 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Я бы рекомендовал следовать вашей идее сделать кастомный экшен и двигать процесс используя стандартные средства - https://dynamics365blocks.wordpress....-dynamics-365/ а экшен вызывать через JavaScript или из C# в зависимости от вашего сценария.

Цитата:
воспользоваться страшным костылем: из приложения открыть новое окно с нужной карточкой, предварительно сохранив наши намерения в session storage/local storage и там уже запускать скрипт, который проверяет хранилище на предмет намерения переключения, и если они есть, переключающий процесс через Xrm.Page.
Крайне не рекомендую пользоваться таким подходом.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 24.02.2020, 05:49   #3  
flav is offline
flav
Участник
 
3 / 10 (1) +
Регистрация: 06.02.2020
Цитата:
Сообщение от a33ik Посмотреть сообщение
Я бы рекомендовал следовать вашей идее сделать кастомный экшен и двигать процесс используя стандартные средства - https://dynamics365blocks.wordpress....-dynamics-365/ а экшен вызывать через JavaScript или из C# в зависимости от вашего сценария.



Крайне не рекомендую пользоваться таким подходом.
Ну это уж я фантазирую, партия сказала надо - комсомол ответил есть - реализовать любой ценой)


Мб будет кому-то полезно: фичу таки реализовали.
Для получения данных о шаге просто завели два дополнительных поля: имя процесса и шаг в виде целочисленной переменной 0-30. Плагином каждую запись при изменении исследуем на изменение процесса/шага, записываем в переменные соответствующие значения, приложение просто смотрит на эти поля и отображает, как нам удобно. Используем RetrieveProcessInstances.
Для переключения сейчас делаем экшен, но вроде все получается.

Жаль, что у нас нет человеческого способа это через webapi переключать, вроде bpf у нас аж с 2011-2012 года.
Старый 24.02.2020, 15:15   #4  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,180 / 865 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от flav Посмотреть сообщение
Жаль, что у нас нет человеческого способа это через webapi переключать, вроде bpf у нас аж с 2011-2012 года.
BPF то был, но в процессе мутировал. Сначала стадия BPF это было просто пара полей с гуидами на соответственной сущности и только потом Microsoft реализовал дополнительную сущность. И вот где то тут нормальный способ работать с BPF и потерялся.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 24.02.2020, 19:29   #5  
flav is offline
flav
Участник
 
3 / 10 (1) +
Регистрация: 06.02.2020
Цитата:
Сообщение от a33ik Посмотреть сообщение
И вот где то тут нормальный способ работать с BPF и потерялся.
Как в том анекдоте, один сломал, второй потерял XD
Старый 25.02.2020, 10:01   #6  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,899 / 619 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Тут как в другом анекдоте: вы просто не умеете его готовить.


Инструмент, который вы используете, тупо не рассчитан под вашу задачу, или юзкейс. Об этом и следует доложить партии. BPF у нас с 2013 года, а вот во времена 2011 был другой классный инструмент: текстовое поле "stepname" и аналогичный выпадающий список. Вы можете попробовать использовать старый подход.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 25.02.2020, 10:06   #7  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,899 / 619 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Какая у вас версия CRM? Существует как минимум 3 реализации BPF. Чтобы посоветовать что-то вменяемое, нужно понимать что у вас.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Теги
business process, dynamics 365 v. 9.0, javascript

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Заполнение полей действий через js при создании Дмитрий А.А. Dynamics CRM: Разработка 1 20.11.2017 16:29
Получить данные в одной сущности и заполнить в другой через js Дмитрий А.А. Dynamics CRM: Разработка 2 06.06.2016 12:41
Настройка авторизации CRM 2011 через проверку подлинности windows Arhiskorpion Dynamics CRM: Администрирование 1 15.03.2013 18:03
Работа с примечаниями (вложенными файлами) KP0H Dynamics CRM: Разработка 7 16.11.2011 20:52
Интеграция дополнительного фунционала через IFRAME Казарин Александр Dynamics CRM: Разработка 6 28.04.2010 15:51
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:35.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.