Текущее время: Ср, май 14 2025, 09:40

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Проблема с раскладкой клавиатуры и I_OI_LINK_SERVER
СообщениеДобавлено: Ср, июл 13 2005, 16:59 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Требуется передать данные в Word. Для этого используется интерфейс I_OI_LINK_SERVER и его методы ADD_TABLE_ITEM2 и COPY_LINK_ITEM_TO_CLIPBOARD. После чего данные вставляются в документ с помощью метода PASTE_CLIPBOARD интерфейса I_OI_DOCUMENT_PROXY.
Использование для этих целей интерфейса I_OI_WORD_PROCESSOR_DOCUMENT по ряду причин не подходит.
Всё работает хорошо, пока на локальной машине установлена русская раскладка клавиатуры, но как только раскладка меняется на английскую, русские буквы сразу превращаются в знаки вопроса. Кто-нибудь сталкивался с этим?

Буду благодарен за любые идеи.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с раскладкой клавиатуры и I_OI_LINK_SERVER
СообщениеДобавлено: Ср, июл 13 2005, 17:20 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
EGF написал(а):
Требуется передать данные в Word. Для этого используется интерфейс I_OI_LINK_SERVER и его методы ADD_TABLE_ITEM2 и COPY_LINK_ITEM_TO_CLIPBOARD. После чего данные вставляются в документ с помощью метода PASTE_CLIPBOARD интерфейса I_OI_DOCUMENT_PROXY.
Использование для этих целей интерфейса I_OI_WORD_PROCESSOR_DOCUMENT по ряду причин не подходит.
Всё работает хорошо, пока на локальной машине установлена русская раскладка клавиатуры, но как только раскладка меняется на английскую, русские буквы сразу превращаются в знаки вопроса. Кто-нибудь сталкивался с этим?

Буду благодарен за любые идеи.


Если я правильно понимаю - и вы в R/3 берете чтото в клипборд и потом вставляете это в Word - то так оно и есть.

Помоему это прикол самого GUI-я. Если в GUI ручками чтото русское скопировать на английской раскладке в буфер (по Ctrl + Y или Ctrl + C; скажем в SE71 копируем название формуляра а потом вставляем его в АВАР редакторе), а потом вставить(в другом окне этогоже GUIя) - то можно увидеть ушельский язык. Помоему она его копирует в 8859-5 кодировке. Опции в самом GUIе не помогают.

Как лечить средства не нашел - есть подозрение что никак.

Либо посмотреть может в методах объекта есть кодировка... Или поискать - может переключатель клавиатуры это СОМ-объект и вызывать его метод чтобы переключиться на русскую раскладку. :)

или копировать кудато в другое приложение, а потом из него брать в клипборд.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 17:27 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
У меня тоже подозрение на GUI. Потому как CL_GUI_FRONTEND_SERVICES=>CLIPBOARD_EXPORT ведёт себя точно так же. Но как бороться?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 17:53 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
EGF написал(а):
У меня тоже подозрение на GUI. Потому как CL_GUI_FRONTEND_SERVICES=>CLIPBOARD_EXPORT ведёт себя точно так же. Но как бороться?



Может быть это мудрёно - но я бы написал свой СОМ-объект через который бы и копировал. Правда это тормоза будут...

Как пример - FAR. Он не является СОМ объектом - это пример того что в него все корректно копируется (Shift + F4 имеется ввиду).

Вообще строка, которая копируется в Ворд, выглядит так, как она бы выглядела если бы мы открыли русский документ скажем вин95 и применили бы к тексту TimesNewRoman вместо TimesNewRomanCyr
Раньше так было - были "кир" шрифты и не "кир". Сейчас это делается через "Язык".


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 17:58 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
А потом следить, чтобы у каждого юзера на машине присутствовала нужная библиотека? По-моему, не очень хорошо. Есть вариант с поячеечной выгрузкой - но это некрасиво и долго.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 18:02 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
EGF написал(а):
А потом следить, чтобы у каждого юзера на машине присутствовала нужная библиотека? По-моему, не очень хорошо. Есть вариант с поячеечной выгрузкой - но это некрасиво и долго.


Согласен. но это 1) можно сделать централизованно, наверняка у вас стоит вин32-домен и групполиси есть 2) его можно сделать remote. но это еще больший гемор.

Еще бредовая идя - это посмотреть наборы знаков... может быть определения фонтов в системе... Но визуально очень похоже - что Ворд ожидает Cyr шрифт


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 18:04 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
EGF написал(а):
А потом следить, чтобы у каждого юзера на машине присутствовала нужная библиотека? По-моему, не очень хорошо. Есть вариант с поячеечной выгрузкой - но это некрасиво и долго.


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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 19:03 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Egal написал:
еще идея - может попробовать писать-читать в стандартный текст, а потом в буфер копировать? ... вобщем кудато еще скопировать а потом в буфер... хотя... это всеже свойство принимающего контейнера


