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

Часовой пояс: 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 часа


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

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


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

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