Деталь с добавлением Аудитории

Итак вопрос вот в чём. 

В поставке Marketing есть некие разделы Email и Мероприятия, в этих раздел есть деталь с аудиторией для рассылки или в Мероприятиях это деталь Контакты, где можно как добавить непосредственно самих контактов (из представленного списка) или же выбрать некую группу контактов.

Так вот учитывая что группы есть динамические и статические возникает вопрос, если для статических плюс/минус ясно что контакты берутся из таблицы ContactInFolder то с динамической всё куда более "сложно".

Собственно покопавшись внутри схем этих деталей я заметил что они используют метод миксина SegmentsStatusUtils, который в свою очередь вызывает сервис MandrillService, который вызывает BulkEmailAudienceHelper.

Я создал деталь по аналогии с этими двумя, повторил такую же структуру названий объекта раздела и объекта детали, а так же промежуточной таблицы с сегментами. Подготовил код для селекта из групп и не понимаю в чём может быть ошибка.

MandrillService вызывается с 200 кодом, по его итогу должен был вызваться хелпер, который должен был вызвать БП добавление аудитории, но этого не произошло.

Кто с таким родом задач связывался и кто может подсказать куда копать всё-таки?

Или есть обходной путь, чтобы не проходить эти круги сами знаете чего.

Нравится

3 комментария

Здравствуйте!

Если вы хотите создать деталь аналогичную детали Аудитория, то не советуем использовать базовую функциональность, так как она написана под конкретные цели приложения. Легче и правильнее будет написать свою функциональность.Ниже шаги, на которые нужно ориентироваться.

Для статических груп действительно нужно просто получить записи из ContactInFolder(если это контакты).

Для динамических групп:

1. Получить id группы (из ContactInFolder)

2. По id группы получить соответствующий фильтр для этой группы.

3. Преобразовать полученный фильтр в sql-запрос.

4.Завернуть sql-запрос в insert.

5. Выполнить insert в таблицу детали.

Все эти действия можно реализовать как через бизнес процесс так и через сервис или класс.

 

 

Demchenko Olha,

Где можно найти пример преобразование этого фильтра который мы получим по id в обычный фильтр который можно додать в выборку?

Радчук Виталий Владимирович,

Здравствуйте!

В схеме FolderHelper содержатся все методы для работы с таблицей ContactFolder.

Показать все комментарии