Регистрация  |  Вход

Создание отчета с данными из связанных объектов

Добрый день!
Подскажите, плиз, куда копать. Не понимаю как сделать отчет.
Есть Оппортунити и есть ОппортунитиФиелдХистори. Как получить в отчете данные на базе связи между ними?
То есть вот в самой Оппортунити будет запись о сделке, находящейся на актуальной Стадии. А в Хистори будет кучка записей об этой сделке, где каждая запись - пройденная сделкой стадия.
Задача - выудить все сделки на текущей стадии, допустим, Звонок, но чтобы предыдущая стадия была, допустим, Письмо (а не, допустим, Встреча).
Штатные отчеты разрешают делать любые таблицы только из Оппортунити. Как добавить связь с Хистори?
Пытаюсь сделать новый шаблон отчета, но там нет возможности выбрать объект Хистори, и вообще, весьма скудный выбор объектов.
Есть отчет только из Хистори.
Как вообще делать отчеты с данными из нескольких объектов?
Спасибо
Добрый день!
Подскажите, плиз, куда копать. Не понимаю как сделать отчет.
Есть Оппортунити и есть ОппортунитиФиелдХистори. Как получить в отчете данные на базе связи между ними? 
То есть вот в самой Оппортунити будет запись о сделке, находящейся на актуальной Стадии. А в Хистори будет кучка записей об этой сделке, где каждая запись - пройденная сделкой стадия.
Задача - выудить все сделки на текущей стадии, допустим, Звонок, но чтобы предыдущая стадия была, допустим, Письмо (а не, допустим, Встреча).
Штатные отчеты разрешают делать любые таблицы только из Оппортунити. Как добавить связь с Хистори?
Пытаюсь сделать новый шаблон отчета, но там нет возможности выбрать объект Хистори, и вообще, весьма скудный выбор объектов.
Есть отчет только из Хистори.
Как вообще делать отчеты с данными из нескольких объектов?
Спасибо
попробуй Custom Report Type, может поможет.

а так похоже, что нужно будет "пилить ручками" этот репорт: апекс код, который будет это возвращать в VFP or LWC. Но если удастся создать Query, который выполняет описанную задачу, то и в дев консоле можно будет вытянуть результат как "репорт"
попробуй Custom Report Type, может поможет.

а так похоже, что нужно будет "пилить ручками" этот репорт: апекс код, который будет это возвращать в VFP or LWC. Но если удастся создать Query, который выполняет описанную задачу, то и в дев консоле можно будет вытянуть результат как "репорт"
есть стандартный "Opportunity History Report" report type.
из существующих, он единственный который даёт доступ к Opportunity и Opportunity History, но только History для Stage field.
Если Stage изменился 3 раза, будет 3 записи в отчёте.
есть стандартный  "Opportunity History Report" report type.
из существующих, он единственный который даёт доступ к Opportunity и Opportunity History, но только History для Stage field.
Если Stage изменился 3 раза, будет 3 записи в отчёте.
Eric
есть стандартный "Opportunity History Report" report type.
из существующих, он единственный который даёт доступ к Opportunity и Opportunity History, но только History для Stage field.
Если Stage изменился 3 раза, будет 3 записи в отчёте.

Увы, Opportunity History Report не добавляет поля из Оппортунити, только из Хистори. Ну и в целом, мне в желаемый отчет надо добавить еще Имя, Фамилию, мыло, телефон. А это в Аккаунте.
[quote="Eric"]есть стандартный  "Opportunity History Report" report type.
из существующих, он единственный который даёт доступ к Opportunity и Opportunity History, но только History для Stage field.
Если Stage изменился 3 раза, будет 3 записи в отчёте.[/quote]

Увы, Opportunity History Report не добавляет поля из Оппортунити, только из Хистори. Ну и в целом, мне в желаемый отчет надо добавить еще Имя, Фамилию, мыло, телефон. А это в Аккаунте.
Den Brown
попробуй Custom Report Type, может поможет.

а так похоже, что нужно будет "пилить ручками" этот репорт: апекс код, который будет это возвращать в VFP or LWC. Но если удастся создать Query, который выполняет описанную задачу, то и в дев консоле можно будет вытянуть результат как "репорт"

Консоль не спасет, увы. Это не разовая акция, а регулярный отчет, который надо создать и отдать в доступ прозвонщикам. Они не умеют в консоль.
А вот вопрос - может просто надо создать отдельный объект с нужными данными из Оппортунити, Хистори и Аккаунта? И из него сделать отчет? Можно сделать отчет из кастомного объекта?
[quote="Den Brown"]попробуй Custom Report Type, может поможет.

а так похоже, что нужно будет "пилить ручками" этот репорт: апекс код, который будет это возвращать в VFP or LWC. Но если удастся создать Query, который выполняет описанную задачу, то и в дев консоле можно будет вытянуть результат как "репорт"[/quote]

Консоль не спасет, увы. Это не разовая акция, а регулярный отчет, который надо создать и отдать в доступ прозвонщикам. Они не умеют в консоль.
А вот вопрос - может просто надо создать отдельный объект с нужными данными из Оппортунити, Хистори и Аккаунта? И из него сделать отчет? Можно сделать отчет из кастомного объекта?
Можно сделать через батч который проходит по OpportunityHistory объекту из которого ты также можешь вытянуть информацию по аккаунту( типо так [select id, Opportunity.Account.Name from OpportunityHistory where OpportunityId='тут id сделки']).
В execute методе парсить это дело и сохранять в большую строку, которую в финиш методе можно положить в csv файл)
И скедулишь батч

