Здравствуйте. Помогите решить один вопрос:
Существует отчет выводимый, с помощью фильтра, в таблицу Excel. Возможно ли добавить в контекстное меню, вызываемое правой кнопкой мыши, этот отчет отдельным пунктом.
Например:
1. заходим в список физ.лиц
2. на нужном клиенте нажимаем ПКМ
3. в контекстном меню выбираем пункт "Действия -> Отчеты"
4. выбираем нужный отчет
5. формируем таблицу Excel
1) Запустите …\bin\TSAdmin.exe, воспользовавшись поиском (Ctrl+F) в дереве сервисов найдите сервис wnd_ContactGridArea;
2) Откройте найденный сервис wnd_ContactGridArea на редактирование и в дереве компонентов на закладке «Не визуальные» создайте новый: ActionMenuItem;
3) Для отладки свойство IsVisible оставьте сначала True, затем перейдя на вкладку «События» двойным кликом по полю OnPrepare добавить новый обработчик;
4) Обработчик добавится в сервис src_ContactGridArea в функцию ActionMenuItemOnPrepare(),
function ActionMenuItemOnPrepare(ActionMenuItem)
5) По аналогии как это сделано с реестром записей, добавьте логику создания опций меню:
function ActionMenuItemOnPrepare(ActionMenuItem) {
BuildTaskActionMenu();
}
6) BuildTaskActionMenu() – функция, аналогичная BuildActionMenu() сервиса src_MailCommon.
В ней реализуйте логику формирования меню действий для вашей детали, с соответствующим функционалом.
Также, чтобы добавить переход на новый раздел, Вам необходимо в теле функции FillReferencesDictionary скрипта scr_WindowUtils добавить ссылку следующего вида:
После создания ActionMenuItem, в теле функции обработки события OnExecute элемента ActionMenuItem нужно реализовать вывод отчета. В качестве примера используйте функцию ReportMenuItemExecute сервиса scr_ReportUtils.
А именно:
1. Если отчет строится для выделенных записей, пример вывода отчета Excel:
Здравствуйте, Антон!
Переход осуществляется в скрипте "MoveToModuleScript" страницы "MainPage". Можно попробовать его модифицировать так, чтобы страница открывалась в новой вкладке.