Всё упирается в метод COPY_LINK_ITEM_TO_CLIPBOARD, который копирует внутренюю таблицу в буфер обмена. Его мы никак не минуем. А именно в нём, кажется, и происходит это злополучное преобразование.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июл 13 2005, 21:32 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
EGF написал(а):
Egal написал:
еще идея - может попробовать писать-читать в стандартный текст, а потом в буфер копировать? ... вобщем кудато еще скопировать а потом в буфер... хотя... это всеже свойство принимающего контейнера


Всё упирается в метод COPY_LINK_ITEM_TO_CLIPBOARD, который копирует внутренюю таблицу в буфер обмена. Его мы никак не минуем. А именно в нём, кажется, и происходит это злополучное преобразование.


мммдааа, ... да вобщемто согласен...
ну либо искать/открывать ноту в осс, либо пользователям выставить принудительно русскую раскладку. Те кто не адвансед - им пофигу. Кто адвансед - сообразит, что надо переключить. :D

Я бы еще чего сделал - взял бы какунть тулзу, которая бы могла разложить "пополочкам" клиппборд. Всмысле сравнить их - клибборды - оба, "русский" и "английский", чем же они отличаются то.
Может это чего даст.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 14 2005, 08:41 
Гость
Есть ещё вариант "разложить" метод INSERT TABLE интерфейса I_OI_WORD_PROCESSOR_DOCUMENT. Он вставляет данные в Word не через буфер обмена, а скорее всего с помощью вызова какого-то "своего" COM-объекта. Но это долгая история - оставлю её на сладкое... Если что получится - непременно доложу.

Спасибо за поддержку!


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: Проблема с раскладкой клавиатуры и I_OI_LINK_SERVER
СообщениеДобавлено: Чт, июл 14 2005, 08:42 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
EGF написал(а):
Требуется передать данные в Word. Для этого используется интерфейс .... и его методы ... COPY_LINK_ITEM_TO_CLIPBOARD. После чего данные вставляются в документ с помощью метода PASTE_CLIPBOARD...

Буду благодарен за любые идеи.
При написании своего
модуля для выгрузки в Word и Excel я тоже задумывался над использованием CLIPBOARD для передачи данных. Но мне показалось, что это как то не хорошо. Ведь пользователь может хранить в нем нужную ему циферку, а мы его хрясь... И вообще, система то вроде как мультизадачная, а CLIPBOARD один на всех, конфликтики могут возникнуть. В общем отказался я от этой затеи и передаю данные через текстовый файл. Главное делать это гуртом, а не по отдельности каждое значение. Да и вообще работа через OLE не терпит суеты, чем меньше вызовов, тем лучше.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 14 2005, 08:43 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Anonymous написал(а):
Есть ещё вариант "разложить" метод INSERT TABLE интерфейса I_OI_WORD_PROCESSOR_DOCUMENT. Он вставляет данные в Word не через буфер обмена, а скорее всего с помощью вызова какого-то "своего" COM-объекта. Но это долгая история - оставлю её на сладкое... Если что получится - непременно доложу.

Спасибо за поддержку!

Забыл залогиниться.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с раскладкой клавиатуры и I_OI_LINK_SERVER
СообщениеДобавлено: Чт, июл 14 2005, 08:59 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Parazit написал:
При написании своего
модуля для выгрузки в Word и Excel...


Забавная картинка открывается по адресу http://viktorov.narod.ru/programming/myprograms/abap/ZWWW.zip
Пишет, что файлы были удалены из-за обнаруженных в них вирусов.

А не могли бы Вы кратенько обрисовать, каким образом Вы вставляете данные из внутренней таблицы в Word "гуртом"? Неужели Вам удалось передать через OLE массив? Если так, то - респект!
Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с раскладкой клавиатуры и I_OI_LINK_SERVER
СообщениеДобавлено: Чт, июл 14 2005, 09:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
EGF написал(а):
Parazit написал:
При написании своего
модуля для выгрузки в Word и Excel...


Забавная картинка открывается по адресу http://viktorov.narod.ru/programming/myprograms/abap/ZWWW.zip
Пишет, что файлы были удалены из-за обнаруженных в них вирусов.
Странно, только что зашел проверить, скачал без проблем. Только вот на narod.ru нельзя прямые ссылки на файлы использовать, только через страничку. http://viktorov.narod.ru/programming/myprograms/abap/wwwform.html

EGF написал(а):
А не могли бы Вы кратенько обрисовать, каким образом Вы вставляете данные из внутренней таблицы в Word "гуртом"? Неужели Вам удалось передать через OLE массив? Если так, то - респект!
Спасибо.
Таблицу выгрузить из ABAP в текстовый файл через ФМ WS_DOWNLOAD не проблема. Поля (в текстовом формате) в строке разделить табуляторами (код 09). Потом через OLE используешь функцию Excel Range.Worksheet.QueryTables.Add, где Range указывает на ячейку, которая будет верхним левым углом твоей таблицы. Примерно так. Все таки скачай как-нибудь мои модули и посмотри. Вирусов там нет, им просто негде быть. Может отключить антивирус на своем компе?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Ой, затупил я.
СообщениеДобавлено: Чт, июл 14 2005, 09:33 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Ой, затупил я. Тебе же в Word надо... Это я про Excel рассказывал. Ну можно тоже выгрузить в файл, а загрузить, например, макросом.


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

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


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

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


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

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