Приветствую вас!

Есть необходимость из раздела Опросы для детали Интервью сделать отчет (вопросы и ответы) для конкретного интервью. При этом хотелось бы обойтись без ввода дополнительных параметров: у нас выбран Опрос в реестре и Интервью в деталях. Возможно ли реализовать такое? Для указанного Опроса создать отчёт я могу, а как ему передать интервью, для которого необходимо сформировать отчет? Подскажите, пожалуйста, последовательность создания такого отчета.

PS. Стандартный отчет Результаты опроса не подходит, потому как он выводит статистику всех Интервью для данного Опроса.

Нравится

2 комментария

Думаю, реализацию можно построить примерно так.

Создать пункт меню для отчёта в разделе "Опросы". В обработчике OnExecute этого пункта получить ID записи основного раздела и ID записи детали примерно таким образом:

var GridSelectedID = BaseWorkspace.GridDataset('ID');
var ActivePage = Connector.Attributes('MainWindow').ComponentsByName('wndWorkspace').Window.ComponentsByName('pcDetails').ActivePage;
if (ActivePage.Name != 'pgContactsDetail') {
    ShowInformationDialog("Деталь интервью неактивна");
    return;
}
var InterviewWindow = Connector.Attributes('MainWindow').ComponentsByName('wndWorkspace').Window.ComponentsByName('wndContactsDetail').Window;
var DetailSelectedID = InterviewWindow.ComponentsByName('dlData').Dataset('ID');

Далее можно передать эти значения в функцию построения отчёта (её можно создать, например, по аналогии с ShowSingleRecordReport из скрипта scr_ReportUtils), где использовать их при фильтрации датасетов.

Хоть и с большим опозданием, но всё равно большое спасибо Олег. Помогло.

Показать все комментарии