Цитата:
Сообщение от
a33ik
Добрый день.
При создании salesorder из карточки opportunity, чтобы плагин запустился его необходимо зарегистрировать в child pipeline и всё получится.
При регистрации плагина на child pipeline при обычном создании заказа вылетает стандартная ошибка(произошла ошибка обратитесь к администратору). При создании из возможной сделки вылетает ошибка:
"Only SdkMessageProcessingStep in parent pipeline and in stages outside transaction can create CrmService to prevent deadlock. ".
Дело в том что в плагине при входе в блок увеличения счетчика используется блокировка.
Код:
public class AutoNumber : IPlugin
{
private static object _sync = new object();
public void Execute(IPluginExecutionContext context)
{
...........
try{
lock (_sync)
{
// обработка
}
...........
}
При регистрации шагов на child и parent те же ошибки. Как только убираю child счетчик работает, заказы создаются везде, кроме как из ВС
Параметры с которыми регистрирую:
Message: Create
PrimaryEntity: salesorder
SecondaryEntity: none
Запуск под пользователем, вызвавшим обработку плагина.
ExecutionOrder: 1
Pre Stage (Пробовал и на Post, та же ошибка)
Synhronous
Server
Child Pipeline
Может некорректно зарегистрировал шаг?