Похожие чаты

Здравствуйте. Подскажите, как получить список событий в таймлайне по идентификатору сущности?

и как потом по коду изменить само событие?
Я понимаю, что разные виды событий могут редактироваться по разному.

14 ответов

142 просмотра

Смотрит CCrmActivity или ActivityTable

Yakov-Hrebtov Автор вопроса
Рыков Иван
Смотрит CCrmActivity или ActivityTable

Предполагаю, что в CCrmActivity нет комментариев... Надеялся найти все в Bitrix\Crm\Timeline\TimelineEntry или TimelineTable, но там нет методов по типу GetList или Update :(

Yakov-Hrebtov Автор вопроса
Yakov Hrebtov
Предполагаю, что в CCrmActivity нет комментариев.....

Видимо, я что-то не так указываю в фильтре. Если даже указываешь фильтр заведомо неправильным то возвращается то же самое. щас указано следущее: $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.

Yakov-Hrebtov Автор вопроса
Andrei Nikolaev
GetListEx и ищите по owner type и bindings

По OWNER_TYPE_ID и OWNER_ID я в первую очередь попробовал. То же самое. Надо с помощью GetListEx, как Вы говорите, сделать.

Yakov-Hrebtov Автор вопроса
Yakov Hrebtov
По OWNER_TYPE_ID и OWNER_ID я в первую очередь поп...

А, сорри, я в заблуждение ввел - у активити нет getListEx, нужно просто искать по BINDINGS_*

Yakov-Hrebtov Автор вопроса
Andrei Nikolaev
А, сорри, я в заблуждение ввел - у активити нет ge...

Насколько я понимаю, привязки (bindings) — это вообще отдельная таблица (b_crm_timeline_bind). Привязок м.б. сколько угодно, по этому полей binding* просто нет. Максимум, что вернет \CCrmActivity::GetList — это вложенный массив с привязками. Или Вы это и имели ввиду и \CCrmActivity::GetList по полям подчиненной таблицы (ключам во вложенном массиве) тоже фильтрует? Вот массив, который передается в обработчик OnActivityAdd Насколько я понимаю, мне можно фильтровать по OWNER_TYPE_ID, OWNER_ID или по привязкам (если по вложенным ищет). Но по OWNER я, вроде, уже пробовал.

Yakov Hrebtov
Насколько я понимаю, привязки (bindings) — это воо...

Мы либо говорим о таймлайне, либо о активити. Биндинги - это связи. Т.е. привязка нечко к чему-либо. Они есть и у таймлайна и у дел.

Yakov Hrebtov
Насколько я понимаю, привязки (bindings) — это воо...

В данном случае я говорю о b_crm_act_bind - это таблица которая хранит связь дела с сущностью.

Yakov Hrebtov
Насколько я понимаю, привязки (bindings) — это воо...

Пара item identifier (ENTITY_ID и ENTITY_TYPE_ID) в которой хранится явная привязка в деле называется OWNER_*, однако там хранится лишь одна из привязок, а остальные хранятся в binding-таблице

Yakov-Hrebtov Автор вопроса
Andrei Nikolaev
Мы либо говорим о таймлайне, либо о активити. Бин...

Вообще мне нужен весь таймлайн, а не только активити. Я просто не нашел для всего, включая комментарии. Если подскажете, буду признателен. Я хочу потом текстовое поле для всех событий изменить

Yakov Hrebtov
Вообще мне нужен весь таймлайн, а не только активи...

Если нужен таймлайн то работать нужно с записями, но там не уверен что есть верхнеуровневое определение, там по-моему с сырыми таблицами работа

Yakov-Hrebtov Автор вопроса
Andrei Nikolaev
Если нужен таймлайн то работать нужно с записями, ...

я и хотел щас посмотреть таблицу b_crm_timeline... опять же если добавить комментарии к активити и получатся события таймлайна. как через методы получить список/оновить комментарии

Похожие вопросы

Обсуждают сегодня

Hey everyone! I won’t focus too much on what this person said (it’s clear they don’t understand the scope of what TF and TELOSX are achieving), but I’ll put it simply for thos...
Ana Ojeda
3
как правильно удалить сддм? прописал в etc/portage.use/plasma-meta -sddm , но при обновлении юзов мне предлагает поставить lightdm (ещё лучше 😡), добавил туда - display-manage...
REDis
25
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Telos is at a pivotal moment. While ambitious projects like zkEVM and SNARKtor have shown promise, the delay in delivering EVM 2.0—a cornerstone of the ecosystem—is a growing ...
Trinidad
8
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
i have a small doubt i developed a rest API in put mapping (we use if more than one filed needs to be updated by user ) but concern is i am using dto class in that i am u...
Surya
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
Except the wealthiest, people that buy crypto want to "cash out" at the end of the day, one way or another. Converting to fiat is craziness, converting to BTC is unwise. Hold ...
Erdelanax
2
Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
Hello guys, hope you can help me with a quick question. I've staked some ZIL using Atomic Wallet some while ago and wanted to claim my rewards and unstake it. Atomic Wallet sa...
Martin | #bornbrave
14
Карта сайта