Текущее время: Ср, авг 27 2025, 18:58

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Как скопировать фильтр в другую книгу
СообщениеДобавлено: Чт, июл 05 2012, 11:24 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 29 2012, 15:16
Сообщения: 13
Добрый день!

Имеется следующая проблема: Есть отчёт со статусами, из которого надо проваливаться в рабочую книгу планирования.

Пытаюсь реализовать данную задачу с помощью функции открытия Run("BExAnalyzer.xla!runWorkbook", "GRQJBG1PWJ68QSLVALHYHWLYA").

Но как передать туда текущий фильтр? Как я понимаю, нужно скопировать значения в рабочую книгу, а потом считать их с помощью SAPBEXsetFilterValue??? Кто-нибудь знает другой способ или может привести примеры правильного использования SAPBEXsetFilterValue, а то по стандартному описанию как-то непонятно, как он работает

Заранее спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как скопировать фильтр в другую книгу
СообщениеДобавлено: Чт, июл 05 2012, 15:06 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, мар 23 2012, 11:54
Сообщения: 58
Пол: Мужской
Вроде как такие штуки только в 3.x работали. Была еще такая функция BexJump, она вызывала книгу и передавала параметры.
есть такие варианты:

1. В RSBBS настраиваете переход к ABAP программе. В эту абап программу вам передадутся все значения из исходной книги. Далее в программе вызываете функциональный модуль RSAH_LAUNCH_EXCEL (как-то так) и ему подаете id целейвой книги и параметры. Но когда я делал такую реализацию у меня не передавались параметры в книгу (гуглил, нашел информацию, что в каком-то gui патче не работало), пришлось их писать в Zтабличку, а в рабочей книге каждый нужный признак ограничивать user-exit переменной, которая считывает эти параметры из таблицы.

2. Можно через VBA вызывать RFC фм и передавать ему фильтр и из фм вызывать рабочую книгу через RSAH_LAUNCH_EXCEL.

Разница 2х способов в том, что в одном надо в отчете тыкать "Перейти к: имя программы", а в другом макрос с вызовом ФМ можно на кнопку повесить


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как скопировать фильтр в другую книгу
СообщениеДобавлено: Ср, окт 17 2012, 15:10 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, июн 02 2009, 22:28
Сообщения: 228
Откуда: MOW
Пол: Мужской
У меня получалось, но довольно криво.

Идея такая - в вызываемой книге:
1. Делается книга с одним запросом, у книги убирается галочка автоматического обновления
2. Делается кнопка Bex, которая берет команды из области
3. В области пишутся команды, запускающие определенный запрос с определенными параметрами (это можно, см. пример в книге)
4. Пишется макрос при обновлении книги, сохраняющий Range запроса (по сути из одной строчки)
5. Пишется макрос со входными параметрами, совпадающими с параметрами запроса. Этот макрос делает следующее:
а. Пишет в нужные места области команд кнопки значения параметров
б. Инициирует нажатие кнопки через макрос (это можно, зная лист и имя кнопки, его можно найти путем исследования)
в. Возвращает Range, сохраненный макросом обновления, или его массив значений (сохранен в пункте 4)

В вызывающей книге пишется открытие нужной книги по техническому ID через API и через Run запускается макрос.

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

В моем примере мне нужно было получить значения, а просто открыть еще проще - я наоборот еще мучился чтобы ее корректно
закрыть без следов.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB