Странный вопрос конечно.
Сами же написали.
делаете плагин на создание действий.
У действия смотрите на какую сущность оно ссылается.
Если это организация или ВС, продождаете алгоритм.
Далее смотрите, что у Вас за действие создается и изменяете статус у организации.
Если действия на возможную сделку, то ищете организацию и меняете статус у нее.
Я бы это все асинхронно делал. Только опишите подробно весь ваш процесс. Возможные варианты и прочее. Что будет если у Вас есть звонок, интерес и сделка. Возможно необходимы приоритеты.
Что будет если у Вас на клиента 2 сделки, одна закрыта. а вторая нет?
Клиент уже наш, но у него есть незакрытая сделка. Здесь необходимо продумать и учесть все тонкости Ваши. Расписать все возможные варианты или придумать правила определения статуса.
Еще совет. Я бы не завязывался на текущее событие. То есть если у меня событие звонок, то значит я ставлю звонок. Я бы делал пересчет по всем критериям для заданной организации. То есть создание действия или изменения статуса ВС это триггер, который вызывает пересчет статуса, но пересчет не зависит от триггера. Пересчет автономен и он только вызывается.
Это даст возможность получать правильный результат случае ошибки. И последнее. В автономном режиме, если добавить 2 действия быстро, плагин сработает 2 раза.
Советую это тоже отловить. Как минимум глобальным списком.
Последний раз редактировалось g.Naukovych; 23.07.2013 в 16:34.
|