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

А кто администратор?

Привет, хотел поделиться интересной находкой. Думаю можно в статью поместить

Передача результатов отчёта в Apex для дальнейшей обработки.

Постановка задачи: нужно делать смс рассылку по результатам отчёта(поздравление с др)
Варианты решения:
первый самый очевидный это Schedule Job работать будет но гибкость оставляет желать лучшего.
второй всё таки как-то попытаться обработать результаты отчёта, про второй способ я и хотел рассказать.

Оказывается в 15 версии появилась подписка на отчёты subscribe (нужно разрешить в настройках Setup->Customize->Reports & Dashboards->Report Notifications) и кроме очевидных вариантов подписки, пост в чаттер, письмо и напоминалка в Salesforce 1, есть ещё такой вариант как Execute a Custom Action. Там можно указать Apex класс который имплементирует Reports.NotificationAction.

public void execute(Reports.NotificationActionContext context) {
Reports.ReportResults reportResults = context.getReportInstance().getReportResults();
Reports.ReportFactWithDetails factDetails =
(Reports.ReportFactWithDetails)reportResults.getFactMap().get('T!T');

Map<String, List<String>> automaticSMSByAccId = new Map<String,List<String>>();
Map<String, String> phoneByAccId = new Map<String, String>();

// Разбираем строки формат
for(Reports.ReportDetailRow row : factDetails.getRows()) {
List<Reports.ReportDataCell> cells = row.getDataCells();

for(Reports.ReportDataCell cell : cells) {
// тут имеем к сожалению Label это Label значения поля
//то-есть если например у нас там пклист то в Label будут
// значение перевода а не название столбца
cell.getValue();
cell.getLabel();
}
}
}

ace
Привет, хотел поделиться интересной находкой. Думаю можно в статью поместить

Передача результатов отчёта в Apex для дальнейшей обработки.

Постановка задачи: нужно делать смс рассылку по результатам отчёта(поздравление с др)
Варианты решения: 
первый самый очевидный это Schedule Job работать будет но гибкость оставляет желать лучшего.
второй всё таки как-то попытаться обработать результаты отчёта, про второй способ я и хотел рассказать.

Оказывается в 15 версии появилась подписка на отчёты subscribe (нужно разрешить в настройках Setup->Customize->Reports & Dashboards->Report Notifications) и кроме очевидных вариантов подписки, пост в чаттер, письмо и напоминалка в Salesforce 1, есть ещё такой вариант как Execute a Custom Action. Там можно указать Apex класс который имплементирует Reports.NotificationAction.

[code]    
public void execute(Reports.NotificationActionContext context) {
    Reports.ReportResults reportResults = context.getReportInstance().getReportResults();
    Reports.ReportFactWithDetails factDetails =
        (Reports.ReportFactWithDetails)reportResults.getFactMap().get('T!T');
       
    Map<String, List<String>> automaticSMSByAccId = new Map<String,List<String>>();
    Map<String, String> phoneByAccId = new Map<String, String>();
        
    // Разбираем строки формат
    for(Reports.ReportDetailRow row : factDetails.getRows()) {
        List<Reports.ReportDataCell> cells = row.getDataCells();

        for(Reports.ReportDataCell cell : cells) {
	// тут имеем к сожалению Label это Label значения поля 
        //то-есть если например у нас там пклист то в Label будут 
        // значение перевода а не название столбца 
	    cell.getValue();
	    cell.getLabel();
        }                  
    }
}
[/code]

Привет.
Название темы как то связано с темой?
Если нет и это вопрос с привлечением внимания, то я есть администратор
По поводу статьи, то конечно вполне на статью выглядит!
Если есть желанием, то могу предоставить доступ на работу со статьями - будешь писать и публиковать статьи сам. Пиши в личку, обсудим

Привет. 
Название темы как то связано с темой?
Если нет и это вопрос с привлечением внимания, то я есть администратор :)
По поводу статьи, то конечно вполне на статью выглядит!
Если есть желанием, то могу предоставить доступ на работу со статьями - будешь писать и публиковать статьи сам. Пиши в личку, обсудим :) 

Приходилось динамически формировать/обрабатывать данные из отчетов, если честно, не очень понравилось существующее API для работы с ними

Приходилось динамически формировать/обрабатывать данные из отчетов, если честно, не очень понравилось существующее API для работы с ними

Да похоже что оно для каких-то своих нужд было сделано

ace
Да похоже что оно для каких-то своих нужд было сделано

Gres
Приходилось динамически формировать/обрабатывать данные из отчетов, если честно, не очень понравилось существующее API для работы с ними

Ну не знаю, как по мне все лучше чем парсить сам отчет :)

[quote="Gres"]Приходилось динамически формировать/обрабатывать данные из отчетов, если честно, не очень понравилось существующее API для работы с ними[/quote]

Ну не знаю, как по мне все лучше чем парсить сам отчет :)

wilder
Ну не знаю, как по мне все лучше чем парсить сам отчет :)

Не спорю, но можно было удобнее сделать

[quote="wilder"]Ну не знаю, как по мне все лучше чем парсить сам отчет :)[/quote]
Не спорю, но можно было удобнее сделать