Текущее время: Вс, июл 20 2025, 00:46

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


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: SAP DOI + Excel = веселое программирование
СообщениеДобавлено: Пн, авг 28 2006, 16:57 
Специалист
Специалист

Зарегистрирован:
Пн, мар 06 2006, 15:21
Сообщения: 249
Откуда: Город падонкофф
Всем привет.

У кого то было подобное?

Работаю с Excel через DOI компоненты.
Есть шаблон он хранится на BDS сервере.
Я на основе его открываю документ и выгружаю в него данные.

вроде все просто и красиво но!

обнаружил прикол:
если срабатывают VBA модули в документе такие как событие например Workbook_open или просто вызов макроса через proxy_document то метод
release_document не закрывает excel! но и ошибок не выдает, очень не удобно, особенно из inplace режима, накапливается много открытых документов и висит процесс excel.

были ли у кого подобные проблемы?

загвоздка в макросах если они не отрабатывают то все пучком (не поверял может, что у меня в макросах делается такое, хотя вроде только форматирование и прочие нехитрые операции, проверю попозже)

еще обнаружил интересный момент событие Workbook_open в некоторых случаях не срабатывает, например когда у меня открыта еще одна книга excel с сетевого ресурса, именно ему не нравится этот сетевой документ, когда открываю другие с локального компа событие приходит.
Блин, все больше убеждаюсь, SAP + Excel = бяка…
:lol:

_________________
PAPARU Personalwesesen Stammdaten: Russland und mehr...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 29 2006, 10:49 
Гость
комбинируй OLE и DOI и все будет красиво.
Уже поднималась эта тема. Поищи поиском по "DOI"


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 29 2006, 13:10 
Специалист
Специалист

Зарегистрирован:
Пн, мар 06 2006, 15:21
Сообщения: 249
Откуда: Город падонкофф
да уже сам думаю, дополнительно перед закрытием через OLE грохать документ....

_________________
PAPARU Personalwesesen Stammdaten: Russland und mehr...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: re
СообщениеДобавлено: Вт, авг 29 2006, 15:50 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
все полученные дескрипторы освобождаешь?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 29 2006, 17:01 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Угу, очень похоже на то, что методы
Code:
   
CALL METHOD DOCUMENT->CLOSE_DOCUMENT.
CALL METHOD CONTROL->DESTROY_CONTROL.
CALL METHOD CONTAINER->FREE.

не используются...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 29 2006, 21:12 
Специалист
Специалист

Зарегистрирован:
Пн, мар 06 2006, 15:21
Сообщения: 249
Откуда: Город падонкофф
я через DOI делаю, причем тут контролы...

вызываю метод для прокси документа release_document я же написал.

если макросы не отрабатывают и не вызываются, excel нормально закрывается.

и контейнер освобождаю тоже...

ЗЫ
могу свои классы обертки для DOI excel интеграции выложить, будет сразу видно, что и как делаю, может поможет.

_________________
PAPARU Personalwesesen Stammdaten: Russland und mehr...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 29 2006, 23:23 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Цитата:
я через DOI делаю, причем тут контролы...

Очень даже причем.
Цитата:
могу свои классы обертки для DOI excel интеграции выложить

Выкладывай. Скорее всего что-то не так в коде. У меня корректно всю дорогу работает. Через DOI как раз. И BDS. Никаких процессов в памяти не остается. Макросами всегда документы нагружены (взять хотя бы типичный - разбиение на страницы, вот уж точно везде есть)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 30 2006, 14:12 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, июн 02 2006, 09:59
Сообщения: 67
Пол: Мужской
Посмотри ветку http://sapboard.ru/forum/viewtopic.php?t=12636

А вообще лично меня не устраивает то, что функциональность EXCEL в этой методологии сильно урезана. И все ради чего - показать SHEET в OLE-контейнере? EXCEL - шаблоны же быстрее грузятся с Application Server'a, чем из BDS. А уж про скорость передачи данных через OLE я уже и не говорю - самый быстрый способ распихать данные по ячейкам - это выгрузить их в формате адрес-данные либо через текстовый файл, либо через буфер обмена, а потом все остальное сделать уже макросами EXCEL


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

