Соорудил - работает
Проверка на Заполнение, Удаление и Изменение пользовательских полей в Сделке и действия по результату (сообщения, задачи итд итп)
Проверяемые поля: Поле 1, Поле 2 … Поле N
Служебное поле (для хранения старого значения Проверяемого поля): Поле 1 служебн, Поле 2 служебн, … , Поле N служебн
Переменные: Цикл – Целое число. Знач по умолч = 1; Поля – Строка; Поля служебн – Строка
Бизнес-процесс для Сделки
1. Присвоение переменным значения полей (Изменение документа):
Если Цикл = 1 то переменная Поля = Поле 1 и переменная Поля служебн = Поле 1 служебн
2. Сравнение двух переменных (Проверяемой и Cлужебной):
Если Поля = Поля служебн, то Истина
Если Поля = не заполнено и Поля служебное = заполнено, то Уведомление „Удалено”
Если Поля = заполнено и Поля служебное = не заполнено, то Уведомление „Заполнено”
Если Поля ≠ Поля служебн, то Уведомление „Изменено”
3. Присвоение служебному полю значения сравниваемого поля (Изменение документа)
Если Цикл = 1 то Поле 1 служебн = Поле 1
4. Изменение счетчика цикла (Изменение переменных)
Если Цикл =1 то переменная Цикл = 2
5. И так далее пока переменная Цикл меньше N+1
По этой схеме высылаю кому нужно Уведомления о изменениях в Пользовательских полях Сделки.
Полей пока 10 штук, привязаны к Контактам. Их количество можно увеличить. Сообщения и получателей можно также без проблем изменить.
Буду признателен за замечания и предложения по упрощении схемы.
Конкретно мне не нравиться как я организовал Цикл со счетчиком (другого не придумал). Есть еще Итератор, но работать параллельно и брать две переменных одновременно он не может корректно – какие-то задержки.