Итак вопрос вот в чём.
В поставке Marketing есть некие разделы Email и Мероприятия, в этих раздел есть деталь с аудиторией для рассылки или в Мероприятиях это деталь Контакты, где можно как добавить непосредственно самих контактов (из представленного списка) или же выбрать некую группу контактов.
Так вот учитывая что группы есть динамические и статические возникает вопрос, если для статических плюс/минус ясно что контакты берутся из таблицы ContactInFolder то с динамической всё куда более "сложно".
Собственно покопавшись внутри схем этих деталей я заметил что они используют метод миксина SegmentsStatusUtils, который в свою очередь вызывает сервис MandrillService, который вызывает BulkEmailAudienceHelper.
Я создал деталь по аналогии с этими двумя, повторил такую же структуру названий объекта раздела и объекта детали, а так же промежуточной таблицы с сегментами. Подготовил код для селекта из групп и не понимаю в чём может быть ошибка.
MandrillService вызывается с 200 кодом, по его итогу должен был вызваться хелпер, который должен был вызвать БП добавление аудитории, но этого не произошло.
Кто с таким родом задач связывался и кто может подсказать куда копать всё-таки?
Или есть обходной путь, чтобы не проходить эти круги сами знаете чего.
Нравится
Здравствуйте!
Если вы хотите создать деталь аналогичную детали Аудитория, то не советуем использовать базовую функциональность, так как она написана под конкретные цели приложения. Легче и правильнее будет написать свою функциональность.Ниже шаги, на которые нужно ориентироваться.
Для статических груп действительно нужно просто получить записи из ContactInFolder(если это контакты).
Для динамических групп:
1. Получить id группы (из ContactInFolder)
2. По id группы получить соответствующий фильтр для этой группы.
3. Преобразовать полученный фильтр в sql-запрос.
4.Завернуть sql-запрос в insert.
5. Выполнить insert в таблицу детали.
Все эти действия можно реализовать как через бизнес процесс так и через сервис или класс.
Demchenko Olha,
Где можно найти пример преобразование этого фильтра который мы получим по id в обычный фильтр который можно додать в выборку?
Радчук Виталий Владимирович,
Здравствуйте!
В схеме FolderHelper содержатся все методы для работы с таблицей ContactFolder.