Текущее время: Вс, июл 13 2025, 19:07

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




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: ResultArea в BEx 7
СообщениеДобавлено: Ср, дек 05 2007, 17:09 
Ассистент
Ассистент

Зарегистрирован:
Ср, ноя 22 2006, 12:24
Сообщения: 37
Пол: Мужской
Всем доброго вечера!!!

Такой, может глупый, но вопрос. Каким образом в 7-ом Бексе определить координаты (Строка, Столбец) ResultArea, то есть области, в которой отчет собственно и выполняется? Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 06 2007, 11:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, окт 11 2005, 12:10
Сообщения: 687
Откуда: Москва
Пол: Мужской
1. Как и в 3.X существует именованный диапазон с областью результатов.
2. В VBA-user-exit (который вызывается сразу после обновления отчета) передается диапазон.

_________________
Глаза боятся, а руки крюки


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 06 2007, 17:05 
Ассистент
Ассистент

Зарегистрирован:
Ср, ноя 22 2006, 12:24
Сообщения: 37
Пол: Мужской
2 G

Спасибо. Вчера ближе к ночи сам отыскал. Забыл только отписаться. Ещё раз сапсибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 17:30 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вс, авг 10 2008, 20:47
Сообщения: 35
Откуда: Москва
G написал:
1. Как и в 3.X существует именованный диапазон с областью результатов.


А можно об этом поподробнее?
Run("BExAnalyzer.xla!SAPBEXgetResultRangeByID", "queryID") не совсем то выдает... :(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 17:40 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, окт 11 2005, 12:10
Сообщения: 687
Откуда: Москва
Пол: Мужской
YoungBDO написал(а):
G написал:
1. Как и в 3.X существует именованный диапазон с областью результатов.


А можно об этом поподробнее?
Run("BExAnalyzer.xla!SAPBEXgetResultRangeByID", "queryID") не совсем то выдает... :(


Именованного диапазона нет... Это стандартный шаблон рабочей книги меня в заблуждение ввел, там что-то проименовано, видимо, вручную.

Для чего и в какой момент нужно определить диапазон данных?

_________________
Глаза боятся, а руки крюки


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 00:47 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вс, авг 10 2008, 20:47
Сообщения: 35
Откуда: Москва
На sdn есть вот такая ветка:
https://www.sdn.sap.com/irj/sdn/thread? ... eID=564589
Как я понял, к области запроса обращаются как SRange = Mid(resultArea1.Name, 9)

Определения Name там нигде нет, так что предположу, что это "правило" обращения. Кто с этим работал - что скажете?

P.S. И какой смысл 9-ки в приводимом автором коде? С потолка просто?
P.P.S. Для чего определить диапазон - мне, чтобы слить несколько отчетов в один... Два дня уже бьюсь головой об стенку... И каждый раз новые непонятные проблемы :lol:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 06:57 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пт, окт 21 2005, 09:24
Сообщения: 832
Откуда: от верблюда...тоже:)
Пол: Мужской
G написал:
1. Как и в 3.X существует именованный диапазон с областью результатов.
2. В VBA-user-exit (который вызывается сразу после обновления отчета) передается диапазон.

Макросе Module1.CallBack
есть lRange - диапазон с данными. Вроде работает правильно. Я правда не VBA спец...добился негокоего результата и передал разработки дальше :lol:

_________________
а подпись...а подписи не будет :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 09:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, окт 11 2005, 12:10
Сообщения: 687
Откуда: Москва
Пол: Мужской
YoungBDO написал(а):
На sdn есть вот такая ветка:
https://www.sdn.sap.com/irj/sdn/thread? ... eID=564589
Как я понял, к области запроса обращаются как SRange = Mid(resultArea1.Name, 9)

Определения Name там нигде нет, так что предположу, что это "правило" обращения. Кто с этим работал - что скажете?

P.S. И какой смысл 9-ки в приводимом автором коде? С потолка просто?
P.P.S. Для чего определить диапазон - мне, чтобы слить несколько отчетов в один... Два дня уже бьюсь головой об стенку... И каждый раз новые непонятные проблемы :lol:


Вышеприведенное решение -- для 3.X.
9-ый символ -- номер запроса (1, 2, 3 и т.д. ).

_________________
Глаза боятся, а руки крюки


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 15:05 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вс, авг 10 2008, 20:47
Сообщения: 35
Откуда: Москва
G написал:
Вышеприведенное решение -- для 3.X.

В 7-ке тоже пашет. Сегодня проверил - строки копировало на ура.

G написал:
9-ый символ -- номер запроса (1, 2, 3 и т.д. ).

А как этот номер узнать? А то я каждый раз 1-ку ставил :?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 16:44 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пт, окт 21 2005, 09:24
Сообщения: 832
Откуда: от верблюда...тоже:)
Пол: Мужской
YoungBDO написал(а):
G написал:
Вышеприведенное решение -- для 3.X.