Если данных немного(до 10к записей вытягиваешь из истории допустим) то можно спокойно работать. А так в этом подходе потенциальные CPU exception и транзакшен 12мб exception(забыл как точно называется :) ) возникающие в батче.
Я так делал тока с AccountHistory )
Можно сделать через батч который проходит по OpportunityHistory объекту из которого ты также можешь вытянуть информацию по аккаунту( типо так [select id, Opportunity.Account.Name from OpportunityHistory where OpportunityId='тут id сделки']).
В execute методе парсить это дело и сохранять в большую строку, которую в финиш методе можно положить в csv файл)
И скедулишь батч

Если данных немного(до 10к записей вытягиваешь из истории допустим) то можно спокойно работать. А так в этом подходе потенциальные CPU exception и транзакшен 12мб exception(забыл как точно называется :) ) возникающие в батче.
Я так делал тока с AccountHistory )
aliaksandr
Можно сделать через батч который проходит по OpportunityHistory объекту из которого ты также можешь вытянуть информацию по аккаунту( типо так [select id, Opportunity.Account.Name from OpportunityHistory where OpportunityId='тут id сделки']).
В execute методе парсить это дело и сохранять в большую строку, которую в финиш методе можно положить в csv файл)
И скедулишь батч

Если данных немного(до 10к записей вытягиваешь из истории допустим) то можно спокойно работать. А так в этом подходе потенциальные CPU exception и транзакшен 12мб exception(забыл как точно называется :) ) возникающие в батче.
Я так делал тока с AccountHistory )

Ну то есть фактически создать новый объект со всеми необходимыми полями из всех необходимых объектов.
Понять бы еще можно ли будет по такому кастомному объекту сварганить отчет...
[quote="aliaksandr"]Можно сделать через батч который проходит по OpportunityHistory объекту из которого ты также можешь вытянуть информацию по аккаунту( типо так [select id, Opportunity.Account.Name from OpportunityHistory where OpportunityId='тут id сделки']).
В execute методе парсить это дело и сохранять в большую строку, которую в финиш методе можно положить в csv файл)
И скедулишь батч

Если данных немного(до 10к записей вытягиваешь из истории допустим) то можно спокойно работать. А так в этом подходе потенциальные CPU exception и транзакшен 12мб exception(забыл как точно называется :) ) возникающие в батче.
Я так делал тока с AccountHistory )[/quote]

Ну то есть фактически создать новый объект со всеми необходимыми полями из всех необходимых объектов.
Понять бы еще можно ли будет по такому кастомному объекту сварганить отчет...
Не нужно отдельный объект создавать. Это лишний гемор. Это его еще заполнять из тригер контекста....
Все что тебе нужно вытягивается через OpportunityHistory object. Включи history field tracking на определенные поля которые тебя интересуют и юзай на здоровье
Не нужно отдельный объект создавать. Это лишний гемор. Это его еще заполнять из тригер контекста....
Все что тебе нужно вытягивается через OpportunityHistory object. Включи history field tracking на определенные поля которые тебя интересуют и юзай на здоровье
aliaksandr
Не нужно отдельный объект создавать. Это лишний гемор. Это его еще заполнять из тригер контекста....
Все что тебе нужно вытягивается через OpportunityHistory object. Включи history field tracking на определенные поля которые тебя интересуют и юзай на здоровье

ну если это действительно вытягивается из OpportunityHistory object, то отлично. А так, неплохая идея была с кастомным объектом
[quote="aliaksandr"]Не нужно отдельный объект создавать. Это лишний гемор. Это его еще заполнять из тригер контекста....
Все что тебе нужно вытягивается через OpportunityHistory object. Включи history field tracking на определенные поля которые тебя интересуют и юзай на здоровье[/quote]

ну если это действительно вытягивается из OpportunityHistory object, то отлично. А так, неплохая  идея была с кастомным объектом
flider
Есть отчет только из Хистори.
Как вообще делать отчеты с данными из нескольких объектов?

Нужен именно отчет, или нужно отобразить что-то на экране и потом сделать по этим данным отчет?
[quote="flider"]Есть отчет только из Хистори.
Как вообще делать отчеты с данными из нескольких объектов?[/quote]

Нужен именно отчет, или нужно отобразить что-то на экране и потом сделать по этим данным отчет?
wilder
flider
Есть отчет только из Хистори.
Как вообще делать отчеты с данными из нескольких объектов?

Нужен именно отчет, или нужно отобразить что-то на экране и потом сделать по этим данным отчет?

Именно отчет, который доступен прозвонщикам. Они знают в какую папку зайти и имя отчета. Больше ничего не умеют и не имеют доступа никуда.
[quote="wilder"][quote="flider"]Есть отчет только из Хистори.
Как вообще делать отчеты с данными из нескольких объектов?[/quote]

Нужен именно отчет, или нужно отобразить что-то на экране и потом сделать по этим данным отчет?[/quote]

Именно отчет, который доступен прозвонщикам. Они знают в какую папку зайти и имя отчета. Больше ничего не умеют и не имеют доступа никуда.
flider
Именно отчет, который доступен прозвонщикам. Они знают в какую папку зайти и имя отчета. Больше ничего не умеют и не имеют доступа никуда.

Жаль, я могу предложить решение на основе Grid для Related List. И из него можно сделать любой отчет
[quote="flider"]Именно отчет, который доступен прозвонщикам. Они знают в какую папку зайти и имя отчета. Больше ничего не умеют и не имеют доступа никуда.[/quote]

Жаль, я могу предложить решение на основе Grid для Related List. И из него можно сделать любой отчет