Зарегистрирован:
Пн, мар 06 2006, 15:21
Сообщения: 249
Откуда: Город падонкофф
Пономарев Артем написал:
Цитата:
я через DOI делаю, причем тут контролы...

Очень даже причем.
Цитата:
могу свои классы обертки для DOI excel интеграции выложить

Выкладывай. Скорее всего что-то не так в коде. У меня корректно всю дорогу работает. Через DOI как раз. И BDS. Никаких процессов в памяти не остается. Макросами всегда документы нагружены (взять хотя бы типичный - разбиение на страницы, вот уж точно везде есть)


контролы все управляются DOI + есть OLE контейнер к нему прилинкован proxy document.

вообще то это не моя задача искать и освобождать контролы, тк доступ к ним имеет только DOI, я работаю только через интерфейс DOI.

сейчас подготовлю исходники + тестовый пример.

_________________
PAPARU Personalwesesen Stammdaten: Russland und mehr...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 30 2006, 16:59 
Специалист
Специалист

Зарегистрирован:
Пн, мар 06 2006, 15:21
Сообщения: 249
Откуда: Город падонкофф
вот исходники

сами классы обертки лежат в Z_QUICK_EXCEL.txt

ZQUICK_EXCEL_TEST.txt - тестовая программа
ZQUICK_EXCEL_TEST_SCREEN_0010.txt - экран 10
ZQUICK_EXCEL_TEST_SCREEN_0100.txt - экран 100
Z_STD_MACRO.txt - вспомогательный инклюд
STATUS_010.gif - статус 010
STATUS_0100.gif - статус 0100
функция EXIT во всех статусах имеет тип E

если чего забыл, думаю, разберетесь :)

http://slil.ru/23073343

PS
13 пост, хехе 8)

_________________
PAPARU Personalwesesen Stammdaten: Russland und mehr...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, авг 31 2006, 13:54 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Ух, чего так много то всего выкладывать? Посмотрю на досуге. А так, на вскидку, зачем свой велосипед вместо стандартных интерфейсов САПы?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, сен 01 2006, 10:47 
Специалист
Специалист

Зарегистрирован:
Пн, мар 06 2006, 15:21
Сообщения: 249
Откуда: Город падонкофф
Это не велосипед, а обертка на стандартный DOI интерфейс для excel

Делал для себя, чтобы было удобнее юзать excel через DOI.

_________________
PAPARU Personalwesesen Stammdaten: Russland und mehr...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, сен 02 2006, 13:43 
Специалист
Специалист

Зарегистрирован:
Пн, мар 06 2006, 15:21
Сообщения: 249
Откуда: Город падонкофф
ну, чего?

кто, что думает, в чем затык у меня?

_________________
PAPARU Personalwesesen Stammdaten: Russland und mehr...


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

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
известно в чем, где-то теряется управление над дескрипторами,
или происходит выход из программы без освобождения ссылок.

закрывать нужно по принципу "уходя гасите всех" в порядке LIFO


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 04 2006, 09:46 
Специалист
Специалист

Зарегистрирован:
Пн, мар 06 2006, 15:21
Сообщения: 249
Откуда: Город падонкофф
Только ты наверно не дочитал, то что я писал.

Если макросы не выполняются, то все закрывается, если выполняются, то НЕ закрываются.

Наверно логично было бы предположить если я, что-то не освобождаю (хотя я на 99% уверен, что все) то не зависимо выполнились макросы или нет, excel бы не закрывался.

возможно это глюк только моего компа. Ладно, я понял, что дельных советов я тут уже не получу. Всем спасибо.

_________________
PAPARU Personalwesesen Stammdaten: Russland und mehr...


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

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


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

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


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

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