В 7-ке тоже пашет. Сегодня проверил - строки копировало на ура.

G написал:
9-ый символ -- номер запроса (1, 2, 3 и т.д. ).

А как этот номер узнать? А то я каждый раз 1-ку ставил :?

а разве в 7-ке не через дата провайдеры и гриды сделаны запросы?

_________________
а подпись...а подписи не будет :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 16:55 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вс, авг 10 2008, 20:47
Сообщения: 35
Откуда: Москва
Когда смотрел дебагером. как он отрабатывает, было видно, что он обращается к 3.x макросам (правильно хоть написал?).

Так что в 7-ке тоже пашет :wink:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 17:31 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, окт 11 2005, 12:10
Сообщения: 687
Откуда: Москва
Пол: Мужской
Как ни странно, но в How To… Build up a Simple Offline Planning Scenario in Bex Analyzer довольно много примеров по работе c семеркой на VBA.

_________________
Глаза боятся, а руки крюки


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 17:49 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вс, авг 10 2008, 20:47
Сообщения: 35
Откуда: Москва
Правильно ли я понимаю, что в этом гайде строчка
Цитата:
Application.ScreenUpdating = False

означает обновление экрана? У меня вот не хочет пахать...
Никто не в курсе, как заставить при каждом обновлении запросов заставить обновляться лист Excel, содержащий результаты этих запросов? А то пока проблема в том, что ячейки, которые должны быть пустыми, содержат значения старого запроса... (надеюсь, понятно объяснил свою проблему...)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 18:03 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, окт 11 2005, 12:10
Сообщения: 687
Откуда: Москва
Пол: Мужской
YoungBDO написал(а):
Правильно ли я понимаю, что в этом гайде строчка
Цитата:
Application.ScreenUpdating = False

означает обновление экрана? У меня вот не хочет пахать...


Это означает, что экран не перерисовывается пока установлено Application.ScreenUpdating = False.
Это нужно при изменении большого кол-ва ячеек, т.к. отрисовать экран весьма ресурсоемкая операция

YoungBDO написал(а):
Никто не в курсе, как заставить при каждом обновлении запросов заставить обновляться лист Excel, содержащий результаты этих запросов? А то пока проблема в том, что ячейки, которые должны быть пустыми, содержат значения старого запроса... (надеюсь, понятно объяснил свою проблему...)

Не понятно :(
VBA писал много, но с подобным не сталкивался, видимо ты до обновления отчета смотришь.

_________________
Глаза боятся, а руки крюки


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 13 2008, 21:09 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вс, авг 10 2008, 20:47
Сообщения: 35
Откуда: Москва
G написал:
YoungBDO написал(а):
Никто не в курсе, как заставить при каждом обновлении запросов заставить обновляться лист Excel, содержащий результаты этих запросов? А то пока проблема в том, что ячейки, которые должны быть пустыми, содержат значения старого запроса... (надеюсь, понятно объяснил свою проблему...)

Не понятно :(
VBA писал много, но с подобным не сталкивался, видимо ты до обновления отчета смотришь.

Попробую объяснить более понятно.
На листе Sheet1 у меня таблица запроса Query1, на листе Sheet2 у меня таблица запроса Query2. Копированием на листе Sheet3 я получаю сводную таблицу, являющуюся объединением строк Query1 и Query2. Все это дело, разумеется, сохранено как рабочая книга.
В силу того, что при обновлении рабочей книги мы можем менять значения фильтра, лист Sheet3 содержит таблицу с плавающим низом.

С этого момента начинается самое интересное. Если для таблицы Query1 при изменении ее диапазона (в силу изменения значений фильтра) эта таблица корректно прорисовывается, то в сводной таблице корректно отображается "правильная" часть (т.е. то, что реально должно быть), но не "затираются" строки, оставшиеся от предыдущего отрабатывания фильтра. Это в общем.

Конкретный пример на пальцах:
Шаг 1: Выбираем значение фильтра "Вариант1"
Результат 1: Сводная таблица содержит 20 строк

Шаг 2: Выбираем значение фильтра "Вариант2"
Результат 2: Сводная таблица содержит 16 строк. Плюс "незатертыми" отображаются 4 строки от предыдущего выполнения запросов.

И мой вопрос следующий: как же сделать так, чтобы каждый раз при обновлении рабочей книги отображалась только актуальная часть сводной таблицы? :?:


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу 1, 2  След.

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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