и как потом по коду изменить само событие?
Я понимаю, что разные виды событий могут редактироваться по разному.
Смотрит CCrmActivity или ActivityTable
Предполагаю, что в CCrmActivity нет комментариев... Надеялся найти все в Bitrix\Crm\Timeline\TimelineEntry или TimelineTable, но там нет методов по типу GetList или Update :(
Видимо, я что-то не так указываю в фильтре. Если даже указываешь фильтр заведомо неправильным то возвращается то же самое. щас указано следущее: $timelineEvents = \CCrmActivity::GetList(['ID' => 'DESC'], ['ASSOCIATED_ENTITY_TYPE_ID' => \CCrmOwnerType::Contact, 'ASSOCIATED_ENTITY_ID' => $arContact['ID']], ['ID']); file_put_contents(__DIR__.'/module.log', print_r($timelineEvents, true)); Если не удастся разобраться с этим и найти примерно то же самое для комментариев, то надо попробовать работать напрямую с таблицей БД b_crm_timeline.
GetListEx и ищите по owner type и bindings
По OWNER_TYPE_ID и OWNER_ID я в первую очередь попробовал. То же самое. Надо с помощью GetListEx, как Вы говорите, сделать.
Call to undefined method CCrmActivity::GetListEx() (0)
А, сорри, я в заблуждение ввел - у активити нет getListEx, нужно просто искать по BINDINGS_*
Насколько я понимаю, привязки (bindings) — это вообще отдельная таблица (b_crm_timeline_bind). Привязок м.б. сколько угодно, по этому полей binding* просто нет. Максимум, что вернет \CCrmActivity::GetList — это вложенный массив с привязками. Или Вы это и имели ввиду и \CCrmActivity::GetList по полям подчиненной таблицы (ключам во вложенном массиве) тоже фильтрует? Вот массив, который передается в обработчик OnActivityAdd Насколько я понимаю, мне можно фильтровать по OWNER_TYPE_ID, OWNER_ID или по привязкам (если по вложенным ищет). Но по OWNER я, вроде, уже пробовал.
Мы либо говорим о таймлайне, либо о активити. Биндинги - это связи. Т.е. привязка нечко к чему-либо. Они есть и у таймлайна и у дел.
В данном случае я говорю о b_crm_act_bind - это таблица которая хранит связь дела с сущностью.
Пара item identifier (ENTITY_ID и ENTITY_TYPE_ID) в которой хранится явная привязка в деле называется OWNER_*, однако там хранится лишь одна из привязок, а остальные хранятся в binding-таблице
Вообще мне нужен весь таймлайн, а не только активити. Я просто не нашел для всего, включая комментарии. Если подскажете, буду признателен. Я хочу потом текстовое поле для всех событий изменить
Если нужен таймлайн то работать нужно с записями, но там не уверен что есть верхнеуровневое определение, там по-моему с сырыми таблицами работа
я и хотел щас посмотреть таблицу b_crm_timeline... опять же если добавить комментарии к активити и получатся события таймлайна. как через методы получить список/оновить комментарии
Обсуждают сегодня